@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
@@ -0,0 +1,96 @@
1
+ import { jsxs as T, jsx as o } from "react/jsx-runtime";
2
+ import { useState as M, useRef as c, useCallback as y, useEffect as C } from "react";
3
+ import z from "x-data-spreadsheet";
4
+ /* empty css */
5
+ import { u as N, a as j, E as H, S as W, M as k, U as A } from "./index-BCbSb9Ob.mjs";
6
+ import { R as L } from "./RendererError-BH6fzLrN.mjs";
7
+ const V = ({ url: v, fileName: h }) => {
8
+ const R = N(), E = j(), [m, w] = M(!0), [b, D] = M(null), r = c(null), g = c(null), a = c(null), u = c(null), f = c(null), x = c({ width: 0, height: 0 }), l = y(() => {
9
+ if (!r.current) return { width: 800, height: 600 };
10
+ const e = r.current.clientWidth, n = r.current.clientHeight, t = e > 100 ? e : 800, s = n > 100 ? n : 600;
11
+ return { width: t, height: s };
12
+ }, []), d = y(() => {
13
+ if (!r.current || !a.current) return;
14
+ r.current.innerHTML = "", g.current = null;
15
+ const { width: e, height: n } = l(), t = e < 640, s = new z(r.current, {
16
+ mode: "read",
17
+ showToolbar: !1,
18
+ showContextmenu: !1,
19
+ showGrid: !0,
20
+ row: {
21
+ len: 100,
22
+ height: 25
23
+ },
24
+ col: {
25
+ len: 26,
26
+ width: t ? 80 : 100,
27
+ indexWidth: t ? 40 : 60,
28
+ minWidth: t ? 40 : 60
29
+ },
30
+ view: {
31
+ height: () => n,
32
+ width: () => e
33
+ }
34
+ });
35
+ s.loadData(a.current), g.current = s;
36
+ }, [l]);
37
+ return C(() => {
38
+ if (!r.current) return;
39
+ let e = !0;
40
+ const n = () => {
41
+ if (e) {
42
+ e = !1, x.current = l();
43
+ return;
44
+ }
45
+ const t = l(), s = x.current, i = Math.abs(s.width - t.width), p = Math.abs(s.height - t.height);
46
+ i < 10 && p < 10 || (x.current = t, f.current && clearTimeout(f.current), f.current = window.setTimeout(() => {
47
+ a.current && d();
48
+ }, 500));
49
+ };
50
+ return u.current = new ResizeObserver(() => {
51
+ n();
52
+ }), u.current.observe(r.current), () => {
53
+ u.current && u.current.disconnect(), f.current && clearTimeout(f.current);
54
+ };
55
+ }, [l, d]), C(() => {
56
+ let e = !0;
57
+ const n = new AbortController(), t = async () => {
58
+ if (r.current) {
59
+ w(!0), D(null);
60
+ try {
61
+ const i = await H(v, { fetcher: E, signal: n.signal }), p = W(i, { delimiter: k(h) }), S = A(p.header, p.rows, h);
62
+ if (!e) return;
63
+ a.current = S, d(), w(!1);
64
+ } catch (i) {
65
+ if (i.name === "AbortError") return;
66
+ e && (console.error("CSV 解析错误:", i), D(R("csv.load_failed")), w(!1));
67
+ }
68
+ }
69
+ }, s = setTimeout(() => {
70
+ requestAnimationFrame(() => {
71
+ t();
72
+ });
73
+ }, 100);
74
+ return () => {
75
+ e = !1, n.abort(), clearTimeout(s), a.current = null, r.current && (r.current.innerHTML = ""), g.current = null;
76
+ };
77
+ }, [v, h, d]), /* @__PURE__ */ T("div", { className: "rfp-relative rfp-flex rfp-flex-col rfp-items-center rfp-w-full rfp-h-full", children: [
78
+ m && /* @__PURE__ */ o("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__ */ T("div", { className: "rfp-text-center", children: [
79
+ /* @__PURE__ */ o("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" }),
80
+ /* @__PURE__ */ o("p", { className: "rfp-text-xs md:rfp-text-sm rfp-text-fg-secondary rfp-font-medium", children: R("csv.loading") })
81
+ ] }) }),
82
+ b && !m && /* @__PURE__ */ o("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__ */ o(L, { message: b }) }),
83
+ !b && /* @__PURE__ */ o(
84
+ "div",
85
+ {
86
+ ref: r,
87
+ className: "xlsx-spreadsheet-container rfp-w-full rfp-h-full",
88
+ style: { opacity: m ? 0 : 1 }
89
+ }
90
+ )
91
+ ] });
92
+ };
93
+ export {
94
+ V as CsvRenderer
95
+ };
96
+ //# sourceMappingURL=index-D2t64h6I.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D2t64h6I.mjs","sources":["../../src/renderers/Csv/index.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useCallback } from 'react';\nimport Spreadsheet from 'x-data-spreadsheet';\nimport 'x-data-spreadsheet/dist/xspreadsheet.css';\nimport {\n parseCsv,\n guessCsvDelimiter,\n fetchTextUtf8,\n convertCsvToSpreadsheetData,\n} from '@eternalheart/file-preview-core';\nimport { useTranslator } from '../../i18n/LocaleContext';\nimport { useFetcher } from '../../RequestContext';\nimport { RendererError } from '../RendererError';\n\ninterface CsvRendererProps {\n url: string;\n fileName: string;\n}\n\nexport const CsvRenderer: React.FC<CsvRendererProps> = ({ url, fileName }) => {\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 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 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 const controller = new AbortController();\n\n const loadCsv = async () => {\n if (!containerRef.current) return;\n\n setLoading(true);\n setError(null);\n\n try {\n const text = await fetchTextUtf8(url, { fetcher, signal: controller.signal });\n const parsed = parseCsv(text, { delimiter: guessCsvDelimiter(fileName) });\n const sheetData = convertCsvToSpreadsheetData(parsed.header, parsed.rows, fileName);\n\n if (!isMounted) return;\n\n sheetDataRef.current = sheetData as unknown as Record<string, unknown>[];\n mountSpreadsheet();\n setLoading(false);\n } catch (err: any) {\n if (err.name === 'AbortError') return;\n if (isMounted) {\n console.error('CSV 解析错误:', err);\n setError(t('csv.load_failed'));\n setLoading(false);\n }\n }\n };\n\n const timer = setTimeout(() => {\n requestAnimationFrame(() => {\n loadCsv();\n });\n }, 100);\n\n return () => {\n isMounted = false;\n controller.abort();\n clearTimeout(timer);\n sheetDataRef.current = null;\n if (containerRef.current) {\n containerRef.current.innerHTML = '';\n }\n spreadsheetRef.current = null;\n };\n }, [url, fileName, mountSpreadsheet]);\n\n return (\n <div className=\"rfp-relative rfp-flex rfp-flex-col rfp-items-center rfp-w-full rfp-h-full\">\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('csv.loading')}</p>\n </div>\n </div>\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 <RendererError message={error} />\n </div>\n )}\n\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":["CsvRenderer","url","fileName","t","useTranslator","fetcher","useFetcher","loading","setLoading","useState","error","setError","containerRef","useRef","spreadsheetRef","sheetDataRef","resizeObserverRef","resizeTimeoutRef","lastDimensionsRef","calculateDimensions","useCallback","rawWidth","rawHeight","width","height","mountSpreadsheet","isMobile","Spreadsheet","useEffect","isInitialRender","updateDimensions","newDimensions","lastDimensions","widthDiff","heightDiff","isMounted","controller","loadCsv","text","fetchTextUtf8","parsed","parseCsv","guessCsvDelimiter","sheetData","convertCsvToSpreadsheetData","err","timer","jsxs","jsx","RendererError"],"mappings":"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"}
@@ -1,16 +1,17 @@
1
- import { jsxs as A, jsx as u } from "react/jsx-runtime";
2
- import { useState as L, useRef as y, useCallback as m, useEffect as d } from "react";
3
- import { u as F } from "./index-CGNWXFy3.mjs";
4
- import * as O from "pdfjs-dist/build/pdf.mjs";
5
- const J = ({
6
- url: N,
7
- zoom: w,
8
- currentPage: T,
1
+ import { jsxs as A, jsx as y } from "react/jsx-runtime";
2
+ import { useState as S, useRef as w, useCallback as u, useEffect as d } from "react";
3
+ import { u as F } from "./index-BCbSb9Ob.mjs";
4
+ import { R as O } from "./RendererError-BH6fzLrN.mjs";
5
+ import * as _ from "pdfjs-dist/build/pdf.mjs";
6
+ const Q = ({
7
+ url: m,
8
+ zoom: T,
9
+ currentPage: k,
9
10
  onPageChange: g,
10
- onTotalPagesChange: S,
11
- onPageWidthChange: k
11
+ onTotalPagesChange: M,
12
+ onPageWidthChange: E
12
13
  }) => {
13
- const M = F(), [i, j] = L(0), [h, D] = L(null), [H, E] = L(!0), l = y(null), c = y(null), s = y(/* @__PURE__ */ new Map()), f = y(null), I = m(async (r, t) => {
14
+ const N = F(), [l, j] = S(0), [h, D] = S(null), [H, R] = S(!0), i = w(null), c = w(null), s = w(/* @__PURE__ */ new Map()), f = w(null), I = u(async (r, t) => {
14
15
  if (!c.current) return;
15
16
  const e = s.current.get(r);
16
17
  if (!(!e || e.rendering)) {
@@ -21,9 +22,9 @@ const J = ({
21
22
  const v = o.getContext("2d");
22
23
  if (!v) return;
23
24
  const b = n.render({ canvasContext: v, viewport: a });
24
- if (e.renderTask = b, await b.promise, r === 1 && k) {
25
- const C = n.getViewport({ scale: 1 });
26
- k(C.width);
25
+ if (e.renderTask = b, await b.promise, r === 1 && E) {
26
+ const L = n.getViewport({ scale: 1 });
27
+ E(L.width);
27
28
  }
28
29
  e.element.innerHTML = "", e.element.appendChild(o);
29
30
  const p = document.createElement("div");
@@ -34,7 +35,7 @@ const J = ({
34
35
  e.rendering = !1, e.renderTask = null;
35
36
  }
36
37
  }
37
- }, [k]), x = m((r) => {
38
+ }, [E]), x = u((r) => {
38
39
  const t = s.current.get(r);
39
40
  if (!t) return;
40
41
  t.renderTask && (t.renderTask.cancel(), t.renderTask = null);
@@ -44,12 +45,12 @@ const J = ({
44
45
  n && n.clearRect(0, 0, e.width, e.height), e.remove();
45
46
  }
46
47
  t.element.innerHTML = "", t.rendered = !1, t.rendering = !1;
47
- }, []), P = m(() => {
48
- if (!c.current || !l.current) return;
49
- const r = l.current.querySelector(".pdf-pages");
48
+ }, []), P = u(() => {
49
+ if (!c.current || !i.current) return;
50
+ const r = i.current.querySelector(".pdf-pages");
50
51
  if (r) {
51
52
  r.innerHTML = "", s.current.clear();
52
- for (let t = 1; t <= i; t++) {
53
+ for (let t = 1; t <= l; t++) {
53
54
  const e = document.createElement("div");
54
55
  e.className = "rfp-relative rfp-flex rfp-justify-center rfp-min-h-[800px]", e.setAttribute("data-page-number", String(t)), r.appendChild(e), s.current.set(t, {
55
56
  element: e,
@@ -59,8 +60,8 @@ const J = ({
59
60
  }), f.current && f.current.observe(e);
60
61
  }
61
62
  }
62
- }, [i]), V = m(async () => {
63
- if (D(null), E(!0), j(0), c.current) {
63
+ }, [l]), V = u(async () => {
64
+ if (D(null), R(!0), j(0), c.current) {
64
65
  try {
65
66
  c.current.destroy();
66
67
  } catch {
@@ -68,29 +69,29 @@ const J = ({
68
69
  c.current = null;
69
70
  }
70
71
  try {
71
- const r = O.getDocument({ url: N });
72
+ const r = _.getDocument({ url: m });
72
73
  c.current = await r.promise;
73
74
  const t = c.current.numPages;
74
- j(t), S(t), g(1), E(!1);
75
+ j(t), M(t), g(1), R(!1);
75
76
  } catch (r) {
76
- console.error("PDF 加载错误:", r), D(M("pdf.load_failed")), E(!1);
77
+ console.error("PDF 加载错误:", r), D(N("pdf.load_failed")), R(!1);
77
78
  }
78
- }, [N, S, g, M]), R = m(() => {
79
- if (!l.current || s.current.size === 0) return;
80
- const r = l.current, t = r.scrollTop, e = r.clientHeight, n = t + e / 2;
79
+ }, [m, M, g, N]), C = u(() => {
80
+ if (!i.current || s.current.size === 0) return;
81
+ const r = i.current, t = r.scrollTop, e = r.clientHeight, n = t + e / 2;
81
82
  let a = 1, o = 1 / 0;
82
83
  s.current.forEach((v, b) => {
83
- const p = v.element.getBoundingClientRect(), C = r.getBoundingClientRect(), B = p.top - C.top + p.height / 2 + t, q = Math.abs(B - n);
84
+ const p = v.element.getBoundingClientRect(), L = r.getBoundingClientRect(), B = p.top - L.top + p.height / 2 + t, q = Math.abs(B - n);
84
85
  q < o && (o = q, a = b);
85
- }), a !== T && g(a);
86
- }, [T, g]);
86
+ }), a !== k && g(a);
87
+ }, [k, g]);
87
88
  return d(() => (f.current = new IntersectionObserver(
88
89
  (r) => {
89
90
  r.forEach((t) => {
90
91
  const e = Number(t.target.getAttribute("data-page-number"));
91
92
  if (e)
92
93
  if (t.isIntersecting)
93
- I(e, w);
94
+ I(e, T);
94
95
  else {
95
96
  const n = s.current.get(e);
96
97
  n && n.rendered && x(e);
@@ -98,33 +99,33 @@ const J = ({
98
99
  });
99
100
  },
100
101
  {
101
- root: l.current,
102
+ root: i.current,
102
103
  rootMargin: "500px 0px",
103
104
  threshold: 0
104
105
  }
105
106
  ), () => {
106
107
  f.current && (f.current.disconnect(), f.current = null);
107
- }), [w, I, x]), d(() => {
108
- V();
109
- }, [V]), d(() => {
110
- i > 0 && setTimeout(() => {
108
+ }), [T, I, x]), d(() => {
109
+ m && V();
110
+ }, [m, V]), d(() => {
111
+ l > 0 && setTimeout(() => {
111
112
  P();
112
113
  }, 0);
113
- }, [i, P]), d(() => {
114
+ }, [l, P]), d(() => {
114
115
  const r = setTimeout(() => {
115
116
  s.current.forEach((t, e) => {
116
117
  t.rendered && x(e);
117
- }), f.current && l.current && s.current.forEach((t) => {
118
+ }), f.current && i.current && s.current.forEach((t) => {
118
119
  var e, n;
119
120
  (e = f.current) == null || e.unobserve(t.element), (n = f.current) == null || n.observe(t.element);
120
121
  });
121
122
  }, 150);
122
123
  return () => clearTimeout(r);
123
- }, [w, x]), d(() => {
124
- const r = l.current;
124
+ }, [T, x]), d(() => {
125
+ const r = i.current;
125
126
  if (r)
126
- return r.addEventListener("scroll", R), () => r.removeEventListener("scroll", R);
127
- }, [R]), d(() => () => {
127
+ return r.addEventListener("scroll", C), () => r.removeEventListener("scroll", C);
128
+ }, [C]), d(() => () => {
128
129
  if (s.current.forEach((r) => {
129
130
  r.renderTask && r.renderTask.cancel();
130
131
  }), s.current.clear(), c.current) {
@@ -137,17 +138,17 @@ const J = ({
137
138
  }, []), /* @__PURE__ */ A(
138
139
  "div",
139
140
  {
140
- ref: l,
141
+ ref: i,
141
142
  className: "rfp-flex rfp-flex-col rfp-items-center rfp-w-full rfp-h-full rfp-overflow-auto rfp-py-4 md:rfp-py-8 rfp-px-2 md:rfp-px-4",
142
143
  children: [
143
- h && /* @__PURE__ */ u("div", { className: "rfp-text-fg-secondary rfp-text-center", children: /* @__PURE__ */ u("p", { className: "rfp-text-lg", children: h }) }),
144
- !h && H && /* @__PURE__ */ u("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-min-h-screen", children: /* @__PURE__ */ u("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" }) }),
145
- !h && !H && /* @__PURE__ */ u("div", { className: "pdf-pages rfp-flex rfp-flex-col rfp-gap-4" }),
146
- i > 0 && /* @__PURE__ */ A("div", { className: "rfp-sticky rfp-bottom-2 md:rfp-bottom-4 rfp-mt-4 md:rfp-mt-8 rfp-bg-surface-nav-hover rfp-backdrop-blur-xl rfp-text-fg-primary rfp-px-4 rfp-py-2 md:rfp-px-6 md:rfp-py-3 rfp-rounded-full rfp-text-xs md:rfp-text-sm rfp-font-medium rfp-shadow-2xl rfp-border rfp-border-line-weak", children: [
144
+ h && /* @__PURE__ */ y(O, { message: h }),
145
+ !h && H && /* @__PURE__ */ y("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-min-h-screen", children: /* @__PURE__ */ y("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" }) }),
146
+ !h && !H && /* @__PURE__ */ y("div", { className: "pdf-pages rfp-flex rfp-flex-col rfp-gap-4" }),
147
+ l > 0 && /* @__PURE__ */ A("div", { className: "rfp-sticky rfp-bottom-2 md:rfp-bottom-4 rfp-mt-4 md:rfp-mt-8 rfp-bg-surface-nav-hover rfp-backdrop-blur-xl rfp-text-fg-primary rfp-px-4 rfp-py-2 md:rfp-px-6 md:rfp-py-3 rfp-rounded-full rfp-text-xs md:rfp-text-sm rfp-font-medium rfp-shadow-2xl rfp-border rfp-border-line-weak", children: [
147
148
  "第 ",
148
- T,
149
+ k,
149
150
  " 页 / 共 ",
150
- i,
151
+ l,
151
152
  " 页"
152
153
  ] })
153
154
  ]
@@ -155,6 +156,6 @@ const J = ({
155
156
  );
156
157
  };
157
158
  export {
158
- J as PdfRenderer
159
+ Q as PdfRenderer
159
160
  };
160
- //# sourceMappingURL=index-C5YHI0Zs.mjs.map
161
+ //# sourceMappingURL=index-DAo4n3Mq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DAo4n3Mq.mjs","sources":["../../src/renderers/Pdf/index.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useCallback } from 'react';\nimport { useTranslator } from '../../i18n/LocaleContext';\nimport { RendererError } from '../RendererError';\n// @ts-ignore - pdfjs-dist 类型路径\nimport * as pdfjsLib from 'pdfjs-dist/build/pdf.mjs';\n\ninterface PdfPageProxy {\n getViewport(opts: { scale: number }): { width: number; height: number };\n render(opts: { canvasContext: CanvasRenderingContext2D; viewport: { width: number; height: number } }): {\n promise: Promise<void>;\n cancel(): void;\n };\n}\n\ninterface PdfDocumentProxy {\n numPages: number;\n getPage(pageNumber: number): Promise<PdfPageProxy>;\n destroy(): void;\n}\n\ninterface PageState {\n element: HTMLDivElement;\n rendered: boolean;\n rendering: boolean;\n renderTask: { cancel(): void } | null;\n}\n\ninterface PdfRendererProps {\n url: string;\n zoom: number;\n currentPage: number;\n onPageChange: (page: number) => void;\n onTotalPagesChange: (total: number) => void;\n onPageWidthChange?: (width: number) => void;\n}\n\nexport const PdfRenderer: React.FC<PdfRendererProps> = ({\n url,\n zoom,\n currentPage,\n onPageChange,\n onTotalPagesChange,\n onPageWidthChange,\n}) => {\n const t = useTranslator();\n const [numPages, setNumPages] = useState<number>(0);\n const [error, setError] = useState<string | null>(null);\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const containerRef = useRef<HTMLDivElement>(null);\n const pdfDocRef = useRef<PdfDocumentProxy | null>(null);\n const pageStatesRef = useRef<Map<number, PageState>>(new Map());\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n // 渲染单个页面\n const renderPage = useCallback(async (pageNumber: number, scale: number) => {\n if (!pdfDocRef.current) return;\n const state = pageStatesRef.current.get(pageNumber);\n if (!state || state.rendering) return;\n\n state.rendering = true;\n\n try {\n const page = await pdfDocRef.current.getPage(pageNumber);\n const viewport = page.getViewport({ scale });\n\n const canvas = document.createElement('canvas');\n canvas.width = viewport.width;\n canvas.height = viewport.height;\n canvas.style.maxWidth = '100%';\n canvas.style.height = 'auto';\n canvas.style.borderRadius = '0';\n canvas.style.display = 'block';\n\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n const renderTask = page.render({ canvasContext: ctx, viewport });\n state.renderTask = renderTask;\n await renderTask.promise;\n\n // 上报第一页原始宽度\n if (pageNumber === 1 && onPageWidthChange) {\n const baseViewport = page.getViewport({ scale: 1 });\n onPageWidthChange(baseViewport.width);\n }\n\n state.element.innerHTML = '';\n state.element.appendChild(canvas);\n\n // 页码标签\n const label = document.createElement('div');\n label.textContent = String(pageNumber);\n label.className = 'rfp-absolute rfp-top-2 rfp-right-2 rfp-bg-surface-nav-hover rfp-backdrop-blur-sm rfp-text-fg-primary rfp-text-xs rfp-px-3 rfp-py-1 rfp-rounded-full';\n state.element.appendChild(label);\n\n state.rendered = true;\n } catch (err: any) {\n if (err?.name !== 'RenderingCancelledException') {\n console.error(`渲染页面 ${pageNumber} 失败:`, err);\n }\n } finally {\n state.rendering = false;\n state.renderTask = null;\n }\n }, [onPageWidthChange]);\n\n // 清理页面 canvas\n const clearPageCanvas = useCallback((pageNumber: number) => {\n const state = pageStatesRef.current.get(pageNumber);\n if (!state) return;\n\n // 取消正在进行的渲染\n if (state.renderTask) {\n state.renderTask.cancel();\n state.renderTask = null;\n }\n\n // 清理 canvas\n const canvas = state.element.querySelector('canvas');\n if (canvas) {\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n }\n canvas.remove();\n }\n\n state.element.innerHTML = '';\n state.rendered = false;\n state.rendering = false;\n }, []);\n\n // 初始化页面占位符\n const initPagePlaceholders = useCallback(() => {\n if (!pdfDocRef.current || !containerRef.current) return;\n\n const wrapper = containerRef.current.querySelector('.pdf-pages') as HTMLDivElement | null;\n if (!wrapper) return;\n\n wrapper.innerHTML = '';\n pageStatesRef.current.clear();\n\n for (let i = 1; i <= numPages; i++) {\n const pageDiv = document.createElement('div');\n pageDiv.className = 'rfp-relative rfp-flex rfp-justify-center rfp-min-h-[800px]';\n pageDiv.setAttribute('data-page-number', String(i));\n wrapper.appendChild(pageDiv);\n\n pageStatesRef.current.set(i, {\n element: pageDiv,\n rendered: false,\n rendering: false,\n renderTask: null,\n });\n\n // 观察页面元素\n if (observerRef.current) {\n observerRef.current.observe(pageDiv);\n }\n }\n }, [numPages]);\n\n // 加载 PDF 文档\n const loadPdf = useCallback(async () => {\n setError(null);\n setIsLoading(true);\n setNumPages(0);\n\n if (pdfDocRef.current) {\n try {\n pdfDocRef.current.destroy();\n } catch {\n // ignore\n }\n pdfDocRef.current = null;\n }\n\n try {\n const loadingTask = pdfjsLib.getDocument({ url });\n pdfDocRef.current = (await loadingTask.promise) as PdfDocumentProxy;\n const total = pdfDocRef.current.numPages;\n\n setNumPages(total);\n onTotalPagesChange(total);\n onPageChange(1);\n setIsLoading(false);\n } catch (err) {\n console.error('PDF 加载错误:', err);\n setError(t('pdf.load_failed'));\n setIsLoading(false);\n }\n }, [url, onTotalPagesChange, onPageChange, t]);\n\n // 滚动处理\n const handleScroll = useCallback(() => {\n if (!containerRef.current || pageStatesRef.current.size === 0) return;\n\n const container = containerRef.current;\n const scrollTop = container.scrollTop;\n const containerHeight = container.clientHeight;\n const scrollCenter = scrollTop + containerHeight / 2;\n\n let currentVisiblePage = 1;\n let minDistance = Infinity;\n\n pageStatesRef.current.forEach((state, pageNumber) => {\n const rect = state.element.getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n const pageCenter = rect.top - containerRect.top + rect.height / 2 + scrollTop;\n const distance = Math.abs(pageCenter - scrollCenter);\n\n if (distance < minDistance) {\n minDistance = distance;\n currentVisiblePage = pageNumber;\n }\n });\n\n if (currentVisiblePage !== currentPage) {\n onPageChange(currentVisiblePage);\n }\n }, [currentPage, onPageChange]);\n\n // 初始化 IntersectionObserver\n useEffect(() => {\n observerRef.current = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n const pageNumber = Number(entry.target.getAttribute('data-page-number'));\n if (!pageNumber) return;\n\n if (entry.isIntersecting) {\n // 页面进入视口,渲染\n renderPage(pageNumber, zoom);\n } else {\n // 页面离开视口,清理\n const state = pageStatesRef.current.get(pageNumber);\n if (state && state.rendered) {\n clearPageCanvas(pageNumber);\n }\n }\n });\n },\n {\n root: containerRef.current,\n rootMargin: '500px 0px',\n threshold: 0,\n }\n );\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n observerRef.current = null;\n }\n };\n }, [zoom, renderPage, clearPageCanvas]);\n\n // 监听 URL 变化\n useEffect(() => {\n // 只有 URL 有效时才加载(避免空字符串或已 revoke 的 blob URL)\n if (url) {\n loadPdf();\n }\n }, [url, loadPdf]);\n\n // 监听 numPages 变化,初始化占位符\n useEffect(() => {\n if (numPages > 0) {\n // 等待 DOM 更新后初始化占位符\n setTimeout(() => {\n initPagePlaceholders();\n }, 0);\n }\n }, [numPages, initPagePlaceholders]);\n\n // 监听 zoom 变化(防抖)\n useEffect(() => {\n const timer = setTimeout(() => {\n // 清理所有已渲染页面\n pageStatesRef.current.forEach((state, pageNumber) => {\n if (state.rendered) {\n clearPageCanvas(pageNumber);\n }\n });\n\n // 触发重新渲染\n if (observerRef.current && containerRef.current) {\n pageStatesRef.current.forEach((state) => {\n observerRef.current?.unobserve(state.element);\n observerRef.current?.observe(state.element);\n });\n }\n }, 150);\n\n return () => clearTimeout(timer);\n }, [zoom, clearPageCanvas]);\n\n // 监听滚动事件\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n container.addEventListener('scroll', handleScroll);\n return () => container.removeEventListener('scroll', handleScroll);\n }, [handleScroll]);\n\n // 清理\n useEffect(() => {\n return () => {\n // 清理所有渲染任务\n pageStatesRef.current.forEach((state) => {\n if (state.renderTask) {\n state.renderTask.cancel();\n }\n });\n pageStatesRef.current.clear();\n\n if (pdfDocRef.current) {\n try {\n pdfDocRef.current.destroy();\n } catch {\n // ignore\n }\n pdfDocRef.current = null;\n }\n };\n }, []);\n\n return (\n <div\n ref={containerRef}\n className=\"rfp-flex rfp-flex-col rfp-items-center rfp-w-full rfp-h-full rfp-overflow-auto rfp-py-4 md:rfp-py-8 rfp-px-2 md:rfp-px-4\"\n >\n {error && (\n <RendererError message={error} />\n )}\n\n {!error && isLoading && (\n <div className=\"rfp-flex rfp-items-center rfp-justify-center rfp-min-h-screen\">\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 {!error && !isLoading && (\n <div className=\"pdf-pages rfp-flex rfp-flex-col rfp-gap-4\" />\n )}\n\n {/* 底部页码指示器 */}\n {numPages > 0 && (\n <div className=\"rfp-sticky rfp-bottom-2 md:rfp-bottom-4 rfp-mt-4 md:rfp-mt-8 rfp-bg-surface-nav-hover rfp-backdrop-blur-xl rfp-text-fg-primary rfp-px-4 rfp-py-2 md:rfp-px-6 md:rfp-py-3 rfp-rounded-full rfp-text-xs md:rfp-text-sm rfp-font-medium rfp-shadow-2xl rfp-border rfp-border-line-weak\">\n 第 {currentPage} 页 / 共 {numPages} 页\n </div>\n )}\n </div>\n );\n};\n"],"names":["PdfRenderer","url","zoom","currentPage","onPageChange","onTotalPagesChange","onPageWidthChange","t","useTranslator","numPages","setNumPages","useState","error","setError","isLoading","setIsLoading","containerRef","useRef","pdfDocRef","pageStatesRef","observerRef","renderPage","useCallback","pageNumber","scale","state","page","viewport","canvas","ctx","renderTask","baseViewport","label","err","clearPageCanvas","initPagePlaceholders","wrapper","i","pageDiv","loadPdf","loadingTask","pdfjsLib","total","handleScroll","container","scrollTop","containerHeight","scrollCenter","currentVisiblePage","minDistance","rect","containerRect","pageCenter","distance","useEffect","entries","entry","timer","_a","_b","jsxs","jsx","RendererError"],"mappings":"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"}