@p10node/office-engine 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +1 -0
  2. package/dist/{DocViewer-Cv4LaMB_.js → DocViewer-PJieqbIR.js} +3254 -2027
  3. package/dist/DocViewer-PJieqbIR.js.map +1 -0
  4. package/dist/assets/worker-B1gMpGFN.js.map +1 -0
  5. package/dist/{collab-BzN1ZI-z.js → collab-BvjXvfJ9.js} +529 -232
  6. package/dist/collab-BvjXvfJ9.js.map +1 -0
  7. package/dist/collab.js +1 -1
  8. package/dist/core.js +1 -1
  9. package/dist/{default-worker-B5CGBnic.js → default-worker-DfpaJUjf.js} +1053 -1030
  10. package/dist/default-worker-DfpaJUjf.js.map +1 -0
  11. package/dist/embed.js +13 -3
  12. package/dist/embed.js.map +1 -1
  13. package/dist/index.js +4 -4
  14. package/dist/office-engine.embed.js +76 -24
  15. package/dist/office-engine.worker.js +26 -6
  16. package/dist/types/collab/compact.d.ts +23 -0
  17. package/dist/types/collab/hub.d.ts +35 -4
  18. package/dist/types/collab/index.d.ts +9 -2
  19. package/dist/types/collab/protocol.d.ts +29 -2
  20. package/dist/types/collab/session.d.ts +5 -1
  21. package/dist/types/collab/store.d.ts +94 -0
  22. package/dist/types/core/convert.d.ts +29 -0
  23. package/dist/types/core/zipwrite.d.ts +3 -1
  24. package/dist/types/embed.d.ts +2 -2
  25. package/dist/types/index.d.ts +1 -0
  26. package/dist/types/react/DocViewer.d.ts +18 -0
  27. package/dist/types/react/common/Dialog.d.ts +8 -0
  28. package/dist/types/react/common/Slots.d.ts +20 -0
  29. package/dist/types/react/docx/DocxToolbar.d.ts +2 -1
  30. package/dist/types/react/edit/Toolbar.d.ts +4 -0
  31. package/dist/types/react/file/DetailsDialog.d.ts +7 -0
  32. package/dist/types/react/file/FileMenu.d.ts +48 -0
  33. package/dist/types/react/file/importFile.d.ts +10 -0
  34. package/dist/types/react/file/print.d.ts +16 -0
  35. package/dist/types/react/file/text.d.ts +10 -0
  36. package/dist/types/react/xlsx/XlsxView.d.ts +3 -1
  37. package/dist/types/react/xlsx/fit.d.ts +4 -0
  38. package/dist/types/react/xlsx/print.d.ts +17 -0
  39. package/package.json +2 -1
  40. package/dist/DocViewer-Cv4LaMB_.js.map +0 -1
  41. package/dist/assets/worker-CJfZ05I7.js.map +0 -1
  42. package/dist/collab-BzN1ZI-z.js.map +0 -1
  43. package/dist/default-worker-B5CGBnic.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ import type { Block } from '../../core/docx/types';
2
+ import type { SlideModel } from '../../core/pptx/types';
3
+ /** Plain text: one line per paragraph, list markers kept, table cells separated by tabs. */
4
+ export declare function docxToText(blocks: Block[]): string;
5
+ /** Markdown: headings (outline levels), lists, bold / italic / strike, links, tables. */
6
+ export declare function docxToMarkdown(blocks: Block[]): string;
7
+ /** Text of each slide (shapes, tables, speaker notes). */
8
+ export declare function slidesToText(slides: SlideModel[]): string;
9
+ /** RFC 4180 output (CRLF; fields with separators, quotes or line breaks are quoted). */
10
+ export declare function toCsv(rows: string[][], sep?: string): string;
@@ -1,4 +1,4 @@
1
- import type { Range } from '../../core/xlsx/types';
1
+ import type { Merge, Range } from '../../core/xlsx/types';
2
2
  import type { DocumentClient } from '../../core/worker/client';
3
3
  export interface XlsxViewProps {
4
4
  client: DocumentClient;
@@ -14,3 +14,5 @@ interface Selection {
14
14
  fc: number;
15
15
  }
16
16
  export declare const rectOf: (s: Selection) => Range;
17
+ /** grows a range until it holds every merged cell it touches (like Excel / Sheets selections) */
18
+ export declare function withMerges(r: Range, merges: Merge[]): Range;
@@ -0,0 +1,4 @@
1
+ /** px size of a CSS font size ('11pt', px number), `base` when unset */
2
+ export declare const fontPx: (v: string | number | undefined, base: number) => number;
3
+ /** Excel-like: shrink General decimals to fit, otherwise show ### when a number is too wide. */
4
+ export declare function fitNumber(text: string, width: number, px: number): string;
@@ -0,0 +1,17 @@
1
+ import type { DocumentClient } from '../../core/worker/client';
2
+ import type { Merge, WorkbookMeta } from '../../core/xlsx/types';
3
+ import type { Printable } from '../file/print';
4
+ import type { Axis } from './axis';
5
+ export interface SheetLayout {
6
+ rows: number;
7
+ cols: number;
8
+ rowAxis: Axis;
9
+ colAxis: Axis;
10
+ merges: Merge[];
11
+ gridLines: boolean;
12
+ done: boolean;
13
+ }
14
+ /** Shown values of the sheet as CSV / TSV (UTF-8 BOM for CSV so Excel reads accents). */
15
+ export declare function sheetText(client: DocumentClient, sheet: number, l: SheetLayout, sep: string): Promise<string>;
16
+ /** The sheet as a table (used range, hidden rows / columns left out), fitted to the paper width. */
17
+ export declare function sheetPrintable(client: DocumentClient, sheet: number, l: SheetLayout, meta: WorkbookMeta): Promise<Printable>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@p10node/office-engine",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Browser engine to view DOCX, XLSX, PPTX progressively (worker-based, range-loading, virtualized React views)",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -48,6 +48,7 @@
48
48
  "build:playground": "vite build --config vite.playground.config.ts",
49
49
  "typecheck": "tsc --noEmit",
50
50
  "test": "bun test",
51
+ "test:e2e": "bun test ./e2e --timeout 90000",
51
52
  "fixtures": "bun scripts/gen-fixtures.ts",
52
53
  "build:worker": "vite build --config vite.worker.config.ts",
53
54
  "collab": "bun scripts/collab-server.ts",