wendang-react 0.5.5 → 0.6.2
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/NOTICE.md +47 -0
- package/README.md +48 -0
- package/dist/bindings/yjs.js +1 -1
- package/dist/chunks/{AnchoredPanel-D3nte06T.js → AnchoredPanel-CSXrveAT.js} +1 -1
- package/dist/chunks/DocumentExportMenu-DgDXDChd.js +75 -0
- package/dist/chunks/{MindMapCanvas-VWrxTy5Q.js → MindMapCanvas-I5M1SIyX.js} +29 -9
- package/dist/chunks/{MindMapViewer-DqKu_Kuz.js → MindMapViewer-Nu3nEVHQ.js} +3 -3
- package/dist/chunks/{SpreadsheetViewer-DN_QQGud.js → SpreadsheetViewer-CLDlnWyM.js} +8 -2
- package/dist/chunks/{comment-hint-DN7LKJAn.js → comment-hint-Coq1laiR.js} +2 -2
- package/dist/chunks/{extensions-B-CVVQhp.js → extensions-DMQedgOl.js} +3 -3
- package/dist/chunks/{index-Ii536CFG.js → index-CqaMYb3A.js} +3 -3
- package/dist/chunks/{mind-topic-text-BBNTbFSe.js → mind-topic-text-DYQR2Dzf.js} +1 -1
- package/dist/document/viewer.js +6 -4
- package/dist/document.js +7 -5
- package/dist/export/json.js +5 -0
- package/dist/export/markdown.js +2 -0
- package/dist/export/mindmap.js +2 -0
- package/dist/export/pdf.js +6 -0
- package/dist/export/word.js +2 -0
- package/dist/export.js +2 -0
- package/dist/mindmap/viewer.js +1 -1
- package/dist/mindmap.js +1 -1
- package/dist/spreadsheet/viewer.js +1 -1
- package/dist/styles/callout.css +5 -5
- package/dist/styles/content-style.css +3 -3
- package/dist/styles/content-tokens.css +29 -0
- package/dist/styles/mind-map-canvas.css +1 -1
- package/dist/styles/mind-map-topic.css +1 -1
- package/dist/styles/tokens.css +5 -16
- package/dist/styles.css +43 -26
- package/dist/types/document/DocumentExportMenu.d.ts +7 -0
- package/dist/types/document/viewer.d.ts +2 -0
- package/dist/types/document.d.ts +2 -0
- package/dist/types/export/json.d.ts +1 -0
- package/dist/types/export/markdown.d.ts +1 -0
- package/dist/types/export/mindmap.d.ts +1 -0
- package/dist/types/export/pdf.d.ts +2 -0
- package/dist/types/export/word.d.ts +1 -0
- package/dist/types/export.d.ts +1 -0
- package/dist/types/host-types.d.ts +2 -0
- package/dist/types/spreadsheet/SpreadsheetViewer.d.ts +1 -1
- package/package.json +28 -3
- package/third-party-notices/@mathjax__src@4.1.3-LICENSE.txt +202 -0
- package/third-party-notices/@noble__ciphers@1.3.0-LICENSE.txt +22 -0
- package/third-party-notices/@noble__hashes@1.8.0-LICENSE.txt +21 -0
- package/third-party-notices/@pdf-lib__standard-fonts@1.0.0-LICENSE.md.txt +21 -0
- package/third-party-notices/@pdf-lib__upng@1.0.1-LICENSE.txt +21 -0
- package/third-party-notices/@swc__helpers@0.5.23-LICENSE.txt +201 -0
- package/third-party-notices/@xmldom__xmldom@0.9.12-LICENSE.txt +8 -0
- package/third-party-notices/balanced-match@4.0.4-LICENSE.md.txt +23 -0
- package/third-party-notices/base64-js@0.0.8-LICENSE.MIT.txt +21 -0
- package/third-party-notices/brace-expansion@5.0.12-LICENSE.txt +23 -0
- package/third-party-notices/clone@2.1.2-LICENSE.txt +18 -0
- package/third-party-notices/commander@14.0.3-LICENSE.txt +22 -0
- package/third-party-notices/docx@9.15.0-LICENSE.txt +21 -0
- package/third-party-notices/fast-deep-equal@3.1.3-LICENSE.txt +21 -0
- package/third-party-notices/fflate@0.8.3-LICENSE.txt +21 -0
- package/third-party-notices/glob@13.0.6-LICENSE.md.txt +63 -0
- package/third-party-notices/linebreak@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/lru-cache@11.5.3-LICENSE.md.txt +55 -0
- package/third-party-notices/mhchemparser@4.2.1-LICENSE.txt.txt +201 -0
- package/third-party-notices/minimatch@10.2.6-LICENSE.md.txt +55 -0
- package/third-party-notices/minipass@7.1.3-LICENSE.md.txt +55 -0
- package/third-party-notices/mj-context-menu@1.0.0-LICENSE.txt +201 -0
- package/third-party-notices/nanoid@6.0.2-LICENSE.txt +20 -0
- package/third-party-notices/package-json-from-dist@1.0.1-LICENSE.md.txt +63 -0
- package/third-party-notices/pako@0.2.9-LICENSE.txt +21 -0
- package/third-party-notices/path-scurry@2.0.2-LICENSE.md.txt +55 -0
- package/third-party-notices/pdf-lib@1.17.1-LICENSE.md.txt +21 -0
- package/third-party-notices/pdfkit@0.20.2-LICENSE.txt +8 -0
- package/third-party-notices/pdfmake@0.3.13-LICENSE.txt +21 -0
- package/third-party-notices/png-js@2.0.0-LICENSE.txt +21 -0
- package/third-party-notices/restructure@3.0.2-LICENSE.txt +21 -0
- package/third-party-notices/rimraf@6.1.3-LICENSE.md.txt +55 -0
- package/third-party-notices/sax@1.6.1-LICENSE.md.txt +55 -0
- package/third-party-notices/speech-rule-engine@5.0.0-rc.4-LICENSE.txt +177 -0
- package/third-party-notices/tiny-inflate@1.0.3-LICENSE.txt +21 -0
- package/third-party-notices/tslib@1.14.1-LICENSE.txt.txt +12 -0
- package/third-party-notices/unicode-properties@1.4.1-LICENSE.txt +8 -0
- package/third-party-notices/unicode-trie@2.0.0-LICENSE.txt +8 -0
- package/third-party-notices/wendang-export@0.6.0-LICENSE.txt +21 -0
- package/third-party-notices/wendang-export@0.6.0-NOTICE.md.txt +51 -0
- package/third-party-notices/wendang-export@0.6.1-LICENSE.txt +21 -0
- package/third-party-notices/wendang-export@0.6.1-NOTICE.md.txt +70 -0
- package/third-party-notices/wendang-export@0.6.2-LICENSE.txt +21 -0
- package/third-party-notices/wendang-export@0.6.2-NOTICE.md.txt +70 -0
- package/third-party-notices/wicked-good-xpath@1.3.0-LICENSE.txt +23 -0
- package/third-party-notices/xmldoc@2.0.3-LICENSE.txt +23 -0
package/NOTICE.md
CHANGED
|
@@ -15,6 +15,14 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
15
15
|
| @grpc/grpc-js | 1.14.6 | Apache-2.0 | LICENSE |
|
|
16
16
|
| @grpc/proto-loader | 0.8.1 | Apache-2.0 | LICENSE |
|
|
17
17
|
| @js-sdsl/ordered-map | 4.4.2 | MIT | LICENSE |
|
|
18
|
+
| @mathjax/mathjax-newcm-font | 4.1.3 | Apache-2.0 | Inspect upstream package |
|
|
19
|
+
| @mathjax/mathjax-tex-font | 4.1.3 | Apache-2.0 | Inspect upstream package |
|
|
20
|
+
| @mathjax/src | 4.1.3 | Apache-2.0 | LICENSE |
|
|
21
|
+
| @noble/ciphers | 1.3.0 | MIT | LICENSE |
|
|
22
|
+
| @noble/hashes | 1.8.0 | MIT | LICENSE |
|
|
23
|
+
| @pdf-lib/fontkit | 1.1.1 | MIT | Inspect upstream package |
|
|
24
|
+
| @pdf-lib/standard-fonts | 1.0.0 | MIT | LICENSE.md |
|
|
25
|
+
| @pdf-lib/upng | 1.0.1 | MIT | LICENSE |
|
|
18
26
|
| @protobufjs/aspromise | 1.1.2 | BSD-3-Clause | LICENSE |
|
|
19
27
|
| @protobufjs/base64 | 1.1.2 | BSD-3-Clause | LICENSE |
|
|
20
28
|
| @protobufjs/codegen | 2.0.5 | BSD-3-Clause | LICENSE |
|
|
@@ -54,6 +62,7 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
54
62
|
| @radix-ui/react-use-rect | 1.1.4 | MIT | LICENSE |
|
|
55
63
|
| @radix-ui/react-use-size | 1.1.5 | MIT | LICENSE |
|
|
56
64
|
| @radix-ui/rect | 1.1.3 | MIT | LICENSE |
|
|
65
|
+
| @swc/helpers | 0.5.23 | Apache-2.0 | LICENSE |
|
|
57
66
|
| @tiptap/core | 3.31.4 | MIT | LICENSE.md |
|
|
58
67
|
| @tiptap/extension-blockquote | 3.31.4 | MIT | LICENSE.md |
|
|
59
68
|
| @tiptap/extension-bold | 3.31.4 | MIT | LICENSE.md |
|
|
@@ -124,6 +133,7 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
124
133
|
| @univerjs/themes | 1.1.0 | Apache-2.0 | LICENSE |
|
|
125
134
|
| @univerjs/ui | 1.1.0 | Apache-2.0 | LICENSE |
|
|
126
135
|
| @wendellhu/redi | 1.1.3 | MIT | LICENSE |
|
|
136
|
+
| @xmldom/xmldom | 0.9.12 | MIT | LICENSE |
|
|
127
137
|
| ansi-regex | 5.0.1 | MIT | license |
|
|
128
138
|
| ansi-styles | 4.3.0 | MIT | license |
|
|
129
139
|
| archiver | 5.3.2 | MIT | LICENSE |
|
|
@@ -137,6 +147,8 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
137
147
|
| async-lock | 1.4.1 | MIT | LICENSE |
|
|
138
148
|
| available-typed-arrays | 1.0.7 | MIT | LICENSE |
|
|
139
149
|
| balanced-match | 1.0.2 | MIT | LICENSE.md |
|
|
150
|
+
| balanced-match | 4.0.4 | MIT | LICENSE.md |
|
|
151
|
+
| base64-js | 0.0.8 | MIT | LICENSE.MIT |
|
|
140
152
|
| base64-js | 1.5.1 | MIT | LICENSE |
|
|
141
153
|
| big-integer | 1.6.52 | Unlicense | LICENSE |
|
|
142
154
|
| binary | 0.3.0 | MIT | Inspect upstream package |
|
|
@@ -144,6 +156,8 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
144
156
|
| bluebird | 3.4.7 | MIT | LICENSE |
|
|
145
157
|
| brace-expansion | 1.1.21 | MIT | LICENSE |
|
|
146
158
|
| brace-expansion | 2.1.7 | MIT | LICENSE |
|
|
159
|
+
| brace-expansion | 5.0.12 | MIT | LICENSE |
|
|
160
|
+
| brotli | 1.3.3 | MIT | Inspect upstream package |
|
|
147
161
|
| buffer | 5.7.1 | MIT | LICENSE |
|
|
148
162
|
| buffer-crc32 | 0.2.13 | MIT | LICENSE |
|
|
149
163
|
| buffer-indexof-polyfill | 1.0.2 | MIT | LICENSE |
|
|
@@ -154,11 +168,13 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
154
168
|
| chainsaw | 0.1.0 | MIT/X11 | Inspect upstream package |
|
|
155
169
|
| class-variance-authority | 0.7.1 | Apache-2.0 | LICENSE |
|
|
156
170
|
| cliui | 8.0.1 | ISC | LICENSE.txt |
|
|
171
|
+
| clone | 2.1.2 | MIT | LICENSE |
|
|
157
172
|
| clsx | 2.1.1 | MIT | license |
|
|
158
173
|
| cmdk | 1.1.1 | MIT | LICENSE.md |
|
|
159
174
|
| collapse-white-space | 2.1.0 | MIT | license |
|
|
160
175
|
| color-convert | 2.0.1 | MIT | LICENSE |
|
|
161
176
|
| color-name | 1.1.4 | MIT | LICENSE |
|
|
177
|
+
| commander | 14.0.3 | MIT | LICENSE |
|
|
162
178
|
| commander | 15.0.0 | MIT | LICENSE |
|
|
163
179
|
| compress-commons | 4.1.2 | MIT | LICENSE |
|
|
164
180
|
| concat-map | 0.0.1 | MIT | LICENSE |
|
|
@@ -176,6 +192,8 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
176
192
|
| dequal | 2.0.3 | MIT | license |
|
|
177
193
|
| detect-node-es | 1.1.0 | MIT | LICENSE |
|
|
178
194
|
| devlop | 1.1.0 | MIT | license |
|
|
195
|
+
| dfa | 1.2.0 | MIT | Inspect upstream package |
|
|
196
|
+
| docx | 9.15.0 | MIT | LICENSE |
|
|
179
197
|
| dunder-proto | 1.0.1 | MIT | LICENSE |
|
|
180
198
|
| duplexer2 | 0.1.4 | BSD-3-Clause | LICENSE.md |
|
|
181
199
|
| emoji-regex | 8.0.0 | MIT | Inspect upstream package |
|
|
@@ -190,7 +208,10 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
190
208
|
| escalade | 3.2.0 | MIT | license |
|
|
191
209
|
| exceljs | 4.4.0 | MIT | LICENSE |
|
|
192
210
|
| fast-csv | 4.3.6 | MIT | LICENSE |
|
|
211
|
+
| fast-deep-equal | 3.1.3 | MIT | LICENSE |
|
|
193
212
|
| fast-diff | 1.3.0 | Apache-2.0 | LICENSE |
|
|
213
|
+
| fflate | 0.8.3 | MIT | LICENSE |
|
|
214
|
+
| fontkit | 2.0.4 | MIT | Inspect upstream package |
|
|
194
215
|
| for-each | 0.3.5 | MIT | LICENSE |
|
|
195
216
|
| franc-min | 6.2.0 | MIT | Inspect upstream package |
|
|
196
217
|
| fs-constants | 1.0.0 | MIT | LICENSE |
|
|
@@ -205,6 +226,7 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
205
226
|
| get-nonce | 1.0.1 | MIT | LICENSE |
|
|
206
227
|
| get-proto | 1.0.1 | MIT | LICENSE |
|
|
207
228
|
| get-symbol-description | 1.1.0 | MIT | LICENSE |
|
|
229
|
+
| glob | 13.0.6 | BlueOak-1.0.0 | LICENSE.md |
|
|
208
230
|
| glob | 7.2.3 | ISC | LICENSE |
|
|
209
231
|
| globalthis | 1.0.4 | MIT | LICENSE |
|
|
210
232
|
| gopd | 1.2.0 | MIT | LICENSE |
|
|
@@ -253,6 +275,7 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
253
275
|
| lazystream | 1.0.1 | MIT | LICENSE |
|
|
254
276
|
| lib0 | 0.2.119 | MIT | LICENSE |
|
|
255
277
|
| lie | 3.3.0 | MIT | license.md |
|
|
278
|
+
| linebreak | 1.1.0 | MIT | LICENSE |
|
|
256
279
|
| linkifyjs | 4.3.3 | MIT | LICENSE |
|
|
257
280
|
| listenercount | 1.0.1 | ISC | LICENSE.md |
|
|
258
281
|
| lodash-es | 4.18.1 | MIT | LICENSE |
|
|
@@ -272,12 +295,18 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
272
295
|
| lodash.uniq | 4.5.0 | MIT | LICENSE |
|
|
273
296
|
| long | 5.3.2 | Apache-2.0 | LICENSE |
|
|
274
297
|
| lowlight | 3.3.0 | MIT | license |
|
|
298
|
+
| lru-cache | 11.5.3 | BlueOak-1.0.0 | LICENSE.md |
|
|
275
299
|
| math-intrinsics | 1.1.0 | MIT | LICENSE |
|
|
300
|
+
| mhchemparser | 4.2.1 | Apache-2.0 | LICENSE.txt |
|
|
301
|
+
| minimatch | 10.2.6 | BlueOak-1.0.0 | LICENSE.md |
|
|
276
302
|
| minimatch | 3.1.5 | ISC | LICENSE |
|
|
277
303
|
| minimatch | 5.1.9 | ISC | LICENSE |
|
|
278
304
|
| minimist | 1.2.8 | MIT | LICENSE |
|
|
305
|
+
| minipass | 7.1.3 | BlueOak-1.0.0 | LICENSE.md |
|
|
306
|
+
| mj-context-menu | 1.0.0 | Apache-2.0 | LICENSE |
|
|
279
307
|
| mkdirp | 0.5.6 | MIT | LICENSE |
|
|
280
308
|
| n-gram | 2.0.2 | MIT | license |
|
|
309
|
+
| nanoid | 6.0.2 | MIT | LICENSE |
|
|
281
310
|
| normalize-path | 3.0.0 | MIT | LICENSE |
|
|
282
311
|
| numfmt | 4.0.1 | MIT | LICENSE |
|
|
283
312
|
| object-inspect | 1.13.4 | MIT | LICENSE |
|
|
@@ -288,8 +317,15 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
288
317
|
| ot-json1 | 1.0.2 | ISC | Inspect upstream package |
|
|
289
318
|
| ot-text-unicode | 4.0.0 | ISC | Inspect upstream package |
|
|
290
319
|
| own-keys | 1.0.2 | MIT | LICENSE |
|
|
320
|
+
| package-json-from-dist | 1.0.1 | BlueOak-1.0.0 | LICENSE.md |
|
|
321
|
+
| pako | 0.2.9 | MIT | LICENSE |
|
|
291
322
|
| pako | 1.0.11 | (MIT AND Zlib) | LICENSE |
|
|
292
323
|
| path-is-absolute | 1.0.1 | MIT | license |
|
|
324
|
+
| path-scurry | 2.0.2 | BlueOak-1.0.0 | LICENSE.md |
|
|
325
|
+
| pdf-lib | 1.17.1 | MIT | LICENSE.md |
|
|
326
|
+
| pdfkit | 0.20.2 | MIT | LICENSE |
|
|
327
|
+
| pdfmake | 0.3.13 | MIT | LICENSE |
|
|
328
|
+
| png-js | 2.0.0 | See package license | LICENSE |
|
|
293
329
|
| possible-typed-array-names | 1.1.0 | MIT | LICENSE |
|
|
294
330
|
| process-nextick-args | 2.0.1 | MIT | license.md |
|
|
295
331
|
| prosemirror-changeset | 2.4.4 | MIT | LICENSE |
|
|
@@ -319,7 +355,9 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
319
355
|
| reflect.getprototypeof | 1.0.10 | MIT | LICENSE |
|
|
320
356
|
| regexp.prototype.flags | 1.5.4 | MIT | LICENSE |
|
|
321
357
|
| require-directory | 2.1.1 | MIT | LICENSE |
|
|
358
|
+
| restructure | 3.0.2 | MIT | LICENSE |
|
|
322
359
|
| rimraf | 2.7.1 | ISC | LICENSE |
|
|
360
|
+
| rimraf | 6.1.3 | BlueOak-1.0.0 | LICENSE.md |
|
|
323
361
|
| rope-sequence | 1.3.4 | MIT | LICENSE |
|
|
324
362
|
| rxjs | 7.8.2 | Apache-2.0 | LICENSE.txt |
|
|
325
363
|
| safe-array-concat | 1.1.4 | MIT | LICENSE |
|
|
@@ -327,6 +365,7 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
327
365
|
| safe-buffer | 5.2.1 | MIT | LICENSE |
|
|
328
366
|
| safe-push-apply | 1.0.0 | MIT | LICENSE |
|
|
329
367
|
| safe-regex-test | 1.1.0 | MIT | LICENSE |
|
|
368
|
+
| sax | 1.6.1 | BlueOak-1.0.0 | LICENSE.md |
|
|
330
369
|
| saxes | 5.0.1 | ISC | Inspect upstream package |
|
|
331
370
|
| scheduler | 0.28.0 | MIT | LICENSE |
|
|
332
371
|
| set-function-length | 1.2.2 | MIT | LICENSE |
|
|
@@ -338,6 +377,7 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
338
377
|
| side-channel-map | 1.0.1 | MIT | LICENSE |
|
|
339
378
|
| side-channel-weakmap | 1.0.2 | MIT | LICENSE |
|
|
340
379
|
| sonner | 2.0.8 | MIT | LICENSE.md |
|
|
380
|
+
| speech-rule-engine | 5.0.0-rc.4 | Apache-2.0 | LICENSE |
|
|
341
381
|
| stop-iteration-iterator | 1.1.0 | MIT | LICENSE |
|
|
342
382
|
| string-width | 4.2.3 | MIT | license |
|
|
343
383
|
| string.prototype.trim | 1.2.11 | MIT | LICENSE |
|
|
@@ -347,10 +387,12 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
347
387
|
| string_decoder | 1.3.0 | MIT | LICENSE |
|
|
348
388
|
| strip-ansi | 6.0.1 | MIT | license |
|
|
349
389
|
| tar-stream | 2.2.0 | MIT | LICENSE |
|
|
390
|
+
| tiny-inflate | 1.0.3 | MIT | LICENSE |
|
|
350
391
|
| tiny-pinyin | 1.3.2 | MIT | LICENSE |
|
|
351
392
|
| tmp | 0.2.7 | MIT | LICENSE |
|
|
352
393
|
| traverse | 0.3.10 | MIT | LICENSE |
|
|
353
394
|
| trigram-utils | 2.0.1 | MIT | license |
|
|
395
|
+
| tslib | 1.14.1 | 0BSD | LICENSE.txt |
|
|
354
396
|
| tslib | 2.8.1 | 0BSD | LICENSE.txt |
|
|
355
397
|
| typed-array-buffer | 1.0.3 | MIT | LICENSE |
|
|
356
398
|
| typed-array-byte-length | 1.0.3 | MIT | LICENSE |
|
|
@@ -359,6 +401,8 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
359
401
|
| typedarray.prototype.slice | 1.0.6 | MIT | LICENSE |
|
|
360
402
|
| unbox-primitive | 1.1.0 | MIT | LICENSE |
|
|
361
403
|
| undici-types | 8.9.0 | MIT | LICENSE |
|
|
404
|
+
| unicode-properties | 1.4.1 | MIT | LICENSE |
|
|
405
|
+
| unicode-trie | 2.0.0 | MIT | LICENSE |
|
|
362
406
|
| unicount | 1.1.0 | ISC | Inspect upstream package |
|
|
363
407
|
| unzipper | 0.10.14 | MIT | LICENSE |
|
|
364
408
|
| use-callback-ref | 1.3.3 | MIT | LICENSE |
|
|
@@ -366,13 +410,16 @@ Wendang is licensed under the MIT License; see LICENSE. Third-party components r
|
|
|
366
410
|
| util-deprecate | 1.0.2 | MIT | LICENSE |
|
|
367
411
|
| uuid | 8.3.2 | MIT | LICENSE.md |
|
|
368
412
|
| w3c-keyname | 2.2.8 | MIT | LICENSE |
|
|
413
|
+
| wendang-export | 0.6.2 | MIT | LICENSE, NOTICE.md |
|
|
369
414
|
| which-boxed-primitive | 1.1.1 | MIT | LICENSE |
|
|
370
415
|
| which-builtin-type | 1.2.1 | MIT | LICENSE |
|
|
371
416
|
| which-collection | 1.0.2 | MIT | LICENSE |
|
|
372
417
|
| which-typed-array | 1.1.24 | MIT | LICENSE |
|
|
418
|
+
| wicked-good-xpath | 1.3.0 | MIT | LICENSE |
|
|
373
419
|
| wrap-ansi | 7.0.0 | MIT | license |
|
|
374
420
|
| wrappy | 1.0.2 | ISC | LICENSE |
|
|
375
421
|
| xmlchars | 2.2.0 | MIT | LICENSE |
|
|
422
|
+
| xmldoc | 2.0.3 | MIT | LICENSE |
|
|
376
423
|
| y-protocols | 1.0.7 | MIT | LICENSE |
|
|
377
424
|
| y18n | 5.0.8 | ISC | LICENSE |
|
|
378
425
|
| yargs | 17.7.3 | MIT | LICENSE |
|
package/README.md
CHANGED
|
@@ -15,6 +15,15 @@ npm install wendang wendang-react yjs y-protocols
|
|
|
15
15
|
项目需已有 `react` 和 `react-dom`。使用 TypeScript 时安装对应的 `@types/react` 和 `@types/react-dom`。
|
|
16
16
|
构建环境使用 Node.js **20.19+**,页面在现代浏览器中运行。应用入口引入一次 `wendang-react/styles.css`。
|
|
17
17
|
|
|
18
|
+
### 版本兼容
|
|
19
|
+
|
|
20
|
+
版本号采用 `主版本.次版本.修订版本`。`wendang-react` 与 `wendang` 的主版本号、
|
|
21
|
+
次版本号应保持一致;升级这两位版本时,请同步升级应用中使用的相关包。
|
|
22
|
+
修订版本用于兼容性修复,修订号可以不同,可按需单独升级。
|
|
23
|
+
|
|
24
|
+
例如,`wendang-react@0.5.6` 可搭配 `wendang@0.5.5`。
|
|
25
|
+
核心包的具体版本要求以 `wendang-react` 声明的依赖为准。
|
|
26
|
+
|
|
18
27
|
## 先运行:编辑、预览和本地保存
|
|
19
28
|
|
|
20
29
|
把下面内容放入 `App.tsx`。不需要后端或额外 UI 组件库:可以输入文字、切换预览、保存到本机,刷新后恢复。
|
|
@@ -468,3 +477,42 @@ SSR / Next.js 中将交互编辑组件放入带 `'use client'` 的客户端组
|
|
|
468
477
|
联系我们请发邮件:[yjmf@ztes.com](mailto:yjmf@ztes.com)。问题反馈:[Gitee Issues](https://gitee.com/ztes/wendang/issues)。
|
|
469
478
|
|
|
470
479
|
采用随包附带的 [MIT 许可](LICENSE)。第三方声明见 `NOTICE.md` 与 `third-party-notices/`。
|
|
480
|
+
|
|
481
|
+
## 文件导出
|
|
482
|
+
|
|
483
|
+
本包已自动依赖 `wendang-export`。通过 `wendang-react/export` 获取文件名和附件工具;通过 `/export/markdown`、`/export/word`、`/export/pdf`、`/export/json`、`/export/mindmap` 按需导入转换器。根入口不加载 PDF/Word,引擎和字体在相应格式使用时加载。
|
|
484
|
+
|
|
485
|
+
从 `wendang-react/document/viewer`(或 `/document`)导入 `DocumentExportMenu`,放在 `ContentProvider` 内:
|
|
486
|
+
|
|
487
|
+
`<DocumentExportMenu allowExport resourceId="document-id" onError={handleError} />`(`handleError` 为宿主错误处理函数)。
|
|
488
|
+
|
|
489
|
+
菜单提供 PDF、Word(.docx)、Markdown、JSON。配置 `host.exports.request` 后,宿主收到 `{ kind: 'document', format, resourceId, signal }`,负责获取授权快照、生成和下载。未配置宿主或不允许导出时隐藏,生成期间锁定;资源、权限、宿主作用域变化或卸载时取消,请在下载前检查 `signal`。编辑态的 `prepareSnapshot()` 返回 `{ doc, schemaVersion }`;业务宿主自行决定导出草稿或发布版本。
|
|
490
|
+
|
|
491
|
+
`jsonFile(snapshot, { signal })` 从 `/export/json` 导入,保存标题、内容类型、协议版本及正文,只保留附件引用。Markdown 含附件时生成 ZIP。
|
|
492
|
+
|
|
493
|
+
```ts
|
|
494
|
+
import type { ExportSnapshot, ExportAssets } from 'wendang-react/export';
|
|
495
|
+
export async function createPdf(snapshot: ExportSnapshot, assets: ExportAssets) {
|
|
496
|
+
const { pdfFile, defaultPdfFontUrl, loadPdfFont } = await import('wendang-react/export/pdf');
|
|
497
|
+
const font = await loadPdfFont(defaultPdfFontUrl);
|
|
498
|
+
const file = await pdfFile(snapshot, assets, {
|
|
499
|
+
font,
|
|
500
|
+
resolvePageLink: id => `https://example.test/documents/${encodeURIComponent(id)}`,
|
|
501
|
+
});
|
|
502
|
+
return file; // { blob, name, warnings },宿主提示降级信息并下载 blob。
|
|
503
|
+
}
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
PDF 直接生成文件,正文可搜索、复制,支持中文、图片、合并表格和重复表头。块级与行内公式按需转为可缩放矢量,保留上下标、分式、根号和矩阵等排版;语法无效或不支持时保留 LaTeX 并告警。公式图形不提供可编辑文本层。分栏顺序展开,转换提示从 `warnings` 返回。`ContentHost.exports.request` 接管组件内的文件导出;配置后拒绝请求不回退导出当前模型,权限与版本由宿主决定。
|
|
507
|
+
|
|
508
|
+
### Vite 开发环境的字体资源
|
|
509
|
+
|
|
510
|
+
使用内置中文字体时,在 Vite 配置中保留字体资源模块的实际位置。它通过相对 `import.meta.url` 引用包内字体,不能被依赖预打包搬到 `.vite/deps`:
|
|
511
|
+
|
|
512
|
+
```ts
|
|
513
|
+
export default {
|
|
514
|
+
optimizeDeps: { exclude: ['wendang-export/font'] },
|
|
515
|
+
};
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
只排除字体地址模块,PDF 引擎仍可预打包。生产构建继续自动生成带散列的静态字体资源。`loadPdfFont` 会校验实际字体字节,拒绝 HTTP 200 的 HTML 回退响应。
|
package/dist/bindings/yjs.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useRef, useState, useLayoutEffect } from "react";
|
|
|
4
4
|
import { createPortal } from "react-dom";
|
|
5
5
|
import { a as useContentContext } from "./host-C-V688Rq.js";
|
|
6
6
|
import { p as placeAnchoredPopover } from "./popover-placement-D3xVYdkt.js";
|
|
7
|
-
import { u as useLayer, L as LayerProvider, p as placePanel } from "./index-
|
|
7
|
+
import { u as useLayer, L as LayerProvider, p as placePanel } from "./index-CqaMYb3A.js";
|
|
8
8
|
function AnchoredPanel({ anchor, onClose, align = "start", prefer = "below", gap = 8, label, role = "dialog", className = "", portal: portalOverride, children, onKeyDown }) {
|
|
9
9
|
const context = useContentContext();
|
|
10
10
|
const portal = typeof portalOverride === "function" ? portalOverride() : portalOverride !== void 0 ? portalOverride : context.portal;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useRef, useState, useEffect } from "react";
|
|
4
|
+
import { b as useContentHost } from "./host-C-V688Rq.js";
|
|
5
|
+
import { W as WSelect } from "./index-CqaMYb3A.js";
|
|
6
|
+
const options = [
|
|
7
|
+
{ value: "pdf", label: "PDF (.pdf)" },
|
|
8
|
+
{ value: "docx", label: "Word (.docx)" },
|
|
9
|
+
{ value: "markdown", label: "Markdown (.md)" },
|
|
10
|
+
{ value: "json", label: "JSON (.json)" }
|
|
11
|
+
];
|
|
12
|
+
function DocumentExportMenu(props) {
|
|
13
|
+
const host = useContentHost(), controller = useRef(void 0);
|
|
14
|
+
const [busy, setBusy] = useState(false), [error, setError] = useState("");
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
setBusy(false);
|
|
17
|
+
setError("");
|
|
18
|
+
return () => {
|
|
19
|
+
var _a;
|
|
20
|
+
(_a = controller.current) == null ? void 0 : _a.abort();
|
|
21
|
+
controller.current = void 0;
|
|
22
|
+
};
|
|
23
|
+
}, [props.resourceId, props.allowExport, host.scope, host.exports]);
|
|
24
|
+
async function execute(value) {
|
|
25
|
+
var _a;
|
|
26
|
+
if (controller.current || props.disabled || !props.allowExport || !host.exports) return;
|
|
27
|
+
if (!options.some((option) => option.value === value)) return;
|
|
28
|
+
const task = new AbortController();
|
|
29
|
+
controller.current = task;
|
|
30
|
+
setBusy(true);
|
|
31
|
+
setError("");
|
|
32
|
+
try {
|
|
33
|
+
await host.exports.request({ kind: "document", format: value, resourceId: props.resourceId, signal: task.signal });
|
|
34
|
+
} catch (cause) {
|
|
35
|
+
if (!task.signal.aborted) {
|
|
36
|
+
const failure = cause instanceof Error ? cause : new Error(String(cause));
|
|
37
|
+
setError(failure.message);
|
|
38
|
+
(_a = props.onError) == null ? void 0 : _a.call(props, failure);
|
|
39
|
+
}
|
|
40
|
+
} finally {
|
|
41
|
+
if (controller.current === task) {
|
|
42
|
+
controller.current = void 0;
|
|
43
|
+
setBusy(false);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (!props.allowExport || !host.exports) return null;
|
|
48
|
+
return /* @__PURE__ */ jsxs(
|
|
49
|
+
"div",
|
|
50
|
+
{
|
|
51
|
+
className: "document-export-menu",
|
|
52
|
+
"aria-busy": busy || void 0,
|
|
53
|
+
style: { display: "flex", alignItems: "center", flexWrap: "wrap", gap: 8, fontSize: 12 },
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ jsx(
|
|
56
|
+
WSelect,
|
|
57
|
+
{
|
|
58
|
+
value: "",
|
|
59
|
+
label: busy ? "正在导出…" : "导出",
|
|
60
|
+
ariaLabel: "导出文档",
|
|
61
|
+
width: 112,
|
|
62
|
+
options,
|
|
63
|
+
disabled: props.disabled || busy,
|
|
64
|
+
onChange: (value) => void execute(value)
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
busy && /* @__PURE__ */ jsx("span", { role: "status", style: { color: "var(--color-text-muted)" }, children: "正在生成文件…" }),
|
|
68
|
+
error && /* @__PURE__ */ jsx("span", { role: "alert", style: { color: "var(--color-danger, #cf3d48)", overflowWrap: "anywhere" }, children: error })
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
DocumentExportMenu as D
|
|
75
|
+
};
|
|
@@ -11,9 +11,9 @@ import { m as mindCanvasShortcut, s as selectMindTopic } from "./mind-map-input-
|
|
|
11
11
|
import { b as useContentHost, a as useContentContext } from "./host-C-V688Rq.js";
|
|
12
12
|
import { createPortal } from "react-dom";
|
|
13
13
|
import { u as useLatest } from "./hooks-C53Dp0pr.js";
|
|
14
|
-
import {
|
|
15
|
-
import { T as TopicLabel, A as AttachmentImage } from "./mind-topic-text-
|
|
16
|
-
import { A as AnchoredPanel } from "./AnchoredPanel-
|
|
14
|
+
import { a as WButton, c as WDialog, W as WSelect, d as WAlert } from "./index-CqaMYb3A.js";
|
|
15
|
+
import { T as TopicLabel, A as AttachmentImage } from "./mind-topic-text-DYQR2Dzf.js";
|
|
16
|
+
import { A as AnchoredPanel } from "./AnchoredPanel-CSXrveAT.js";
|
|
17
17
|
function mindMapDrop(model, drawing, id, point, allowSide = true) {
|
|
18
18
|
const source = drawing.nodes.find((t) => t.id === id), root = drawing.nodes.find((t) => t.id === model.rootId);
|
|
19
19
|
if (!source || !root || id === model.rootId) return null;
|
|
@@ -1241,7 +1241,7 @@ ${JSON.stringify(copied.current)}`).catch(() => {
|
|
|
1241
1241
|
setDragPreview(null);
|
|
1242
1242
|
}
|
|
1243
1243
|
function pointerDown(event, id) {
|
|
1244
|
-
var _a2, _b2
|
|
1244
|
+
var _a2, _b2;
|
|
1245
1245
|
if (!((_a2 = stage.current) == null ? void 0 : _a2.contains(event.target))) return;
|
|
1246
1246
|
if (event.target.closest("button,input,textarea,a")) return;
|
|
1247
1247
|
setFollowing(null);
|
|
@@ -1258,8 +1258,8 @@ ${JSON.stringify(copied.current)}`).catch(() => {
|
|
|
1258
1258
|
gesture.current = { ...base, kind: "box", additive: event.shiftKey || event.metaKey || event.ctrlKey };
|
|
1259
1259
|
if (!gesture.current.additive) setSelected(/* @__PURE__ */ new Set());
|
|
1260
1260
|
} else return;
|
|
1261
|
-
|
|
1262
|
-
(
|
|
1261
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
1262
|
+
(_b2 = stage.current) == null ? void 0 : _b2.focus();
|
|
1263
1263
|
event.preventDefault();
|
|
1264
1264
|
}
|
|
1265
1265
|
function pointerMove(event) {
|
|
@@ -1269,8 +1269,10 @@ ${JSON.stringify(copied.current)}`).catch(() => {
|
|
|
1269
1269
|
cancelGesture();
|
|
1270
1270
|
return;
|
|
1271
1271
|
}
|
|
1272
|
-
if (g.kind === "pan")
|
|
1273
|
-
|
|
1272
|
+
if (g.kind === "pan") {
|
|
1273
|
+
const dx = event.clientX - g.lastX, dy = event.clientY - g.lastY;
|
|
1274
|
+
setPan((previous) => ({ x: previous.x + dx, y: previous.y + dy }));
|
|
1275
|
+
} else if (g.kind === "box") {
|
|
1274
1276
|
const from = point(g.x, g.y), to = point(event.clientX, event.clientY);
|
|
1275
1277
|
g.box = { x: Math.min(from.x, to.x), y: Math.min(from.y, to.y), w: Math.abs(to.x - from.x), h: Math.abs(to.y - from.y) };
|
|
1276
1278
|
setBox(g.box);
|
|
@@ -1304,6 +1306,24 @@ ${JSON.stringify(copied.current)}`).catch(() => {
|
|
|
1304
1306
|
async function exportAs(kind) {
|
|
1305
1307
|
var _a2, _b2;
|
|
1306
1308
|
if (!canExport || exportRunning.current) return;
|
|
1309
|
+
if (host.exports && kind !== "copy" && kind !== "copy-image") {
|
|
1310
|
+
exportRunning.current = true;
|
|
1311
|
+
setBusy(true);
|
|
1312
|
+
try {
|
|
1313
|
+
await host.exports.request({
|
|
1314
|
+
kind: "mindmap",
|
|
1315
|
+
format: kind === "md" ? "markdown" : kind === "print" ? "pdf" : kind,
|
|
1316
|
+
resourceId: props.pageId ?? (c == null ? void 0 : c.context.pageId),
|
|
1317
|
+
blockId: model.id
|
|
1318
|
+
});
|
|
1319
|
+
} catch (error) {
|
|
1320
|
+
setNotice(error instanceof Error ? error.message : "导出失败");
|
|
1321
|
+
} finally {
|
|
1322
|
+
exportRunning.current = false;
|
|
1323
|
+
setBusy(false);
|
|
1324
|
+
}
|
|
1325
|
+
return;
|
|
1326
|
+
}
|
|
1307
1327
|
exportRunning.current = true;
|
|
1308
1328
|
setBusy(true);
|
|
1309
1329
|
const target = exportBranch ? branchModel(model, active) : model;
|
|
@@ -1453,7 +1473,7 @@ ${JSON.stringify(copied.current)}`).catch(() => {
|
|
|
1453
1473
|
] }),
|
|
1454
1474
|
canExport && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1455
1475
|
/* @__PURE__ */ jsx(WButton, { variant: "text", onClick: () => void exportAs("copy-image"), children: "复制图片" }),
|
|
1456
|
-
/* @__PURE__ */ jsx(WButton, { variant: "text", onClick: () => void exportAs("print"), children: "打印 / PDF" })
|
|
1476
|
+
/* @__PURE__ */ jsx(WButton, { variant: "text", onClick: () => void exportAs("print"), children: host.exports ? "导出 PDF" : "打印 / PDF" })
|
|
1457
1477
|
] })
|
|
1458
1478
|
] }) }),
|
|
1459
1479
|
peers.length > 0 && /* @__PURE__ */ jsx(
|
|
@@ -4,9 +4,9 @@ import { useState, useEffect, Suspense, useRef, lazy } from "react";
|
|
|
4
4
|
import { readMindMap, mindMapOutline, MIND_MAP_PALETTE, layoutMindMap, mindRelationPaths } from "wendang/mindmap";
|
|
5
5
|
import { MIND_TOPIC_FONT, mindTopicLineHeight, readableTextColor } from "wendang/shared";
|
|
6
6
|
import { b as useContentHost } from "./host-C-V688Rq.js";
|
|
7
|
-
import {
|
|
8
|
-
import { T as TopicLabel, A as AttachmentImage } from "./mind-topic-text-
|
|
9
|
-
const Canvas = lazy(() => import("./MindMapCanvas-
|
|
7
|
+
import { a as WButton } from "./index-CqaMYb3A.js";
|
|
8
|
+
import { T as TopicLabel, A as AttachmentImage } from "./mind-topic-text-DYQR2Dzf.js";
|
|
9
|
+
const Canvas = lazy(() => import("./MindMapCanvas-I5M1SIyX.js").then((module) => ({ default: module.MindMapCanvas })));
|
|
10
10
|
function MindMapViewer({ value, modelValue, height, fetchAttachment }) {
|
|
11
11
|
var _a;
|
|
12
12
|
const model = value ?? modelValue;
|
|
@@ -3,8 +3,10 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useState, useEffect, useMemo } from "react";
|
|
4
4
|
import { validateWorkbook } from "wendang/spreadsheet";
|
|
5
5
|
import { p as previewAxes, a as previewMerges, c as columnName, b as cellStyleData, d as cellDisplay, s as safeColor } from "./worksheet-preview-DsDVWxIM.js";
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import { a as WButton } from "./index-CqaMYb3A.js";
|
|
7
|
+
import { b as useContentHost } from "./host-C-V688Rq.js";
|
|
8
|
+
function SpreadsheetViewer({ value, modelValue, allowExport = false, standalone = false, exportSnapshot, pageId }) {
|
|
9
|
+
const host = useContentHost();
|
|
8
10
|
const [sheetId, setSheetId] = useState(""), [row, setRow] = useState(0), [column, setColumn] = useState(0), [showAll, setShowAll] = useState(false), [error, setError] = useState("");
|
|
9
11
|
const [exporting, setExporting] = useState(false);
|
|
10
12
|
useEffect(() => {
|
|
@@ -69,6 +71,10 @@ function SpreadsheetViewer({ value, modelValue, allowExport = false, standalone
|
|
|
69
71
|
setExporting(true);
|
|
70
72
|
setError("");
|
|
71
73
|
try {
|
|
74
|
+
if (host.exports) {
|
|
75
|
+
await host.exports.request({ kind: "spreadsheet", format: "xlsx", resourceId: pageId, blockId: doc.workbook.id });
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
72
78
|
const snapshot = exportSnapshot ? await exportSnapshot() : { title: doc.workbook.name, doc };
|
|
73
79
|
const { exportXlsx } = await import("../spreadsheet/xlsx.js");
|
|
74
80
|
const bytes = await exportXlsx(snapshot.doc);
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useRef, useEffect } from "react";
|
|
4
4
|
import { codeLanguageLabel, CODE_LANGUAGES, isKnownCodeLanguage } from "wendang/shared";
|
|
5
|
-
import {
|
|
6
|
-
import { A as AnchoredPanel } from "./AnchoredPanel-
|
|
5
|
+
import { a as WButton, W as WSelect, b as WIcon } from "./index-CqaMYb3A.js";
|
|
6
|
+
import { A as AnchoredPanel } from "./AnchoredPanel-CSXrveAT.js";
|
|
7
7
|
import { b as useContentHost } from "./host-C-V688Rq.js";
|
|
8
8
|
import { CODE_THEMES, codeLineCount } from "wendang/internal/code-block";
|
|
9
9
|
function CodeToolbar({ text, language, editable, canCopy, display, onLanguage, onDisplay }) {
|
|
@@ -22,9 +22,9 @@ import { calloutDOMAttributes, effectiveCallout, CALLOUT_COLORS, CALLOUT_FILLS,
|
|
|
22
22
|
import { closeHistory } from "@tiptap/pm/history";
|
|
23
23
|
import { yUndoPluginKey, yCursorPlugin } from "@tiptap/y-tiptap";
|
|
24
24
|
import { validCalloutAttrs } from "wendang/internal/callout";
|
|
25
|
-
import { A as AnchoredPanel } from "./AnchoredPanel-
|
|
26
|
-
import {
|
|
27
|
-
import { C as CodeToolbar, s as showCommentHint, h as hideCommentHint } from "./comment-hint-
|
|
25
|
+
import { A as AnchoredPanel } from "./AnchoredPanel-CSXrveAT.js";
|
|
26
|
+
import { a as WButton, b as WIcon } from "./index-CqaMYb3A.js";
|
|
27
|
+
import { C as CodeToolbar, s as showCommentHint, h as hideCommentHint } from "./comment-hint-Coq1laiR.js";
|
|
28
28
|
import CodeBlock from "@tiptap/extension-code-block";
|
|
29
29
|
import { codeBlockDisplay, codeLineNumbers, codeBlockClass } from "wendang/internal/code-block";
|
|
30
30
|
import { Node as Node$1, mergeAttributes, Extension } from "@tiptap/core";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
3
|
import { createPortal } from "react-dom";
|
|
4
|
-
import { createElement,
|
|
4
|
+
import { createElement, useState, useRef, useLayoutEffect, useEffect, forwardRef, useId, useContext, createContext } from "react";
|
|
5
5
|
import { a as useContentContext } from "./host-C-V688Rq.js";
|
|
6
6
|
function resolvePlacement(position) {
|
|
7
7
|
const table = {
|
|
@@ -708,8 +708,8 @@ function WDialog({ title, children, onClose, fullscreen = false, hideFooter = fa
|
|
|
708
708
|
}
|
|
709
709
|
export {
|
|
710
710
|
LayerProvider as L,
|
|
711
|
-
|
|
712
|
-
|
|
711
|
+
WSelect as W,
|
|
712
|
+
WButton as a,
|
|
713
713
|
WIcon as b,
|
|
714
714
|
WDialog as c,
|
|
715
715
|
WAlert as d,
|
|
@@ -6,7 +6,7 @@ import { a as useContentContext, b as useContentHost, f as formatBytes, c as att
|
|
|
6
6
|
import { safeHref, documentColorAttributes } from "wendang/shared";
|
|
7
7
|
import { normalizeVideoEmbed, videoSourceUrl, VIDEO_PROVIDER_LABELS, videoPlayerUrl } from "wendang/internal/video-embed";
|
|
8
8
|
import { createPortal } from "react-dom";
|
|
9
|
-
import { l as lockScroll, t as trapTab } from "./index-
|
|
9
|
+
import { l as lockScroll, t as trapTab } from "./index-CqaMYb3A.js";
|
|
10
10
|
import { setMindTextMeasureFactory, MIND_TOPIC_FONT } from "wendang/internal/mind-topic-text";
|
|
11
11
|
const ROW_SELECTOR = ".ywiki-image-gallery, .doc-image-gallery";
|
|
12
12
|
function previewItemsFrom(image, fallbackLabel = "图片预览") {
|
package/dist/document/viewer.js
CHANGED
|
@@ -5,12 +5,13 @@ import { resolveInlineComments, splitTextByMarks, safeHref, documentColorAttribu
|
|
|
5
5
|
import { readMindMap } from "wendang/mindmap";
|
|
6
6
|
import { isWorkbookDocument } from "wendang/spreadsheet";
|
|
7
7
|
import { b as useContentHost } from "../chunks/host-C-V688Rq.js";
|
|
8
|
-
import { M as MathView, V as VideoView, F as FileView, A as AttachmentImage } from "../chunks/mind-topic-text-
|
|
9
|
-
import { M as MindMapBlock } from "../chunks/MindMapViewer-
|
|
10
|
-
import { S as SpreadsheetViewer } from "../chunks/SpreadsheetViewer-
|
|
8
|
+
import { M as MathView, V as VideoView, F as FileView, A as AttachmentImage } from "../chunks/mind-topic-text-DYQR2Dzf.js";
|
|
9
|
+
import { M as MindMapBlock } from "../chunks/MindMapViewer-Nu3nEVHQ.js";
|
|
10
|
+
import { S as SpreadsheetViewer } from "../chunks/SpreadsheetViewer-CLDlnWyM.js";
|
|
11
11
|
import { e as ensureCodeHighlight, c as codeTokens } from "../chunks/code-highlight-BmaqTe1m.js";
|
|
12
|
-
import { h as hideCommentHint, s as showCommentHint, C as CodeToolbar } from "../chunks/comment-hint-
|
|
12
|
+
import { h as hideCommentHint, s as showCommentHint, C as CodeToolbar } from "../chunks/comment-hint-Coq1laiR.js";
|
|
13
13
|
import { codeBlockDisplay, codeLineNumbers, codeBlockClass } from "wendang/internal/code-block";
|
|
14
|
+
import { D } from "../chunks/DocumentExportMenu-DgDXDChd.js";
|
|
14
15
|
function CommentText({ marks, activeId, onMarkClick, children }) {
|
|
15
16
|
return /* @__PURE__ */ jsx(
|
|
16
17
|
"span",
|
|
@@ -282,6 +283,7 @@ function DocumentViewer(props) {
|
|
|
282
283
|
const DocRenderer = DocumentViewer;
|
|
283
284
|
export {
|
|
284
285
|
DocRenderer,
|
|
286
|
+
D as DocumentExportMenu,
|
|
285
287
|
DocumentViewer,
|
|
286
288
|
MindMapBlock
|
|
287
289
|
};
|
package/dist/document.js
CHANGED
|
@@ -6,14 +6,14 @@ import { createPortal } from "react-dom";
|
|
|
6
6
|
import { useRef, useState, useLayoutEffect, useEffect, useMemo, useId, forwardRef, useCallback, useImperativeHandle } from "react";
|
|
7
7
|
import { ContentSchemaService, requiredSchemaVersion, SCHEMA_VERSION } from "wendang/schema";
|
|
8
8
|
import { safeHref, TEXT_COLORS, HIGHLIGHT_COLORS, documentColorAttributes, parseVideoUrl } from "wendang/shared";
|
|
9
|
-
import { b as buildColumnsJson, d as dismissSlash, u as unwrapCallout, h as highlightMenuBlock, T as TEXT_ALIGNS, c as currentTableCellPosition, r as readTableGeometry, t as tableHeaderActive, a as tablePositionAtCell, s as selectTableAxis, i as insertTableBoundary, e as CELL_ALIGNS, f as cellPositionAtDOM, g as selectTableCell, j as clippedTableSelection, k as tableSelectionMarkActive, l as setTableSelectionMark, m as setTableHeaderBackground, n as currentCellRect, o as setColumnWidth, p as autoFitColumn, q as distributeTableColumns, v as getSelectedBlocks, B as BlockRangeSelection, w as setBlockRangeSelection, x as setImageRangeSelection, y as pastedImageFiles, z as pastedRemoteImageUrls, A as coreExtensions, D as refreshInlineComments, E as addUploadPlaceholder, F as currentPlaceholderPos, G as insertUploadedBlock, H as removeUploadPlaceholder, I as replacePlaceholderWithNode } from "./chunks/extensions-
|
|
10
|
-
import { C } from "./chunks/extensions-
|
|
9
|
+
import { b as buildColumnsJson, d as dismissSlash, u as unwrapCallout, h as highlightMenuBlock, T as TEXT_ALIGNS, c as currentTableCellPosition, r as readTableGeometry, t as tableHeaderActive, a as tablePositionAtCell, s as selectTableAxis, i as insertTableBoundary, e as CELL_ALIGNS, f as cellPositionAtDOM, g as selectTableCell, j as clippedTableSelection, k as tableSelectionMarkActive, l as setTableSelectionMark, m as setTableHeaderBackground, n as currentCellRect, o as setColumnWidth, p as autoFitColumn, q as distributeTableColumns, v as getSelectedBlocks, B as BlockRangeSelection, w as setBlockRangeSelection, x as setImageRangeSelection, y as pastedImageFiles, z as pastedRemoteImageUrls, A as coreExtensions, D as refreshInlineComments, E as addUploadPlaceholder, F as currentPlaceholderPos, G as insertUploadedBlock, H as removeUploadPlaceholder, I as replacePlaceholderWithNode } from "./chunks/extensions-DMQedgOl.js";
|
|
10
|
+
import { C } from "./chunks/extensions-DMQedgOl.js";
|
|
11
11
|
import { a as useContentContext, p as primeAttachment, u as unavailableAttachment } from "./chunks/host-C-V688Rq.js";
|
|
12
12
|
import { c as createMindMapController } from "./chunks/mind-map-controller-B6SxK3GZ.js";
|
|
13
|
-
import { M as MindMapBlock } from "./chunks/MindMapViewer-
|
|
14
|
-
import { p as previewItemsFrom, I as ImagePreview, V as VideoView } from "./chunks/mind-topic-text-
|
|
13
|
+
import { M as MindMapBlock } from "./chunks/MindMapViewer-Nu3nEVHQ.js";
|
|
14
|
+
import { p as previewItemsFrom, I as ImagePreview, V as VideoView } from "./chunks/mind-topic-text-DYQR2Dzf.js";
|
|
15
15
|
import { u as useLatest, a as useReady, b as asError } from "./chunks/hooks-C53Dp0pr.js";
|
|
16
|
-
import {
|
|
16
|
+
import { a as WButton, b as WIcon, l as lockScroll, t as trapTab, c as WDialog } from "./chunks/index-CqaMYb3A.js";
|
|
17
17
|
import { p as placeAnchoredPopover } from "./chunks/popover-placement-D3xVYdkt.js";
|
|
18
18
|
import { A, a, b } from "./chunks/popover-placement-D3xVYdkt.js";
|
|
19
19
|
import { isSafeHref } from "wendang/internal/safe-href";
|
|
@@ -28,6 +28,7 @@ import { CellSelection, TableMap } from "@tiptap/pm/tables";
|
|
|
28
28
|
import { CELL_BACKGROUNDS } from "wendang/internal/table-cell-format";
|
|
29
29
|
import { r as rankPages } from "./chunks/fuzzy-match-DYQR-4w2.js";
|
|
30
30
|
import { inspectVideoUrl, VIDEO_PROVIDER_LABELS, videoSourceUrl } from "wendang/internal/video-embed";
|
|
31
|
+
import { D } from "./chunks/DocumentExportMenu-DgDXDChd.js";
|
|
31
32
|
function linkHrefProblem(value) {
|
|
32
33
|
const href = value.trim();
|
|
33
34
|
if (!href) return "请输入链接地址。";
|
|
@@ -3614,6 +3615,7 @@ export {
|
|
|
3614
3615
|
b as ANCHORED_POPOVER_VIEW_MARGIN,
|
|
3615
3616
|
C as COLLAB_FIELD,
|
|
3616
3617
|
DocumentEditor,
|
|
3618
|
+
D as DocumentExportMenu,
|
|
3617
3619
|
coreExtensions,
|
|
3618
3620
|
placeAnchoredPopover,
|
|
3619
3621
|
sameDocument
|
package/dist/export.js
ADDED
package/dist/mindmap/viewer.js
CHANGED
package/dist/mindmap.js
CHANGED
|
@@ -8,7 +8,7 @@ import { T as TextStyle, H as Highlight, M as MindMap, a as MindMapTopic, b as M
|
|
|
8
8
|
import { c as createMindMapController } from "./chunks/mind-map-controller-B6SxK3GZ.js";
|
|
9
9
|
import { b as useContentHost, u as unavailableAttachment } from "./chunks/host-C-V688Rq.js";
|
|
10
10
|
import { u as useLatest, a as useReady } from "./chunks/hooks-C53Dp0pr.js";
|
|
11
|
-
import { MindMapCanvas } from "./chunks/MindMapCanvas-
|
|
11
|
+
import { MindMapCanvas } from "./chunks/MindMapCanvas-I5M1SIyX.js";
|
|
12
12
|
const MindMapEditor = forwardRef(function MindMapEditor2(props, ref) {
|
|
13
13
|
var _a, _b, _c;
|
|
14
14
|
const latest = useLatest(props), host = useContentHost(), hostRef = useLatest(host), mount = useRef(null);
|