file-viewer3 1.0.25 → 2.0.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.en.md +7 -377
- package/README.md +8 -352
- package/dist/file-viewer3.css +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/package.json +27 -129
- package/dist/_headers +0 -22
- package/dist/assets/3MFLoader--yjh7udp.js +0 -1
- package/dist/assets/AMFLoader-C0y7NIAO.js +0 -1
- package/dist/assets/ArchiveViewer-6AvBZVl3.js +0 -2
- package/dist/assets/ArchiveViewer-B2pHxHFv.css +0 -1
- package/dist/assets/AudioViewer-0CSMvCtp.css +0 -1
- package/dist/assets/AudioViewer-6a_DDcur.js +0 -1
- package/dist/assets/CadViewer-A9PKtCth.css +0 -1
- package/dist/assets/CadViewer-D94LUXKO.js +0 -110
- package/dist/assets/CodeViewer-BdZGsbFh.js +0 -2
- package/dist/assets/CodeViewer-CR2CsPRi.css +0 -1
- package/dist/assets/ColladaLoader-DTiuvWJL.js +0 -3
- package/dist/assets/DrawingViewer-BplS278E.js +0 -2
- package/dist/assets/DrawingViewer-DXiF5YWV.css +0 -1
- package/dist/assets/EdaViewer-BXH1Jmwr.js +0 -8
- package/dist/assets/EdaViewer-CKf1YQnh.css +0 -1
- package/dist/assets/EmailViewer-BsBKZ_A5.js +0 -4
- package/dist/assets/EmailViewer-BwvGE4ns.css +0 -1
- package/dist/assets/EpubViewer-Cci0l1Vm.css +0 -1
- package/dist/assets/EpubViewer-DlGzr8_x.js +0 -2
- package/dist/assets/FBXLoader-Bj34Z_uf.js +0 -1
- package/dist/assets/GLTFLoader-BNUIXeRP.js +0 -1
- package/dist/assets/ImageViewer-BKp7YpMs.css +0 -10
- package/dist/assets/ImageViewer-D1Yc0jYg.js +0 -1
- package/dist/assets/KMZLoader-DTmXWzX_.js +0 -1
- package/dist/assets/MarkdownViewer-CIljbLlu.css +0 -1
- package/dist/assets/MarkdownViewer-CRi0rhWw.js +0 -64
- package/dist/assets/ModelViewer-C4ir9AyI.css +0 -1
- package/dist/assets/ModelViewer-yxcVdLzz.js +0 -2
- package/dist/assets/OBJLoader-DW4Mv-mq.js +0 -5
- package/dist/assets/OfdViewer-DbkG1-Bp.js +0 -2
- package/dist/assets/OfdViewer-Ulv-WZWh.css +0 -1
- package/dist/assets/PCDLoader-CHA1g8rk.js +0 -3
- package/dist/assets/PLYLoader-DwTzA-Dg.js +0 -2
- package/dist/assets/PdfView-_Uu48dkU.js +0 -558
- package/dist/assets/PdfView-fKwbB_8j.css +0 -1
- package/dist/assets/PptxRender-BNoW_9_0.css +0 -1
- package/dist/assets/PptxRender-myCCfHiR.js +0 -32
- package/dist/assets/STLLoader-Bt7FMgMu.js +0 -1
- package/dist/assets/TDSLoader-D__OhSS9.js +0 -1
- package/dist/assets/TypstViewer-4dMAIp9x.js +0 -60
- package/dist/assets/TypstViewer-BgYR02wU.css +0 -1
- package/dist/assets/USDLoader-BovI5HgZ.js +0 -6
- package/dist/assets/UmdViewer-BfIWw5dV.js +0 -3
- package/dist/assets/UmdViewer-DpObj56a.css +0 -1
- package/dist/assets/VRMLLoader-_VxVXPvX.js +0 -140
- package/dist/assets/VTKLoader-BfnzBXsa.js +0 -3
- package/dist/assets/XYZLoader-DbQZs-aZ.js +0 -2
- package/dist/assets/XlsxTable-CKmWT6Iw.js +0 -5
- package/dist/assets/XlsxTable-Ccp_ksQc.css +0 -1
- package/dist/assets/__vite-browser-external-j1Zxnfxm.js +0 -1
- package/dist/assets/ar-SA-G6X2FPQ2-h0GtAVoD.js +0 -10
- package/dist/assets/arc-C_eH0vTw.js +0 -1
- package/dist/assets/architecture-7EHR7CIX-nPLvVkG5.js +0 -1
- package/dist/assets/architectureDiagram-3BPJPVTR-Cx8fJaC_.js +0 -36
- package/dist/assets/archive-D-0w4Z7t.js +0 -2
- package/dist/assets/audio-IkwcqgJA.js +0 -2
- package/dist/assets/az-AZ-76LH7QW2-D_aQ-6Zd.js +0 -1
- package/dist/assets/bash-LmRjUKlR.js +0 -1
- package/dist/assets/bg-BG-XCXSNQG7-H7Czia1L.js +0 -5
- package/dist/assets/blockDiagram-GPEHLZMM-v3Efy6dm.js +0 -132
- package/dist/assets/bn-BD-2XOGV67Q-f6ymEr9g.js +0 -5
- package/dist/assets/c4Diagram-AAUBKEIU-BdstYnMv.js +0 -10
- package/dist/assets/ca-ES-6MX7JW3Y-DTzyqWmS.js +0 -8
- package/dist/assets/cad-DFnQbJJO.js +0 -2
- package/dist/assets/cfb-Bv6fOQ4m.js +0 -11
- package/dist/assets/channel-C66J400U.js +0 -1
- package/dist/assets/chunk-2J33WTMH-BoyKZPbs.js +0 -1
- package/dist/assets/chunk-3OPIFGDE-a_QAVzsM.js +0 -62
- package/dist/assets/chunk-4BX2VUAB-DZj4_o2K.js +0 -1
- package/dist/assets/chunk-55IACEB6-C7hP08Mf.js +0 -1
- package/dist/assets/chunk-5ZQYHXKU-DBQ_7Zc2.js +0 -2
- package/dist/assets/chunk-6U3AYISY-C6-Mtja1.js +0 -12
- package/dist/assets/chunk-727SXJPM-BVNP_kQ-.js +0 -206
- package/dist/assets/chunk-AGHRB4JF-DrBKq3qz.js +0 -1
- package/dist/assets/chunk-AQP2D5EJ-0N6k4ROT.js +0 -231
- package/dist/assets/chunk-BSJP7CBP-b8olRIQO.js +0 -1
- package/dist/assets/chunk-CSCIHK7Q-B5j-yHKS.js +0 -124
- package/dist/assets/chunk-EIO257PC-C6qii-N9.js +0 -22
- package/dist/assets/chunk-FMBD7UC4-CBBZh2UU.js +0 -15
- package/dist/assets/chunk-K2UTITRG-Cx4xt2xV.js +0 -35
- package/dist/assets/chunk-KSCS5N6A-Dwg0HTxH.js +0 -10
- package/dist/assets/chunk-L5ZTLDWV-BPuCpePB.js +0 -1
- package/dist/assets/chunk-LZXEDZCA-CvLuVK3G.js +0 -2
- package/dist/assets/chunk-ND2GUHAM-CWJPhGEg.js +0 -1
- package/dist/assets/chunk-NNHCCRGN-DlpIbxXb.js +0 -159
- package/dist/assets/chunk-NZK2D7GU-DuaLWEa1.js +0 -1
- package/dist/assets/chunk-O5CBEL6O-dK2KeDfH.js +0 -70
- package/dist/assets/chunk-QZHKN3VN-4Bf82riF.js +0 -1
- package/dist/assets/chunk-SRAX5OIU-BhbLEiib.js +0 -1
- package/dist/assets/chunk-WU5MYG2G-DLkui5D2.js +0 -1
- package/dist/assets/chunk-XPW4576I-BvXQTKbm.js +0 -32
- package/dist/assets/chunk-Z3N5DIM6-D9TMVU7m.js +0 -1
- package/dist/assets/chunk-ZUYEQ4TG-BzFOpW--.js +0 -7
- package/dist/assets/classDiagram-4FO5ZUOK-DKj6zlra.js +0 -1
- package/dist/assets/classDiagram-v2-Q7XG4LA2-DKj6zlra.js +0 -1
- package/dist/assets/compare-BA1y8ff-.css +0 -1
- package/dist/assets/compare-QN3IusOj.js +0 -1
- package/dist/assets/compiler-qgJWLAtm.js +0 -1
- package/dist/assets/core-S5OLGxXP.js +0 -3
- package/dist/assets/cose-bilkent-S5V4N54A-CslZOqNN.js +0 -1
- package/dist/assets/cpp-V0F2hNk9.js +0 -1
- package/dist/assets/cs-CZ-2BRQDIVT-BRw0NNL_.js +0 -11
- package/dist/assets/csharp-GZmu99Fo.js +0 -1
- package/dist/assets/css-D5l_8KUR.js +0 -1
- package/dist/assets/cytoscape.esm-C8YCVR3_.js +0 -321
- package/dist/assets/da-DK-5WZEPLOC-q5u_UoZe.js +0 -5
- package/dist/assets/dagre-BM42HDAG-D6fpH9H3.js +0 -4
- package/dist/assets/dagre-Bx709z4p.js +0 -1
- package/dist/assets/de-DE-XR44H4JA-B79lsSt9.js +0 -8
- package/dist/assets/defaultLocale-C8Fc0cco.js +0 -1
- package/dist/assets/diagram-2AECGRRQ-DGviV3zF.js +0 -43
- package/dist/assets/diagram-5GNKFQAL-D8edmK5r.js +0 -10
- package/dist/assets/diagram-KO2AKTUF-DonC_-9l.js +0 -3
- package/dist/assets/diagram-LMA3HP47-T0-OD5uV.js +0 -24
- package/dist/assets/diagram-OG6HWLK6-BsRJiZE3.js +0 -24
- package/dist/assets/diff-CJb8JxGC.js +0 -1
- package/dist/assets/directory-open-01563666-D4xXyWb_.js +0 -1
- package/dist/assets/directory-open-4ed118d0-1i309Asm.js +0 -1
- package/dist/assets/dist-ND9DUPs_.js +0 -1
- package/dist/assets/dist-S-2Hyh3N.js +0 -1
- package/dist/assets/dist-jshluroQ.js +0 -27
- package/dist/assets/docx-preview-CAHEyNQy.js +0 -20
- package/dist/assets/drawing-B3sCN7BX.js +0 -2
- package/dist/assets/ebook-DDycOGR3.js +0 -2
- package/dist/assets/eda-JxVOVy9j.js +0 -2
- package/dist/assets/el-GR-BZB4AONW-DVV0CNhT.js +0 -10
- package/dist/assets/email-D9tCfCzQ.js +0 -2
- package/dist/assets/en-B4ZKOASM-CpbJugBW.js +0 -1
- package/dist/assets/erDiagram-TEJ5UH35-O-dDoXsU.js +0 -85
- package/dist/assets/es-ES-U4NZUMDT-DUvN9FXg.js +0 -9
- package/dist/assets/eu-ES-A7QVB2H4-DV6UAZB_.js +0 -11
- package/dist/assets/eventmodeling-FCH6USID-BONfeu8r.js +0 -1
- package/dist/assets/fa-IR-HGAKTJCU-0ql2xhuq.js +0 -8
- package/dist/assets/fflate.module-BIQmJeC9.js +0 -1
- package/dist/assets/fi-FI-Z5N7JZ37-CxtRUMtw.js +0 -6
- package/dist/assets/file-open-002ab408-BHUWm0Sh.js +0 -1
- package/dist/assets/file-open-7c801643-DZtJT5zp.js +0 -1
- package/dist/assets/file-save-3189631c-CO9S4HFW.js +0 -1
- package/dist/assets/file-save-745eba88-Bwdfz6OZ.js +0 -1
- package/dist/assets/flowDiagram-I6XJVG4X-DsWkZiFB.js +0 -162
- package/dist/assets/fr-FR-RHASNOE6-CLi1nCBA.js +0 -9
- package/dist/assets/ganttDiagram-6RSMTGT7-r5IfYmu1.js +0 -292
- package/dist/assets/gitGraph-WXDBUCRP-BPjRwtiT.js +0 -1
- package/dist/assets/gitGraphDiagram-PVQCEYII-DGYT-2sl.js +0 -106
- package/dist/assets/gl-ES-HMX3MZ6V-NMLOwshd.js +0 -10
- package/dist/assets/global-compiler-D1EEBbpA.js +0 -1
- package/dist/assets/global-renderer-AKzBLvRw.js +0 -1
- package/dist/assets/go-B-PCS5zA.js +0 -1
- package/dist/assets/graphlib-B8gBHxth.js +0 -1
- package/dist/assets/he-IL-6SHJWFNN-BWPkP_3r.js +0 -10
- package/dist/assets/hi-IN-IWLTKZ5I-KNyxys-k.js +0 -4
- package/dist/assets/hu-HU-A5ZG7DT2-BjcxkVW9.js +0 -7
- package/dist/assets/id-ID-SAP4L64H-B-oUkzcH.js +0 -10
- package/dist/assets/image-6zdrB4g6.js +0 -2
- package/dist/assets/image-GAAHSSAO-7tK5sChZ.js +0 -1
- package/dist/assets/image-blob-reduce.esm-NzmDxm1v.js +0 -2
- package/dist/assets/info-J43DQDTF-sQY7EXUc.js +0 -1
- package/dist/assets/infoDiagram-5YYISTIA-Dzg1KIdJ.js +0 -2
- package/dist/assets/ini-B1CroMsf.js +0 -1
- package/dist/assets/init-D6jRqBbL.js +0 -1
- package/dist/assets/ishikawaDiagram-YF4QCWOH-C4gAmRlT.js +0 -70
- package/dist/assets/it-IT-JPQ66NNP-Bwud0QsX.js +0 -11
- package/dist/assets/ja-JP-DBVTYXUO-DgNQ5bjg.js +0 -8
- package/dist/assets/java-ChVphriW.js +0 -1
- package/dist/assets/javascript-w9aIBC1S.js +0 -1
- package/dist/assets/journeyDiagram-JHISSGLW-ofw85AZe.js +0 -139
- package/dist/assets/json-DS4EA3dC.js +0 -1
- package/dist/assets/jszip.min-C7VJhIfM.js +0 -2
- package/dist/assets/kaa-6HZHGXH3-BMz8LTXv.js +0 -1
- package/dist/assets/kab-KAB-ZGHBKWFO-B9w0Zir8.js +0 -8
- package/dist/assets/kanban-definition-UN3LZRKU-CljG07f4.js +0 -89
- package/dist/assets/katex-Vhh-h91d.js +0 -257
- package/dist/assets/kk-KZ-P5N5QNE5-2tUcaoKh.js +0 -1
- package/dist/assets/km-KH-HSX4SM5Z-_kaSqGhJ.js +0 -11
- package/dist/assets/ko-KR-MTYHY66A-CIjaox2B.js +0 -9
- package/dist/assets/ku-TR-6OUDTVRD-CkLMAwgC.js +0 -9
- package/dist/assets/lib-CxFoY_GP.js +0 -6
- package/dist/assets/libarchive-DknIq1tb.js +0 -1
- package/dist/assets/libarchive-DxGirPmi.wasm +0 -0
- package/dist/assets/linear-DAeDjlp3.js +0 -1
- package/dist/assets/logo-DG62cSZK.png +0 -0
- package/dist/assets/lt-LT-XHIRWOB4-BsH7UAds.js +0 -3
- package/dist/assets/lv-LV-5QDEKY6T-DH8to9BS.js +0 -7
- package/dist/assets/main-B8S7RFzE.js +0 -4
- package/dist/assets/main-BZ1u3qpM.css +0 -1
- package/dist/assets/markdown-C8bVcNXx.js +0 -1
- package/dist/assets/md-OHaN-Ra2.js +0 -2
- package/dist/assets/mermaid-parser.core-DX-qibXo.js +0 -4
- package/dist/assets/mindmap-definition-RKZ34NQL-5NZ4x9hJ.js +0 -96
- package/dist/assets/model-B6Ua5SnP.js +0 -2
- package/dist/assets/mp4-Dho29Zd7.js +0 -1
- package/dist/assets/mr-IN-CRQNXWMA-BrKaFNSo.js +0 -13
- package/dist/assets/my-MM-5M5IBNSE-BZSEmctA.js +0 -1
- package/dist/assets/nb-NO-T6EIAALU-6a9gavJA.js +0 -10
- package/dist/assets/nestedRender-vUCW8qgY.js +0 -3
- package/dist/assets/nl-NL-IS3SIHDZ-uxPhLMYz.js +0 -8
- package/dist/assets/nn-NO-6E72VCQL-D4PNCwHO.js +0 -8
- package/dist/assets/oc-FR-POXYY2M6-C7kpaHdZ.js +0 -8
- package/dist/assets/ofd-CM51fmds.js +0 -2
- package/dist/assets/ofd-CsX4S_yH.js +0 -6
- package/dist/assets/ordinal-hYBb2elL.js +0 -1
- package/dist/assets/pa-IN-N4M65BXN-DudflUsb.js +0 -4
- package/dist/assets/package-BuR3Qm_h.css +0 -1
- package/dist/assets/package-DbhUOWuO.js +0 -296
- package/dist/assets/packet-YPE3B663-zJFiRlih.js +0 -1
- package/dist/assets/pdf-CZTifdsT.js +0 -2
- package/dist/assets/percentages-BXMCSKIN-DuKjcyNK.js +0 -1
- package/dist/assets/php-5k5YNuRS.js +0 -2
- package/dist/assets/pica-W1nY7k4k.js +0 -2
- package/dist/assets/pie-CZr-MxNa.js +0 -1
- package/dist/assets/pie-LRSECV5Y-ChrxPon2.js +0 -1
- package/dist/assets/pieDiagram-4H26LBE5-rqS9xOI6.js +0 -30
- package/dist/assets/pl-PL-T2D74RX3-BjwyDbo2.js +0 -9
- package/dist/assets/postal-mime-kkzCFkih.js +0 -29
- package/dist/assets/pptx-HCi3sDR0.js +0 -2
- package/dist/assets/printLayout-D2pf0W9y.js +0 -24
- package/dist/assets/prod-CAexHIHC.js +0 -149
- package/dist/assets/pt-BR-5N22H2LF-dhO4g53z.js +0 -9
- package/dist/assets/pt-PT-UZXXM6DQ-B0FVw5E6.js +0 -9
- package/dist/assets/python-DwhXSSGr.js +0 -1
- package/dist/assets/quadrantDiagram-W4KKPZXB-CvbA748i.js +0 -7
- package/dist/assets/radar-GUYGQ44K-Ch58tAlJ.js +0 -1
- package/dist/assets/reactivity.esm-bundler-Bfmlzvr-.js +0 -1
- package/dist/assets/renderer-69XMfifI.js +0 -1
- package/dist/assets/requirementDiagram-4Y6WPE33-Ek_Wtky1.js +0 -84
- package/dist/assets/ro-RO-JPDTUUEW-CRyQ9zJm.js +0 -11
- package/dist/assets/rough.esm-CIepY_sA.js +0 -1
- package/dist/assets/roundRect-D01gJrlt.js +0 -1
- package/dist/assets/ru-RU-B4JR7IUQ-Ccj6OqLf.js +0 -9
- package/dist/assets/runtime-core.esm-bundler-CR6OOEFf.js +0 -1
- package/dist/assets/rust-Dk33Kfe-.js +0 -1
- package/dist/assets/sankeyDiagram-5OEKKPKP-D3gZ6xE7.js +0 -40
- package/dist/assets/sequenceDiagram-3UESZ5HK-C5489xFA.js +0 -162
- package/dist/assets/si-LK-N5RQ5JYF-BwS2qaTv.js +0 -1
- package/dist/assets/sk-SK-C5VTKIMK-ly1tHoOw.js +0 -6
- package/dist/assets/sl-SI-NN7IZMDC-iZiOFm2y.js +0 -6
- package/dist/assets/sql-DWRKyvJ-.js +0 -1
- package/dist/assets/src-BrOGWJpF.js +0 -1
- package/dist/assets/src-D_n3k0l_.js +0 -5
- package/dist/assets/stateDiagram-AJRCARHV-1hoVbE34.js +0 -1
- package/dist/assets/stateDiagram-v2-BHNVJYJU-CZmypPHd.js +0 -1
- package/dist/assets/style-x1XGuNl0.css +0 -1
- package/dist/assets/subset-shared.chunk-CK2m59fy.js +0 -1
- package/dist/assets/subset-worker.chunk-B5G7hWyg.js +0 -1
- package/dist/assets/sv-SE-XGPEYMSR-BNpkY1PO.js +0 -10
- package/dist/assets/ta-IN-2NMHFXQM-DsldkrWk.js +0 -9
- package/dist/assets/text-CMp0EW11.js +0 -2
- package/dist/assets/th-TH-HPSO5L25-AVrKqKOh.js +0 -2
- package/dist/assets/three.module-BFsVh7r1.js +0 -4104
- package/dist/assets/time-B8nkukJS.js +0 -1
- package/dist/assets/timeline-definition-PNZ67QCA-CfMKM_FS.js +0 -120
- package/dist/assets/tr-TR-DEFEU3FU-DYarL0Oa.js +0 -7
- package/dist/assets/treeView-BLDUP644-CGGdcSoP.js +0 -1
- package/dist/assets/treemap-LRROVOQU-C3Zg5qig.js +0 -1
- package/dist/assets/typescript-BvteI6YB.js +0 -1
- package/dist/assets/typst-DOlgRigg.js +0 -2
- package/dist/assets/typst_ts_renderer_bg-DRRWm1TP.wasm +0 -0
- package/dist/assets/uk-UA-QMV73CPH-D36-a0jl.js +0 -6
- package/dist/assets/umd-r51rBtd2.js +0 -2
- package/dist/assets/vennDiagram-CIIHVFJN-GrdHiqIf.js +0 -34
- package/dist/assets/vi-VN-M7AON7JQ-zdUBY1Fz.js +0 -5
- package/dist/assets/wardley-L42UT6IY-ilBO1QYS.js +0 -1
- package/dist/assets/wardleyDiagram-YWT4CUSO-Cgr3uPws.js +0 -78
- package/dist/assets/wasm-C3ukMqzA.js +0 -1
- package/dist/assets/wasm-pack-shim-BShYmbRf.js +0 -1
- package/dist/assets/wasm-pack-shim-BnuNh1z7.js +0 -1
- package/dist/assets/word-DQCwLNG7.js +0 -150
- package/dist/assets/worker-bundle-Dx5mKZOL.js +0 -6
- package/dist/assets/worker-ref-BbTnHTC-.js +0 -1
- package/dist/assets/xlsx-B1qUDXfb.js +0 -2
- package/dist/assets/xlsx-ff7ER-JZ.png +0 -0
- package/dist/assets/xml-DasnpDVC.js +0 -1
- package/dist/assets/xychartDiagram-2RQKCTM6-BwoaSxOF.js +0 -7
- package/dist/assets/yaml-1XF8XcZB.js +0 -1
- package/dist/assets/zh-CN-LNUGB5OW-WQ7J6JkH.js +0 -10
- package/dist/assets/zh-HK-E62DVLB3-BoGXaBos.js +0 -1
- package/dist/assets/zh-TW-RAJ6MFWO-DZQOFop7.js +0 -9
- package/dist/compare.html +0 -21
- package/dist/example/README.md +0 -137
- package/dist/example/SOURCES.md +0 -49
- package/dist/example/app.log +0 -13
- package/dist/example/archive.tar.gz +0 -0
- package/dist/example/archive.zip +0 -0
- package/dist/example/audio.mp3 +0 -0
- package/dist/example/audio.ogg +0 -0
- package/dist/example/book.epub +0 -0
- package/dist/example/book.umd +0 -0
- package/dist/example/change.diff +0 -40
- package/dist/example/code.cjs +0 -38
- package/dist/example/code.css +0 -64
- package/dist/example/code.java +0 -55
- package/dist/example/code.js +0 -55
- package/dist/example/code.jsx +0 -43
- package/dist/example/code.mjs +0 -36
- package/dist/example/code.py +0 -56
- package/dist/example/code.ts +0 -78
- package/dist/example/code.tsx +0 -36
- package/dist/example/component.vue +0 -68
- package/dist/example/config.yaml +0 -48
- package/dist/example/config.yml +0 -25
- package/dist/example/data.json +0 -50
- package/dist/example/data.xml +0 -47
- package/dist/example/drawing.dxf +0 -22186
- package/dist/example/embedded.html +0 -316
- package/dist/example/excel.fods +0 -0
- package/dist/example/excel.numbers +0 -0
- package/dist/example/excel.ods +0 -0
- package/dist/example/excel.xls +0 -0
- package/dist/example/excel.xlsb +0 -0
- package/dist/example/excel.xlsm +0 -0
- package/dist/example/excel.xlsx +0 -0
- package/dist/example/flow.excalidraw +0 -1
- package/dist/example/index.php +0 -44
- package/dist/example/main.c +0 -39
- package/dist/example/main.cpp +0 -50
- package/dist/example/main.go +0 -55
- package/dist/example/main.h +0 -22
- package/dist/example/main.hpp +0 -28
- package/dist/example/main.rs +0 -36
- package/dist/example/markdown.md +0 -84
- package/dist/example/model.gltf +0 -66
- package/dist/example/model.obj +0 -10
- package/dist/example/model.ply +0 -18
- package/dist/example/model.step +0 -9
- package/dist/example/model.stl +0 -30
- package/dist/example/module.cc +0 -36
- package/dist/example/notes.markdown +0 -15
- package/dist/example/ofd.ofd +0 -0
- package/dist/example/page.htm +0 -29
- package/dist/example/page.html +0 -33
- package/dist/example/pdf.pdf +1 -9127
- package/dist/example/pic.bmp +0 -0
- package/dist/example/pic.gif +0 -0
- package/dist/example/pic.jpeg +0 -0
- package/dist/example/pic.jpg +0 -0
- package/dist/example/pic.png +0 -0
- package/dist/example/pic.tif +0 -0
- package/dist/example/pic.tiff +0 -0
- package/dist/example/pic.webp +0 -0
- package/dist/example/ppt.pptx +0 -0
- package/dist/example/process.drawio +0 -249
- package/dist/example/program.cs +0 -42
- package/dist/example/query.sql +0 -30
- package/dist/example/report.typ +0 -90
- package/dist/example/sample.dra +0 -0
- package/dist/example/sample.dwg +0 -0
- package/dist/example/sample.eml +0 -46
- package/dist/example/sample.msg +0 -0
- package/dist/example/sample.olb +0 -0
- package/dist/example/samples/apache/blocks_and_tables.dwf +0 -0
- package/dist/example/samples/autodesk/house.dwfx +0 -0
- package/dist/example/samples/autodesk/robot-arm.dwfx +0 -0
- package/dist/example/script.bash +0 -36
- package/dist/example/script.sh +0 -24
- package/dist/example/settings.ini +0 -23
- package/dist/example/table.csv +0 -4
- package/dist/example/template.dot +0 -0
- package/dist/example/test.doc +0 -0
- package/dist/example/text.txt +0 -3
- package/dist/example/vector.svg +0 -6
- package/dist/example/video.mp4 +0 -0
- package/dist/example/word.docx +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.html +0 -302
- package/dist/vendor/libarchive/libarchive.wasm +0 -0
- package/dist/vendor/libarchive/worker-bundle.js +0 -6
- package/dist/wasm/cad/dwfv-render.wasm +0 -0
- package/dist/wasm/cad/dwg-worker.js +0 -24
- package/dist/wasm/cad/libredwg-web.js +0 -15
- package/dist/wasm/cad/libredwg-web.wasm +0 -0
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="zh-CN">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Flyfish Viewer iframe 嵌入示例</title>
|
|
7
|
-
<style>
|
|
8
|
-
:root {
|
|
9
|
-
color-scheme: light;
|
|
10
|
-
--ink: #172033;
|
|
11
|
-
--muted: #647084;
|
|
12
|
-
--line: #d9e2ec;
|
|
13
|
-
--panel: #ffffff;
|
|
14
|
-
--soft: #f4f7fb;
|
|
15
|
-
--brand: #1d6fd6;
|
|
16
|
-
--brand-dark: #164f9c;
|
|
17
|
-
--accent: #0f8a7a;
|
|
18
|
-
--shadow: 0 22px 54px rgba(23, 32, 51, 0.12);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
* {
|
|
22
|
-
box-sizing: border-box;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
html,
|
|
26
|
-
body {
|
|
27
|
-
width: 100%;
|
|
28
|
-
height: 100%;
|
|
29
|
-
margin: 0;
|
|
30
|
-
color: var(--ink);
|
|
31
|
-
background: var(--soft);
|
|
32
|
-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
body {
|
|
36
|
-
display: flex;
|
|
37
|
-
flex-direction: column;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.embed-shell {
|
|
41
|
-
display: grid;
|
|
42
|
-
grid-template-rows: auto minmax(0, 1fr);
|
|
43
|
-
width: 100%;
|
|
44
|
-
min-height: 100vh;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.embed-header {
|
|
48
|
-
display: grid;
|
|
49
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
50
|
-
gap: 24px;
|
|
51
|
-
align-items: center;
|
|
52
|
-
padding: 18px 24px;
|
|
53
|
-
border-bottom: 1px solid var(--line);
|
|
54
|
-
background:
|
|
55
|
-
linear-gradient(135deg, rgba(29, 111, 214, 0.08), rgba(15, 138, 122, 0.08)),
|
|
56
|
-
rgba(255, 255, 255, 0.94);
|
|
57
|
-
backdrop-filter: blur(14px) saturate(140%);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.brand {
|
|
61
|
-
display: flex;
|
|
62
|
-
gap: 14px;
|
|
63
|
-
align-items: center;
|
|
64
|
-
min-width: 0;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.brand-mark {
|
|
68
|
-
display: grid;
|
|
69
|
-
flex: 0 0 auto;
|
|
70
|
-
place-items: center;
|
|
71
|
-
width: 42px;
|
|
72
|
-
height: 42px;
|
|
73
|
-
border-radius: 10px;
|
|
74
|
-
background: #172033;
|
|
75
|
-
color: #ffffff;
|
|
76
|
-
font-weight: 800;
|
|
77
|
-
letter-spacing: 0;
|
|
78
|
-
box-shadow: 0 10px 24px rgba(23, 32, 51, 0.2);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.brand strong {
|
|
82
|
-
display: block;
|
|
83
|
-
font-size: 18px;
|
|
84
|
-
line-height: 1.2;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.brand span {
|
|
88
|
-
display: block;
|
|
89
|
-
margin-top: 4px;
|
|
90
|
-
color: var(--muted);
|
|
91
|
-
font-size: 13px;
|
|
92
|
-
line-height: 1.4;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.toolbar {
|
|
96
|
-
display: flex;
|
|
97
|
-
gap: 10px;
|
|
98
|
-
align-items: center;
|
|
99
|
-
min-width: 0;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.toolbar label {
|
|
103
|
-
color: var(--muted);
|
|
104
|
-
font-size: 13px;
|
|
105
|
-
font-weight: 700;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
select,
|
|
109
|
-
button {
|
|
110
|
-
height: 40px;
|
|
111
|
-
border-radius: 8px;
|
|
112
|
-
font: inherit;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
select {
|
|
116
|
-
min-width: 230px;
|
|
117
|
-
border: 1px solid var(--line);
|
|
118
|
-
padding: 0 36px 0 12px;
|
|
119
|
-
background: #ffffff;
|
|
120
|
-
color: var(--ink);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
button {
|
|
124
|
-
border: 1px solid var(--brand);
|
|
125
|
-
padding: 0 18px;
|
|
126
|
-
background: var(--brand);
|
|
127
|
-
color: #ffffff;
|
|
128
|
-
font-weight: 760;
|
|
129
|
-
cursor: pointer;
|
|
130
|
-
transition:
|
|
131
|
-
background 0.18s ease,
|
|
132
|
-
border-color 0.18s ease,
|
|
133
|
-
transform 0.18s ease;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
button:hover {
|
|
137
|
-
border-color: var(--brand-dark);
|
|
138
|
-
background: var(--brand-dark);
|
|
139
|
-
transform: translateY(-1px);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
.viewer-frame-wrap {
|
|
143
|
-
position: relative;
|
|
144
|
-
min-height: 0;
|
|
145
|
-
padding: 18px;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
iframe {
|
|
149
|
-
display: block;
|
|
150
|
-
width: 100%;
|
|
151
|
-
height: calc(100vh - 113px);
|
|
152
|
-
min-height: 640px;
|
|
153
|
-
border: 1px solid var(--line);
|
|
154
|
-
border-radius: 10px;
|
|
155
|
-
background: #ffffff;
|
|
156
|
-
box-shadow: var(--shadow);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
#loading {
|
|
160
|
-
position: absolute;
|
|
161
|
-
inset: 18px;
|
|
162
|
-
display: none;
|
|
163
|
-
place-items: center;
|
|
164
|
-
border-radius: 10px;
|
|
165
|
-
background: rgba(244, 247, 251, 0.78);
|
|
166
|
-
color: var(--brand-dark);
|
|
167
|
-
font-size: 18px;
|
|
168
|
-
font-weight: 760;
|
|
169
|
-
backdrop-filter: blur(8px);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
#loading[aria-hidden="false"] {
|
|
173
|
-
display: grid;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
@media (max-width: 860px) {
|
|
177
|
-
.embed-header {
|
|
178
|
-
grid-template-columns: 1fr;
|
|
179
|
-
gap: 16px;
|
|
180
|
-
padding: 16px;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.toolbar {
|
|
184
|
-
align-items: stretch;
|
|
185
|
-
flex-direction: column;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
select,
|
|
189
|
-
button {
|
|
190
|
-
width: 100%;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
.viewer-frame-wrap {
|
|
194
|
-
padding: 12px;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
iframe {
|
|
198
|
-
height: calc(100vh - 214px);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
#loading {
|
|
202
|
-
inset: 12px;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
</style>
|
|
206
|
-
</head>
|
|
207
|
-
<body>
|
|
208
|
-
<main class="embed-shell">
|
|
209
|
-
<header class="embed-header">
|
|
210
|
-
<div class="brand">
|
|
211
|
-
<div class="brand-mark">FV</div>
|
|
212
|
-
<div>
|
|
213
|
-
<strong>Flyfish Viewer iframe 示例</strong>
|
|
214
|
-
<span>宿主系统下载文件后,通过 postMessage 把 Blob 推送给独立预览器。</span>
|
|
215
|
-
</div>
|
|
216
|
-
</div>
|
|
217
|
-
|
|
218
|
-
<div class="toolbar">
|
|
219
|
-
<label for="fileSelect">示例文件</label>
|
|
220
|
-
<select id="fileSelect" onchange="context.url = this.value">
|
|
221
|
-
<option value="./word.docx">Word 文档</option>
|
|
222
|
-
<option value="./test.doc">DOC 文档</option>
|
|
223
|
-
<option value="./pdf.pdf">PDF 文档</option>
|
|
224
|
-
<option value="./ofd.ofd">OFD 版式文件</option>
|
|
225
|
-
<option value="./report.typ">Typst 文档</option>
|
|
226
|
-
<option value="./excel.xlsx">Excel 表格</option>
|
|
227
|
-
<option value="./ppt.pptx">PPT 演示</option>
|
|
228
|
-
<option value="./drawing.dxf">CAD 图纸</option>
|
|
229
|
-
<option value="./flow.excalidraw">Excalidraw 图纸</option>
|
|
230
|
-
<option value="./process.drawio">draw.io 图纸</option>
|
|
231
|
-
<option value="./book.epub">EPUB 电子书</option>
|
|
232
|
-
<option value="./book.umd">UMD 电子书</option>
|
|
233
|
-
<option value="./archive.zip">ZIP 压缩包</option>
|
|
234
|
-
<option value="./archive.tar.gz">TAR.GZ 压缩包</option>
|
|
235
|
-
<option value="./sample.eml">EML 邮件</option>
|
|
236
|
-
<option value="./sample.msg">MSG 邮件</option>
|
|
237
|
-
<option value="./sample.olb">OLB 元件库</option>
|
|
238
|
-
<option value="./sample.dra">DRA 图纸</option>
|
|
239
|
-
<option value="./component.vue">Vue 代码</option>
|
|
240
|
-
<option value="./pic.png">PNG 图片</option>
|
|
241
|
-
<option value="./audio.mp3">MP3 音频</option>
|
|
242
|
-
<option value="./audio.ogg">OGG 音频</option>
|
|
243
|
-
<option value="./video.mp4">MP4 视频</option>
|
|
244
|
-
</select>
|
|
245
|
-
<button type="button" onclick="loadFromUrl()">预览</button>
|
|
246
|
-
</div>
|
|
247
|
-
</header>
|
|
248
|
-
|
|
249
|
-
<section class="viewer-frame-wrap" aria-label="嵌入式文件预览">
|
|
250
|
-
<div id="loading" aria-hidden="true">正在加载服务器文件...</div>
|
|
251
|
-
</section>
|
|
252
|
-
</main>
|
|
253
|
-
|
|
254
|
-
<script>
|
|
255
|
-
var context = {
|
|
256
|
-
// 独立部署预览器的源。示例页和预览器同站部署时直接使用当前 origin,便于本地和线上共用。
|
|
257
|
-
origin: location.origin,
|
|
258
|
-
frame: null,
|
|
259
|
-
url: './word.docx',
|
|
260
|
-
options: {
|
|
261
|
-
toolbar: true,
|
|
262
|
-
archive: {
|
|
263
|
-
cache: true,
|
|
264
|
-
workerTimeoutMs: 30000
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
};
|
|
268
|
-
var loading = document.getElementById('loading');
|
|
269
|
-
var frameWrap = document.querySelector('.viewer-frame-wrap');
|
|
270
|
-
|
|
271
|
-
function appendFrame(src) {
|
|
272
|
-
if (context.frame) {
|
|
273
|
-
context.frame.remove();
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
var frame = context.frame = document.createElement('iframe');
|
|
277
|
-
frame.src = src;
|
|
278
|
-
frame.title = 'Flyfish Viewer 文件预览';
|
|
279
|
-
frameWrap.appendChild(frame);
|
|
280
|
-
return frame;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
function setLoading(active) {
|
|
284
|
-
loading.setAttribute('aria-hidden', active ? 'false' : 'true');
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
function loadFromUrl() {
|
|
288
|
-
// 宿主系统负责拿到真实文件,再把 Blob 推送给 iframe,适合鉴权文件和内网接口。
|
|
289
|
-
var url = context.url;
|
|
290
|
-
var filename = url.substr(url.lastIndexOf('/') + 1);
|
|
291
|
-
var src = context.origin +
|
|
292
|
-
'?name=' + encodeURIComponent(filename) +
|
|
293
|
-
'&from=' + encodeURIComponent(location.origin) +
|
|
294
|
-
'&options=' + encodeURIComponent(JSON.stringify(context.options));
|
|
295
|
-
var frame = appendFrame(src);
|
|
296
|
-
|
|
297
|
-
frame.onload = function() {
|
|
298
|
-
setLoading(true);
|
|
299
|
-
fetch(url).then(function(res) {
|
|
300
|
-
return res.blob();
|
|
301
|
-
}).then(function(data) {
|
|
302
|
-
if (!data) {
|
|
303
|
-
console.error('文件下载失败');
|
|
304
|
-
return;
|
|
305
|
-
}
|
|
306
|
-
frame.contentWindow.postMessage(data, context.origin);
|
|
307
|
-
}).finally(function() {
|
|
308
|
-
setLoading(false);
|
|
309
|
-
});
|
|
310
|
-
};
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
loadFromUrl();
|
|
314
|
-
</script>
|
|
315
|
-
</body>
|
|
316
|
-
</html>
|
package/dist/example/excel.fods
DELETED
|
Binary file
|
|
Binary file
|
package/dist/example/excel.ods
DELETED
|
Binary file
|
package/dist/example/excel.xls
DELETED
|
Binary file
|
package/dist/example/excel.xlsb
DELETED
|
Binary file
|
package/dist/example/excel.xlsm
DELETED
|
Binary file
|
package/dist/example/excel.xlsx
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"excalidraw","version":2,"source":"https://excalidraw.com","elements":[{"type":"text","id":"title","x":380,"y":20,"width":440,"height":40,"text":"POLE+O Entity Model","fontSize":32,"fontFamily":1,"textAlign":"center","strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"rectangle","id":"person-box","x":40,"y":90,"width":220,"height":160,"backgroundColor":"#b2f2bb","fillStyle":"solid","roundness":{"type":3},"strokeColor":"#2f9e44","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"person-title","x":90,"y":108,"width":120,"height":30,"text":"PERSON","fontSize":24,"fontFamily":1,"textAlign":"center","strokeColor":"#1a6b2e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"person-subs","x":55,"y":148,"width":180,"height":88,"text":"Individual\nProfessional\nAlias\nContact","fontSize":17,"fontFamily":1,"textAlign":"left","strokeColor":"#2d7a3a","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"rectangle","id":"object-box","x":300,"y":90,"width":220,"height":160,"backgroundColor":"#ffd8a8","fillStyle":"solid","roundness":{"type":3},"strokeColor":"#e8590c","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"object-title","x":360,"y":108,"width":100,"height":30,"text":"OBJECT","fontSize":24,"fontFamily":1,"textAlign":"center","strokeColor":"#7d3200","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"object-subs","x":315,"y":148,"width":180,"height":88,"text":"Vehicle\nDevice\nDocument\nWeapon","fontSize":17,"fontFamily":1,"textAlign":"left","strokeColor":"#7d3200","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"rectangle","id":"location-box","x":560,"y":90,"width":220,"height":160,"backgroundColor":"#a5d8ff","fillStyle":"solid","roundness":{"type":3},"strokeColor":"#1971c2","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"location-title","x":600,"y":108,"width":140,"height":30,"text":"LOCATION","fontSize":24,"fontFamily":1,"textAlign":"center","strokeColor":"#0c3f7a","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"location-subs","x":575,"y":148,"width":180,"height":88,"text":"Address\nRegion\nLandmark\nCountry","fontSize":17,"fontFamily":1,"textAlign":"left","strokeColor":"#0c3f7a","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"rectangle","id":"event-box","x":170,"y":310,"width":220,"height":160,"backgroundColor":"#fff3bf","fillStyle":"solid","roundness":{"type":3},"strokeColor":"#e67700","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"event-title","x":235,"y":328,"width":100,"height":30,"text":"EVENT","fontSize":24,"fontFamily":1,"textAlign":"center","strokeColor":"#7d3c00","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"event-subs","x":185,"y":368,"width":180,"height":88,"text":"Meeting\nTransaction\nIncident\nActivity","fontSize":17,"fontFamily":1,"textAlign":"left","strokeColor":"#7d3c00","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"rectangle","id":"org-box","x":430,"y":310,"width":220,"height":160,"backgroundColor":"#d0bfff","fillStyle":"solid","roundness":{"type":3},"strokeColor":"#7048e8","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"org-title","x":440,"y":328,"width":200,"height":30,"text":"ORGANIZATION","fontSize":20,"fontFamily":1,"textAlign":"center","strokeColor":"#3c1a9a","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"org-subs","x":445,"y":368,"width":180,"height":88,"text":"Company\nGovernment\nNGO\nInstitution","fontSize":17,"fontFamily":1,"textAlign":"left","strokeColor":"#3c1a9a","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100},{"type":"text","id":"note","x":40,"y":510,"width":780,"height":22,"text":"Subtypes become PascalCase Neo4j labels: :Entity:Person:Individual | :Entity:Organization:Company","fontSize":16,"fontFamily":1,"textAlign":"left","strokeColor":"#666666","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"roughness":1,"opacity":100}],"appState":{"gridSize":20,"viewBackgroundColor":"#ffffff"},"files":{}}
|
package/dist/example/index.php
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
declare(strict_types=1);
|
|
4
|
-
|
|
5
|
-
$renderers = [
|
|
6
|
-
'pdf' => 'pdfjs-dist',
|
|
7
|
-
'ofd' => 'DLTech21/ofd.js',
|
|
8
|
-
'dxf' => '@flyfish-dev/cad-viewer',
|
|
9
|
-
'dwg' => '@flyfish-dev/cad-viewer',
|
|
10
|
-
'dwf' => '@flyfish-dev/cad-viewer',
|
|
11
|
-
'dwfx' => '@flyfish-dev/cad-viewer',
|
|
12
|
-
'xps' => '@flyfish-dev/cad-viewer',
|
|
13
|
-
'json' => 'highlight.js',
|
|
14
|
-
'php' => 'highlight.js',
|
|
15
|
-
];
|
|
16
|
-
|
|
17
|
-
function extensionOf(string $filename): string
|
|
18
|
-
{
|
|
19
|
-
return strtolower(pathinfo($filename, PATHINFO_EXTENSION));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function buildPreviewPlan(array $files, array $renderers): array
|
|
23
|
-
{
|
|
24
|
-
return array_map(static function (string $filename) use ($renderers): array {
|
|
25
|
-
$extension = extensionOf($filename);
|
|
26
|
-
$renderer = $renderers[$extension] ?? 'fallback';
|
|
27
|
-
|
|
28
|
-
return [
|
|
29
|
-
'filename' => $filename,
|
|
30
|
-
'extension' => $extension,
|
|
31
|
-
'renderer' => $renderer,
|
|
32
|
-
'async' => $renderer !== 'fallback',
|
|
33
|
-
];
|
|
34
|
-
}, $files);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
$plans = buildPreviewPlan([
|
|
38
|
-
'invoice.ofd',
|
|
39
|
-
'house.dwfx',
|
|
40
|
-
'controller.php',
|
|
41
|
-
], $renderers);
|
|
42
|
-
|
|
43
|
-
header('Content-Type: application/json; charset=utf-8');
|
|
44
|
-
echo json_encode($plans, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
|
package/dist/example/main.c
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
#include <stdio.h>
|
|
2
|
-
#include <string.h>
|
|
3
|
-
#include "main.h"
|
|
4
|
-
|
|
5
|
-
const char* viewer_name(void) {
|
|
6
|
-
return "Flyfish Viewer";
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const char* preview_extension(const char* filename) {
|
|
10
|
-
const char* dot = strrchr(filename, '.');
|
|
11
|
-
return dot == NULL ? "" : dot + 1;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
preview_file_t preview_plan_create(const char* filename, size_t size) {
|
|
15
|
-
const char* extension = preview_extension(filename);
|
|
16
|
-
const char* renderer = "fallback";
|
|
17
|
-
|
|
18
|
-
if (strcmp(extension, "pdf") == 0) renderer = "pdfjs-dist";
|
|
19
|
-
if (strcmp(extension, "ofd") == 0) renderer = "DLTech21/ofd.js";
|
|
20
|
-
if (strcmp(extension, "dxf") == 0) renderer = "@flyfish-dev/cad-viewer";
|
|
21
|
-
if (strcmp(extension, "dwg") == 0) renderer = "@flyfish-dev/cad-viewer";
|
|
22
|
-
if (strcmp(extension, "dwf") == 0) renderer = "@flyfish-dev/cad-viewer";
|
|
23
|
-
if (strcmp(extension, "dwfx") == 0) renderer = "@flyfish-dev/cad-viewer";
|
|
24
|
-
if (strcmp(extension, "xps") == 0) renderer = "@flyfish-dev/cad-viewer";
|
|
25
|
-
if (strcmp(extension, "c") == 0) renderer = "highlight.js";
|
|
26
|
-
|
|
27
|
-
preview_file_t file = { filename, renderer, size, PREVIEW_IDLE };
|
|
28
|
-
return file;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
int preview_requires_async(preview_file_t file) {
|
|
32
|
-
return strcmp(file.renderer, "fallback") != 0;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
int main(void) {
|
|
36
|
-
preview_file_t file = preview_plan_create("house.dwfx", 32768);
|
|
37
|
-
printf("%s uses %s async=%d\n", file.name, file.renderer, preview_requires_async(file));
|
|
38
|
-
return 0;
|
|
39
|
-
}
|
package/dist/example/main.cpp
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
#include <iostream>
|
|
2
|
-
#include <map>
|
|
3
|
-
#include <string>
|
|
4
|
-
#include <vector>
|
|
5
|
-
#include "main.hpp"
|
|
6
|
-
|
|
7
|
-
std::string viewer_name() {
|
|
8
|
-
return "Flyfish Viewer";
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
bool PreviewFile::requiresAsyncChunk() const {
|
|
12
|
-
return renderer != "fallback";
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
std::string extensionOf(const std::string& filename) {
|
|
16
|
-
const auto dot = filename.find_last_of('.');
|
|
17
|
-
return dot == std::string::npos ? "" : filename.substr(dot + 1);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
std::optional<std::string> rendererFor(const std::string& extension) {
|
|
21
|
-
static const std::map<std::string, std::string> renderers = {
|
|
22
|
-
{"pdf", "pdfjs-dist"},
|
|
23
|
-
{"ofd", "DLTech21/ofd.js"},
|
|
24
|
-
{"dxf", "@flyfish-dev/cad-viewer"},
|
|
25
|
-
{"dwg", "@flyfish-dev/cad-viewer"},
|
|
26
|
-
{"dwf", "@flyfish-dev/cad-viewer"},
|
|
27
|
-
{"dwfx", "@flyfish-dev/cad-viewer"},
|
|
28
|
-
{"xps", "@flyfish-dev/cad-viewer"},
|
|
29
|
-
{"cpp", "highlight.js"}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const auto found = renderers.find(extension);
|
|
33
|
-
if (found == renderers.end()) return std::nullopt;
|
|
34
|
-
return found->second;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
std::vector<PreviewFile> createPreviewQueue(const std::vector<std::string>& filenames) {
|
|
38
|
-
std::vector<PreviewFile> queue;
|
|
39
|
-
for (const auto& name : filenames) {
|
|
40
|
-
queue.push_back({ name, rendererFor(extensionOf(name)).value_or("fallback"), 0 });
|
|
41
|
-
}
|
|
42
|
-
return queue;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
int main() {
|
|
46
|
-
for (const auto& file : createPreviewQueue({"contract.pdf", "house.dwfx", "main.cpp"})) {
|
|
47
|
-
std::cout << file.name << " -> " << file.renderer << std::endl;
|
|
48
|
-
}
|
|
49
|
-
return 0;
|
|
50
|
-
}
|
package/dist/example/main.go
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
package main
|
|
2
|
-
|
|
3
|
-
import (
|
|
4
|
-
"encoding/json"
|
|
5
|
-
"fmt"
|
|
6
|
-
"path/filepath"
|
|
7
|
-
"strings"
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
type PreviewFile struct {
|
|
11
|
-
Name string `json:"name"`
|
|
12
|
-
Renderer string `json:"renderer"`
|
|
13
|
-
Async bool `json:"async"`
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
var renderers = map[string]string{
|
|
17
|
-
".pdf": "pdfjs-dist",
|
|
18
|
-
".ofd": "DLTech21/ofd.js",
|
|
19
|
-
".typ": "typst.ts",
|
|
20
|
-
".dxf": "@flyfish-dev/cad-viewer",
|
|
21
|
-
".dwg": "@flyfish-dev/cad-viewer",
|
|
22
|
-
".dwf": "@flyfish-dev/cad-viewer",
|
|
23
|
-
".dwfx": "@flyfish-dev/cad-viewer",
|
|
24
|
-
".xps": "@flyfish-dev/cad-viewer",
|
|
25
|
-
".json": "highlight.js",
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
func planPreview(name string) PreviewFile {
|
|
29
|
-
ext := strings.ToLower(filepath.Ext(name))
|
|
30
|
-
renderer := renderers[ext]
|
|
31
|
-
if renderer == "" {
|
|
32
|
-
renderer = "fallback"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return PreviewFile{
|
|
36
|
-
Name: name,
|
|
37
|
-
Renderer: renderer,
|
|
38
|
-
Async: renderer != "fallback",
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
func main() {
|
|
43
|
-
files := []string{"contract.pdf", "invoice.ofd", "report.typ", "component.vue"}
|
|
44
|
-
plans := make([]PreviewFile, 0, len(files))
|
|
45
|
-
for _, name := range files {
|
|
46
|
-
plans = append(plans, planPreview(name))
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
payload, err := json.MarshalIndent(plans, "", " ")
|
|
50
|
-
if err != nil {
|
|
51
|
-
panic(err)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
fmt.Println(string(payload))
|
|
55
|
-
}
|
package/dist/example/main.h
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <stddef.h>
|
|
4
|
-
|
|
5
|
-
typedef enum preview_status {
|
|
6
|
-
PREVIEW_IDLE,
|
|
7
|
-
PREVIEW_LOADING,
|
|
8
|
-
PREVIEW_READY,
|
|
9
|
-
PREVIEW_ERROR
|
|
10
|
-
} preview_status_t;
|
|
11
|
-
|
|
12
|
-
typedef struct preview_file {
|
|
13
|
-
const char* name;
|
|
14
|
-
const char* renderer;
|
|
15
|
-
size_t size;
|
|
16
|
-
preview_status_t status;
|
|
17
|
-
} preview_file_t;
|
|
18
|
-
|
|
19
|
-
const char* viewer_name(void);
|
|
20
|
-
const char* preview_extension(const char* filename);
|
|
21
|
-
preview_file_t preview_plan_create(const char* filename, size_t size);
|
|
22
|
-
int preview_requires_async(preview_file_t file);
|
package/dist/example/main.hpp
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <cstddef>
|
|
4
|
-
#include <optional>
|
|
5
|
-
#include <string>
|
|
6
|
-
#include <vector>
|
|
7
|
-
|
|
8
|
-
std::string viewer_name();
|
|
9
|
-
|
|
10
|
-
enum class PreviewStatus {
|
|
11
|
-
Idle,
|
|
12
|
-
Loading,
|
|
13
|
-
Ready,
|
|
14
|
-
Error
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
struct PreviewFile {
|
|
18
|
-
std::string name;
|
|
19
|
-
std::string renderer;
|
|
20
|
-
std::size_t size;
|
|
21
|
-
PreviewStatus status = PreviewStatus::Idle;
|
|
22
|
-
|
|
23
|
-
bool requiresAsyncChunk() const;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
std::string extensionOf(const std::string& filename);
|
|
27
|
-
std::optional<std::string> rendererFor(const std::string& extension);
|
|
28
|
-
std::vector<PreviewFile> createPreviewQueue(const std::vector<std::string>& filenames);
|
package/dist/example/main.rs
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
#[derive(Debug)]
|
|
2
|
-
struct PreviewPlan<'a> {
|
|
3
|
-
filename: &'a str,
|
|
4
|
-
renderer: &'a str,
|
|
5
|
-
lazy: bool,
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
fn extension(filename: &str) -> &str {
|
|
9
|
-
filename.rsplit_once('.').map(|(_, ext)| ext).unwrap_or("")
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
fn renderer_for(ext: &str) -> &'static str {
|
|
13
|
-
match ext {
|
|
14
|
-
"pdf" => "pdfjs-dist",
|
|
15
|
-
"ofd" => "DLTech21/ofd.js",
|
|
16
|
-
"dxf" | "dwg" | "dwf" | "dwfx" | "xps" => "@flyfish-dev/cad-viewer",
|
|
17
|
-
"rs" | "json" | "yaml" => "highlight.js",
|
|
18
|
-
_ => "fallback",
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
fn plan(filename: &str) -> PreviewPlan<'_> {
|
|
23
|
-
let renderer = renderer_for(extension(filename));
|
|
24
|
-
PreviewPlan {
|
|
25
|
-
filename,
|
|
26
|
-
renderer,
|
|
27
|
-
lazy: renderer != "fallback",
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
fn main() {
|
|
32
|
-
let files = ["invoice.ofd", "drawing.dxf", "house.dwfx", "main.rs", "archive.bin"];
|
|
33
|
-
for item in files.iter().map(|filename| plan(filename)) {
|
|
34
|
-
println!("{:?}", item);
|
|
35
|
-
}
|
|
36
|
-
}
|