@eternalheart/react-file-preview 1.3.10 → 1.3.12

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 (284) hide show
  1. package/lib/RequestContext.d.ts +1 -1
  2. package/lib/RequestContext.d.ts.map +1 -1
  3. package/lib/chunks/RendererError-BH6fzLrN.mjs +15 -0
  4. package/lib/chunks/RendererError-BH6fzLrN.mjs.map +1 -0
  5. package/lib/chunks/avifLoader-BP3fgcMm-BnpxLhxp.mjs +56 -0
  6. package/lib/chunks/avifLoader-BP3fgcMm-BnpxLhxp.mjs.map +1 -0
  7. package/lib/chunks/heicLoader-CH_raQNn-1fBLaICM.mjs +37 -0
  8. package/lib/chunks/heicLoader-CH_raQNn-1fBLaICM.mjs.map +1 -0
  9. package/lib/chunks/index-BBvL23cc.mjs +105 -0
  10. package/lib/chunks/index-BBvL23cc.mjs.map +1 -0
  11. package/lib/chunks/index-BCbSb9Ob.mjs +2323 -0
  12. package/lib/chunks/index-BCbSb9Ob.mjs.map +1 -0
  13. package/lib/chunks/{index-DveR0rOk.mjs → index-BPsJtP6e.mjs} +41 -38
  14. package/lib/chunks/index-BPsJtP6e.mjs.map +1 -0
  15. package/lib/chunks/index-CA8OvqPT.mjs +55 -0
  16. package/lib/chunks/index-CA8OvqPT.mjs.map +1 -0
  17. package/lib/chunks/index-CJGtdAy7.mjs +114 -0
  18. package/lib/chunks/index-CJGtdAy7.mjs.map +1 -0
  19. package/lib/chunks/{index-tecGXW2S.mjs → index-CeQf1qNC.mjs} +85 -83
  20. package/lib/chunks/index-CeQf1qNC.mjs.map +1 -0
  21. package/lib/chunks/{index-DPpUj8Yy.mjs → index-Cxf4CLJZ.mjs} +99 -98
  22. package/lib/chunks/index-Cxf4CLJZ.mjs.map +1 -0
  23. package/lib/chunks/index-D2t64h6I.mjs +96 -0
  24. package/lib/chunks/index-D2t64h6I.mjs.map +1 -0
  25. package/lib/chunks/{index-C5YHI0Zs.mjs → index-DAo4n3Mq.mjs} +52 -51
  26. package/lib/chunks/index-DAo4n3Mq.mjs.map +1 -0
  27. package/lib/chunks/index-DCTwUpKS.mjs +13097 -0
  28. package/lib/chunks/index-DCTwUpKS.mjs.map +1 -0
  29. package/lib/chunks/index-DJZWizxK.mjs +136 -0
  30. package/lib/chunks/index-DJZWizxK.mjs.map +1 -0
  31. package/lib/chunks/{index-DN8BQIqo.mjs → index-DRCA7PhQ.mjs} +79 -78
  32. package/lib/chunks/index-DRCA7PhQ.mjs.map +1 -0
  33. package/lib/chunks/index-DdkkEzw3.mjs +12335 -0
  34. package/lib/chunks/index-DdkkEzw3.mjs.map +1 -0
  35. package/lib/chunks/{index-DSAXdrgU.mjs → index-DlptjfMf.mjs} +76 -75
  36. package/lib/chunks/index-DlptjfMf.mjs.map +1 -0
  37. package/lib/chunks/{index-CwmZQ-JO.mjs → index-DrgP7cc7.mjs} +67 -64
  38. package/lib/chunks/index-DrgP7cc7.mjs.map +1 -0
  39. package/lib/chunks/index-Dx8aLIDX.mjs +113 -0
  40. package/lib/chunks/index-Dx8aLIDX.mjs.map +1 -0
  41. package/lib/chunks/index-fhiaa9rv.mjs +222 -0
  42. package/lib/chunks/index-fhiaa9rv.mjs.map +1 -0
  43. package/lib/chunks/index-qEUWJYQ5.mjs +594 -0
  44. package/lib/chunks/index-qEUWJYQ5.mjs.map +1 -0
  45. package/lib/chunks/index-vaILKWGV.mjs +54 -0
  46. package/lib/chunks/index-vaILKWGV.mjs.map +1 -0
  47. package/lib/chunks/jp2Loader-Bn-qPMbD-Bn-qPMbD.mjs +122 -0
  48. package/lib/chunks/jp2Loader-Bn-qPMbD-Bn-qPMbD.mjs.map +1 -0
  49. package/lib/chunks/psdLoader-Doxw3mWm-DVOGFSlh.mjs +73 -0
  50. package/lib/chunks/psdLoader-Doxw3mWm-DVOGFSlh.mjs.map +1 -0
  51. package/lib/chunks/rawLoader-0mLvxCNp-CJmERiK7.mjs +82 -0
  52. package/lib/chunks/rawLoader-0mLvxCNp-CJmERiK7.mjs.map +1 -0
  53. package/lib/chunks/tiffLoader-CTFKVLqJ-B84NfwhR.mjs +60 -0
  54. package/lib/chunks/tiffLoader-CTFKVLqJ-B84NfwhR.mjs.map +1 -0
  55. package/lib/chunks/{useShikiHighlight-DHFYu0BU.mjs → useShikiHighlight-Cq02e63J.mjs} +2 -2
  56. package/lib/chunks/{useShikiHighlight-DHFYu0BU.mjs.map → useShikiHighlight-Cq02e63J.mjs.map} +1 -1
  57. package/lib/index.cjs +31 -22
  58. package/lib/index.cjs.map +1 -1
  59. package/lib/index.css +1 -1
  60. package/lib/index.mjs +8 -8
  61. package/lib/renderers/Audio/index.d.ts.map +1 -1
  62. package/lib/renderers/Csv/index.d.ts.map +1 -1
  63. package/lib/renderers/Docx/index.d.ts.map +1 -1
  64. package/lib/renderers/Epub/index.d.ts.map +1 -1
  65. package/lib/renderers/Font/index.d.ts.map +1 -1
  66. package/lib/renderers/Image/index.d.ts +2 -0
  67. package/lib/renderers/Image/index.d.ts.map +1 -1
  68. package/lib/renderers/Json/index.d.ts.map +1 -1
  69. package/lib/renderers/Markdown/index.d.ts.map +1 -1
  70. package/lib/renderers/Mobi/index.d.ts.map +1 -1
  71. package/lib/renderers/Msg/index.d.ts.map +1 -1
  72. package/lib/renderers/Pdf/index.d.ts.map +1 -1
  73. package/lib/renderers/Pptx/index.d.ts.map +1 -1
  74. package/lib/renderers/RendererError.d.ts +8 -0
  75. package/lib/renderers/RendererError.d.ts.map +1 -0
  76. package/lib/renderers/Subtitle/index.d.ts.map +1 -1
  77. package/lib/renderers/Text/index.d.ts.map +1 -1
  78. package/lib/renderers/Video/index.d.ts +1 -0
  79. package/lib/renderers/Video/index.d.ts.map +1 -1
  80. package/lib/renderers/Xlsx/index.d.ts.map +1 -1
  81. package/lib/renderers/Xml/index.d.ts.map +1 -1
  82. package/lib/renderers/Zip/index.d.ts.map +1 -1
  83. package/package.json +13 -5
  84. package/lib/chunks/index-B0JUZ5rS.mjs +0 -110
  85. package/lib/chunks/index-B0JUZ5rS.mjs.map +0 -1
  86. package/lib/chunks/index-BAYc4aBz.mjs +0 -129
  87. package/lib/chunks/index-BAYc4aBz.mjs.map +0 -1
  88. package/lib/chunks/index-BOQJNL71.mjs +0 -103
  89. package/lib/chunks/index-BOQJNL71.mjs.map +0 -1
  90. package/lib/chunks/index-BkU8rK-0.mjs +0 -51
  91. package/lib/chunks/index-BkU8rK-0.mjs.map +0 -1
  92. package/lib/chunks/index-BnDoXBnH.mjs +0 -257
  93. package/lib/chunks/index-BnDoXBnH.mjs.map +0 -1
  94. package/lib/chunks/index-C5YHI0Zs.mjs.map +0 -1
  95. package/lib/chunks/index-CGNWXFy3.mjs +0 -2081
  96. package/lib/chunks/index-CGNWXFy3.mjs.map +0 -1
  97. package/lib/chunks/index-CwmZQ-JO.mjs.map +0 -1
  98. package/lib/chunks/index-CzflrElZ.mjs +0 -52
  99. package/lib/chunks/index-CzflrElZ.mjs.map +0 -1
  100. package/lib/chunks/index-CztCCF7q.mjs +0 -116
  101. package/lib/chunks/index-CztCCF7q.mjs.map +0 -1
  102. package/lib/chunks/index-DKEcGewg.mjs +0 -96
  103. package/lib/chunks/index-DKEcGewg.mjs.map +0 -1
  104. package/lib/chunks/index-DN8BQIqo.mjs.map +0 -1
  105. package/lib/chunks/index-DPpUj8Yy.mjs.map +0 -1
  106. package/lib/chunks/index-DSAXdrgU.mjs.map +0 -1
  107. package/lib/chunks/index-DveR0rOk.mjs.map +0 -1
  108. package/lib/chunks/index-QfO-sASN.mjs +0 -152
  109. package/lib/chunks/index-QfO-sASN.mjs.map +0 -1
  110. package/lib/chunks/index-h9bO9wmq.mjs +0 -99
  111. package/lib/chunks/index-h9bO9wmq.mjs.map +0 -1
  112. package/lib/chunks/index-mvSVNKlQ.mjs +0 -228
  113. package/lib/chunks/index-mvSVNKlQ.mjs.map +0 -1
  114. package/lib/chunks/index-tecGXW2S.mjs.map +0 -1
  115. package/lib/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
  116. package/lib/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
  117. package/lib/pdfjs/cmaps/78-H.bcmap +0 -0
  118. package/lib/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
  119. package/lib/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
  120. package/lib/pdfjs/cmaps/78-V.bcmap +0 -0
  121. package/lib/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
  122. package/lib/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
  123. package/lib/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
  124. package/lib/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
  125. package/lib/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
  126. package/lib/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
  127. package/lib/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
  128. package/lib/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
  129. package/lib/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
  130. package/lib/pdfjs/cmaps/Add-H.bcmap +0 -0
  131. package/lib/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
  132. package/lib/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
  133. package/lib/pdfjs/cmaps/Add-V.bcmap +0 -0
  134. package/lib/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
  135. package/lib/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
  136. package/lib/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
  137. package/lib/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
  138. package/lib/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
  139. package/lib/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
  140. package/lib/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
  141. package/lib/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  142. package/lib/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
  143. package/lib/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
  144. package/lib/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
  145. package/lib/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
  146. package/lib/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
  147. package/lib/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
  148. package/lib/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  149. package/lib/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
  150. package/lib/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
  151. package/lib/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
  152. package/lib/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
  153. package/lib/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
  154. package/lib/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
  155. package/lib/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
  156. package/lib/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  157. package/lib/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
  158. package/lib/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
  159. package/lib/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
  160. package/lib/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  161. package/lib/pdfjs/cmaps/B5-H.bcmap +0 -0
  162. package/lib/pdfjs/cmaps/B5-V.bcmap +0 -0
  163. package/lib/pdfjs/cmaps/B5pc-H.bcmap +0 -0
  164. package/lib/pdfjs/cmaps/B5pc-V.bcmap +0 -0
  165. package/lib/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
  166. package/lib/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
  167. package/lib/pdfjs/cmaps/CNS1-H.bcmap +0 -0
  168. package/lib/pdfjs/cmaps/CNS1-V.bcmap +0 -0
  169. package/lib/pdfjs/cmaps/CNS2-H.bcmap +0 -0
  170. package/lib/pdfjs/cmaps/CNS2-V.bcmap +0 -3
  171. package/lib/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
  172. package/lib/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
  173. package/lib/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
  174. package/lib/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
  175. package/lib/pdfjs/cmaps/ETenms-B5-H.bcmap +0 -3
  176. package/lib/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
  177. package/lib/pdfjs/cmaps/EUC-H.bcmap +0 -0
  178. package/lib/pdfjs/cmaps/EUC-V.bcmap +0 -0
  179. package/lib/pdfjs/cmaps/Ext-H.bcmap +0 -0
  180. package/lib/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
  181. package/lib/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
  182. package/lib/pdfjs/cmaps/Ext-V.bcmap +0 -0
  183. package/lib/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
  184. package/lib/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
  185. package/lib/pdfjs/cmaps/GB-H.bcmap +0 -4
  186. package/lib/pdfjs/cmaps/GB-V.bcmap +0 -0
  187. package/lib/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
  188. package/lib/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
  189. package/lib/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
  190. package/lib/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
  191. package/lib/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
  192. package/lib/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
  193. package/lib/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
  194. package/lib/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
  195. package/lib/pdfjs/cmaps/GBT-H.bcmap +0 -0
  196. package/lib/pdfjs/cmaps/GBT-V.bcmap +0 -0
  197. package/lib/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
  198. package/lib/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
  199. package/lib/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
  200. package/lib/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
  201. package/lib/pdfjs/cmaps/H.bcmap +0 -0
  202. package/lib/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
  203. package/lib/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
  204. package/lib/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
  205. package/lib/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
  206. package/lib/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
  207. package/lib/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
  208. package/lib/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
  209. package/lib/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
  210. package/lib/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
  211. package/lib/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
  212. package/lib/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
  213. package/lib/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
  214. package/lib/pdfjs/cmaps/Hankaku.bcmap +0 -0
  215. package/lib/pdfjs/cmaps/Hiragana.bcmap +0 -0
  216. package/lib/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
  217. package/lib/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
  218. package/lib/pdfjs/cmaps/KSC-H.bcmap +0 -0
  219. package/lib/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
  220. package/lib/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
  221. package/lib/pdfjs/cmaps/KSC-V.bcmap +0 -0
  222. package/lib/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
  223. package/lib/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  224. package/lib/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  225. package/lib/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
  226. package/lib/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
  227. package/lib/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
  228. package/lib/pdfjs/cmaps/Katakana.bcmap +0 -0
  229. package/lib/pdfjs/cmaps/LICENSE +0 -36
  230. package/lib/pdfjs/cmaps/NWP-H.bcmap +0 -0
  231. package/lib/pdfjs/cmaps/NWP-V.bcmap +0 -0
  232. package/lib/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
  233. package/lib/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
  234. package/lib/pdfjs/cmaps/Roman.bcmap +0 -0
  235. package/lib/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  236. package/lib/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  237. package/lib/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  238. package/lib/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  239. package/lib/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  240. package/lib/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  241. package/lib/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  242. package/lib/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  243. package/lib/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
  244. package/lib/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
  245. package/lib/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
  246. package/lib/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
  247. package/lib/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
  248. package/lib/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
  249. package/lib/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
  250. package/lib/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
  251. package/lib/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  252. package/lib/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  253. package/lib/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  254. package/lib/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  255. package/lib/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  256. package/lib/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  257. package/lib/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  258. package/lib/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  259. package/lib/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  260. package/lib/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  261. package/lib/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  262. package/lib/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  263. package/lib/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  264. package/lib/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  265. package/lib/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  266. package/lib/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  267. package/lib/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  268. package/lib/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  269. package/lib/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  270. package/lib/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  271. package/lib/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  272. package/lib/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  273. package/lib/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  274. package/lib/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
  275. package/lib/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
  276. package/lib/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
  277. package/lib/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
  278. package/lib/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
  279. package/lib/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
  280. package/lib/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
  281. package/lib/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
  282. package/lib/pdfjs/cmaps/V.bcmap +0 -0
  283. package/lib/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
  284. package/lib/pdfjs/pdf.worker.min.mjs +0 -21
package/lib/index.mjs CHANGED
@@ -1,15 +1,15 @@
1
- import { f as i, g as o, i as r, j as l, l as P, V as f, m, A as n, n as d, o as t, u as F } from "./chunks/index-CGNWXFy3.mjs";
1
+ import { d as r, e as i, f as o, L as l, v as P, V as d, g as f, B as m, w as n, h as t, u as F } from "./chunks/index-BCbSb9Ob.mjs";
2
2
  import * as e from "pdfjs-dist/build/pdf.mjs";
3
3
  export {
4
- i as FilePreviewContent,
5
- o as FilePreviewEmbed,
6
- r as FilePreviewModal,
4
+ r as FilePreviewContent,
5
+ i as FilePreviewEmbed,
6
+ o as FilePreviewModal,
7
7
  l as LocaleProvider,
8
8
  P as SUPPORTED_FILE_TYPES,
9
- f as VERSION,
10
- m as configurePdfjs,
11
- n as normalizeFile,
12
- d as normalizeFiles,
9
+ d as VERSION,
10
+ f as configurePdfjs,
11
+ m as normalizeFile,
12
+ n as normalizeFiles,
13
13
  e as pdfjs,
14
14
  t as useLocale,
15
15
  F as useTranslator
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Audio/index.tsx"],"names":[],"mappings":"AAoJA,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwVtD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Audio/index.tsx"],"names":[],"mappings":"AAqJA,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkVtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Csv/index.tsx"],"names":[],"mappings":"AAGA,OAAO,0CAA0C,CAAC;AAUlD,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoLlD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Csv/index.tsx"],"names":[],"mappings":"AAEA,OAAO,0CAA0C,CAAC;AAWlD,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiLlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Docx/index.tsx"],"names":[],"mappings":"AAKA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAeD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0IpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Docx/index.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAeD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuIpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Epub/index.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AA8BD,eAAO,MAAM,YAAY,kHAiWxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Epub/index.tsx"],"names":[],"mappings":"AAsBA,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AA8BD,eAAO,MAAM,YAAY,kHA8VxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Font/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAOxE,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAsBD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgOpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Font/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA2BxE,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAyBD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAySpD,CAAC"}
@@ -1,9 +1,11 @@
1
+ import type { PreviewFile } from '@eternalheart/file-preview-core';
1
2
  interface ImageRendererProps {
2
3
  url: string;
3
4
  zoom: number;
4
5
  rotation: number;
5
6
  resetKey?: number;
6
7
  fileSize?: number;
8
+ file?: PreviewFile | File;
7
9
  onZoomChange?: (zoom: number) => void;
8
10
  onNaturalWidthChange?: (width: number) => void;
9
11
  onNaturalHeightChange?: (height: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Image/index.tsx"],"names":[],"mappings":"AAIA,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0LtD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Image/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgZtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Json/index.tsx"],"names":[],"mappings":"AAOA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAwJD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiDpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Json/index.tsx"],"names":[],"mappings":"AASA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAwJD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+CpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Markdown/index.tsx"],"names":[],"mappings":"AAWA,OAAO,0BAA0B,CAAC;AAElC,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CACjC;AA6ED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAyM5D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Markdown/index.tsx"],"names":[],"mappings":"AAYA,OAAO,0BAA0B,CAAC;AAElC,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CACjC;AA6ED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA4M5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Mobi/index.tsx"],"names":[],"mappings":"AASA,OAAO,oBAAoB,CAAC;AA+B5B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED,eAAO,MAAM,YAAY,kHAiQxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Mobi/index.tsx"],"names":[],"mappings":"AASA,OAAO,oBAAoB,CAAC;AAgC5B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED,eAAO,MAAM,YAAY,kHA+PxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Msg/index.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAoGD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA+RlD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Msg/index.tsx"],"names":[],"mappings":"AAQA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAoGD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4RlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pdf/index.tsx"],"names":[],"mappings":"AA0BA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8TlD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pdf/index.tsx"],"names":[],"mappings":"AA2BA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA+TlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pptx/index.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6UpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pptx/index.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyTpD,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface RendererErrorProps {
2
+ message: string;
3
+ detail?: string;
4
+ showIcon?: boolean;
5
+ }
6
+ export declare const RendererError: React.FC<RendererErrorProps>;
7
+ export {};
8
+ //# sourceMappingURL=RendererError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RendererError.d.ts","sourceRoot":"","sources":["../../src/renderers/RendererError.tsx"],"names":[],"mappings":"AAEA,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsBtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Subtitle/index.tsx"],"names":[],"mappings":"AAWA,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkBD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAmI5D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Subtitle/index.tsx"],"names":[],"mappings":"AAYA,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkBD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAiI5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Text/index.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsFpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Text/index.tsx"],"names":[],"mappings":"AAOA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAmFpD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import 'video.js/dist/video-js.css';
2
2
  interface VideoRendererProps {
3
3
  url: string;
4
+ fileName?: string;
4
5
  }
5
6
  export declare const VideoRenderer: React.FC<VideoRendererProps>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Video/index.tsx"],"names":[],"mappings":"AAEA,OAAO,4BAA4B,CAAC;AAKpC,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAoBD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgItD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Video/index.tsx"],"names":[],"mappings":"AAEA,OAAO,4BAA4B,CAAC;AAMpC,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAmCD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoJtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Xlsx/index.tsx"],"names":[],"mappings":"AAIA,OAAO,0CAA0C,CAAC;AAKlD,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwOpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Xlsx/index.tsx"],"names":[],"mappings":"AAGA,OAAO,0CAA0C,CAAC;AAMlD,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsNpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Xml/index.tsx"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2CD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyDlD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Xml/index.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2CD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsDlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Zip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AASjD,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AA4HD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyOlD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Zip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAwB1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AASjD,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AA4HD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsOlD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternalheart/react-file-preview",
3
- "version": "1.3.10",
3
+ "version": "1.3.12",
4
4
  "description": "A modern, feature-rich file preview component for React with support for images, videos, audio, PDFs, Office documents (Word, Excel, PowerPoint), Markdown, and code files.",
5
5
  "type": "module",
6
6
  "main": "./lib/index.cjs",
@@ -57,8 +57,10 @@
57
57
  "url": "https://github.com/wh131462"
58
58
  },
59
59
  "scripts": {
60
- "build": "vite build && tsc --project tsconfig.json",
61
- "dev": "vite build --watch --emptyOutDir false",
60
+ "build:esm": "vite build --mode esm",
61
+ "build:cjs": "vite build --mode cjs",
62
+ "build": "pnpm --filter @eternalheart/file-preview-core build && pnpm build:esm && pnpm build:cjs && tsc --project tsconfig.json",
63
+ "dev": "pnpm --filter @eternalheart/file-preview-core build && vite build --mode esm --watch --emptyOutDir false",
62
64
  "prepublishOnly": "pnpm build",
63
65
  "version:patch": "npm version patch",
64
66
  "version:minor": "npm version minor",
@@ -73,13 +75,18 @@
73
75
  "react-dom": "^18.0.0"
74
76
  },
75
77
  "dependencies": {
78
+ "@cornerstonejs/codec-openjpeg": "^1.3.0",
79
+ "@jsquash/avif": "^2.1.1",
76
80
  "@kenjiuno/msgreader": "^1.28.0",
77
81
  "@likecoin/epub-ts": "^0.6.0",
78
- "@videojs-player/react": "^1.0.0",
82
+ "ag-psd": "^30.1.1",
79
83
  "docx-preview": "^0.3.2",
80
84
  "exceljs": "^4.4.0",
81
85
  "foliate-js": "1.0.1",
82
86
  "framer-motion": "^11.11.17",
87
+ "heic2any": "^0.0.4",
88
+ "jpeg2000": "^1.1.1",
89
+ "jsonc-parser": "^3.3.1",
83
90
  "jszip": "^3.10.1",
84
91
  "katex": "^0.16.45",
85
92
  "lucide-react": "^0.460.0",
@@ -93,16 +100,17 @@
93
100
  "remark-gfm": "^4.0.1",
94
101
  "remark-math": "^6.0.0",
95
102
  "shiki": "^1.29.2",
103
+ "utif": "^3.1.0",
96
104
  "video.js": "^8.23.4",
97
105
  "x-data-spreadsheet": "^1.1.9"
98
106
  },
99
107
  "devDependencies": {
100
108
  "@eternalheart/file-preview-core": "workspace:*",
101
109
  "@types/node": "^24.10.1",
110
+ "@types/opentype.js": "1.3.10",
102
111
  "@types/react": "^18.3.12",
103
112
  "@types/react-dom": "^18.3.1",
104
113
  "@vitejs/plugin-react": "^4.3.4",
105
- "@types/opentype.js": "1.3.10",
106
114
  "autoprefixer": "^10.4.20",
107
115
  "postcss": "^8.4.49",
108
116
  "postcss-prefix-selector": "^2.1.1",
@@ -1,110 +0,0 @@
1
- import { jsx as r, jsxs as s, Fragment as N } from "react/jsx-runtime";
2
- import { useMemo as j, useState as m, useEffect as v, useCallback as S } from "react";
3
- import { ChevronDown as L, ChevronRight as $ } from "lucide-react";
4
- import { u as k, a as C, b as O, F as E } from "./index-CGNWXFy3.mjs";
5
- const R = {
6
- key: "#9cdcfe",
7
- string: "#ce9178",
8
- number: "#b5cea8",
9
- keyword: "#569cd6",
10
- bracket: "#d4d4d4",
11
- colon: "rgb(255 255 255 / 0.6)",
12
- collapsed: "rgb(255 255 255 / 0.4)",
13
- arrow: "rgb(255 255 255 / 0.5)"
14
- }, J = {
15
- key: "#005cc5",
16
- string: "#032f62",
17
- number: "#005cc5",
18
- keyword: "#d73a49",
19
- bracket: "#24292e",
20
- colon: "rgb(23 23 23 / 0.6)",
21
- collapsed: "rgb(23 23 23 / 0.45)",
22
- arrow: "rgb(23 23 23 / 0.55)"
23
- }, g = ({ keyName: e, value: n, depth: f, defaultExpanded: i, colors: t }) => {
24
- const d = k(), [a, y] = m(i), p = f * 20, h = S(() => y((o) => !o), []);
25
- if (n == null || typeof n != "object")
26
- return /* @__PURE__ */ s("div", { className: "rfp-flex rfp-items-start rfp-py-px rfp-font-mono rfp-text-sm", style: { paddingLeft: `${p}px` }, children: [
27
- /* @__PURE__ */ r("span", { className: "rfp-w-4 rfp-h-5 rfp-flex-shrink-0" }),
28
- e !== void 0 && /* @__PURE__ */ s("span", { className: "rfp-flex-shrink-0", style: { color: t.key }, children: [
29
- '"',
30
- e,
31
- '"',
32
- /* @__PURE__ */ r("span", { style: { color: t.colon }, children: ": " })
33
- ] }),
34
- A(n, t)
35
- ] });
36
- const l = Array.isArray(n), c = (l ? n : Object.entries(n)).length, b = l ? "[" : "{", u = l ? "]" : "}";
37
- return c === 0 ? /* @__PURE__ */ s("div", { className: "rfp-flex rfp-items-start rfp-py-px rfp-font-mono rfp-text-sm", style: { paddingLeft: `${p}px` }, children: [
38
- /* @__PURE__ */ r("span", { className: "rfp-w-4 rfp-h-5 rfp-flex-shrink-0" }),
39
- e !== void 0 && /* @__PURE__ */ s("span", { className: "rfp-flex-shrink-0", style: { color: t.key }, children: [
40
- '"',
41
- e,
42
- '"',
43
- /* @__PURE__ */ r("span", { style: { color: t.colon }, children: ": " })
44
- ] }),
45
- /* @__PURE__ */ s("span", { style: { color: t.bracket }, children: [
46
- b,
47
- u
48
- ] })
49
- ] }) : /* @__PURE__ */ s("div", { children: [
50
- /* @__PURE__ */ s(
51
- "div",
52
- {
53
- className: "rfp-flex rfp-items-start rfp-py-px rfp-font-mono rfp-text-sm rfp-cursor-pointer hover:rfp-bg-surface-1 rfp-select-none",
54
- style: { paddingLeft: `${p}px` },
55
- onClick: h,
56
- children: [
57
- /* @__PURE__ */ r("span", { className: "rfp-w-4 rfp-h-5 rfp-flex-shrink-0 rfp-flex rfp-items-center rfp-justify-center", style: { color: t.arrow }, children: a ? /* @__PURE__ */ r(L, { className: "rfp-w-3.5 rfp-h-3.5" }) : /* @__PURE__ */ r($, { className: "rfp-w-3.5 rfp-h-3.5" }) }),
58
- e !== void 0 && /* @__PURE__ */ s("span", { className: "rfp-flex-shrink-0", style: { color: t.key }, children: [
59
- '"',
60
- e,
61
- '"',
62
- /* @__PURE__ */ r("span", { style: { color: t.colon }, children: ": " })
63
- ] }),
64
- /* @__PURE__ */ r("span", { style: { color: t.bracket }, children: b }),
65
- !a && /* @__PURE__ */ s("span", { className: "rfp-ml-1", style: { color: t.collapsed }, children: [
66
- l ? `${c} ${d("json.items")}` : `${c} ${d("json.keys")}`,
67
- /* @__PURE__ */ s("span", { style: { color: t.bracket }, children: [
68
- " ",
69
- u
70
- ] })
71
- ] })
72
- ]
73
- }
74
- ),
75
- a && /* @__PURE__ */ s(N, { children: [
76
- l ? n.map((o, x) => /* @__PURE__ */ r(g, { value: o, depth: f + 1, defaultExpanded: f < 1, colors: t }, x)) : Object.entries(n).map(([o, x]) => /* @__PURE__ */ r(g, { keyName: o, value: x, depth: f + 1, defaultExpanded: f < 1, colors: t }, o)),
77
- /* @__PURE__ */ r("div", { className: "rfp-font-mono rfp-text-sm rfp-py-px", style: { paddingLeft: `${p + 20}px`, color: t.bracket }, children: u })
78
- ] })
79
- ] });
80
- };
81
- function A(e, n) {
82
- return e === null ? /* @__PURE__ */ r("span", { style: { color: n.keyword, fontStyle: "italic" }, children: "null" }) : e === void 0 ? /* @__PURE__ */ r("span", { style: { color: n.keyword, fontStyle: "italic" }, children: "undefined" }) : typeof e == "boolean" ? /* @__PURE__ */ r("span", { style: { color: n.keyword }, children: String(e) }) : typeof e == "number" ? /* @__PURE__ */ r("span", { style: { color: n.number }, children: String(e) }) : typeof e == "string" ? /* @__PURE__ */ s("span", { style: { color: n.string }, children: [
83
- '"',
84
- e,
85
- '"'
86
- ] }) : /* @__PURE__ */ r("span", { style: { color: n.bracket }, children: String(e) });
87
- }
88
- function F(e) {
89
- return e === "light" ? J : R;
90
- }
91
- const G = ({ url: e }) => {
92
- const n = k(), f = C(), i = O(), t = j(() => F(i), [i]), [d, a] = m(null), [y, p] = m(!0), [h, l] = m(null);
93
- return v(() => {
94
- (async () => {
95
- try {
96
- p(!0), l(null);
97
- const c = await E(e, { fetcher: f });
98
- a(JSON.parse(c));
99
- } catch (c) {
100
- l(n("json.load_failed")), console.error(c);
101
- } finally {
102
- p(!1);
103
- }
104
- })();
105
- }, [e]), y ? /* @__PURE__ */ r("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full", children: /* @__PURE__ */ r("div", { className: "rfp-w-12 rfp-h-12 rfp-border-4 rfp-border-line-strong rfp-border-t-spinner-head rfp-rounded-full rfp-animate-spin" }) }) : h ? /* @__PURE__ */ r("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full", children: /* @__PURE__ */ r("div", { className: "rfp-text-fg-secondary rfp-text-center", children: /* @__PURE__ */ r("p", { className: "rfp-text-lg", children: h }) }) }) : /* @__PURE__ */ r("div", { className: "rfp-w-full rfp-h-full rfp-overflow-auto rfp-bg-code-bg rfp-py-3 rfp-pr-4", children: /* @__PURE__ */ r(g, { value: d, depth: 0, defaultExpanded: !0, colors: t }) });
106
- };
107
- export {
108
- G as JsonRenderer
109
- };
110
- //# sourceMappingURL=index-B0JUZ5rS.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-B0JUZ5rS.mjs","sources":["../../src/renderers/Json/index.tsx"],"sourcesContent":["import { useState, useEffect, useCallback, useMemo } from 'react';\nimport { ChevronRight, ChevronDown } from 'lucide-react';\nimport { fetchTextUtf8 } from '@eternalheart/file-preview-core';\nimport { useTranslator } from '../../i18n/LocaleContext';\nimport { useFetcher } from '../../RequestContext';\nimport { useResolvedTheme, type ResolvedTheme } from '../../ThemeContext';\n\ninterface JsonRendererProps {\n url: string;\n fileName: string;\n}\n\ninterface JsonColors {\n key: string;\n string: string;\n number: string;\n keyword: string;\n bracket: string; // { } [ ]\n colon: string; // :\n collapsed: string; // \"N items / N keys\" 折叠提示\n arrow: string; // 折叠箭头\n}\n\n// VSCode Dark Plus / GitHub Light 两套配色,与 react-syntax-highlighter 的 vscDarkPlus / vs 主题保持一致\nconst DARK_COLORS: JsonColors = {\n key: '#9cdcfe',\n string: '#ce9178',\n number: '#b5cea8',\n keyword: '#569cd6',\n bracket: '#d4d4d4',\n colon: 'rgb(255 255 255 / 0.6)',\n collapsed: 'rgb(255 255 255 / 0.4)',\n arrow: 'rgb(255 255 255 / 0.5)',\n};\n\nconst LIGHT_COLORS: JsonColors = {\n key: '#005cc5',\n string: '#032f62',\n number: '#005cc5',\n keyword: '#d73a49',\n bracket: '#24292e',\n colon: 'rgb(23 23 23 / 0.6)',\n collapsed: 'rgb(23 23 23 / 0.45)',\n arrow: 'rgb(23 23 23 / 0.55)',\n};\n\n// ---------- JSON 树节点 ----------\n\ninterface JsonNodeProps {\n keyName?: string;\n value: unknown;\n depth: number;\n defaultExpanded: boolean;\n colors: JsonColors;\n}\n\nconst JsonNode: React.FC<JsonNodeProps> = ({ keyName, value, depth, defaultExpanded, colors }) => {\n const t = useTranslator();\n const [expanded, setExpanded] = useState(defaultExpanded);\n const indent = depth * 20;\n\n const toggle = useCallback(() => setExpanded(prev => !prev), []);\n\n // 基本类型\n if (value === null || value === undefined || typeof value !== 'object') {\n return (\n <div className=\"rfp-flex rfp-items-start rfp-py-px rfp-font-mono rfp-text-sm\" style={{ paddingLeft: `${indent}px` }}>\n <span className=\"rfp-w-4 rfp-h-5 rfp-flex-shrink-0\" />\n {keyName !== undefined && (\n <span className=\"rfp-flex-shrink-0\" style={{ color: colors.key }}>\n \"{keyName}\"<span style={{ color: colors.colon }}>: </span>\n </span>\n )}\n {renderPrimitive(value, colors)}\n </div>\n );\n }\n\n const isArray = Array.isArray(value);\n const entries = isArray ? (value as unknown[]) : Object.entries(value as Record<string, unknown>);\n const count = entries.length;\n const openBracket = isArray ? '[' : '{';\n const closeBracket = isArray ? ']' : '}';\n\n // 空对象/数组\n if (count === 0) {\n return (\n <div className=\"rfp-flex rfp-items-start rfp-py-px rfp-font-mono rfp-text-sm\" style={{ paddingLeft: `${indent}px` }}>\n <span className=\"rfp-w-4 rfp-h-5 rfp-flex-shrink-0\" />\n {keyName !== undefined && (\n <span className=\"rfp-flex-shrink-0\" style={{ color: colors.key }}>\n \"{keyName}\"<span style={{ color: colors.colon }}>: </span>\n </span>\n )}\n <span style={{ color: colors.bracket }}>{openBracket}{closeBracket}</span>\n </div>\n );\n }\n\n return (\n <div>\n {/* 折叠行 */}\n <div\n className=\"rfp-flex rfp-items-start rfp-py-px rfp-font-mono rfp-text-sm rfp-cursor-pointer hover:rfp-bg-surface-1 rfp-select-none\"\n style={{ paddingLeft: `${indent}px` }}\n onClick={toggle}\n >\n <span className=\"rfp-w-4 rfp-h-5 rfp-flex-shrink-0 rfp-flex rfp-items-center rfp-justify-center\" style={{ color: colors.arrow }}>\n {expanded\n ? <ChevronDown className=\"rfp-w-3.5 rfp-h-3.5\" />\n : <ChevronRight className=\"rfp-w-3.5 rfp-h-3.5\" />\n }\n </span>\n {keyName !== undefined && (\n <span className=\"rfp-flex-shrink-0\" style={{ color: colors.key }}>\n \"{keyName}\"<span style={{ color: colors.colon }}>: </span>\n </span>\n )}\n <span style={{ color: colors.bracket }}>{openBracket}</span>\n {!expanded && (\n <span className=\"rfp-ml-1\" style={{ color: colors.collapsed }}>\n {isArray ? `${count} ${t('json.items')}` : `${count} ${t('json.keys')}`}\n <span style={{ color: colors.bracket }}> {closeBracket}</span>\n </span>\n )}\n </div>\n\n {/* 子节点 */}\n {expanded && (\n <>\n {isArray\n ? (value as unknown[]).map((item, i) => (\n <JsonNode key={i} value={item} depth={depth + 1} defaultExpanded={depth < 1} colors={colors} />\n ))\n : Object.entries(value as Record<string, unknown>).map(([k, v]) => (\n <JsonNode key={k} keyName={k} value={v} depth={depth + 1} defaultExpanded={depth < 1} colors={colors} />\n ))\n }\n <div className=\"rfp-font-mono rfp-text-sm rfp-py-px\" style={{ paddingLeft: `${indent + 20}px`, color: colors.bracket }}>\n {closeBracket}\n </div>\n </>\n )}\n </div>\n );\n};\n\nfunction renderPrimitive(value: unknown, colors: JsonColors) {\n if (value === null) return <span style={{ color: colors.keyword, fontStyle: 'italic' }}>null</span>;\n if (value === undefined) return <span style={{ color: colors.keyword, fontStyle: 'italic' }}>undefined</span>;\n if (typeof value === 'boolean') return <span style={{ color: colors.keyword }}>{String(value)}</span>;\n if (typeof value === 'number') return <span style={{ color: colors.number }}>{String(value)}</span>;\n if (typeof value === 'string') return <span style={{ color: colors.string }}>\"{value}\"</span>;\n return <span style={{ color: colors.bracket }}>{String(value)}</span>;\n}\n\nfunction pickColors(theme: ResolvedTheme): JsonColors {\n return theme === 'light' ? LIGHT_COLORS : DARK_COLORS;\n}\n\n// ---------- Main ----------\n\nexport const JsonRenderer: React.FC<JsonRendererProps> = ({ url }) => {\n const t = useTranslator();\n const fetcher = useFetcher();\n const resolvedTheme = useResolvedTheme();\n const colors = useMemo(() => pickColors(resolvedTheme), [resolvedTheme]);\n const [data, setData] = useState<unknown>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n const loadJson = async () => {\n try {\n setLoading(true);\n setError(null);\n const text = await fetchTextUtf8(url, { fetcher });\n setData(JSON.parse(text));\n } catch (err) {\n setError(t('json.load_failed'));\n console.error(err);\n } finally {\n setLoading(false);\n }\n };\n loadJson();\n }, [url]);\n\n if (loading) {\n return (\n <div className=\"rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full\">\n <div className=\"rfp-w-12 rfp-h-12 rfp-border-4 rfp-border-line-strong rfp-border-t-spinner-head rfp-rounded-full rfp-animate-spin\" />\n </div>\n );\n }\n\n if (error) {\n return (\n <div className=\"rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full\">\n <div className=\"rfp-text-fg-secondary rfp-text-center\">\n <p className=\"rfp-text-lg\">{error}</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"rfp-w-full rfp-h-full rfp-overflow-auto rfp-bg-code-bg rfp-py-3 rfp-pr-4\">\n <JsonNode value={data} depth={0} defaultExpanded colors={colors} />\n </div>\n );\n};\n"],"names":["DARK_COLORS","LIGHT_COLORS","JsonNode","keyName","value","depth","defaultExpanded","colors","t","useTranslator","expanded","setExpanded","useState","indent","toggle","useCallback","prev","jsxs","jsx","renderPrimitive","isArray","count","openBracket","closeBracket","ChevronDown","ChevronRight","Fragment","item","i","k","v","pickColors","theme","JsonRenderer","url","fetcher","useFetcher","resolvedTheme","useResolvedTheme","useMemo","data","setData","loading","setLoading","error","setError","useEffect","text","fetchTextUtf8","err"],"mappings":"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"}
@@ -1,129 +0,0 @@
1
- import { jsxs as h, jsx as n } from "react/jsx-runtime";
2
- import { useState as k, useRef as i, useCallback as E, useEffect as D } from "react";
3
- import { FileSpreadsheet as M } from "lucide-react";
4
- import z from "exceljs";
5
- import W from "x-data-spreadsheet";
6
- /* empty css */
7
- import { u as j, a as L, z as S } from "./index-CGNWXFy3.mjs";
8
- const A = ({ url: x }) => {
9
- const a = j(), R = L(), [w, g] = k(!0), [b, N] = k(null), e = i(null), v = i(null), l = i(null), d = i(null), p = i(null), y = i({ width: 0, height: 0 }), c = E(() => {
10
- if (!e.current) return { width: 800, height: 600 };
11
- const t = e.current.clientWidth, f = e.current.clientHeight, s = t > 100 ? t : 800, r = f > 100 ? f : 600;
12
- return { width: s, height: r };
13
- }, []), m = E(() => {
14
- if (!e.current || !l.current) return;
15
- e.current.innerHTML = "", v.current = null;
16
- const { width: t, height: f } = c(), s = t < 640, r = new W(e.current, {
17
- mode: "read",
18
- showToolbar: !1,
19
- showContextmenu: !1,
20
- showGrid: !0,
21
- row: {
22
- len: 100,
23
- height: 25
24
- },
25
- col: {
26
- len: 26,
27
- width: s ? 80 : 100,
28
- indexWidth: s ? 40 : 60,
29
- minWidth: s ? 40 : 60
30
- },
31
- view: {
32
- height: () => f,
33
- width: () => t
34
- }
35
- });
36
- r.loadData(l.current), v.current = r;
37
- }, [c]);
38
- return D(() => {
39
- if (!e.current) return;
40
- let t = !0;
41
- const f = () => {
42
- if (t) {
43
- t = !1, y.current = c();
44
- return;
45
- }
46
- const s = c(), r = y.current, o = Math.abs(r.width - s.width), u = Math.abs(r.height - s.height);
47
- o < 10 && u < 10 || (y.current = s, p.current && clearTimeout(p.current), p.current = window.setTimeout(() => {
48
- l.current && m();
49
- }, 500));
50
- };
51
- return d.current = new ResizeObserver(() => {
52
- f();
53
- }), d.current.observe(e.current), () => {
54
- d.current && d.current.disconnect(), p.current && clearTimeout(p.current);
55
- };
56
- }, [c, m]), D(() => {
57
- let t = !0;
58
- const f = async () => {
59
- if (e.current) {
60
- g(!0), N(null);
61
- try {
62
- const r = await R(x, {
63
- mode: "cors",
64
- credentials: "omit",
65
- redirect: "follow"
66
- });
67
- if (!r.ok)
68
- throw r.status === 404 ? new Error(a("xlsx.not_found")) : r.status === 403 ? new Error("无权限访问此文件") : new Error(`文件加载失败 (${r.status})`);
69
- const o = await r.arrayBuffer();
70
- if (o.byteLength === 0)
71
- throw new Error("文件为空");
72
- const u = new z.Workbook();
73
- await u.xlsx.load(o);
74
- const T = S(u);
75
- if (!t) return;
76
- l.current = T, m(), g(!1);
77
- } catch (r) {
78
- if (t) {
79
- console.error("Excel 解析错误:", r);
80
- let o = a("xlsx.parse_failed");
81
- r instanceof Error && (o = r.message), N(o), g(!1);
82
- }
83
- }
84
- }
85
- }, s = setTimeout(() => {
86
- requestAnimationFrame(() => {
87
- f();
88
- });
89
- }, 100);
90
- return () => {
91
- t = !1, clearTimeout(s), l.current = null, e.current && (e.current.innerHTML = ""), v.current = null;
92
- };
93
- }, [x, m]), /* @__PURE__ */ h("div", { className: "rfp-relative rfp-flex rfp-flex-col rfp-items-center rfp-w-full rfp-h-full", children: [
94
- w && /* @__PURE__ */ n("div", { className: "rfp-absolute rfp-inset-0 rfp-flex rfp-items-center rfp-justify-center rfp-bg-surface-toolbar rfp-backdrop-blur-sm rfp-z-10", children: /* @__PURE__ */ h("div", { className: "rfp-text-center", children: [
95
- /* @__PURE__ */ n("div", { className: "rfp-w-10 rfp-h-10 md:rfp-w-12 md:rfp-h-12 rfp-mx-auto rfp-mb-3 rfp-border-4 rfp-border-line-strong rfp-border-t-spinner-head rfp-rounded-full rfp-animate-spin" }),
96
- /* @__PURE__ */ n("p", { className: "rfp-text-xs md:rfp-text-sm rfp-text-fg-secondary rfp-font-medium", children: a("xlsx.loading") })
97
- ] }) }),
98
- b && !w && /* @__PURE__ */ n("div", { className: "rfp-absolute rfp-inset-0 rfp-flex rfp-items-center rfp-justify-center rfp-bg-surface-toolbar rfp-backdrop-blur-sm rfp-z-10", children: /* @__PURE__ */ h("div", { className: "rfp-text-center rfp-max-w-sm md:rfp-max-w-md rfp-px-4", children: [
99
- /* @__PURE__ */ n("div", { className: "rfp-w-24 rfp-h-24 md:rfp-w-32 md:rfp-h-32 rfp-mx-auto rfp-mb-4 md:rfp-mb-6 rfp-rounded-2xl md:rfp-rounded-3xl rfp-bg-gradient-to-br rfp-from-green-500 rfp-via-emerald-500 rfp-to-teal-500 rfp-flex rfp-items-center rfp-justify-center rfp-shadow-2xl", children: /* @__PURE__ */ n(M, { className: "rfp-w-12 rfp-h-12 md:rfp-w-16 md:rfp-h-16 rfp-text-fg-primary" }) }),
100
- /* @__PURE__ */ n("p", { className: "rfp-text-lg md:rfp-text-xl rfp-text-fg-primary rfp-mb-2 md:rfp-mb-3 rfp-font-medium", children: a("xlsx.load_failed") }),
101
- /* @__PURE__ */ n("p", { className: "rfp-text-xs md:rfp-text-sm rfp-text-fg-tertiary rfp-mb-4 md:rfp-mb-6", children: b }),
102
- /* @__PURE__ */ h(
103
- "a",
104
- {
105
- href: x,
106
- download: !0,
107
- className: "rfp-inline-flex rfp-items-center rfp-gap-2 rfp-px-4 rfp-py-2 md:rfp-px-6 md:rfp-py-3 rfp-bg-gradient-to-r rfp-from-purple-500 rfp-to-pink-500 rfp-text-fg-primary rfp-text-sm md:rfp-text-base rfp-rounded-lg md:rfp-rounded-xl hover:rfp-scale-105 rfp-transition-all rfp-shadow-lg",
108
- children: [
109
- /* @__PURE__ */ n("svg", { className: "rfp-w-4 rfp-h-4 md:rfp-w-5 md:rfp-h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ n("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" }) }),
110
- a("common.download")
111
- ]
112
- }
113
- ),
114
- /* @__PURE__ */ n("p", { className: "rfp-text-xs rfp-text-fg-muted rfp-mt-3 md:rfp-mt-4", children: "提示:可以使用 Microsoft Excel 或 WPS 打开" })
115
- ] }) }),
116
- !b && /* @__PURE__ */ n(
117
- "div",
118
- {
119
- ref: e,
120
- className: "xlsx-spreadsheet-container rfp-w-full rfp-h-full",
121
- style: { opacity: w ? 0 : 1 }
122
- }
123
- )
124
- ] });
125
- };
126
- export {
127
- A as XlsxRenderer
128
- };
129
- //# sourceMappingURL=index-BAYc4aBz.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BAYc4aBz.mjs","sources":["../../src/renderers/Xlsx/index.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useCallback } from 'react';\nimport { FileSpreadsheet } from 'lucide-react';\nimport ExcelJS from 'exceljs';\nimport Spreadsheet from 'x-data-spreadsheet';\nimport 'x-data-spreadsheet/dist/xspreadsheet.css';\nimport { convertWorkbookToSpreadsheetData } from '../../utils/excelDataConverter';\nimport { useTranslator } from '../../i18n/LocaleContext';\nimport { useFetcher } from '../../RequestContext';\n\ninterface XlsxRendererProps {\n url: string;\n}\n\nexport const XlsxRenderer: React.FC<XlsxRendererProps> = ({ url }) => {\n const t = useTranslator();\n const fetcher = useFetcher();\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const spreadsheetRef = useRef<Spreadsheet | null>(null);\n const sheetDataRef = useRef<Record<string, unknown>[] | null>(null);\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n const resizeTimeoutRef = useRef<number | null>(null);\n const lastDimensionsRef = useRef({ width: 0, height: 0 });\n\n const calculateDimensions = useCallback(() => {\n if (!containerRef.current) return { width: 800, height: 600 };\n const rawWidth = containerRef.current.clientWidth;\n const rawHeight = containerRef.current.clientHeight;\n const width = rawWidth > 100 ? rawWidth : 800;\n const height = rawHeight > 100 ? rawHeight : 600;\n return { width, height };\n }, []);\n\n const mountSpreadsheet = useCallback(() => {\n if (!containerRef.current || !sheetDataRef.current) return;\n\n // 清空容器\n containerRef.current.innerHTML = '';\n spreadsheetRef.current = null;\n\n const { width, height } = calculateDimensions();\n const isMobile = width < 640;\n\n const s = new Spreadsheet(containerRef.current, {\n mode: 'read',\n showToolbar: false,\n showContextmenu: false,\n showGrid: true,\n row: {\n len: 100,\n height: 25,\n },\n col: {\n len: 26,\n width: isMobile ? 80 : 100,\n indexWidth: isMobile ? 40 : 60,\n minWidth: isMobile ? 40 : 60,\n },\n view: {\n height: () => height,\n width: () => width,\n },\n });\n\n s.loadData(sheetDataRef.current as unknown as Record<string, unknown>);\n spreadsheetRef.current = s;\n }, [calculateDimensions]);\n\n // 监听容器尺寸变化\n useEffect(() => {\n if (!containerRef.current) return;\n\n let isInitialRender = true;\n\n const updateDimensions = () => {\n if (isInitialRender) {\n isInitialRender = false;\n lastDimensionsRef.current = calculateDimensions();\n return;\n }\n\n const newDimensions = calculateDimensions();\n const lastDimensions = lastDimensionsRef.current;\n const widthDiff = Math.abs(lastDimensions.width - newDimensions.width);\n const heightDiff = Math.abs(lastDimensions.height - newDimensions.height);\n\n if (widthDiff < 10 && heightDiff < 10) return;\n\n lastDimensionsRef.current = newDimensions;\n\n if (resizeTimeoutRef.current) {\n clearTimeout(resizeTimeoutRef.current);\n }\n\n resizeTimeoutRef.current = window.setTimeout(() => {\n if (sheetDataRef.current) {\n mountSpreadsheet();\n }\n }, 500);\n };\n\n resizeObserverRef.current = new ResizeObserver(() => {\n updateDimensions();\n });\n\n resizeObserverRef.current.observe(containerRef.current);\n\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n }\n if (resizeTimeoutRef.current) {\n clearTimeout(resizeTimeoutRef.current);\n }\n };\n }, [calculateDimensions, mountSpreadsheet]);\n\n useEffect(() => {\n let isMounted = true;\n\n const loadExcel = async () => {\n if (!containerRef.current) return;\n\n setLoading(true);\n setError(null);\n\n try {\n const response = await fetcher(url, {\n mode: 'cors',\n credentials: 'omit',\n redirect: 'follow',\n });\n\n if (!response.ok) {\n if (response.status === 404) {\n throw new Error(t('xlsx.not_found'));\n } else if (response.status === 403) {\n throw new Error('无权限访问此文件');\n } else {\n throw new Error(`文件加载失败 (${response.status})`);\n }\n }\n\n const arrayBuffer = await response.arrayBuffer();\n\n if (arrayBuffer.byteLength === 0) {\n throw new Error('文件为空');\n }\n\n // 使用 exceljs 解析\n const workbook = new ExcelJS.Workbook();\n await workbook.xlsx.load(arrayBuffer);\n\n // 转换为 x-data-spreadsheet 数据格式\n const sheetData = convertWorkbookToSpreadsheetData(workbook);\n\n if (!isMounted) return;\n\n sheetDataRef.current = sheetData as unknown as Record<string, unknown>[];\n\n // 挂载 x-data-spreadsheet\n mountSpreadsheet();\n\n setLoading(false);\n } catch (err) {\n if (isMounted) {\n console.error('Excel 解析错误:', err);\n let errorMsg = t('xlsx.parse_failed');\n if (err instanceof Error) {\n errorMsg = err.message;\n }\n setError(errorMsg);\n setLoading(false);\n }\n }\n };\n\n const timer = setTimeout(() => {\n requestAnimationFrame(() => {\n loadExcel();\n });\n }, 100);\n\n return () => {\n isMounted = false;\n clearTimeout(timer);\n sheetDataRef.current = null;\n if (containerRef.current) {\n containerRef.current.innerHTML = '';\n }\n spreadsheetRef.current = null;\n };\n }, [url, mountSpreadsheet]);\n\n return (\n <div className=\"rfp-relative rfp-flex rfp-flex-col rfp-items-center rfp-w-full rfp-h-full\">\n {/* 加载状态 */}\n {loading && (\n <div className=\"rfp-absolute rfp-inset-0 rfp-flex rfp-items-center rfp-justify-center rfp-bg-surface-toolbar rfp-backdrop-blur-sm rfp-z-10\">\n <div className=\"rfp-text-center\">\n <div className=\"rfp-w-10 rfp-h-10 md:rfp-w-12 md:rfp-h-12 rfp-mx-auto rfp-mb-3 rfp-border-4 rfp-border-line-strong rfp-border-t-spinner-head rfp-rounded-full rfp-animate-spin\" />\n <p className=\"rfp-text-xs md:rfp-text-sm rfp-text-fg-secondary rfp-font-medium\">{t('xlsx.loading')}</p>\n </div>\n </div>\n )}\n\n {/* 错误状态 */}\n {error && !loading && (\n <div className=\"rfp-absolute rfp-inset-0 rfp-flex rfp-items-center rfp-justify-center rfp-bg-surface-toolbar rfp-backdrop-blur-sm rfp-z-10\">\n <div className=\"rfp-text-center rfp-max-w-sm md:rfp-max-w-md rfp-px-4\">\n <div className=\"rfp-w-24 rfp-h-24 md:rfp-w-32 md:rfp-h-32 rfp-mx-auto rfp-mb-4 md:rfp-mb-6 rfp-rounded-2xl md:rfp-rounded-3xl rfp-bg-gradient-to-br rfp-from-green-500 rfp-via-emerald-500 rfp-to-teal-500 rfp-flex rfp-items-center rfp-justify-center rfp-shadow-2xl\">\n <FileSpreadsheet className=\"rfp-w-12 rfp-h-12 md:rfp-w-16 md:rfp-h-16 rfp-text-fg-primary\" />\n </div>\n <p className=\"rfp-text-lg md:rfp-text-xl rfp-text-fg-primary rfp-mb-2 md:rfp-mb-3 rfp-font-medium\">{t('xlsx.load_failed')}</p>\n <p className=\"rfp-text-xs md:rfp-text-sm rfp-text-fg-tertiary rfp-mb-4 md:rfp-mb-6\">\n {error}\n </p>\n <a\n href={url}\n download\n className=\"rfp-inline-flex rfp-items-center rfp-gap-2 rfp-px-4 rfp-py-2 md:rfp-px-6 md:rfp-py-3 rfp-bg-gradient-to-r rfp-from-purple-500 rfp-to-pink-500 rfp-text-fg-primary rfp-text-sm md:rfp-text-base rfp-rounded-lg md:rfp-rounded-xl hover:rfp-scale-105 rfp-transition-all rfp-shadow-lg\"\n >\n <svg className=\"rfp-w-4 rfp-h-4 md:rfp-w-5 md:rfp-h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\" />\n </svg>\n {t('common.download')}\n </a>\n <p className=\"rfp-text-xs rfp-text-fg-muted rfp-mt-3 md:rfp-mt-4\">\n 提示:可以使用 Microsoft Excel 或 WPS 打开\n </p>\n </div>\n </div>\n )}\n\n {/* Spreadsheet 容器 */}\n {!error && (\n <div\n ref={containerRef}\n className=\"xlsx-spreadsheet-container rfp-w-full rfp-h-full\"\n style={{ opacity: loading ? 0 : 1 }}\n />\n )}\n </div>\n );\n};\n"],"names":["XlsxRenderer","url","t","useTranslator","fetcher","useFetcher","loading","setLoading","useState","error","setError","containerRef","useRef","spreadsheetRef","sheetDataRef","resizeObserverRef","resizeTimeoutRef","lastDimensionsRef","calculateDimensions","useCallback","rawWidth","rawHeight","width","height","mountSpreadsheet","isMobile","s","Spreadsheet","useEffect","isInitialRender","updateDimensions","newDimensions","lastDimensions","widthDiff","heightDiff","isMounted","loadExcel","response","arrayBuffer","workbook","ExcelJS","sheetData","convertWorkbookToSpreadsheetData","err","errorMsg","timer","jsxs","jsx","FileSpreadsheet"],"mappings":"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"}