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.
Files changed (377) hide show
  1. package/README.en.md +7 -377
  2. package/README.md +8 -352
  3. package/dist/file-viewer3.css +1 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/package.json +27 -129
  7. package/dist/_headers +0 -22
  8. package/dist/assets/3MFLoader--yjh7udp.js +0 -1
  9. package/dist/assets/AMFLoader-C0y7NIAO.js +0 -1
  10. package/dist/assets/ArchiveViewer-6AvBZVl3.js +0 -2
  11. package/dist/assets/ArchiveViewer-B2pHxHFv.css +0 -1
  12. package/dist/assets/AudioViewer-0CSMvCtp.css +0 -1
  13. package/dist/assets/AudioViewer-6a_DDcur.js +0 -1
  14. package/dist/assets/CadViewer-A9PKtCth.css +0 -1
  15. package/dist/assets/CadViewer-D94LUXKO.js +0 -110
  16. package/dist/assets/CodeViewer-BdZGsbFh.js +0 -2
  17. package/dist/assets/CodeViewer-CR2CsPRi.css +0 -1
  18. package/dist/assets/ColladaLoader-DTiuvWJL.js +0 -3
  19. package/dist/assets/DrawingViewer-BplS278E.js +0 -2
  20. package/dist/assets/DrawingViewer-DXiF5YWV.css +0 -1
  21. package/dist/assets/EdaViewer-BXH1Jmwr.js +0 -8
  22. package/dist/assets/EdaViewer-CKf1YQnh.css +0 -1
  23. package/dist/assets/EmailViewer-BsBKZ_A5.js +0 -4
  24. package/dist/assets/EmailViewer-BwvGE4ns.css +0 -1
  25. package/dist/assets/EpubViewer-Cci0l1Vm.css +0 -1
  26. package/dist/assets/EpubViewer-DlGzr8_x.js +0 -2
  27. package/dist/assets/FBXLoader-Bj34Z_uf.js +0 -1
  28. package/dist/assets/GLTFLoader-BNUIXeRP.js +0 -1
  29. package/dist/assets/ImageViewer-BKp7YpMs.css +0 -10
  30. package/dist/assets/ImageViewer-D1Yc0jYg.js +0 -1
  31. package/dist/assets/KMZLoader-DTmXWzX_.js +0 -1
  32. package/dist/assets/MarkdownViewer-CIljbLlu.css +0 -1
  33. package/dist/assets/MarkdownViewer-CRi0rhWw.js +0 -64
  34. package/dist/assets/ModelViewer-C4ir9AyI.css +0 -1
  35. package/dist/assets/ModelViewer-yxcVdLzz.js +0 -2
  36. package/dist/assets/OBJLoader-DW4Mv-mq.js +0 -5
  37. package/dist/assets/OfdViewer-DbkG1-Bp.js +0 -2
  38. package/dist/assets/OfdViewer-Ulv-WZWh.css +0 -1
  39. package/dist/assets/PCDLoader-CHA1g8rk.js +0 -3
  40. package/dist/assets/PLYLoader-DwTzA-Dg.js +0 -2
  41. package/dist/assets/PdfView-_Uu48dkU.js +0 -558
  42. package/dist/assets/PdfView-fKwbB_8j.css +0 -1
  43. package/dist/assets/PptxRender-BNoW_9_0.css +0 -1
  44. package/dist/assets/PptxRender-myCCfHiR.js +0 -32
  45. package/dist/assets/STLLoader-Bt7FMgMu.js +0 -1
  46. package/dist/assets/TDSLoader-D__OhSS9.js +0 -1
  47. package/dist/assets/TypstViewer-4dMAIp9x.js +0 -60
  48. package/dist/assets/TypstViewer-BgYR02wU.css +0 -1
  49. package/dist/assets/USDLoader-BovI5HgZ.js +0 -6
  50. package/dist/assets/UmdViewer-BfIWw5dV.js +0 -3
  51. package/dist/assets/UmdViewer-DpObj56a.css +0 -1
  52. package/dist/assets/VRMLLoader-_VxVXPvX.js +0 -140
  53. package/dist/assets/VTKLoader-BfnzBXsa.js +0 -3
  54. package/dist/assets/XYZLoader-DbQZs-aZ.js +0 -2
  55. package/dist/assets/XlsxTable-CKmWT6Iw.js +0 -5
  56. package/dist/assets/XlsxTable-Ccp_ksQc.css +0 -1
  57. package/dist/assets/__vite-browser-external-j1Zxnfxm.js +0 -1
  58. package/dist/assets/ar-SA-G6X2FPQ2-h0GtAVoD.js +0 -10
  59. package/dist/assets/arc-C_eH0vTw.js +0 -1
  60. package/dist/assets/architecture-7EHR7CIX-nPLvVkG5.js +0 -1
  61. package/dist/assets/architectureDiagram-3BPJPVTR-Cx8fJaC_.js +0 -36
  62. package/dist/assets/archive-D-0w4Z7t.js +0 -2
  63. package/dist/assets/audio-IkwcqgJA.js +0 -2
  64. package/dist/assets/az-AZ-76LH7QW2-D_aQ-6Zd.js +0 -1
  65. package/dist/assets/bash-LmRjUKlR.js +0 -1
  66. package/dist/assets/bg-BG-XCXSNQG7-H7Czia1L.js +0 -5
  67. package/dist/assets/blockDiagram-GPEHLZMM-v3Efy6dm.js +0 -132
  68. package/dist/assets/bn-BD-2XOGV67Q-f6ymEr9g.js +0 -5
  69. package/dist/assets/c4Diagram-AAUBKEIU-BdstYnMv.js +0 -10
  70. package/dist/assets/ca-ES-6MX7JW3Y-DTzyqWmS.js +0 -8
  71. package/dist/assets/cad-DFnQbJJO.js +0 -2
  72. package/dist/assets/cfb-Bv6fOQ4m.js +0 -11
  73. package/dist/assets/channel-C66J400U.js +0 -1
  74. package/dist/assets/chunk-2J33WTMH-BoyKZPbs.js +0 -1
  75. package/dist/assets/chunk-3OPIFGDE-a_QAVzsM.js +0 -62
  76. package/dist/assets/chunk-4BX2VUAB-DZj4_o2K.js +0 -1
  77. package/dist/assets/chunk-55IACEB6-C7hP08Mf.js +0 -1
  78. package/dist/assets/chunk-5ZQYHXKU-DBQ_7Zc2.js +0 -2
  79. package/dist/assets/chunk-6U3AYISY-C6-Mtja1.js +0 -12
  80. package/dist/assets/chunk-727SXJPM-BVNP_kQ-.js +0 -206
  81. package/dist/assets/chunk-AGHRB4JF-DrBKq3qz.js +0 -1
  82. package/dist/assets/chunk-AQP2D5EJ-0N6k4ROT.js +0 -231
  83. package/dist/assets/chunk-BSJP7CBP-b8olRIQO.js +0 -1
  84. package/dist/assets/chunk-CSCIHK7Q-B5j-yHKS.js +0 -124
  85. package/dist/assets/chunk-EIO257PC-C6qii-N9.js +0 -22
  86. package/dist/assets/chunk-FMBD7UC4-CBBZh2UU.js +0 -15
  87. package/dist/assets/chunk-K2UTITRG-Cx4xt2xV.js +0 -35
  88. package/dist/assets/chunk-KSCS5N6A-Dwg0HTxH.js +0 -10
  89. package/dist/assets/chunk-L5ZTLDWV-BPuCpePB.js +0 -1
  90. package/dist/assets/chunk-LZXEDZCA-CvLuVK3G.js +0 -2
  91. package/dist/assets/chunk-ND2GUHAM-CWJPhGEg.js +0 -1
  92. package/dist/assets/chunk-NNHCCRGN-DlpIbxXb.js +0 -159
  93. package/dist/assets/chunk-NZK2D7GU-DuaLWEa1.js +0 -1
  94. package/dist/assets/chunk-O5CBEL6O-dK2KeDfH.js +0 -70
  95. package/dist/assets/chunk-QZHKN3VN-4Bf82riF.js +0 -1
  96. package/dist/assets/chunk-SRAX5OIU-BhbLEiib.js +0 -1
  97. package/dist/assets/chunk-WU5MYG2G-DLkui5D2.js +0 -1
  98. package/dist/assets/chunk-XPW4576I-BvXQTKbm.js +0 -32
  99. package/dist/assets/chunk-Z3N5DIM6-D9TMVU7m.js +0 -1
  100. package/dist/assets/chunk-ZUYEQ4TG-BzFOpW--.js +0 -7
  101. package/dist/assets/classDiagram-4FO5ZUOK-DKj6zlra.js +0 -1
  102. package/dist/assets/classDiagram-v2-Q7XG4LA2-DKj6zlra.js +0 -1
  103. package/dist/assets/compare-BA1y8ff-.css +0 -1
  104. package/dist/assets/compare-QN3IusOj.js +0 -1
  105. package/dist/assets/compiler-qgJWLAtm.js +0 -1
  106. package/dist/assets/core-S5OLGxXP.js +0 -3
  107. package/dist/assets/cose-bilkent-S5V4N54A-CslZOqNN.js +0 -1
  108. package/dist/assets/cpp-V0F2hNk9.js +0 -1
  109. package/dist/assets/cs-CZ-2BRQDIVT-BRw0NNL_.js +0 -11
  110. package/dist/assets/csharp-GZmu99Fo.js +0 -1
  111. package/dist/assets/css-D5l_8KUR.js +0 -1
  112. package/dist/assets/cytoscape.esm-C8YCVR3_.js +0 -321
  113. package/dist/assets/da-DK-5WZEPLOC-q5u_UoZe.js +0 -5
  114. package/dist/assets/dagre-BM42HDAG-D6fpH9H3.js +0 -4
  115. package/dist/assets/dagre-Bx709z4p.js +0 -1
  116. package/dist/assets/de-DE-XR44H4JA-B79lsSt9.js +0 -8
  117. package/dist/assets/defaultLocale-C8Fc0cco.js +0 -1
  118. package/dist/assets/diagram-2AECGRRQ-DGviV3zF.js +0 -43
  119. package/dist/assets/diagram-5GNKFQAL-D8edmK5r.js +0 -10
  120. package/dist/assets/diagram-KO2AKTUF-DonC_-9l.js +0 -3
  121. package/dist/assets/diagram-LMA3HP47-T0-OD5uV.js +0 -24
  122. package/dist/assets/diagram-OG6HWLK6-BsRJiZE3.js +0 -24
  123. package/dist/assets/diff-CJb8JxGC.js +0 -1
  124. package/dist/assets/directory-open-01563666-D4xXyWb_.js +0 -1
  125. package/dist/assets/directory-open-4ed118d0-1i309Asm.js +0 -1
  126. package/dist/assets/dist-ND9DUPs_.js +0 -1
  127. package/dist/assets/dist-S-2Hyh3N.js +0 -1
  128. package/dist/assets/dist-jshluroQ.js +0 -27
  129. package/dist/assets/docx-preview-CAHEyNQy.js +0 -20
  130. package/dist/assets/drawing-B3sCN7BX.js +0 -2
  131. package/dist/assets/ebook-DDycOGR3.js +0 -2
  132. package/dist/assets/eda-JxVOVy9j.js +0 -2
  133. package/dist/assets/el-GR-BZB4AONW-DVV0CNhT.js +0 -10
  134. package/dist/assets/email-D9tCfCzQ.js +0 -2
  135. package/dist/assets/en-B4ZKOASM-CpbJugBW.js +0 -1
  136. package/dist/assets/erDiagram-TEJ5UH35-O-dDoXsU.js +0 -85
  137. package/dist/assets/es-ES-U4NZUMDT-DUvN9FXg.js +0 -9
  138. package/dist/assets/eu-ES-A7QVB2H4-DV6UAZB_.js +0 -11
  139. package/dist/assets/eventmodeling-FCH6USID-BONfeu8r.js +0 -1
  140. package/dist/assets/fa-IR-HGAKTJCU-0ql2xhuq.js +0 -8
  141. package/dist/assets/fflate.module-BIQmJeC9.js +0 -1
  142. package/dist/assets/fi-FI-Z5N7JZ37-CxtRUMtw.js +0 -6
  143. package/dist/assets/file-open-002ab408-BHUWm0Sh.js +0 -1
  144. package/dist/assets/file-open-7c801643-DZtJT5zp.js +0 -1
  145. package/dist/assets/file-save-3189631c-CO9S4HFW.js +0 -1
  146. package/dist/assets/file-save-745eba88-Bwdfz6OZ.js +0 -1
  147. package/dist/assets/flowDiagram-I6XJVG4X-DsWkZiFB.js +0 -162
  148. package/dist/assets/fr-FR-RHASNOE6-CLi1nCBA.js +0 -9
  149. package/dist/assets/ganttDiagram-6RSMTGT7-r5IfYmu1.js +0 -292
  150. package/dist/assets/gitGraph-WXDBUCRP-BPjRwtiT.js +0 -1
  151. package/dist/assets/gitGraphDiagram-PVQCEYII-DGYT-2sl.js +0 -106
  152. package/dist/assets/gl-ES-HMX3MZ6V-NMLOwshd.js +0 -10
  153. package/dist/assets/global-compiler-D1EEBbpA.js +0 -1
  154. package/dist/assets/global-renderer-AKzBLvRw.js +0 -1
  155. package/dist/assets/go-B-PCS5zA.js +0 -1
  156. package/dist/assets/graphlib-B8gBHxth.js +0 -1
  157. package/dist/assets/he-IL-6SHJWFNN-BWPkP_3r.js +0 -10
  158. package/dist/assets/hi-IN-IWLTKZ5I-KNyxys-k.js +0 -4
  159. package/dist/assets/hu-HU-A5ZG7DT2-BjcxkVW9.js +0 -7
  160. package/dist/assets/id-ID-SAP4L64H-B-oUkzcH.js +0 -10
  161. package/dist/assets/image-6zdrB4g6.js +0 -2
  162. package/dist/assets/image-GAAHSSAO-7tK5sChZ.js +0 -1
  163. package/dist/assets/image-blob-reduce.esm-NzmDxm1v.js +0 -2
  164. package/dist/assets/info-J43DQDTF-sQY7EXUc.js +0 -1
  165. package/dist/assets/infoDiagram-5YYISTIA-Dzg1KIdJ.js +0 -2
  166. package/dist/assets/ini-B1CroMsf.js +0 -1
  167. package/dist/assets/init-D6jRqBbL.js +0 -1
  168. package/dist/assets/ishikawaDiagram-YF4QCWOH-C4gAmRlT.js +0 -70
  169. package/dist/assets/it-IT-JPQ66NNP-Bwud0QsX.js +0 -11
  170. package/dist/assets/ja-JP-DBVTYXUO-DgNQ5bjg.js +0 -8
  171. package/dist/assets/java-ChVphriW.js +0 -1
  172. package/dist/assets/javascript-w9aIBC1S.js +0 -1
  173. package/dist/assets/journeyDiagram-JHISSGLW-ofw85AZe.js +0 -139
  174. package/dist/assets/json-DS4EA3dC.js +0 -1
  175. package/dist/assets/jszip.min-C7VJhIfM.js +0 -2
  176. package/dist/assets/kaa-6HZHGXH3-BMz8LTXv.js +0 -1
  177. package/dist/assets/kab-KAB-ZGHBKWFO-B9w0Zir8.js +0 -8
  178. package/dist/assets/kanban-definition-UN3LZRKU-CljG07f4.js +0 -89
  179. package/dist/assets/katex-Vhh-h91d.js +0 -257
  180. package/dist/assets/kk-KZ-P5N5QNE5-2tUcaoKh.js +0 -1
  181. package/dist/assets/km-KH-HSX4SM5Z-_kaSqGhJ.js +0 -11
  182. package/dist/assets/ko-KR-MTYHY66A-CIjaox2B.js +0 -9
  183. package/dist/assets/ku-TR-6OUDTVRD-CkLMAwgC.js +0 -9
  184. package/dist/assets/lib-CxFoY_GP.js +0 -6
  185. package/dist/assets/libarchive-DknIq1tb.js +0 -1
  186. package/dist/assets/libarchive-DxGirPmi.wasm +0 -0
  187. package/dist/assets/linear-DAeDjlp3.js +0 -1
  188. package/dist/assets/logo-DG62cSZK.png +0 -0
  189. package/dist/assets/lt-LT-XHIRWOB4-BsH7UAds.js +0 -3
  190. package/dist/assets/lv-LV-5QDEKY6T-DH8to9BS.js +0 -7
  191. package/dist/assets/main-B8S7RFzE.js +0 -4
  192. package/dist/assets/main-BZ1u3qpM.css +0 -1
  193. package/dist/assets/markdown-C8bVcNXx.js +0 -1
  194. package/dist/assets/md-OHaN-Ra2.js +0 -2
  195. package/dist/assets/mermaid-parser.core-DX-qibXo.js +0 -4
  196. package/dist/assets/mindmap-definition-RKZ34NQL-5NZ4x9hJ.js +0 -96
  197. package/dist/assets/model-B6Ua5SnP.js +0 -2
  198. package/dist/assets/mp4-Dho29Zd7.js +0 -1
  199. package/dist/assets/mr-IN-CRQNXWMA-BrKaFNSo.js +0 -13
  200. package/dist/assets/my-MM-5M5IBNSE-BZSEmctA.js +0 -1
  201. package/dist/assets/nb-NO-T6EIAALU-6a9gavJA.js +0 -10
  202. package/dist/assets/nestedRender-vUCW8qgY.js +0 -3
  203. package/dist/assets/nl-NL-IS3SIHDZ-uxPhLMYz.js +0 -8
  204. package/dist/assets/nn-NO-6E72VCQL-D4PNCwHO.js +0 -8
  205. package/dist/assets/oc-FR-POXYY2M6-C7kpaHdZ.js +0 -8
  206. package/dist/assets/ofd-CM51fmds.js +0 -2
  207. package/dist/assets/ofd-CsX4S_yH.js +0 -6
  208. package/dist/assets/ordinal-hYBb2elL.js +0 -1
  209. package/dist/assets/pa-IN-N4M65BXN-DudflUsb.js +0 -4
  210. package/dist/assets/package-BuR3Qm_h.css +0 -1
  211. package/dist/assets/package-DbhUOWuO.js +0 -296
  212. package/dist/assets/packet-YPE3B663-zJFiRlih.js +0 -1
  213. package/dist/assets/pdf-CZTifdsT.js +0 -2
  214. package/dist/assets/percentages-BXMCSKIN-DuKjcyNK.js +0 -1
  215. package/dist/assets/php-5k5YNuRS.js +0 -2
  216. package/dist/assets/pica-W1nY7k4k.js +0 -2
  217. package/dist/assets/pie-CZr-MxNa.js +0 -1
  218. package/dist/assets/pie-LRSECV5Y-ChrxPon2.js +0 -1
  219. package/dist/assets/pieDiagram-4H26LBE5-rqS9xOI6.js +0 -30
  220. package/dist/assets/pl-PL-T2D74RX3-BjwyDbo2.js +0 -9
  221. package/dist/assets/postal-mime-kkzCFkih.js +0 -29
  222. package/dist/assets/pptx-HCi3sDR0.js +0 -2
  223. package/dist/assets/printLayout-D2pf0W9y.js +0 -24
  224. package/dist/assets/prod-CAexHIHC.js +0 -149
  225. package/dist/assets/pt-BR-5N22H2LF-dhO4g53z.js +0 -9
  226. package/dist/assets/pt-PT-UZXXM6DQ-B0FVw5E6.js +0 -9
  227. package/dist/assets/python-DwhXSSGr.js +0 -1
  228. package/dist/assets/quadrantDiagram-W4KKPZXB-CvbA748i.js +0 -7
  229. package/dist/assets/radar-GUYGQ44K-Ch58tAlJ.js +0 -1
  230. package/dist/assets/reactivity.esm-bundler-Bfmlzvr-.js +0 -1
  231. package/dist/assets/renderer-69XMfifI.js +0 -1
  232. package/dist/assets/requirementDiagram-4Y6WPE33-Ek_Wtky1.js +0 -84
  233. package/dist/assets/ro-RO-JPDTUUEW-CRyQ9zJm.js +0 -11
  234. package/dist/assets/rough.esm-CIepY_sA.js +0 -1
  235. package/dist/assets/roundRect-D01gJrlt.js +0 -1
  236. package/dist/assets/ru-RU-B4JR7IUQ-Ccj6OqLf.js +0 -9
  237. package/dist/assets/runtime-core.esm-bundler-CR6OOEFf.js +0 -1
  238. package/dist/assets/rust-Dk33Kfe-.js +0 -1
  239. package/dist/assets/sankeyDiagram-5OEKKPKP-D3gZ6xE7.js +0 -40
  240. package/dist/assets/sequenceDiagram-3UESZ5HK-C5489xFA.js +0 -162
  241. package/dist/assets/si-LK-N5RQ5JYF-BwS2qaTv.js +0 -1
  242. package/dist/assets/sk-SK-C5VTKIMK-ly1tHoOw.js +0 -6
  243. package/dist/assets/sl-SI-NN7IZMDC-iZiOFm2y.js +0 -6
  244. package/dist/assets/sql-DWRKyvJ-.js +0 -1
  245. package/dist/assets/src-BrOGWJpF.js +0 -1
  246. package/dist/assets/src-D_n3k0l_.js +0 -5
  247. package/dist/assets/stateDiagram-AJRCARHV-1hoVbE34.js +0 -1
  248. package/dist/assets/stateDiagram-v2-BHNVJYJU-CZmypPHd.js +0 -1
  249. package/dist/assets/style-x1XGuNl0.css +0 -1
  250. package/dist/assets/subset-shared.chunk-CK2m59fy.js +0 -1
  251. package/dist/assets/subset-worker.chunk-B5G7hWyg.js +0 -1
  252. package/dist/assets/sv-SE-XGPEYMSR-BNpkY1PO.js +0 -10
  253. package/dist/assets/ta-IN-2NMHFXQM-DsldkrWk.js +0 -9
  254. package/dist/assets/text-CMp0EW11.js +0 -2
  255. package/dist/assets/th-TH-HPSO5L25-AVrKqKOh.js +0 -2
  256. package/dist/assets/three.module-BFsVh7r1.js +0 -4104
  257. package/dist/assets/time-B8nkukJS.js +0 -1
  258. package/dist/assets/timeline-definition-PNZ67QCA-CfMKM_FS.js +0 -120
  259. package/dist/assets/tr-TR-DEFEU3FU-DYarL0Oa.js +0 -7
  260. package/dist/assets/treeView-BLDUP644-CGGdcSoP.js +0 -1
  261. package/dist/assets/treemap-LRROVOQU-C3Zg5qig.js +0 -1
  262. package/dist/assets/typescript-BvteI6YB.js +0 -1
  263. package/dist/assets/typst-DOlgRigg.js +0 -2
  264. package/dist/assets/typst_ts_renderer_bg-DRRWm1TP.wasm +0 -0
  265. package/dist/assets/uk-UA-QMV73CPH-D36-a0jl.js +0 -6
  266. package/dist/assets/umd-r51rBtd2.js +0 -2
  267. package/dist/assets/vennDiagram-CIIHVFJN-GrdHiqIf.js +0 -34
  268. package/dist/assets/vi-VN-M7AON7JQ-zdUBY1Fz.js +0 -5
  269. package/dist/assets/wardley-L42UT6IY-ilBO1QYS.js +0 -1
  270. package/dist/assets/wardleyDiagram-YWT4CUSO-Cgr3uPws.js +0 -78
  271. package/dist/assets/wasm-C3ukMqzA.js +0 -1
  272. package/dist/assets/wasm-pack-shim-BShYmbRf.js +0 -1
  273. package/dist/assets/wasm-pack-shim-BnuNh1z7.js +0 -1
  274. package/dist/assets/word-DQCwLNG7.js +0 -150
  275. package/dist/assets/worker-bundle-Dx5mKZOL.js +0 -6
  276. package/dist/assets/worker-ref-BbTnHTC-.js +0 -1
  277. package/dist/assets/xlsx-B1qUDXfb.js +0 -2
  278. package/dist/assets/xlsx-ff7ER-JZ.png +0 -0
  279. package/dist/assets/xml-DasnpDVC.js +0 -1
  280. package/dist/assets/xychartDiagram-2RQKCTM6-BwoaSxOF.js +0 -7
  281. package/dist/assets/yaml-1XF8XcZB.js +0 -1
  282. package/dist/assets/zh-CN-LNUGB5OW-WQ7J6JkH.js +0 -10
  283. package/dist/assets/zh-HK-E62DVLB3-BoGXaBos.js +0 -1
  284. package/dist/assets/zh-TW-RAJ6MFWO-DZQOFop7.js +0 -9
  285. package/dist/compare.html +0 -21
  286. package/dist/example/README.md +0 -137
  287. package/dist/example/SOURCES.md +0 -49
  288. package/dist/example/app.log +0 -13
  289. package/dist/example/archive.tar.gz +0 -0
  290. package/dist/example/archive.zip +0 -0
  291. package/dist/example/audio.mp3 +0 -0
  292. package/dist/example/audio.ogg +0 -0
  293. package/dist/example/book.epub +0 -0
  294. package/dist/example/book.umd +0 -0
  295. package/dist/example/change.diff +0 -40
  296. package/dist/example/code.cjs +0 -38
  297. package/dist/example/code.css +0 -64
  298. package/dist/example/code.java +0 -55
  299. package/dist/example/code.js +0 -55
  300. package/dist/example/code.jsx +0 -43
  301. package/dist/example/code.mjs +0 -36
  302. package/dist/example/code.py +0 -56
  303. package/dist/example/code.ts +0 -78
  304. package/dist/example/code.tsx +0 -36
  305. package/dist/example/component.vue +0 -68
  306. package/dist/example/config.yaml +0 -48
  307. package/dist/example/config.yml +0 -25
  308. package/dist/example/data.json +0 -50
  309. package/dist/example/data.xml +0 -47
  310. package/dist/example/drawing.dxf +0 -22186
  311. package/dist/example/embedded.html +0 -316
  312. package/dist/example/excel.fods +0 -0
  313. package/dist/example/excel.numbers +0 -0
  314. package/dist/example/excel.ods +0 -0
  315. package/dist/example/excel.xls +0 -0
  316. package/dist/example/excel.xlsb +0 -0
  317. package/dist/example/excel.xlsm +0 -0
  318. package/dist/example/excel.xlsx +0 -0
  319. package/dist/example/flow.excalidraw +0 -1
  320. package/dist/example/index.php +0 -44
  321. package/dist/example/main.c +0 -39
  322. package/dist/example/main.cpp +0 -50
  323. package/dist/example/main.go +0 -55
  324. package/dist/example/main.h +0 -22
  325. package/dist/example/main.hpp +0 -28
  326. package/dist/example/main.rs +0 -36
  327. package/dist/example/markdown.md +0 -84
  328. package/dist/example/model.gltf +0 -66
  329. package/dist/example/model.obj +0 -10
  330. package/dist/example/model.ply +0 -18
  331. package/dist/example/model.step +0 -9
  332. package/dist/example/model.stl +0 -30
  333. package/dist/example/module.cc +0 -36
  334. package/dist/example/notes.markdown +0 -15
  335. package/dist/example/ofd.ofd +0 -0
  336. package/dist/example/page.htm +0 -29
  337. package/dist/example/page.html +0 -33
  338. package/dist/example/pdf.pdf +1 -9127
  339. package/dist/example/pic.bmp +0 -0
  340. package/dist/example/pic.gif +0 -0
  341. package/dist/example/pic.jpeg +0 -0
  342. package/dist/example/pic.jpg +0 -0
  343. package/dist/example/pic.png +0 -0
  344. package/dist/example/pic.tif +0 -0
  345. package/dist/example/pic.tiff +0 -0
  346. package/dist/example/pic.webp +0 -0
  347. package/dist/example/ppt.pptx +0 -0
  348. package/dist/example/process.drawio +0 -249
  349. package/dist/example/program.cs +0 -42
  350. package/dist/example/query.sql +0 -30
  351. package/dist/example/report.typ +0 -90
  352. package/dist/example/sample.dra +0 -0
  353. package/dist/example/sample.dwg +0 -0
  354. package/dist/example/sample.eml +0 -46
  355. package/dist/example/sample.msg +0 -0
  356. package/dist/example/sample.olb +0 -0
  357. package/dist/example/samples/apache/blocks_and_tables.dwf +0 -0
  358. package/dist/example/samples/autodesk/house.dwfx +0 -0
  359. package/dist/example/samples/autodesk/robot-arm.dwfx +0 -0
  360. package/dist/example/script.bash +0 -36
  361. package/dist/example/script.sh +0 -24
  362. package/dist/example/settings.ini +0 -23
  363. package/dist/example/table.csv +0 -4
  364. package/dist/example/template.dot +0 -0
  365. package/dist/example/test.doc +0 -0
  366. package/dist/example/text.txt +0 -3
  367. package/dist/example/vector.svg +0 -6
  368. package/dist/example/video.mp4 +0 -0
  369. package/dist/example/word.docx +0 -0
  370. package/dist/favicon.ico +0 -0
  371. package/dist/index.html +0 -302
  372. package/dist/vendor/libarchive/libarchive.wasm +0 -0
  373. package/dist/vendor/libarchive/worker-bundle.js +0 -6
  374. package/dist/wasm/cad/dwfv-render.wasm +0 -0
  375. package/dist/wasm/cad/dwg-worker.js +0 -24
  376. package/dist/wasm/cad/libredwg-web.js +0 -15
  377. 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>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
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":{}}
@@ -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);
@@ -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
- }
@@ -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
- }
@@ -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
- }
@@ -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);
@@ -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);
@@ -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
- }