@silurus/ooxml 0.26.0 → 0.28.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 CHANGED
@@ -400,10 +400,13 @@ export const PptxViewerComponent = component$<{ src: string }>(({ src }) => {
400
400
  | | Formula results (from cached `<v>`) | ✅ |
401
401
  | | Dates (ECMA-376 date format codes) | ✅ |
402
402
  | | Rich text (per-run formatting) | ✅ |
403
- | **Formatting** | Bold, italic, underline, strikethrough | ✅ |
403
+ | **Formatting** | Bold, italic, underline (`single` / `double` / `singleAccounting` / `doubleAccounting`), strikethrough | ✅ |
404
+ | | Superscript / subscript (`vertAlign`) | ✅ |
404
405
  | | Font family, size, color | ✅ |
405
- | | Cell background color | ✅ |
406
- | | Borders | ✅ |
406
+ | | Cell background color (solid + gradient) | ✅ |
407
+ | | Pattern fills (`gray125` / `gray0625` / `lightGray` / `mediumGray` / `darkGray` and the 12 `light*` / `dark*` directional hatches) | ✅ |
408
+ | | Borders (thin, medium, thick, hair, double, dashed, dotted, dashDotDot, …) | ✅ |
409
+ | | Diagonal borders (`diagonalUp` / `diagonalDown`, single + double) | ✅ |
407
410
  | | Horizontal / vertical alignment | ✅ |
408
411
  | | Text wrapping | ✅ |
409
412
  | | Number formats (`0.00`, `%`, `#,##0`, custom date/time) | ✅ |
@@ -440,7 +443,7 @@ export const PptxViewerComponent = component$<{ src: string }>(({ src }) => {
440
443
  | | Slide background (solid, gradient, image) | ✅ |
441
444
  | | Slide numbers | ✅ |
442
445
  | | Notes pages | ❌ |
443
- | | Animations / transitions | ❌ |
446
+ | | Animations / transitions | ❌ Not planned |
444
447
  | **Element types** | Shapes (`sp`) | ✅ |
445
448
  | | Pictures (`pic`) | ✅ |
446
449
  | | Groups (`grpSp`) with nested transforms | ✅ |
@@ -459,19 +462,27 @@ export const PptxViewerComponent = component$<{ src: string }>(({ src }) => {
459
462
  | **Fills** | Solid fill (`solidFill`) | ✅ |
460
463
  | | Linear / radial gradient (`gradFill`) | ✅ |
461
464
  | | No fill (`noFill`) | ✅ |
462
- | | Pattern fill (`pattFill`) | |
465
+ | | Pattern fill (`pattFill`) — 30 preset bitmaps incl. pct5–pct90 / horz / vert / cross / diag / grid / brick / check / trellis | |
463
466
  | | Image fill on shapes (`blipFill` in `sp`) | ✅ |
464
467
  | **Strokes** | Solid line color and width | ✅ |
465
468
  | | Dash / dot styles | ✅ |
466
469
  | | Arrow heads (`headEnd` / `tailEnd`) | ✅ |
467
- | | Compound / double lines | |
470
+ | | Compound / double lines (`<a:ln cmpd="dbl|thinThick|thickThin|tri">` straight connectors) | ✅ |
468
471
  | **Shape effects** | Drop shadow (`outerShdw`) | ✅ |
469
- | | Inner shadow / glow / reflection | |
472
+ | | Glow (`glow` radius + colour) | |
473
+ | | Inner shadow (`innerShdw` — parsed; rendering follow-up) | ⚠️ |
474
+ | | Soft edge (`softEdge` — parsed; rendering follow-up) | ⚠️ |
475
+ | | Reflection (`reflection` — parsed; rendering follow-up) | ⚠️ |
470
476
  | | Bevel / 3D extrusion | ❌ |
471
- | **Text — characters** | Bold, italic, underline, strikethrough | ✅ |
477
+ | **Text — characters** | Bold, italic, strikethrough (incl. `dblStrike`) | ✅ |
478
+ | | Underline styles (`sng` / `dbl` / `dotted` / `dash` / `dashLong` / `dotDash` / `dotDotDash` / `wavy` / `wavyDbl` and `*Heavy` variants) | ✅ |
479
+ | | Per-run underline colour (`uFill` / `uFillTx`) | ✅ |
472
480
  | | Font family, size, color | ✅ |
481
+ | | East Asian font (`rPr > a:ea` — separate typeface for CJK glyphs) | ✅ |
482
+ | | Caps transform (`all` / `small`) | ✅ |
483
+ | | Letter spacing (`spc`) | ✅ |
473
484
  | | Superscript / subscript | ✅ |
474
- | | Hyperlinks | |
485
+ | | Hyperlinks (`hlinkClick` — theme `hlink` colour + auto underline) | |
475
486
  | | Text shadow / outline effects | ❌ |
476
487
  | **Text — paragraphs** | Horizontal alignment (left / center / right / justify) | ✅ |
477
488
  | | Vertical anchor (top / center / bottom) | ✅ |
@@ -504,8 +515,8 @@ export const PptxViewerComponent = component$<{ src: string }>(({ src }) => {
504
515
 
505
516
  ## Companion packages
506
517
 
507
- - **[`packages/vscode-extension/`](packages/vscode-extension/)** — VS Code extension (`ooxml-viewer`) that registers `CustomEditorProvider`s for `.docx`, `.xlsx`, and `.pptx`. Open Office files directly in the editor with the same Canvas renderer plus selection/copy.
508
- - **[`packages/mcp-server/`](packages/mcp-server/)** — Rust MCP server (`ooxml-mcp-server`) exposing the parsers as tools for AI agents (Claude, Copilot, Codex, etc.). Provides structured queries (`docx_get_structure`, `xlsx_get_cell_range`, `pptx_get_slide_structure`, …) so agents can inspect OOXML files without shelling out to `unzip`.
518
+ - **[`packages/vscode-extension/`](packages/vscode-extension/)** — VS Code extension (`ooxml-viewer`) that registers `CustomEditorProvider`s for `.docx`, `.xlsx`, and `.pptx`, and (opt-in) auto-installs and registers the `ooxml-mcp-server` so AI coding agents in the same window (Copilot Agent mode, Claude, …) can read those files via dedicated tools.
519
+ - **[`packages/mcp-server/`](packages/mcp-server/)** — Rust MCP server (`ooxml-mcp-server`) exposing the parsers as tools for AI agents (Claude, Copilot, Codex, etc.). Provides structured queries (`docx_get_structure`, `xlsx_get_cell_range`, `pptx_get_slide_structure`, …) so agents can inspect OOXML files without shelling out to `unzip`. Prebuilt binaries are attached to each [GitHub Release](https://github.com/yukiyokotani/office-open-xml-viewer/releases) for macOS / Linux / Windows; the VS Code extension downloads them on demand.
509
520
 
510
521
  ---
511
522