odf-kit 0.6.0 → 0.7.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/dist/reader/html-renderer.d.ts +18 -2
- package/dist/reader/html-renderer.d.ts.map +1 -1
- package/dist/reader/html-renderer.js +182 -24
- package/dist/reader/html-renderer.js.map +1 -1
- package/dist/reader/index.d.ts +7 -4
- package/dist/reader/index.d.ts.map +1 -1
- package/dist/reader/index.js +6 -3
- package/dist/reader/index.js.map +1 -1
- package/dist/reader/parser.d.ts +30 -10
- package/dist/reader/parser.d.ts.map +1 -1
- package/dist/reader/parser.js +565 -47
- package/dist/reader/parser.js.map +1 -1
- package/dist/reader/registry.d.ts +12 -3
- package/dist/reader/registry.d.ts.map +1 -1
- package/dist/reader/registry.js +18 -4
- package/dist/reader/registry.js.map +1 -1
- package/dist/reader/types.d.ts +236 -29
- package/dist/reader/types.d.ts.map +1 -1
- package/dist/reader/types.js +4 -2
- package/dist/reader/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,8 +17,24 @@
|
|
|
17
17
|
* - Text fields rendered as their stored evaluated value.
|
|
18
18
|
* - Hidden text spans (text:display="none") suppressed from output.
|
|
19
19
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* Tier 3 additions:
|
|
21
|
+
* - Paragraph and heading layout: inline CSS for text-align, margins,
|
|
22
|
+
* padding, and line-height from ParagraphStyle via style="...".
|
|
23
|
+
* - Table column widths: <colgroup><col style="width:X"> emitted for
|
|
24
|
+
* tables where any cell carries a columnWidth value.
|
|
25
|
+
* - Image float positioning: style:wrap → CSS float:left / float:right /
|
|
26
|
+
* display:block via ImageNode.wrapMode.
|
|
27
|
+
* - Sections: <section data-name="..."> wrapping SectionNode.body.
|
|
28
|
+
* - Tracked changes (when HtmlOptions.trackedChanges is "changes"):
|
|
29
|
+
* insertion → <ins data-author="..." data-date="...">
|
|
30
|
+
* deletion → <del data-author="..." data-date="...">
|
|
31
|
+
* format-change → <span class="odf-format-change" data-author="..." data-date="...">
|
|
32
|
+
* In "final" and "original" modes TrackedChangeNode is not emitted by
|
|
33
|
+
* the parser; if encountered, it is rendered transparently.
|
|
34
|
+
*
|
|
35
|
+
* Text content is HTML-escaped. Attribute values used in href, src,
|
|
36
|
+
* data-*, and id are also HTML-escaped so the output is safe to embed
|
|
37
|
+
* in any context.
|
|
22
38
|
*
|
|
23
39
|
* By default renderHtml() returns a complete HTML document with a
|
|
24
40
|
* <!DOCTYPE html> declaration. Pass { fragment: true } to receive only
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-renderer.d.ts","sourceRoot":"","sources":["../../src/reader/html-renderer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"html-renderer.d.ts","sourceRoot":"","sources":["../../src/reader/html-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EACV,QAAQ,EAeR,WAAW,EACZ,MAAM,YAAY,CAAC;AAoapB;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAI1E"}
|
|
@@ -17,8 +17,24 @@
|
|
|
17
17
|
* - Text fields rendered as their stored evaluated value.
|
|
18
18
|
* - Hidden text spans (text:display="none") suppressed from output.
|
|
19
19
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* Tier 3 additions:
|
|
21
|
+
* - Paragraph and heading layout: inline CSS for text-align, margins,
|
|
22
|
+
* padding, and line-height from ParagraphStyle via style="...".
|
|
23
|
+
* - Table column widths: <colgroup><col style="width:X"> emitted for
|
|
24
|
+
* tables where any cell carries a columnWidth value.
|
|
25
|
+
* - Image float positioning: style:wrap → CSS float:left / float:right /
|
|
26
|
+
* display:block via ImageNode.wrapMode.
|
|
27
|
+
* - Sections: <section data-name="..."> wrapping SectionNode.body.
|
|
28
|
+
* - Tracked changes (when HtmlOptions.trackedChanges is "changes"):
|
|
29
|
+
* insertion → <ins data-author="..." data-date="...">
|
|
30
|
+
* deletion → <del data-author="..." data-date="...">
|
|
31
|
+
* format-change → <span class="odf-format-change" data-author="..." data-date="...">
|
|
32
|
+
* In "final" and "original" modes TrackedChangeNode is not emitted by
|
|
33
|
+
* the parser; if encountered, it is rendered transparently.
|
|
34
|
+
*
|
|
35
|
+
* Text content is HTML-escaped. Attribute values used in href, src,
|
|
36
|
+
* data-*, and id are also HTML-escaped so the output is safe to embed
|
|
37
|
+
* in any context.
|
|
22
38
|
*
|
|
23
39
|
* By default renderHtml() returns a complete HTML document with a
|
|
24
40
|
* <!DOCTYPE html> declaration. Pass { fragment: true } to receive only
|
|
@@ -72,10 +88,47 @@ function spanStyleToCss(style) {
|
|
|
72
88
|
parts.push(`letter-spacing:${style.letterSpacing}`);
|
|
73
89
|
return parts.join(";");
|
|
74
90
|
}
|
|
91
|
+
// ============================================================
|
|
92
|
+
// Tier 3 — Paragraph CSS helper
|
|
93
|
+
// ============================================================
|
|
94
|
+
/**
|
|
95
|
+
* Convert a ParagraphStyle to a semicolon-separated inline CSS string.
|
|
96
|
+
*
|
|
97
|
+
* All ParagraphStyle values are CSS-ready strings including units.
|
|
98
|
+
* fo:text-align values ("start", "end", "left", "right", "center",
|
|
99
|
+
* "justify") are passed through verbatim — all are valid CSS text-align
|
|
100
|
+
* values in modern browsers.
|
|
101
|
+
*
|
|
102
|
+
* Returns an empty string when the style has no properties set,
|
|
103
|
+
* so callers can omit the style attribute entirely.
|
|
104
|
+
*/
|
|
105
|
+
function paragraphStyleToCss(style) {
|
|
106
|
+
const parts = [];
|
|
107
|
+
if (style.textAlign !== undefined)
|
|
108
|
+
parts.push(`text-align:${style.textAlign}`);
|
|
109
|
+
if (style.marginLeft !== undefined)
|
|
110
|
+
parts.push(`margin-left:${style.marginLeft}`);
|
|
111
|
+
if (style.marginRight !== undefined)
|
|
112
|
+
parts.push(`margin-right:${style.marginRight}`);
|
|
113
|
+
if (style.marginTop !== undefined)
|
|
114
|
+
parts.push(`margin-top:${style.marginTop}`);
|
|
115
|
+
if (style.marginBottom !== undefined)
|
|
116
|
+
parts.push(`margin-bottom:${style.marginBottom}`);
|
|
117
|
+
if (style.paddingLeft !== undefined)
|
|
118
|
+
parts.push(`padding-left:${style.paddingLeft}`);
|
|
119
|
+
if (style.paddingRight !== undefined)
|
|
120
|
+
parts.push(`padding-right:${style.paddingRight}`);
|
|
121
|
+
if (style.lineHeight !== undefined)
|
|
122
|
+
parts.push(`line-height:${style.lineHeight}`);
|
|
123
|
+
return parts.join(";");
|
|
124
|
+
}
|
|
75
125
|
/**
|
|
76
126
|
* Convert a CellStyle to a semicolon-separated inline CSS string for
|
|
77
127
|
* use on <td> elements. Border values are already in CSS-compatible
|
|
78
128
|
* "width style color" format from the registry border expansion.
|
|
129
|
+
*
|
|
130
|
+
* columnWidth is not applied here — it is emitted on <col> elements
|
|
131
|
+
* via the colgroup builder in renderTable.
|
|
79
132
|
*/
|
|
80
133
|
function cellStyleToCss(style) {
|
|
81
134
|
const parts = [];
|
|
@@ -93,7 +146,6 @@ function cellStyleToCss(style) {
|
|
|
93
146
|
if (style.border.right !== undefined)
|
|
94
147
|
parts.push(`border-right:${style.border.right}`);
|
|
95
148
|
}
|
|
96
|
-
// columnWidth is stored for consumers but not applied to layout in Tier 2
|
|
97
149
|
return parts.join(";");
|
|
98
150
|
}
|
|
99
151
|
/**
|
|
@@ -149,6 +201,14 @@ function renderTextSpan(span) {
|
|
|
149
201
|
/**
|
|
150
202
|
* Render an ImageNode as an HTML <img> element with a base64 data URI.
|
|
151
203
|
*
|
|
204
|
+
* Tier 3 — Float positioning via wrapMode:
|
|
205
|
+
* "left" → float:left
|
|
206
|
+
* "right" → float:right
|
|
207
|
+
* "none" → display:block (image is a block; no float)
|
|
208
|
+
* "parallel" → no float (CSS does not support text on both sides)
|
|
209
|
+
* "run-through" → no float (CSS does not support image overlapping text)
|
|
210
|
+
* absent → no float CSS added
|
|
211
|
+
*
|
|
152
212
|
* Accessibility: title → alt (always emitted, empty string when absent);
|
|
153
213
|
* description → aria-describedby with a hidden <span> carrying the text.
|
|
154
214
|
* The describedby id uses the image draw:name when available.
|
|
@@ -167,6 +227,17 @@ function renderImage(node) {
|
|
|
167
227
|
styleParts.push(`width:${node.width}`);
|
|
168
228
|
if (node.height !== undefined)
|
|
169
229
|
styleParts.push(`height:${node.height}`);
|
|
230
|
+
// Tier 3: float positioning from wrapMode
|
|
231
|
+
if (node.wrapMode === "left") {
|
|
232
|
+
styleParts.push("float:left");
|
|
233
|
+
}
|
|
234
|
+
else if (node.wrapMode === "right") {
|
|
235
|
+
styleParts.push("float:right");
|
|
236
|
+
}
|
|
237
|
+
else if (node.wrapMode === "none") {
|
|
238
|
+
styleParts.push("display:block");
|
|
239
|
+
}
|
|
240
|
+
// "parallel" and "run-through" have no CSS equivalent; no float added.
|
|
170
241
|
if (styleParts.length > 0)
|
|
171
242
|
attrs.push(`style="${styleParts.join(";")}"`);
|
|
172
243
|
if (node.description !== undefined && node.name !== undefined) {
|
|
@@ -187,11 +258,11 @@ function renderImage(node) {
|
|
|
187
258
|
* bottom; JavaScript can do the same. The two elements are linked by
|
|
188
259
|
* matching id/href pairs for back-referencing.
|
|
189
260
|
*/
|
|
190
|
-
function renderNote(node) {
|
|
261
|
+
function renderNote(node, options) {
|
|
191
262
|
const refId = `odf-note-${escapeHtml(node.id)}-ref`;
|
|
192
263
|
const noteId = `odf-note-${escapeHtml(node.id)}`;
|
|
193
264
|
const citation = `<sup id="${refId}"><a href="#${noteId}">${escapeHtml(node.citation)}</a></sup>`;
|
|
194
|
-
const bodyHtml = node.body.map(renderBodyNode).join("");
|
|
265
|
+
const bodyHtml = node.body.map((n) => renderBodyNode(n, options)).join("");
|
|
195
266
|
const aside = `<aside id="${noteId}" role="note">${bodyHtml}</aside>`;
|
|
196
267
|
return citation + aside;
|
|
197
268
|
}
|
|
@@ -223,13 +294,13 @@ function renderField(node) {
|
|
|
223
294
|
* TextSpan has no `kind` property; all other InlineNode types do.
|
|
224
295
|
* This distinguishes them without a separate type guard import.
|
|
225
296
|
*/
|
|
226
|
-
function renderInlineNode(node) {
|
|
297
|
+
function renderInlineNode(node, options) {
|
|
227
298
|
if ("kind" in node) {
|
|
228
299
|
switch (node.kind) {
|
|
229
300
|
case "image":
|
|
230
301
|
return renderImage(node);
|
|
231
302
|
case "note":
|
|
232
|
-
return renderNote(node);
|
|
303
|
+
return renderNote(node, options);
|
|
233
304
|
case "bookmark":
|
|
234
305
|
return renderBookmark(node);
|
|
235
306
|
case "field":
|
|
@@ -239,26 +310,47 @@ function renderInlineNode(node) {
|
|
|
239
310
|
return renderTextSpan(node);
|
|
240
311
|
}
|
|
241
312
|
/** Render an array of InlineNode objects to a concatenated HTML string. */
|
|
242
|
-
function renderSpans(spans) {
|
|
243
|
-
return spans.map(renderInlineNode).join("");
|
|
313
|
+
function renderSpans(spans, options) {
|
|
314
|
+
return spans.map((n) => renderInlineNode(n, options)).join("");
|
|
244
315
|
}
|
|
245
316
|
// ============================================================
|
|
246
317
|
// Block node renderers
|
|
247
318
|
// ============================================================
|
|
248
319
|
/** Render a ListNode to an HTML <ul> or <ol> string. */
|
|
249
|
-
function renderList(list) {
|
|
320
|
+
function renderList(list, options) {
|
|
250
321
|
const tag = list.ordered ? "ol" : "ul";
|
|
251
322
|
const items = list.items
|
|
252
323
|
.map((item) => {
|
|
253
|
-
const content = renderSpans(item.spans);
|
|
254
|
-
const nested = item.children !== undefined ? renderList(item.children) : "";
|
|
324
|
+
const content = renderSpans(item.spans, options);
|
|
325
|
+
const nested = item.children !== undefined ? renderList(item.children, options) : "";
|
|
255
326
|
return `<li>${content}${nested}</li>`;
|
|
256
327
|
})
|
|
257
328
|
.join("");
|
|
258
329
|
return `<${tag}>${items}</${tag}>`;
|
|
259
330
|
}
|
|
260
|
-
/**
|
|
261
|
-
|
|
331
|
+
/**
|
|
332
|
+
* Render a TableNode to an HTML <table> string with Tier 2 inline styles
|
|
333
|
+
* and Tier 3 column width layout via <colgroup>.
|
|
334
|
+
*
|
|
335
|
+
* Column widths are collected from the first content row's cells
|
|
336
|
+
* (where columnWidth values are stored after Tier 2 column style
|
|
337
|
+
* resolution). A <colgroup> is emitted only when at least one cell
|
|
338
|
+
* carries a columnWidth value.
|
|
339
|
+
*/
|
|
340
|
+
function renderTable(table, options) {
|
|
341
|
+
// Build <colgroup> from the first row that has cells with columnWidth
|
|
342
|
+
let colgroup = "";
|
|
343
|
+
for (const row of table.rows) {
|
|
344
|
+
const cols = row.cells.map((cell) => {
|
|
345
|
+
const cw = cell.cellStyle?.columnWidth;
|
|
346
|
+
return cw ? `<col style="width:${cw}">` : "<col>";
|
|
347
|
+
});
|
|
348
|
+
// Only emit <colgroup> when at least one cell has an explicit width
|
|
349
|
+
if (row.cells.some((cell) => cell.cellStyle?.columnWidth !== undefined)) {
|
|
350
|
+
colgroup = `<colgroup>${cols.join("")}</colgroup>`;
|
|
351
|
+
}
|
|
352
|
+
break; // Use only the first row for column width information
|
|
353
|
+
}
|
|
262
354
|
const rows = table.rows
|
|
263
355
|
.map((row) => {
|
|
264
356
|
const rowCss = row.rowStyle !== undefined ? rowStyleToCss(row.rowStyle) : "";
|
|
@@ -278,25 +370,91 @@ function renderTable(table) {
|
|
|
278
370
|
attrParts.push(`style="${css}"`);
|
|
279
371
|
}
|
|
280
372
|
const attrs = attrParts.length > 0 ? " " + attrParts.join(" ") : "";
|
|
281
|
-
return `<td${attrs}>${renderSpans(cell.spans)}</td>`;
|
|
373
|
+
return `<td${attrs}>${renderSpans(cell.spans, options)}</td>`;
|
|
282
374
|
})
|
|
283
375
|
.join("");
|
|
284
376
|
return `<tr${rowAttrs}>${cells}</tr>`;
|
|
285
377
|
})
|
|
286
378
|
.join("");
|
|
287
|
-
return `<table>${rows}</table>`;
|
|
379
|
+
return `<table>${colgroup}${rows}</table>`;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Render a SectionNode as a <section> element.
|
|
383
|
+
*
|
|
384
|
+
* The section name is emitted as a data-name attribute when present,
|
|
385
|
+
* preserving the author-assigned section name for consumers that perform
|
|
386
|
+
* semantic section identification.
|
|
387
|
+
*/
|
|
388
|
+
function renderSection(node, options) {
|
|
389
|
+
const nameAttr = node.name ? ` data-name="${escapeHtml(node.name)}"` : "";
|
|
390
|
+
const bodyHtml = node.body.map((n) => renderBodyNode(n, options)).join("\n");
|
|
391
|
+
return `<section${nameAttr}>\n${bodyHtml}\n</section>`;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Render a TrackedChangeNode.
|
|
395
|
+
*
|
|
396
|
+
* When HtmlOptions.trackedChanges is "changes":
|
|
397
|
+
* insertion → <ins data-author="..." data-date="...">body</ins>
|
|
398
|
+
* deletion → <del data-author="..." data-date="...">body</del>
|
|
399
|
+
* format-change → <span class="odf-format-change" data-author="..." data-date="...">body</span>
|
|
400
|
+
*
|
|
401
|
+
* In other modes ("final", "original") the parser does not emit
|
|
402
|
+
* TrackedChangeNode values. If one is encountered anyway (e.g. consumer
|
|
403
|
+
* constructed the model manually), it is rendered transparently as its
|
|
404
|
+
* body content with no wrapper element.
|
|
405
|
+
*/
|
|
406
|
+
function renderTrackedChange(node, options) {
|
|
407
|
+
const bodyHtml = node.body.map((n) => renderBodyNode(n, options)).join("\n");
|
|
408
|
+
if (options?.trackedChanges !== "changes") {
|
|
409
|
+
// Transparent fallback — render body content without annotation wrapper
|
|
410
|
+
return bodyHtml;
|
|
411
|
+
}
|
|
412
|
+
const dataParts = [];
|
|
413
|
+
if (node.author)
|
|
414
|
+
dataParts.push(`data-author="${escapeHtml(node.author)}"`);
|
|
415
|
+
if (node.date)
|
|
416
|
+
dataParts.push(`data-date="${escapeHtml(node.date)}"`);
|
|
417
|
+
const dataAttrs = dataParts.length > 0 ? " " + dataParts.join(" ") : "";
|
|
418
|
+
switch (node.changeType) {
|
|
419
|
+
case "insertion":
|
|
420
|
+
return `<ins${dataAttrs}>${bodyHtml}</ins>`;
|
|
421
|
+
case "deletion":
|
|
422
|
+
return `<del${dataAttrs}>${bodyHtml}</del>`;
|
|
423
|
+
case "format-change":
|
|
424
|
+
return `<span class="odf-format-change"${dataAttrs}>${bodyHtml}</span>`;
|
|
425
|
+
}
|
|
288
426
|
}
|
|
289
427
|
/** Render a single BodyNode to an HTML string. */
|
|
290
|
-
function renderBodyNode(node) {
|
|
428
|
+
function renderBodyNode(node, options) {
|
|
291
429
|
switch (node.kind) {
|
|
292
|
-
case "paragraph":
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
430
|
+
case "paragraph": {
|
|
431
|
+
const attrParts = [];
|
|
432
|
+
if (node.paragraphStyle !== undefined) {
|
|
433
|
+
const css = paragraphStyleToCss(node.paragraphStyle);
|
|
434
|
+
if (css)
|
|
435
|
+
attrParts.push(`style="${css}"`);
|
|
436
|
+
}
|
|
437
|
+
const attrs = attrParts.length > 0 ? " " + attrParts.join(" ") : "";
|
|
438
|
+
return `<p${attrs}>${renderSpans(node.spans, options)}</p>`;
|
|
439
|
+
}
|
|
440
|
+
case "heading": {
|
|
441
|
+
const attrParts = [];
|
|
442
|
+
if (node.paragraphStyle !== undefined) {
|
|
443
|
+
const css = paragraphStyleToCss(node.paragraphStyle);
|
|
444
|
+
if (css)
|
|
445
|
+
attrParts.push(`style="${css}"`);
|
|
446
|
+
}
|
|
447
|
+
const attrs = attrParts.length > 0 ? " " + attrParts.join(" ") : "";
|
|
448
|
+
return `<h${node.level}${attrs}>${renderSpans(node.spans, options)}</h${node.level}>`;
|
|
449
|
+
}
|
|
296
450
|
case "list":
|
|
297
|
-
return renderList(node);
|
|
451
|
+
return renderList(node, options);
|
|
298
452
|
case "table":
|
|
299
|
-
return renderTable(node);
|
|
453
|
+
return renderTable(node, options);
|
|
454
|
+
case "section":
|
|
455
|
+
return renderSection(node, options);
|
|
456
|
+
case "tracked-change":
|
|
457
|
+
return renderTrackedChange(node, options);
|
|
300
458
|
}
|
|
301
459
|
}
|
|
302
460
|
// ============================================================
|
|
@@ -316,7 +474,7 @@ function renderBodyNode(node) {
|
|
|
316
474
|
* ```
|
|
317
475
|
*/
|
|
318
476
|
export function renderHtml(body, options) {
|
|
319
|
-
const inner = body.map(renderBodyNode).join("\n");
|
|
477
|
+
const inner = body.map((n) => renderBodyNode(n, options)).join("\n");
|
|
320
478
|
if (options?.fragment === true)
|
|
321
479
|
return inner;
|
|
322
480
|
return `<!DOCTYPE html>\n<html>\n<head><meta charset="utf-8"></head>\n<body>\n${inner}\n</body>\n</html>`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-renderer.js","sourceRoot":"","sources":["../../src/reader/html-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAkBH,+DAA+D;AAC/D,gBAAgB;AAChB,+DAA+D;AAE/D;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,KAAgB;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/F,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3F,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3F,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAgB;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;IACjG,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3F,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjF,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1F,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,0EAA0E;IAC1E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAe;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;IACjG,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAE/D;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,IAAc;IACpC,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAE3B,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,WAAW,IAAI,WAAW,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC;IAC3C,IAAI,IAAI,CAAC,SAAS;QAAE,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC;IAC5C,IAAI,IAAI,CAAC,aAAa;QAAE,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC;IAChD,IAAI,IAAI,CAAC,WAAW;QAAE,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC;IAClD,IAAI,IAAI,CAAC,SAAS;QAAE,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC;IAEhD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,GAAG;YAAE,IAAI,GAAG,gBAAgB,GAAG,KAAK,IAAI,SAAS,CAAC;IACxD,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,GAAG,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;IAErF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,WAAW,CAAC,IAAe;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEzE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,GAAG,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACvC,MAAM,IAAI,GAAG,aAAa,MAAM,YAAY,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAClF,OAAO,GAAG,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,KAAK,GAAG,YAAY,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IACpD,MAAM,MAAM,GAAG,YAAY,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,YAAY,KAAK,eAAe,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IAClG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,cAAc,MAAM,iBAAiB,QAAQ,UAAU,CAAC;IACtE,OAAO,QAAQ,GAAG,KAAK,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,IAAkB;IACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,UAAU,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAAe;IAClC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,IAAgB;IACxC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,KAAK,MAAM;gBACT,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1B,KAAK,UAAU;gBACb,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,OAAO;gBACV,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,IAAgB,CAAC,CAAC;AAC1C,CAAC;AAED,2EAA2E;AAC3E,SAAS,WAAW,CAAC,KAAmB;IACtC,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D,wDAAwD;AACxD,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;SACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,OAAO,OAAO,GAAG,MAAM,OAAO,CAAC;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG,GAAG,CAAC;AACrC,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAC,KAAgB;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;SACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnD,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnD,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,GAAG;oBAAE,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACvD,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,OAAO,MAAM,QAAQ,IAAI,KAAK,OAAO,CAAC;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,UAAU,IAAI,UAAU,CAAC;AAClC,CAAC;AAED,kDAAkD;AAClD,SAAS,cAAc,CAAC,IAAc;IACpC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7C,KAAK,SAAS;YACZ,OAAO,KAAK,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC;QACvE,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,aAAa;AACb,+DAA+D;AAE/D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,IAAgB,EAAE,OAAqB;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,OAAO,EAAE,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,yEAAyE,KAAK,oBAAoB,CAAC;AAC5G,CAAC"}
|
|
1
|
+
{"version":3,"file":"html-renderer.js","sourceRoot":"","sources":["../../src/reader/html-renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/reader/index.d.ts
CHANGED
|
@@ -13,16 +13,19 @@
|
|
|
13
13
|
* in a single step.
|
|
14
14
|
*/
|
|
15
15
|
export { readOdt } from "./parser.js";
|
|
16
|
-
export type { OdtDocumentModel, OdtMetadata, HtmlOptions, BodyNode, ParagraphNode, HeadingNode, ListNode, ListItemNode, TableNode, TableRowNode, TableCellNode, InlineNode, TextSpan, ImageNode, NoteNode, BookmarkNode, FieldNode, SpanStyle,
|
|
17
|
-
import type { HtmlOptions } from "./types.js";
|
|
16
|
+
export type { OdtDocumentModel, OdtMetadata, HtmlOptions, ReadOdtOptions, BodyNode, ParagraphNode, HeadingNode, ListNode, ListItemNode, TableNode, TableRowNode, TableCellNode, SectionNode, TrackedChangeNode, InlineNode, TextSpan, ImageNode, NoteNode, BookmarkNode, FieldNode, SpanStyle, CellStyle, RowStyle, BorderStyle, ParagraphStyle, PageLayout, } from "./types.js";
|
|
17
|
+
import type { HtmlOptions, ReadOdtOptions } from "./types.js";
|
|
18
18
|
/**
|
|
19
19
|
* Convert an .odt file directly to an HTML string.
|
|
20
20
|
*
|
|
21
21
|
* Convenience wrapper around readOdt().toHtml(). Use readOdt() directly
|
|
22
|
-
* when you need access to the document model or
|
|
22
|
+
* when you need access to the document model, metadata, page layout, or
|
|
23
|
+
* header/footer content.
|
|
23
24
|
*
|
|
24
25
|
* @param bytes - The raw .odt file as a Uint8Array.
|
|
25
26
|
* @param options - HTML output options.
|
|
27
|
+
* @param readOptions - Options controlling how the document is parsed
|
|
28
|
+
* (e.g. tracked-changes mode). Passed to readOdt().
|
|
26
29
|
* @returns HTML string. Full document by default; inner fragment when
|
|
27
30
|
* options.fragment is true.
|
|
28
31
|
*
|
|
@@ -35,5 +38,5 @@ import type { HtmlOptions } from "./types.js";
|
|
|
35
38
|
* const html = odtToHtml(bytes, { fragment: true });
|
|
36
39
|
* ```
|
|
37
40
|
*/
|
|
38
|
-
export declare function odtToHtml(bytes: Uint8Array, options?: HtmlOptions): string;
|
|
41
|
+
export declare function odtToHtml(bytes: Uint8Array, options?: HtmlOptions, readOptions?: ReadOdtOptions): string;
|
|
39
42
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,YAAY,EAEV,gBAAgB,EAChB,WAAW,EACX,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,YAAY,EAEV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EAGd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,aAAa,EAGb,WAAW,EACX,iBAAiB,EAGjB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EAGT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EAGX,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,WAAW,EACrB,WAAW,CAAC,EAAE,cAAc,GAC3B,MAAM,CAER"}
|
package/dist/reader/index.js
CHANGED
|
@@ -18,10 +18,13 @@ import { readOdt } from "./parser.js";
|
|
|
18
18
|
* Convert an .odt file directly to an HTML string.
|
|
19
19
|
*
|
|
20
20
|
* Convenience wrapper around readOdt().toHtml(). Use readOdt() directly
|
|
21
|
-
* when you need access to the document model or
|
|
21
|
+
* when you need access to the document model, metadata, page layout, or
|
|
22
|
+
* header/footer content.
|
|
22
23
|
*
|
|
23
24
|
* @param bytes - The raw .odt file as a Uint8Array.
|
|
24
25
|
* @param options - HTML output options.
|
|
26
|
+
* @param readOptions - Options controlling how the document is parsed
|
|
27
|
+
* (e.g. tracked-changes mode). Passed to readOdt().
|
|
25
28
|
* @returns HTML string. Full document by default; inner fragment when
|
|
26
29
|
* options.fragment is true.
|
|
27
30
|
*
|
|
@@ -34,7 +37,7 @@ import { readOdt } from "./parser.js";
|
|
|
34
37
|
* const html = odtToHtml(bytes, { fragment: true });
|
|
35
38
|
* ```
|
|
36
39
|
*/
|
|
37
|
-
export function odtToHtml(bytes, options) {
|
|
38
|
-
return readOdt(bytes).toHtml(options);
|
|
40
|
+
export function odtToHtml(bytes, options, readOptions) {
|
|
41
|
+
return readOdt(bytes, readOptions).toHtml(options);
|
|
39
42
|
}
|
|
40
43
|
//# sourceMappingURL=index.js.map
|
package/dist/reader/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAyCtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,SAAS,CACvB,KAAiB,EACjB,OAAqB,EACrB,WAA4B;IAE5B,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC"}
|
package/dist/reader/parser.d.ts
CHANGED
|
@@ -10,15 +10,28 @@
|
|
|
10
10
|
* 2. Parse manifest.xml → build MIME type map for images
|
|
11
11
|
* 3. Parse styles.xml and content.xml with parseXml
|
|
12
12
|
* 4. Build style maps (semantic: bold/italic) and registry (visual: color/font)
|
|
13
|
-
* 5. Extract tracked-change
|
|
13
|
+
* 5. Extract tracked-change changed-region metadata from office:text
|
|
14
14
|
* 6. Walk office:body/office:text to produce BodyNode[]
|
|
15
|
-
* 7. Parse
|
|
16
|
-
* 8.
|
|
15
|
+
* 7. Parse page layout and master-page header/footer content from styles.xml
|
|
16
|
+
* 8. Parse meta.xml for document metadata
|
|
17
|
+
* 9. Return OdtDocumentModel with body, metadata, page layout, headers/footers,
|
|
18
|
+
* and toHtml()
|
|
19
|
+
*
|
|
20
|
+
* Tier 3 additions:
|
|
21
|
+
* - ParagraphStyle: text-align, margins, padding, line-height on paragraphs and headings
|
|
22
|
+
* - ImageNode.wrapMode: style:wrap resolved from graphic style via registry
|
|
23
|
+
* - PageLayout: page dimensions and margins from style:page-layout in styles.xml
|
|
24
|
+
* - Header/footer content: parsed from style:master-page in styles.xml
|
|
25
|
+
* - SectionNode: text:section surfaces as a named block node (was transparent)
|
|
26
|
+
* - Tracked changes (all three modes):
|
|
27
|
+
* "final" — accept all: insertions kept, deletions suppressed (unchanged behavior)
|
|
28
|
+
* "original" — reject all: insertions suppressed, deletions restored
|
|
29
|
+
* "changes" — full model: TrackedChangeNode emitted for block-level change markers
|
|
17
30
|
*
|
|
18
31
|
* Exported for unit testing: parseMetaXml is tested in isolation.
|
|
19
32
|
* Internal helpers are tested indirectly through readOdt round-trip tests.
|
|
20
33
|
*/
|
|
21
|
-
import type { OdtDocumentModel, OdtMetadata } from "./types.js";
|
|
34
|
+
import type { OdtDocumentModel, OdtMetadata, ReadOdtOptions } from "./types.js";
|
|
22
35
|
/**
|
|
23
36
|
* Parse a meta.xml string and return the document metadata.
|
|
24
37
|
*
|
|
@@ -33,12 +46,15 @@ export declare function parseMetaXml(metaXml: string): OdtMetadata;
|
|
|
33
46
|
* Parse an .odt file and return a structured document model.
|
|
34
47
|
*
|
|
35
48
|
* Reads content.xml for the document body and automatic styles,
|
|
36
|
-
* styles.xml for named styles
|
|
37
|
-
*
|
|
38
|
-
*
|
|
49
|
+
* styles.xml for named styles, font faces, page layout, and master page
|
|
50
|
+
* header/footer content, meta.xml for document metadata, and
|
|
51
|
+
* META-INF/manifest.xml for image MIME types. Extracts all Pictures/*
|
|
52
|
+
* entries for embedded image resolution.
|
|
39
53
|
*
|
|
40
|
-
* @param bytes
|
|
41
|
-
* @
|
|
54
|
+
* @param bytes - The raw .odt file as a Uint8Array.
|
|
55
|
+
* @param options - Optional read options. See ReadOdtOptions.
|
|
56
|
+
* @returns A populated OdtDocumentModel with body, metadata, page layout,
|
|
57
|
+
* headers/footers, and toHtml().
|
|
42
58
|
* @throws Error if the input is not a valid ZIP or is missing content.xml.
|
|
43
59
|
*
|
|
44
60
|
* @example
|
|
@@ -49,7 +65,11 @@ export declare function parseMetaXml(metaXml: string): OdtMetadata;
|
|
|
49
65
|
* const bytes = new Uint8Array(readFileSync("document.odt"));
|
|
50
66
|
* const doc = readOdt(bytes);
|
|
51
67
|
* console.log(doc.body.length, "body nodes");
|
|
68
|
+
* console.log(doc.pageLayout?.orientation);
|
|
69
|
+
*
|
|
70
|
+
* // Review mode
|
|
71
|
+
* const review = readOdt(bytes, { trackedChanges: "changes" });
|
|
52
72
|
* ```
|
|
53
73
|
*/
|
|
54
|
-
export declare function readOdt(bytes: Uint8Array): OdtDocumentModel;
|
|
74
|
+
export declare function readOdt(bytes: Uint8Array, options?: ReadOdtOptions): OdtDocumentModel;
|
|
55
75
|
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/reader/parser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/reader/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAQH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EAuBX,cAAc,EACf,MAAM,YAAY,CAAC;AA+7CpB;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAuBzD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,gBAAgB,CA8ErF"}
|