@p10node/office-engine 0.0.0-stage → 0.1.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 (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -2
  3. package/dist/DocViewer-Cv4LaMB_.js +9342 -0
  4. package/dist/DocViewer-Cv4LaMB_.js.map +1 -0
  5. package/dist/THIRD_PARTY_LICENSES.txt +79 -0
  6. package/dist/assets/worker-CJfZ05I7.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-B5CGBnic.js +9193 -0
  12. package/dist/default-worker-B5CGBnic.js.map +1 -0
  13. package/dist/embed.js +83 -0
  14. package/dist/embed.js.map +1 -0
  15. package/dist/index.js +5 -0
  16. package/dist/office-engine.embed.js +33 -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/default-worker.d.ts +1 -0
  35. package/dist/types/core/docx/numbering.d.ts +33 -0
  36. package/dist/types/core/docx/parser.d.ts +126 -0
  37. package/dist/types/core/docx/spec.d.ts +4 -0
  38. package/dist/types/core/docx/styles.d.ts +63 -0
  39. package/dist/types/core/docx/types.d.ts +325 -0
  40. package/dist/types/core/docx/writer.d.ts +35 -0
  41. package/dist/types/core/fonts.d.ts +1 -0
  42. package/dist/types/core/index.d.ts +15 -0
  43. package/dist/types/core/opc.d.ts +56 -0
  44. package/dist/types/core/pptx/edit.d.ts +10 -0
  45. package/dist/types/core/pptx/parser.d.ts +52 -0
  46. package/dist/types/core/pptx/types.d.ts +238 -0
  47. package/dist/types/core/raw.d.ts +40 -0
  48. package/dist/types/core/source.d.ts +65 -0
  49. package/dist/types/core/theme.d.ts +11 -0
  50. package/dist/types/core/units.d.ts +7 -0
  51. package/dist/types/core/worker/client.d.ts +48 -0
  52. package/dist/types/core/worker/engine.d.ts +27 -0
  53. package/dist/types/core/worker/protocol.d.ts +112 -0
  54. package/dist/types/core/worker/worker.d.ts +1 -0
  55. package/dist/types/core/xlsx/calc.d.ts +31 -0
  56. package/dist/types/core/xlsx/editor.d.ts +95 -0
  57. package/dist/types/core/xlsx/formula/assist.d.ts +35 -0
  58. package/dist/types/core/xlsx/formula/catalog.d.ts +14 -0
  59. package/dist/types/core/xlsx/formula/dates.d.ts +23 -0
  60. package/dist/types/core/xlsx/formula/evaluate.d.ts +33 -0
  61. package/dist/types/core/xlsx/formula/fn-date.d.ts +2 -0
  62. package/dist/types/core/xlsx/formula/fn-logic.d.ts +3 -0
  63. package/dist/types/core/xlsx/formula/fn-lookup.d.ts +3 -0
  64. package/dist/types/core/xlsx/formula/fn-math.d.ts +3 -0
  65. package/dist/types/core/xlsx/formula/fn-stats.d.ts +3 -0
  66. package/dist/types/core/xlsx/formula/fn-text.d.ts +3 -0
  67. package/dist/types/core/xlsx/formula/fn.d.ts +64 -0
  68. package/dist/types/core/xlsx/formula/format.d.ts +5 -0
  69. package/dist/types/core/xlsx/formula/functions.d.ts +4 -0
  70. package/dist/types/core/xlsx/formula/index.d.ts +17 -0
  71. package/dist/types/core/xlsx/formula/lexer.d.ts +54 -0
  72. package/dist/types/core/xlsx/formula/parser.d.ts +53 -0
  73. package/dist/types/core/xlsx/formula/refs.d.ts +23 -0
  74. package/dist/types/core/xlsx/formula/transform.d.ts +21 -0
  75. package/dist/types/core/xlsx/formula/types.d.ts +59 -0
  76. package/dist/types/core/xlsx/formula/values.d.ts +49 -0
  77. package/dist/types/core/xlsx/numfmt.d.ts +11 -0
  78. package/dist/types/core/xlsx/structure.d.ts +31 -0
  79. package/dist/types/core/xlsx/styles.d.ts +17 -0
  80. package/dist/types/core/xlsx/types.d.ts +193 -0
  81. package/dist/types/core/xlsx/workbook.d.ts +94 -0
  82. package/dist/types/core/xml.d.ts +80 -0
  83. package/dist/types/core/zip.d.ts +35 -0
  84. package/dist/types/core/zipwrite.d.ts +9 -0
  85. package/dist/types/embed.d.ts +30 -0
  86. package/dist/types/index.d.ts +18 -0
  87. package/dist/types/react/DocViewer.d.ts +43 -0
  88. package/dist/types/react/common/ContextMenu.d.ts +21 -0
  89. package/dist/types/react/common/Dialog.d.ts +27 -0
  90. package/dist/types/react/common/Slots.d.ts +18 -0
  91. package/dist/types/react/common/Status.d.ts +6 -0
  92. package/dist/types/react/common/ZoomControl.d.ts +6 -0
  93. package/dist/types/react/common/hooks.d.ts +20 -0
  94. package/dist/types/react/docx/DocxEditor.d.ts +172 -0
  95. package/dist/types/react/docx/DocxToolbar.d.ts +18 -0
  96. package/dist/types/react/docx/DocxView.d.ts +8 -0
  97. package/dist/types/react/docx/FindBar.d.ts +22 -0
  98. package/dist/types/react/docx/html.d.ts +8 -0
  99. package/dist/types/react/docx/render.d.ts +24 -0
  100. package/dist/types/react/docx/tables.d.ts +20 -0
  101. package/dist/types/react/edit/Toolbar.d.ts +130 -0
  102. package/dist/types/react/edit/input.d.ts +81 -0
  103. package/dist/types/react/edit/rich.d.ts +40 -0
  104. package/dist/types/react/injectStyles.d.ts +4 -0
  105. package/dist/types/react/pptx/PptxEditor.d.ts +95 -0
  106. package/dist/types/react/pptx/PptxToolbar.d.ts +36 -0
  107. package/dist/types/react/pptx/PptxView.d.ts +24 -0
  108. package/dist/types/react/pptx/Presenter.d.ts +9 -0
  109. package/dist/types/react/pptx/Slide.d.ts +28 -0
  110. package/dist/types/react/pptx/geometry.d.ts +5 -0
  111. package/dist/types/react/useDocument.d.ts +11 -0
  112. package/dist/types/react/xlsx/XlsxToolbar.d.ts +27 -0
  113. package/dist/types/react/xlsx/XlsxView.d.ts +16 -0
  114. package/dist/types/react/xlsx/axis.d.ts +19 -0
  115. package/dist/xlsx-ops-CsjNpMI0.js +244 -0
  116. package/dist/xlsx-ops-CsjNpMI0.js.map +1 -0
  117. package/package.json +80 -4
package/dist/embed.js ADDED
@@ -0,0 +1,83 @@
1
+
2
+ import "./default-worker-B5CGBnic.js";
3
+ import { t as e } from "./DocViewer-Cv4LaMB_.js";
4
+ import { createElement as t } from "react";
5
+ import { createRoot as n } from "react-dom/client";
6
+ // src/embed.ts
7
+ function r(r, i) {
8
+ let a = n(r), o = i, s = r.getRootNode() instanceof ShadowRoot ? r.getRootNode() : void 0, c = () => a?.render(t(e, {
9
+ ...o,
10
+ styleTarget: s
11
+ }));
12
+ return c(), {
13
+ update(e) {
14
+ o = {
15
+ ...o,
16
+ ...e
17
+ }, c();
18
+ },
19
+ destroy() {
20
+ a?.unmount(), a = null;
21
+ }
22
+ };
23
+ }
24
+ var i = class extends HTMLElement {
25
+ static observedAttributes = [
26
+ "src",
27
+ "name",
28
+ "toolbar",
29
+ "thumbnails",
30
+ "editable",
31
+ "collab",
32
+ "room",
33
+ "user"
34
+ ];
35
+ viewer;
36
+ _file;
37
+ get file() {
38
+ return this._file;
39
+ }
40
+ set file(e) {
41
+ this._file = e, this.sync();
42
+ }
43
+ connectedCallback() {
44
+ if (this.viewer) return;
45
+ let e = this.shadowRoot ?? this.attachShadow({ mode: "open" }), t = document.createElement("div");
46
+ t.style.cssText = "width:100%;height:100%", e.innerHTML = "<style>:host{display:block;height:480px;position:relative}</style>", e.appendChild(t), this.viewer = r(t, this.props());
47
+ }
48
+ disconnectedCallback() {
49
+ this.viewer?.destroy(), this.viewer = void 0, this.shadowRoot && (this.shadowRoot.innerHTML = "");
50
+ }
51
+ attributeChangedCallback() {
52
+ this.sync();
53
+ }
54
+ props() {
55
+ return {
56
+ src: this._file ?? this.getAttribute("src"),
57
+ name: this.getAttribute("name") ?? void 0,
58
+ toolbar: this.getAttribute("toolbar") !== "false",
59
+ thumbnails: this.getAttribute("thumbnails") !== "false",
60
+ editable: this.hasAttribute("editable") && this.getAttribute("editable") !== "false",
61
+ collab: this.getAttribute("collab") && this.getAttribute("room") ? {
62
+ transport: this.getAttribute("collab"),
63
+ room: this.getAttribute("room"),
64
+ user: { name: this.getAttribute("user") || "Guest" }
65
+ } : void 0,
66
+ onLoad: (e) => this.dispatchEvent(new CustomEvent("load", { detail: {
67
+ kind: e.kind,
68
+ name: e.name
69
+ } })),
70
+ onError: (e) => this.dispatchEvent(new CustomEvent("error", { detail: e }))
71
+ };
72
+ }
73
+ sync() {
74
+ this.viewer?.update(this.props());
75
+ }
76
+ };
77
+ function a(e = "office-viewer") {
78
+ typeof customElements < "u" && !customElements.get(e) && customElements.define(e, i);
79
+ }
80
+ a();
81
+ export { e as DocViewer, i as OfficeViewerElement, a as defineElement, r as mount };
82
+
83
+ //# sourceMappingURL=embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.js","names":["DocViewer","mount","root","createRoot","el","props","options","shadow","render","createElement","next","OfficeViewerElement","v","host","client","error","defineElement","tag"],"sources":["../src/embed.ts"],"sourcesContent":["import { createElement } from 'react'\nimport { createRoot, type Root } from 'react-dom/client'\nimport './core/default-worker'\nimport { DocViewer, type DocViewerProps } from './react/DocViewer'\n\nexport type MountOptions = Omit<DocViewerProps, 'styleTarget'>\n\nexport interface MountedViewer {\n update(next: Partial<MountOptions>): void\n destroy(): void\n}\n\n/** Framework-free embedding: renders the viewer into `el`. */\nexport function mount(el: HTMLElement, options: MountOptions): MountedViewer {\n let root: Root | null = createRoot(el)\n let props = options\n const shadow = el.getRootNode() instanceof ShadowRoot ? (el.getRootNode() as ShadowRoot) : undefined\n const render = () => root?.render(createElement(DocViewer, { ...props, styleTarget: shadow }))\n render()\n return {\n update(next) {\n props = { ...props, ...next }\n render()\n },\n destroy() {\n root?.unmount()\n root = null\n },\n }\n}\n\n/**\n * `<office-viewer src=\"/file.xlsx\" style=\"height:600px\"></office-viewer>`\n * Rendered inside a shadow root so host page CSS cannot leak in.\n * Attributes: src, name, editable, toolbar (\"false\" to hide), thumbnails (\"false\" to hide);\n * real-time collaboration: collab (hub WebSocket URL), room, user (display name).\n * Property: `file` (File/Blob/ArrayBuffer) for local data.\n */\nexport class OfficeViewerElement extends HTMLElement {\n static observedAttributes = ['src', 'name', 'toolbar', 'thumbnails', 'editable', 'collab', 'room', 'user']\n private viewer?: MountedViewer\n private _file?: Blob | ArrayBuffer\n\n get file() {\n return this._file\n }\n set file(v: Blob | ArrayBuffer | undefined) {\n this._file = v\n this.sync()\n }\n\n connectedCallback() {\n if (this.viewer) return\n const shadow = this.shadowRoot ?? this.attachShadow({ mode: 'open' })\n const host = document.createElement('div')\n host.style.cssText = 'width:100%;height:100%'\n shadow.innerHTML = '<style>:host{display:block;height:480px;position:relative}</style>'\n shadow.appendChild(host)\n this.viewer = mount(host, this.props())\n }\n\n disconnectedCallback() {\n this.viewer?.destroy()\n this.viewer = undefined\n if (this.shadowRoot) this.shadowRoot.innerHTML = ''\n }\n\n attributeChangedCallback() {\n this.sync()\n }\n\n private props(): MountOptions {\n return {\n src: this._file ?? this.getAttribute('src'),\n name: this.getAttribute('name') ?? undefined,\n toolbar: this.getAttribute('toolbar') !== 'false',\n thumbnails: this.getAttribute('thumbnails') !== 'false',\n editable: this.hasAttribute('editable') && this.getAttribute('editable') !== 'false',\n collab:\n this.getAttribute('collab') && this.getAttribute('room')\n ? { transport: this.getAttribute('collab')!, room: this.getAttribute('room')!, user: { name: this.getAttribute('user') || 'Guest' } }\n : undefined,\n onLoad: (client) => this.dispatchEvent(new CustomEvent('load', { detail: { kind: client.kind, name: client.name } })),\n onError: (error) => this.dispatchEvent(new CustomEvent('error', { detail: error })),\n }\n }\n\n private sync() {\n this.viewer?.update(this.props())\n }\n}\n\nexport function defineElement(tag = 'office-viewer') {\n if (typeof customElements !== 'undefined' && !customElements.get(tag)) customElements.define(tag, OfficeViewerElement)\n}\n\ndefineElement()\n\nexport { DocViewer }\n"],"mappings":";;;;;;AAaA,SAAgBC,EAAM,GAAiB,GAAsC;CAC3E,IAAIC,IAAoBC,EAAWC,CAAE,GACjCC,IAAQC,GACNC,IAASH,EAAG,YAAY,aAAa,aAAcA,EAAG,YAAY,IAAmB,KAAA,GACrFI,UAAeN,GAAM,OAAOO,EAAcT,GAAW;EAAE,GAAGK;EAAO,aAAaE;CAAO,CAAC,CAAC;CAE7F,OADAC,EAAO,GACA;EACL,OAAO,GAAM;GAEX,AADA,IAAQ;IAAE,GAAGH;IAAO,GAAGK;GAAK,GAC5BF,EAAO;EACT;EACA,UAAU;GAER,AADAN,GAAM,QAAQ,GACd,IAAO;EACT;CACF;AACF;AASA,IAAaS,IAAb,cAAyC,YAAY;CACnD,OAAO,qBAAqB;EAAC;EAAO;EAAQ;EAAW;EAAc;EAAY;EAAU;EAAQ;CAAM;CACzG;CACA;CAEA,IAAI,OAAO;EACT,OAAO,KAAK;CACd;CACA,IAAI,KAAK,GAAmC;EAE1C,AADA,KAAK,QAAQC,GACb,KAAK,KAAK;CACZ;CAEA,oBAAoB;EAClB,IAAI,KAAK,QAAQ;EACjB,IAAML,IAAS,KAAK,cAAc,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC,GAC9DM,IAAO,SAAS,cAAc,KAAK;EAIzC,AAHA,EAAK,MAAM,UAAU,0BACrB,EAAO,YAAY,sEACnBN,EAAO,YAAYM,CAAI,GACvB,KAAK,SAASZ,EAAMY,GAAM,KAAK,MAAM,CAAC;CACxC;CAEA,uBAAuB;EAGrB,AAFA,KAAK,QAAQ,QAAQ,GACrB,KAAK,SAAS,KAAA,GACV,KAAK,eAAY,KAAK,WAAW,YAAY;CACnD;CAEA,2BAA2B;EACzB,KAAK,KAAK;CACZ;CAEA,QAA8B;EAC5B,OAAO;GACL,KAAK,KAAK,SAAS,KAAK,aAAa,KAAK;GAC1C,MAAM,KAAK,aAAa,MAAM,KAAK,KAAA;GACnC,SAAS,KAAK,aAAa,SAAS,MAAM;GAC1C,YAAY,KAAK,aAAa,YAAY,MAAM;GAChD,UAAU,KAAK,aAAa,UAAU,KAAK,KAAK,aAAa,UAAU,MAAM;GAC7E,QACE,KAAK,aAAa,QAAQ,KAAK,KAAK,aAAa,MAAM,IACnD;IAAE,WAAW,KAAK,aAAa,QAAQ;IAAI,MAAM,KAAK,aAAa,MAAM;IAAI,MAAM,EAAE,MAAM,KAAK,aAAa,MAAM,KAAK,QAAQ;GAAE,IAClI,KAAA;GACN,SAAS,MAAW,KAAK,cAAc,IAAI,YAAY,QAAQ,EAAE,QAAQ;IAAE,MAAMC,EAAO;IAAM,MAAMA,EAAO;GAAK,EAAE,CAAC,CAAC;GACpH,UAAU,MAAU,KAAK,cAAc,IAAI,YAAY,SAAS,EAAE,QAAQC,EAAM,CAAC,CAAC;EACpF;CACF;CAEA,OAAe;EACb,KAAK,QAAQ,OAAO,KAAK,MAAM,CAAC;CAClC;AACF;AAEA,SAAgBC,EAAc,IAAM,iBAAiB;CACnD,AAAI,OAAO,iBAAmB,OAAe,CAAC,eAAe,IAAIC,CAAG,KAAG,eAAe,OAAOA,GAAKN,CAAmB;AACvH;AAEAK,EAAc"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+
2
+ import { n as e, t } from "./default-worker-B5CGBnic.js";
3
+ import { a as n, c as r, d as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "./DocViewer-Cv4LaMB_.js";
4
+ import { i as p, n as m, r as h, s as g, t as _ } from "./collab-BzN1ZI-z.js";
5
+ export { s as CollabBar, m as CollabHub, g as CollabSession, d as DocViewer, t as DocumentClient, i as DocxView, h as MemoryTransport, l as PeerOverlay, u as PptxView, r as SlideView, p as WebSocketTransport, n as XlsxView, o as injectStyles, e as setDefaultWorker, _ as startCollab, f as stylesText, a as useCollab, c as useDocument };