odf-kit 0.9.2 → 0.9.4
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 +113 -10
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ods/content.d.ts.map +1 -1
- package/dist/ods/content.js +86 -5
- package/dist/ods/content.js.map +1 -1
- package/dist/odt/content.d.ts.map +1 -1
- package/dist/odt/content.js +12 -0
- package/dist/odt/content.js.map +1 -1
- package/dist/odt/html-parser.d.ts +42 -0
- package/dist/odt/html-parser.d.ts.map +1 -0
- package/dist/odt/html-parser.js +590 -0
- package/dist/odt/html-parser.js.map +1 -0
- package/dist/odt/html-to-odt.d.ts +104 -0
- package/dist/odt/html-to-odt.d.ts.map +1 -0
- package/dist/odt/html-to-odt.js +78 -0
- package/dist/odt/html-to-odt.js.map +1 -0
- package/dist/odt/index.d.ts +2 -0
- package/dist/odt/index.d.ts.map +1 -1
- package/dist/odt/index.js +1 -0
- package/dist/odt/index.js.map +1 -1
- package/dist/odt/paragraph-builder.d.ts +17 -0
- package/dist/odt/paragraph-builder.d.ts.map +1 -1
- package/dist/odt/paragraph-builder.js +20 -0
- package/dist/odt/paragraph-builder.js.map +1 -1
- package/dist/odt/types.d.ts +12 -0
- package/dist/odt/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# odf-kit
|
|
2
2
|
|
|
3
|
-
Generate, fill, read, and convert OpenDocument Format files (.odt, .ods) in TypeScript and JavaScript. Works in Node.js and browsers. No LibreOffice dependency — pure spec-compliant ODF.
|
|
3
|
+
Generate, fill, read, and convert OpenDocument Format files (.odt, .ods) in TypeScript and JavaScript. Convert HTML to ODT. Works in Node.js and browsers. No LibreOffice dependency — pure spec-compliant ODF.
|
|
4
4
|
|
|
5
5
|
**[Documentation & examples →](https://githubnewbie0.github.io/odf-kit/)**
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ Generate, fill, read, and convert OpenDocument Format files (.odt, .ods) in Type
|
|
|
8
8
|
npm install odf-kit
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Six ways to work with ODF files
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
14
|
// 1. Build an ODT document from scratch
|
|
@@ -26,7 +26,22 @@ const bytes = await doc.save();
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
```typescript
|
|
29
|
-
// 2.
|
|
29
|
+
// 2. Convert HTML to ODT
|
|
30
|
+
import { htmlToOdt } from "odf-kit";
|
|
31
|
+
|
|
32
|
+
const html = `
|
|
33
|
+
<h1>Meeting Notes</h1>
|
|
34
|
+
<p>Attendees: <strong>Alice</strong>, Bob, Carol</p>
|
|
35
|
+
<ul>
|
|
36
|
+
<li>Project status</li>
|
|
37
|
+
<li>Budget review</li>
|
|
38
|
+
</ul>
|
|
39
|
+
`;
|
|
40
|
+
const bytes = await htmlToOdt(html, { pageFormat: "A4" });
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
// 3. Build an ODS spreadsheet from scratch
|
|
30
45
|
import { OdsDocument } from "odf-kit";
|
|
31
46
|
|
|
32
47
|
const doc = new OdsDocument();
|
|
@@ -41,7 +56,7 @@ const bytes = await doc.save();
|
|
|
41
56
|
```
|
|
42
57
|
|
|
43
58
|
```typescript
|
|
44
|
-
//
|
|
59
|
+
// 4. Fill an existing .odt template with data
|
|
45
60
|
import { fillTemplate } from "odf-kit";
|
|
46
61
|
|
|
47
62
|
const template = readFileSync("invoice-template.odt");
|
|
@@ -59,7 +74,7 @@ writeFileSync("invoice.odt", result);
|
|
|
59
74
|
```
|
|
60
75
|
|
|
61
76
|
```typescript
|
|
62
|
-
//
|
|
77
|
+
// 5. Read an existing .odt file
|
|
63
78
|
import { readOdt, odtToHtml } from "odf-kit/reader";
|
|
64
79
|
|
|
65
80
|
const bytes = readFileSync("report.odt");
|
|
@@ -68,7 +83,7 @@ const html = odtToHtml(bytes); // styled HTML string
|
|
|
68
83
|
```
|
|
69
84
|
|
|
70
85
|
```typescript
|
|
71
|
-
//
|
|
86
|
+
// 6. Convert .odt to Typst for PDF generation
|
|
72
87
|
import { odtToTypst } from "odf-kit/typst";
|
|
73
88
|
import { execSync } from "child_process";
|
|
74
89
|
|
|
@@ -88,9 +103,9 @@ npm install odf-kit
|
|
|
88
103
|
Node.js 22+ required. ESM only. Sub-exports:
|
|
89
104
|
|
|
90
105
|
```typescript
|
|
91
|
-
import { OdtDocument, OdsDocument, fillTemplate } from "odf-kit";
|
|
92
|
-
import { readOdt, odtToHtml }
|
|
93
|
-
import { odtToTypst, modelToTypst }
|
|
106
|
+
import { OdtDocument, OdsDocument, htmlToOdt, fillTemplate } from "odf-kit"; // build + convert + fill
|
|
107
|
+
import { readOdt, odtToHtml } from "odf-kit/reader"; // read + HTML
|
|
108
|
+
import { odtToTypst, modelToTypst } from "odf-kit/typst"; // Typst/PDF
|
|
94
109
|
```
|
|
95
110
|
|
|
96
111
|
Works in Node.js, browsers, Deno, Bun, and Cloudflare Workers. The only runtime dependency is [fflate](https://github.com/101arrowz/fflate) for ZIP packaging — no transitive dependencies.
|
|
@@ -374,6 +389,74 @@ const bytes = await doc.save();
|
|
|
374
389
|
|
|
375
390
|
---
|
|
376
391
|
|
|
392
|
+
## Convert: HTML to ODT
|
|
393
|
+
|
|
394
|
+
`htmlToOdt()` converts an HTML string to a `.odt` file. This is the missing conversion direction — the entire industry converts ODT→HTML for web display. `htmlToOdt` brings content back into the open standard with no LibreOffice, no Pandoc, and no server-side dependencies.
|
|
395
|
+
|
|
396
|
+
The primary use case is Nextcloud Text ODT export: Nextcloud Text produces clean, well-formed HTML that maps directly to ODT elements.
|
|
397
|
+
|
|
398
|
+
### Basic usage
|
|
399
|
+
|
|
400
|
+
```typescript
|
|
401
|
+
import { htmlToOdt } from "odf-kit";
|
|
402
|
+
|
|
403
|
+
const html = `
|
|
404
|
+
<h1>Meeting Notes</h1>
|
|
405
|
+
<p>Attendees: <strong>Alice</strong>, Bob, Carol</p>
|
|
406
|
+
<h2>Action Items</h2>
|
|
407
|
+
<table>
|
|
408
|
+
<tr><th>Owner</th><th>Task</th><th>Due</th></tr>
|
|
409
|
+
<tr><td>Alice</td><td>Send report</td><td>Friday</td></tr>
|
|
410
|
+
</table>
|
|
411
|
+
`;
|
|
412
|
+
|
|
413
|
+
// A4 is the default — correct for Europe and most of the world
|
|
414
|
+
const bytes = await htmlToOdt(html);
|
|
415
|
+
|
|
416
|
+
// US letter
|
|
417
|
+
const bytes = await htmlToOdt(html, { pageFormat: "letter" });
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
Both fragment HTML (`<h1>...</h1><p>...</p>`) and full documents (`<html><body>...</body></html>`) are accepted.
|
|
421
|
+
|
|
422
|
+
### Page formats
|
|
423
|
+
|
|
424
|
+
| Format | Dimensions | Default margins | Typical use |
|
|
425
|
+
|---|---|---|---|
|
|
426
|
+
| `"A4"` | 21 × 29.7 cm | 2.5 cm | Europe, ISO standard **(default)** |
|
|
427
|
+
| `"letter"` | 21.59 × 27.94 cm | 2.54 cm | USA, Canada |
|
|
428
|
+
| `"legal"` | 21.59 × 35.56 cm | 2.54 cm | USA legal |
|
|
429
|
+
| `"A3"` | 29.7 × 42 cm | 2.5 cm | Large format |
|
|
430
|
+
| `"A5"` | 14.8 × 21 cm | 2 cm | Small booklets |
|
|
431
|
+
|
|
432
|
+
```typescript
|
|
433
|
+
// Landscape with custom margins
|
|
434
|
+
const bytes = await htmlToOdt(html, {
|
|
435
|
+
pageFormat: "A4",
|
|
436
|
+
orientation: "landscape",
|
|
437
|
+
marginTop: "1.5cm",
|
|
438
|
+
marginBottom: "1.5cm",
|
|
439
|
+
});
|
|
440
|
+
|
|
441
|
+
// With metadata
|
|
442
|
+
const bytes = await htmlToOdt(html, {
|
|
443
|
+
pageFormat: "letter",
|
|
444
|
+
metadata: { title: "Meeting Notes", creator: "Alice" },
|
|
445
|
+
});
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
### Supported HTML elements
|
|
449
|
+
|
|
450
|
+
**Block:** `<h1>`–`<h6>`, `<p>`, `<ul>`, `<ol>`, `<li>` (nested lists supported), `<table>` / `<thead>` / `<tbody>` / `<tr>` / `<td>` / `<th>`, `<blockquote>` (indented), `<pre>` (monospace), `<hr>` (paragraph with bottom border), `<figure>` / `<figcaption>`, `<div>` / `<section>` / `<article>` / `<main>` (transparent).
|
|
451
|
+
|
|
452
|
+
**Inline:** `<strong>` / `<b>`, `<em>` / `<i>`, `<u>`, `<s>` / `<del>`, `<sup>`, `<sub>`, `<a href>`, `<code>` (monospace), `<mark>` (highlight), `<span style="">` (inline CSS), `<br>` (line break).
|
|
453
|
+
|
|
454
|
+
**Inline CSS on `<span>`:** `color`, `font-size` (px/pt/em), `font-family`, `font-weight`, `font-style`, `text-decoration`.
|
|
455
|
+
|
|
456
|
+
**Images:** skipped in v1 — v2 will add an `images` option for pre-fetched bytes.
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
377
460
|
## Fill: template engine
|
|
378
461
|
|
|
379
462
|
Create a `.odt` template in LibreOffice with `{placeholders}`, then fill it programmatically.
|
|
@@ -573,6 +656,22 @@ interface OdsCellObject extends OdsCellOptions {
|
|
|
573
656
|
}
|
|
574
657
|
```
|
|
575
658
|
|
|
659
|
+
### htmlToOdt
|
|
660
|
+
|
|
661
|
+
```typescript
|
|
662
|
+
function htmlToOdt(html: string, options?: HtmlToOdtOptions): Promise<Uint8Array>
|
|
663
|
+
|
|
664
|
+
interface HtmlToOdtOptions {
|
|
665
|
+
pageFormat?: "A4" | "letter" | "legal" | "A3" | "A5"; // default: "A4"
|
|
666
|
+
orientation?: "portrait" | "landscape";
|
|
667
|
+
marginTop?: string;
|
|
668
|
+
marginBottom?: string;
|
|
669
|
+
marginLeft?: string;
|
|
670
|
+
marginRight?: string;
|
|
671
|
+
metadata?: { title?: string; creator?: string; description?: string };
|
|
672
|
+
}
|
|
673
|
+
```
|
|
674
|
+
|
|
576
675
|
### fillTemplate
|
|
577
676
|
|
|
578
677
|
```typescript
|
|
@@ -675,7 +774,8 @@ ESM only. Zero Node-specific APIs in the library source — enforced at the Type
|
|
|
675
774
|
- **Single runtime dependency** — fflate for ZIP. No transitive dependencies.
|
|
676
775
|
- **Spec-compliant output** — every generated file passes the OASIS ODF validator. Enforced on every commit by CI.
|
|
677
776
|
- **Multiple ODF formats** — ODT documents and ODS spreadsheets from the same library.
|
|
678
|
-
- **
|
|
777
|
+
- **Six complete capability modes** — build ODT, build ODS, convert HTML→ODT, fill templates, read, convert to Typst/PDF. Not just generation.
|
|
778
|
+
- **HTML→ODT conversion** — the missing direction. Bring web content back into the ISO open standard with no LibreOffice or Pandoc dependency.
|
|
679
779
|
- **Zero-dependency Typst emitter** — the only JavaScript library with built-in ODT→Typst conversion for PDF generation.
|
|
680
780
|
- **TypeScript-first** — full types across all sub-exports.
|
|
681
781
|
- **Apache 2.0** — use freely in commercial and open source projects.
|
|
@@ -688,6 +788,7 @@ ESM only. Zero Node-specific APIs in the library source — enforced at the Type
|
|
|
688
788
|
|---------|---------|------------|---------------|
|
|
689
789
|
| Generate .odt from scratch | ✅ | ⚠️ flat XML only | ❌ |
|
|
690
790
|
| Generate .ods from scratch | ✅ | ❌ | ❌ |
|
|
791
|
+
| Convert HTML → ODT | ✅ | ❌ | ❌ |
|
|
691
792
|
| Fill .odt templates | ✅ | ❌ | ✅ .docx only |
|
|
692
793
|
| Read .odt files | ✅ | ❌ | ❌ |
|
|
693
794
|
| Convert to HTML | ✅ | ❌ | ❌ |
|
|
@@ -706,6 +807,8 @@ odf-kit targets ODF 1.2 (ISO/IEC 26300). Generated files include proper ZIP pack
|
|
|
706
807
|
|
|
707
808
|
## Version history
|
|
708
809
|
|
|
810
|
+
**v0.9.2** — `htmlToOdt()`: HTML→ODT conversion with page format presets (A4/letter/legal/A3/A5), full inline formatting, lists, tables, blockquote, pre, hr, and inline CSS. `addLineBreak()` on `ParagraphBuilder`. `borderBottom` on `ParagraphOptions`. 769 tests passing.
|
|
811
|
+
|
|
709
812
|
**v0.9.0** — ODS spreadsheet generation: `OdsDocument`, multiple sheets, auto-typed cells, formulas, date formatting (ISO/DMY/MDY), row and cell formatting, column widths, row heights, style deduplication. 707 tests passing.
|
|
710
813
|
|
|
711
814
|
**v0.8.0** — `odf-kit/typst` sub-export: `odtToTypst()` and `modelToTypst()`. Zero-dependency ODT→Typst emitter for PDF generation via Typst CLI. 650+ tests passing.
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export { ParagraphBuilder } from "./odt/index.js";
|
|
|
3
3
|
export { HeaderFooterBuilder } from "./odt/index.js";
|
|
4
4
|
export { TableBuilder, RowBuilder, CellBuilder } from "./odt/index.js";
|
|
5
5
|
export { ListBuilder } from "./odt/index.js";
|
|
6
|
-
export
|
|
6
|
+
export { htmlToOdt } from "./odt/index.js";
|
|
7
|
+
export type { ContentElement, TextFormatting, TextRun, TableOptions, CellOptions, PageLayout, ParagraphOptions, TabStop, ListOptions, ImageOptions, ImageData, HtmlToOdtOptions, } from "./odt/index.js";
|
|
7
8
|
export type { MetadataOptions } from "./core/index.js";
|
|
8
9
|
export { fillTemplate, healPlaceholders, replaceAll } from "./template/index.js";
|
|
9
10
|
export type { TemplateData } from "./template/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,cAAc,EACd,cAAc,EACd,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EACV,cAAc,EACd,cAAc,EACd,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjF,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { ParagraphBuilder } from "./odt/index.js";
|
|
|
5
5
|
export { HeaderFooterBuilder } from "./odt/index.js";
|
|
6
6
|
export { TableBuilder, RowBuilder, CellBuilder } from "./odt/index.js";
|
|
7
7
|
export { ListBuilder } from "./odt/index.js";
|
|
8
|
+
export { htmlToOdt } from "./odt/index.js";
|
|
8
9
|
export { fillTemplate, healPlaceholders, replaceAll } from "./template/index.js";
|
|
9
10
|
export { OdsDocument } from "./ods/index.js";
|
|
10
11
|
export { OdsSheet } from "./ods/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,2CAA2C;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,2CAA2C;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgB3C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/ods/content.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,aAAa,EAGb,YAAY,EACb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/ods/content.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,aAAa,EAGb,YAAY,EACb,MAAM,YAAY,CAAC;AAunBpB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EAAE,EACtB,iBAAiB,EAAE,aAAa,GAC/B,MAAM,CA+ER;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CA6B1C"}
|
package/dist/ods/content.js
CHANGED
|
@@ -110,6 +110,8 @@ function dateFormatToStyleName(format) {
|
|
|
110
110
|
return "Ndate-mdy";
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
+
/** Style name for the auto-detected datetime format (date + time). */
|
|
114
|
+
const DATETIME_STYLE_NAME = "Ndate-dt";
|
|
113
115
|
/** Build a number:date-style element for automatic-styles. */
|
|
114
116
|
function buildDateFormatStyle(format) {
|
|
115
117
|
const dateStyle = el("number:date-style").attr("style:name", dateFormatToStyleName(format));
|
|
@@ -148,6 +150,38 @@ function formatDateISO(date) {
|
|
|
148
150
|
const d = String(date.getUTCDate()).padStart(2, "0");
|
|
149
151
|
return `${y}-${m}-${d}`;
|
|
150
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Return true if the Date has a nonzero UTC time component.
|
|
155
|
+
* Used to decide whether to render as a date-only or datetime value.
|
|
156
|
+
*/
|
|
157
|
+
function isDatetime(date) {
|
|
158
|
+
return (date.getUTCHours() !== 0 ||
|
|
159
|
+
date.getUTCMinutes() !== 0 ||
|
|
160
|
+
date.getUTCSeconds() !== 0 ||
|
|
161
|
+
date.getUTCMilliseconds() !== 0);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Format a Date as an ISO datetime string (YYYY-MM-DDTHH:MM:SS).
|
|
165
|
+
* Always uses UTC to avoid timezone offsets.
|
|
166
|
+
*/
|
|
167
|
+
function formatDatetimeISO(date) {
|
|
168
|
+
const y = date.getUTCFullYear();
|
|
169
|
+
const mo = String(date.getUTCMonth() + 1).padStart(2, "0");
|
|
170
|
+
const d = String(date.getUTCDate()).padStart(2, "0");
|
|
171
|
+
const h = String(date.getUTCHours()).padStart(2, "0");
|
|
172
|
+
const mi = String(date.getUTCMinutes()).padStart(2, "0");
|
|
173
|
+
const s = String(date.getUTCSeconds()).padStart(2, "0");
|
|
174
|
+
return `${y}-${mo}-${d}T${h}:${mi}:${s}`;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Format a Date as a display string for a datetime cell: "YYYY-MM-DD HH:MM:SS".
|
|
178
|
+
*/
|
|
179
|
+
function formatDatetimeDisplay(date) {
|
|
180
|
+
const h = String(date.getUTCHours()).padStart(2, "0");
|
|
181
|
+
const mi = String(date.getUTCMinutes()).padStart(2, "0");
|
|
182
|
+
const s = String(date.getUTCSeconds()).padStart(2, "0");
|
|
183
|
+
return `${formatDateISO(date)} ${h}:${mi}:${s}`;
|
|
184
|
+
}
|
|
151
185
|
/** Format a Date for display according to the given format. */
|
|
152
186
|
function formatDateDisplay(date, format) {
|
|
153
187
|
const y = String(date.getUTCFullYear());
|
|
@@ -162,6 +196,35 @@ function formatDateDisplay(date, format) {
|
|
|
162
196
|
return `${m}/${d}/${y}`;
|
|
163
197
|
}
|
|
164
198
|
}
|
|
199
|
+
/** Build a number:date-style element for datetime display (YYYY-MM-DD HH:MM:SS). */
|
|
200
|
+
function buildDatetimeFormatStyle() {
|
|
201
|
+
const dtStyle = el("number:date-style").attr("style:name", DATETIME_STYLE_NAME);
|
|
202
|
+
dtStyle.appendChild(el("number:year").attr("number:style", "long"));
|
|
203
|
+
dtStyle.appendChild(el("number:text").text("-"));
|
|
204
|
+
dtStyle.appendChild(el("number:month").attr("number:style", "long"));
|
|
205
|
+
dtStyle.appendChild(el("number:text").text("-"));
|
|
206
|
+
dtStyle.appendChild(el("number:day").attr("number:style", "long"));
|
|
207
|
+
dtStyle.appendChild(el("number:text").text(" "));
|
|
208
|
+
dtStyle.appendChild(el("number:hours").attr("number:style", "long"));
|
|
209
|
+
dtStyle.appendChild(el("number:text").text(":"));
|
|
210
|
+
dtStyle.appendChild(el("number:minutes").attr("number:style", "long"));
|
|
211
|
+
dtStyle.appendChild(el("number:text").text(":"));
|
|
212
|
+
dtStyle.appendChild(el("number:seconds").attr("number:style", "long"));
|
|
213
|
+
return dtStyle;
|
|
214
|
+
}
|
|
215
|
+
/** Return true if any date cell in any sheet has a nonzero UTC time component. */
|
|
216
|
+
function hasDatetimeCells(sheets) {
|
|
217
|
+
for (const sheet of sheets) {
|
|
218
|
+
for (const row of sheet.rows) {
|
|
219
|
+
for (const cell of row.cells) {
|
|
220
|
+
if (cell.type === "date" && cell.value instanceof Date && isDatetime(cell.value)) {
|
|
221
|
+
return true;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
165
228
|
/** Resolve the effective date format for a cell: cell > row > document default. */
|
|
166
229
|
function effectiveDateFormat(cell, row, defaultFormat) {
|
|
167
230
|
return cell.options?.dateFormat ?? row.options?.dateFormat ?? defaultFormat;
|
|
@@ -195,7 +258,9 @@ function buildCellStyleMap(sheets, defaultDateFormat) {
|
|
|
195
258
|
continue;
|
|
196
259
|
const effective = mergeOptions(row.options, cell.options);
|
|
197
260
|
const dataStyleName = cell.type === "date"
|
|
198
|
-
?
|
|
261
|
+
? cell.value instanceof Date && isDatetime(cell.value)
|
|
262
|
+
? DATETIME_STYLE_NAME
|
|
263
|
+
: dateFormatToStyleName(effectiveDateFormat(cell, row, defaultDateFormat))
|
|
199
264
|
: undefined;
|
|
200
265
|
const normalized = normalizeOdsCellStyle(effective, dataStyleName);
|
|
201
266
|
const key = cellStyleKey(normalized);
|
|
@@ -379,7 +444,11 @@ function buildCellElement(cell, row, cellStyleMap, defaultDateFormat) {
|
|
|
379
444
|
// Effective options: row defaults merged with cell overrides
|
|
380
445
|
const effective = mergeOptions(row.options, cell.options);
|
|
381
446
|
const cellDateFmt = effectiveDateFormat(cell, row, defaultDateFormat);
|
|
382
|
-
const dataStyleName = cell.type === "date"
|
|
447
|
+
const dataStyleName = cell.type === "date"
|
|
448
|
+
? cell.value instanceof Date && isDatetime(cell.value)
|
|
449
|
+
? DATETIME_STYLE_NAME
|
|
450
|
+
: dateFormatToStyleName(cellDateFmt)
|
|
451
|
+
: undefined;
|
|
383
452
|
// Look up deduplicated cell style
|
|
384
453
|
const normalized = normalizeOdsCellStyle(effective, dataStyleName);
|
|
385
454
|
const key = cellStyleKey(normalized);
|
|
@@ -402,8 +471,14 @@ function buildCellElement(cell, row, cellStyleMap, defaultDateFormat) {
|
|
|
402
471
|
case "date": {
|
|
403
472
|
const date = cell.value;
|
|
404
473
|
cellEl.attr("office:value-type", "date");
|
|
405
|
-
|
|
406
|
-
|
|
474
|
+
if (isDatetime(date)) {
|
|
475
|
+
cellEl.attr("office:date-value", formatDatetimeISO(date));
|
|
476
|
+
cellEl.appendChild(el("text:p").text(formatDatetimeDisplay(date)));
|
|
477
|
+
}
|
|
478
|
+
else {
|
|
479
|
+
cellEl.attr("office:date-value", formatDateISO(date));
|
|
480
|
+
cellEl.appendChild(el("text:p").text(formatDateDisplay(date, cellDateFmt)));
|
|
481
|
+
}
|
|
407
482
|
break;
|
|
408
483
|
}
|
|
409
484
|
case "boolean":
|
|
@@ -462,10 +537,11 @@ function buildSheetElement(sheet, tableStyleName, cellStyleMap, widthMap, optima
|
|
|
462
537
|
export function generateOdsContent(sheets, defaultDateFormat) {
|
|
463
538
|
// Collect all style information up front
|
|
464
539
|
const usedDateFormats = collectUsedDateFormats(sheets, defaultDateFormat);
|
|
540
|
+
const needsDatetime = hasDatetimeCells(sheets);
|
|
465
541
|
const cellStyleMap = buildCellStyleMap(sheets, defaultDateFormat);
|
|
466
542
|
const { widthMap, optimalStyleName: optimalColStyle } = buildColumnStyleMap(sheets);
|
|
467
543
|
const { heightMap, optimalStyleName: optimalRowStyle } = buildRowStyleMap(sheets);
|
|
468
|
-
// Root element — ODS uses office, style, text, table, fo, number namespaces
|
|
544
|
+
// Root element — ODS uses office, style, text, table, fo, number, of namespaces
|
|
469
545
|
const root = el("office:document-content")
|
|
470
546
|
.attr("xmlns:office", ODF_NS.office)
|
|
471
547
|
.attr("xmlns:style", ODF_NS.style)
|
|
@@ -473,6 +549,7 @@ export function generateOdsContent(sheets, defaultDateFormat) {
|
|
|
473
549
|
.attr("xmlns:table", ODF_NS.table)
|
|
474
550
|
.attr("xmlns:fo", ODF_NS.fo)
|
|
475
551
|
.attr("xmlns:number", ODF_NS.number)
|
|
552
|
+
.attr("xmlns:of", "urn:oasis:names:tc:opendocument:xmlns:of:1.2")
|
|
476
553
|
.attr("office:version", ODF_VERSION);
|
|
477
554
|
// Automatic styles
|
|
478
555
|
const autoStyles = el("office:automatic-styles");
|
|
@@ -480,6 +557,10 @@ export function generateOdsContent(sheets, defaultDateFormat) {
|
|
|
480
557
|
for (const format of usedDateFormats) {
|
|
481
558
|
autoStyles.appendChild(buildDateFormatStyle(format));
|
|
482
559
|
}
|
|
560
|
+
// Datetime style — emitted only if any date cell has a nonzero time component
|
|
561
|
+
if (needsDatetime) {
|
|
562
|
+
autoStyles.appendChild(buildDatetimeFormatStyle());
|
|
563
|
+
}
|
|
483
564
|
// Table styles — one per sheet
|
|
484
565
|
for (let i = 0; i < sheets.length; i++) {
|
|
485
566
|
autoStyles.appendChild(buildTableStyle(`ta${i + 1}`));
|
package/dist/ods/content.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/ods/content.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/ods/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/odt/content.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EAGT,QAAQ,EAER,gBAAgB,EAEhB,SAAS,EACV,MAAM,YAAY,CAAC;AAMpB,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1E,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAwOD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EAAE,EAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,GAChC,MAAM,CAoNR;
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/odt/content.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EAGT,QAAQ,EAER,gBAAgB,EAEhB,SAAS,EACV,MAAM,YAAY,CAAC;AAMpB,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1E,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAwOD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EAAE,EAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,GAChC,MAAM,CAoNR;AAm8BD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAyBjD"}
|
package/dist/odt/content.js
CHANGED
|
@@ -676,6 +676,11 @@ function buildCoverageMap(table) {
|
|
|
676
676
|
*/
|
|
677
677
|
function appendRuns(parent, runs, styleMap, imageMap, imageCounter = 1, graphicStyleMap = new Map()) {
|
|
678
678
|
for (const run of runs) {
|
|
679
|
+
// Line break
|
|
680
|
+
if (run.lineBreak) {
|
|
681
|
+
parent.appendChild(el("text:line-break"));
|
|
682
|
+
continue;
|
|
683
|
+
}
|
|
679
684
|
// Tab element
|
|
680
685
|
if (run.field === "tab") {
|
|
681
686
|
parent.appendChild(el("text:tab"));
|
|
@@ -838,6 +843,7 @@ function hasParagraphOptions(opts) {
|
|
|
838
843
|
opts.lineHeight !== undefined ||
|
|
839
844
|
opts.indentLeft ||
|
|
840
845
|
opts.indentFirst ||
|
|
846
|
+
opts.borderBottom ||
|
|
841
847
|
(opts.tabStops && opts.tabStops.length > 0));
|
|
842
848
|
}
|
|
843
849
|
/**
|
|
@@ -859,6 +865,8 @@ function paragraphOptionsKey(opts) {
|
|
|
859
865
|
parts.push(`il:${opts.indentLeft}`);
|
|
860
866
|
if (opts.indentFirst)
|
|
861
867
|
parts.push(`if:${opts.indentFirst}`);
|
|
868
|
+
if (opts.borderBottom)
|
|
869
|
+
parts.push(`bdb:${opts.borderBottom}`);
|
|
862
870
|
if (opts.tabStops && opts.tabStops.length > 0) {
|
|
863
871
|
parts.push(`ts:${tabStopsKey(opts.tabStops)}`);
|
|
864
872
|
}
|
|
@@ -942,6 +950,10 @@ function buildParagraphStyle(styleName, opts, parentStyle) {
|
|
|
942
950
|
paraProps.attr("fo:text-indent", opts.indentFirst);
|
|
943
951
|
hasParaProps = true;
|
|
944
952
|
}
|
|
953
|
+
if (opts.borderBottom) {
|
|
954
|
+
paraProps.attr("fo:border-bottom", opts.borderBottom);
|
|
955
|
+
hasParaProps = true;
|
|
956
|
+
}
|
|
945
957
|
if (opts.tabStops && opts.tabStops.length > 0) {
|
|
946
958
|
const tabStopsEl = el("style:tab-stops");
|
|
947
959
|
for (const ts of opts.tabStops) {
|