@p10node/office-engine 0.0.0 → 0.1.1

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 (124) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -1
  3. package/dist/DocViewer-kfAVEXOO.js +10533 -0
  4. package/dist/DocViewer-kfAVEXOO.js.map +1 -0
  5. package/dist/THIRD_PARTY_LICENSES.txt +79 -0
  6. package/dist/assets/worker-DbLPJnSo.js.map +1 -0
  7. package/dist/collab-BzN1ZI-z.js +1984 -0
  8. package/dist/collab-BzN1ZI-z.js.map +1 -0
  9. package/dist/collab.js +2 -0
  10. package/dist/core.js +2 -0
  11. package/dist/default-worker-f546VALp.js +9196 -0
  12. package/dist/default-worker-f546VALp.js.map +1 -0
  13. package/dist/embed.js +91 -0
  14. package/dist/embed.js.map +1 -0
  15. package/dist/index.js +5 -0
  16. package/dist/office-engine.embed.js +81 -0
  17. package/dist/office-engine.worker.js +9092 -0
  18. package/dist/types/collab/codec.d.ts +3 -0
  19. package/dist/types/collab/docx.d.ts +166 -0
  20. package/dist/types/collab/hosts.d.ts +24 -0
  21. package/dist/types/collab/hub.d.ts +41 -0
  22. package/dist/types/collab/index.d.ts +43 -0
  23. package/dist/types/collab/pptx-ops.d.ts +60 -0
  24. package/dist/types/collab/pptx-worker.d.ts +35 -0
  25. package/dist/types/collab/pptx.d.ts +47 -0
  26. package/dist/types/collab/protocol.d.ts +76 -0
  27. package/dist/types/collab/react.d.ts +23 -0
  28. package/dist/types/collab/session.d.ts +115 -0
  29. package/dist/types/collab/transport.d.ts +47 -0
  30. package/dist/types/collab/xlsx-ops.d.ts +72 -0
  31. package/dist/types/collab/xlsx-worker.d.ts +29 -0
  32. package/dist/types/collab/xlsx.d.ts +51 -0
  33. package/dist/types/core/color.d.ts +25 -0
  34. package/dist/types/core/convert.d.ts +29 -0
  35. package/dist/types/core/default-worker.d.ts +1 -0
  36. package/dist/types/core/docx/numbering.d.ts +33 -0
  37. package/dist/types/core/docx/parser.d.ts +126 -0
  38. package/dist/types/core/docx/spec.d.ts +4 -0
  39. package/dist/types/core/docx/styles.d.ts +63 -0
  40. package/dist/types/core/docx/types.d.ts +325 -0
  41. package/dist/types/core/docx/writer.d.ts +35 -0
  42. package/dist/types/core/fonts.d.ts +1 -0
  43. package/dist/types/core/index.d.ts +15 -0
  44. package/dist/types/core/opc.d.ts +56 -0
  45. package/dist/types/core/pptx/edit.d.ts +10 -0
  46. package/dist/types/core/pptx/parser.d.ts +52 -0
  47. package/dist/types/core/pptx/types.d.ts +238 -0
  48. package/dist/types/core/raw.d.ts +40 -0
  49. package/dist/types/core/source.d.ts +65 -0
  50. package/dist/types/core/theme.d.ts +11 -0
  51. package/dist/types/core/units.d.ts +7 -0
  52. package/dist/types/core/worker/client.d.ts +48 -0
  53. package/dist/types/core/worker/engine.d.ts +27 -0
  54. package/dist/types/core/worker/protocol.d.ts +112 -0
  55. package/dist/types/core/worker/worker.d.ts +1 -0
  56. package/dist/types/core/xlsx/calc.d.ts +31 -0
  57. package/dist/types/core/xlsx/editor.d.ts +95 -0
  58. package/dist/types/core/xlsx/formula/assist.d.ts +35 -0
  59. package/dist/types/core/xlsx/formula/catalog.d.ts +14 -0
  60. package/dist/types/core/xlsx/formula/dates.d.ts +23 -0
  61. package/dist/types/core/xlsx/formula/evaluate.d.ts +33 -0
  62. package/dist/types/core/xlsx/formula/fn-date.d.ts +2 -0
  63. package/dist/types/core/xlsx/formula/fn-logic.d.ts +3 -0
  64. package/dist/types/core/xlsx/formula/fn-lookup.d.ts +3 -0
  65. package/dist/types/core/xlsx/formula/fn-math.d.ts +3 -0
  66. package/dist/types/core/xlsx/formula/fn-stats.d.ts +3 -0
  67. package/dist/types/core/xlsx/formula/fn-text.d.ts +3 -0
  68. package/dist/types/core/xlsx/formula/fn.d.ts +64 -0
  69. package/dist/types/core/xlsx/formula/format.d.ts +5 -0
  70. package/dist/types/core/xlsx/formula/functions.d.ts +4 -0
  71. package/dist/types/core/xlsx/formula/index.d.ts +17 -0
  72. package/dist/types/core/xlsx/formula/lexer.d.ts +54 -0
  73. package/dist/types/core/xlsx/formula/parser.d.ts +53 -0
  74. package/dist/types/core/xlsx/formula/refs.d.ts +23 -0
  75. package/dist/types/core/xlsx/formula/transform.d.ts +21 -0
  76. package/dist/types/core/xlsx/formula/types.d.ts +59 -0
  77. package/dist/types/core/xlsx/formula/values.d.ts +49 -0
  78. package/dist/types/core/xlsx/numfmt.d.ts +11 -0
  79. package/dist/types/core/xlsx/structure.d.ts +31 -0
  80. package/dist/types/core/xlsx/styles.d.ts +17 -0
  81. package/dist/types/core/xlsx/types.d.ts +193 -0
  82. package/dist/types/core/xlsx/workbook.d.ts +94 -0
  83. package/dist/types/core/xml.d.ts +80 -0
  84. package/dist/types/core/zip.d.ts +35 -0
  85. package/dist/types/core/zipwrite.d.ts +11 -0
  86. package/dist/types/embed.d.ts +30 -0
  87. package/dist/types/index.d.ts +19 -0
  88. package/dist/types/react/DocViewer.d.ts +61 -0
  89. package/dist/types/react/common/ContextMenu.d.ts +21 -0
  90. package/dist/types/react/common/Dialog.d.ts +35 -0
  91. package/dist/types/react/common/Slots.d.ts +38 -0
  92. package/dist/types/react/common/Status.d.ts +6 -0
  93. package/dist/types/react/common/ZoomControl.d.ts +6 -0
  94. package/dist/types/react/common/hooks.d.ts +20 -0
  95. package/dist/types/react/docx/DocxEditor.d.ts +172 -0
  96. package/dist/types/react/docx/DocxToolbar.d.ts +19 -0
  97. package/dist/types/react/docx/DocxView.d.ts +8 -0
  98. package/dist/types/react/docx/FindBar.d.ts +22 -0
  99. package/dist/types/react/docx/html.d.ts +8 -0
  100. package/dist/types/react/docx/render.d.ts +24 -0
  101. package/dist/types/react/docx/tables.d.ts +20 -0
  102. package/dist/types/react/edit/Toolbar.d.ts +134 -0
  103. package/dist/types/react/edit/input.d.ts +81 -0
  104. package/dist/types/react/edit/rich.d.ts +40 -0
  105. package/dist/types/react/file/DetailsDialog.d.ts +7 -0
  106. package/dist/types/react/file/FileMenu.d.ts +48 -0
  107. package/dist/types/react/file/importFile.d.ts +10 -0
  108. package/dist/types/react/file/print.d.ts +16 -0
  109. package/dist/types/react/file/text.d.ts +10 -0
  110. package/dist/types/react/injectStyles.d.ts +4 -0
  111. package/dist/types/react/pptx/PptxEditor.d.ts +95 -0
  112. package/dist/types/react/pptx/PptxToolbar.d.ts +36 -0
  113. package/dist/types/react/pptx/PptxView.d.ts +24 -0
  114. package/dist/types/react/pptx/Presenter.d.ts +9 -0
  115. package/dist/types/react/pptx/Slide.d.ts +28 -0
  116. package/dist/types/react/pptx/geometry.d.ts +5 -0
  117. package/dist/types/react/useDocument.d.ts +11 -0
  118. package/dist/types/react/xlsx/XlsxToolbar.d.ts +27 -0
  119. package/dist/types/react/xlsx/XlsxView.d.ts +18 -0
  120. package/dist/types/react/xlsx/axis.d.ts +19 -0
  121. package/dist/types/react/xlsx/print.d.ts +17 -0
  122. package/dist/xlsx-ops-CsjNpMI0.js +244 -0
  123. package/dist/xlsx-ops-CsjNpMI0.js.map +1 -0
  124. package/package.json +75 -2
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 p10node
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,67 @@
1
1
  # @p10node/office-engine
2
2
 
3
- Placeholder release used to set up trusted publishing. Install `0.1.0` or later.
3
+ View + edit **DOCX / XLSX / PPTX** directly in the browser. Loads progressively like Google Docs, handles heavy files, one-line React embed, saves back to the original format.
4
+
5
+ **[Live demo](https://p10node.github.io/office-engine/demo/)**: samples, heavy files (300k-row sheet, 305-slide deck), drag & drop your own file, edit and download.
6
+
7
+ | DOCX | XLSX | PPTX |
8
+ |-------------------------------------------|-------------------------------------------|-------------------------------------------|
9
+ | ![DOCX editor](docs/screenshots/docx.png) | ![XLSX editor](docs/screenshots/xlsx.png) | ![PPTX editor](docs/screenshots/pptx.png) |
10
+
11
+ ## Features
12
+
13
+ - **Progressive loading**: lazy ZIP, HTTP Range requests, streaming XML parser in a Web Worker → UI never blocks
14
+ - **Virtualized views**: only visible pages, cells and slides render
15
+ - **Editing** with a Google Docs-style toolbar: DOCX text, styles, lists, images, tables; XLSX cells, formulas (134 functions), formats, borders, rows/columns, sheets; PPTX text, shapes, images, slides, slideshow
16
+ - **Fast save**: only edited parts are regenerated, everything else keeps its original bytes
17
+ - **File menu**: new, open (also CSV / text / Markdown / HTML), import CSV, rename, download as PDF / HTML / text / CSV, document details, print
18
+ - **Real-time collaboration**: live edits, avatars, collaborators' cursors, offline edits sync on reconnect
19
+ - **Embed anywhere**: React component, hook, vanilla `mount()`, `<office-viewer>` web component, single `<script>` file
20
+
21
+ Full list, format coverage and limitations: [Features](docs/features.md).
22
+
23
+ | File | Size | First paint | Fully loaded |
24
+ |--------------------------|---------|-------------|-------------------|
25
+ | DOCX 20k paragraphs | 1.2 MB | ~180 ms | 2073 pages in ~2s |
26
+ | XLSX 300k rows × 12 cols | 24.8 MB | ~330 ms | ~2s |
27
+ | PPTX 305 slides | 0.3 MB | ~110 ms | on-demand |
28
+
29
+ Measured in headless Chromium on Apple M-series.
30
+
31
+ ## Install
32
+
33
+ ```bash
34
+ bun add @p10node/office-engine # peer: react >= 18, react-dom >= 18
35
+ ```
36
+
37
+ ## Usage
38
+
39
+ ```tsx
40
+ import { DocViewer } from '@p10node/office-engine'
41
+
42
+ <DocViewer src={file} style={{ height: 600 }} /> // File | Blob | ArrayBuffer | Uint8Array
43
+ <DocViewer src="https://cdn.example.com/report.xlsx" /> // URL → Range requests
44
+ <DocViewer src={file} editable onSave={(blob, name) => upload(blob, name)} />
45
+ ```
46
+
47
+ CSS is auto-injected. Container must have a height.
48
+
49
+ Without React:
50
+
51
+ ```html
52
+ <script src="office-engine.embed.js"></script> <!-- dist/, bundles React + worker -->
53
+ <office-viewer src="/files/report.docx" style="height:600px"></office-viewer>
54
+ ```
55
+
56
+ ## Docs
57
+
58
+ Also online at [p10node.github.io/office-engine](https://p10node.github.io/office-engine/).
59
+
60
+ - [Features](docs/features.md): format coverage, editing, saving, limitations
61
+ - [API](docs/api.md): props, custom views, `mount()`, `<office-viewer>`, core API, CSP
62
+ - [Real-time collaboration](docs/collaboration.md)
63
+ - [Development](docs/development.md): playground, architecture, demo deploy, release
64
+
65
+ ## License
66
+
67
+ [MIT](LICENSE) © p10node