@eternalheart/react-file-preview 1.3.9 → 1.3.11

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 (124) hide show
  1. package/README.md +10 -0
  2. package/README.zh-CN.md +10 -0
  3. package/lib/FilePreviewContent.d.ts.map +1 -1
  4. package/lib/RequestContext.d.ts +1 -1
  5. package/lib/RequestContext.d.ts.map +1 -1
  6. package/lib/chunks/RendererError-BH6fzLrN.mjs +15 -0
  7. package/lib/chunks/RendererError-BH6fzLrN.mjs.map +1 -0
  8. package/lib/chunks/avifLoader-BP3fgcMm-BnpxLhxp.mjs +56 -0
  9. package/lib/chunks/avifLoader-BP3fgcMm-BnpxLhxp.mjs.map +1 -0
  10. package/lib/chunks/heicLoader-CH_raQNn-1fBLaICM.mjs +37 -0
  11. package/lib/chunks/heicLoader-CH_raQNn-1fBLaICM.mjs.map +1 -0
  12. package/lib/chunks/index-B57rEPin.mjs +54 -0
  13. package/lib/chunks/index-B57rEPin.mjs.map +1 -0
  14. package/lib/chunks/index-BCuRRLYt.mjs +222 -0
  15. package/lib/chunks/index-BCuRRLYt.mjs.map +1 -0
  16. package/lib/chunks/{index-BSD3w5eG.mjs → index-BJ6vTNxc.mjs} +76 -75
  17. package/lib/chunks/index-BJ6vTNxc.mjs.map +1 -0
  18. package/lib/chunks/index-BYdqrqnR.mjs +161 -0
  19. package/lib/chunks/index-BYdqrqnR.mjs.map +1 -0
  20. package/lib/chunks/index-BiyghBxu.mjs +136 -0
  21. package/lib/chunks/index-BiyghBxu.mjs.map +1 -0
  22. package/lib/chunks/{index-DdOEWhrk.mjs → index-C8CyS_sj.mjs} +66 -63
  23. package/lib/chunks/index-C8CyS_sj.mjs.map +1 -0
  24. package/lib/chunks/index-C8OrFLd5.mjs +594 -0
  25. package/lib/chunks/index-C8OrFLd5.mjs.map +1 -0
  26. package/lib/chunks/{index-DGuiWJr7.mjs → index-CCkHAeLh.mjs} +40 -37
  27. package/lib/chunks/index-CCkHAeLh.mjs.map +1 -0
  28. package/lib/chunks/index-CdmkF0CO.mjs +105 -0
  29. package/lib/chunks/index-CdmkF0CO.mjs.map +1 -0
  30. package/lib/chunks/index-CuAALtwC.mjs +2299 -0
  31. package/lib/chunks/index-CuAALtwC.mjs.map +1 -0
  32. package/lib/chunks/index-D660ENHx.mjs +114 -0
  33. package/lib/chunks/index-D660ENHx.mjs.map +1 -0
  34. package/lib/chunks/{index-DV5Jd7Qe.mjs → index-DBEG73K1.mjs} +79 -78
  35. package/lib/chunks/index-DBEG73K1.mjs.map +1 -0
  36. package/lib/chunks/index-DaFlk9dd.mjs +13097 -0
  37. package/lib/chunks/index-DaFlk9dd.mjs.map +1 -0
  38. package/lib/chunks/index-_mP0FkqE.mjs +113 -0
  39. package/lib/chunks/index-_mP0FkqE.mjs.map +1 -0
  40. package/lib/chunks/{index-U3w45GW8.mjs → index-nLTQXCV7.mjs} +84 -82
  41. package/lib/chunks/index-nLTQXCV7.mjs.map +1 -0
  42. package/lib/chunks/index-nVblatyi.mjs +55 -0
  43. package/lib/chunks/index-nVblatyi.mjs.map +1 -0
  44. package/lib/chunks/{index-zEVVgWCH.mjs → index-ow-nGpuu.mjs} +99 -98
  45. package/lib/chunks/index-ow-nGpuu.mjs.map +1 -0
  46. package/lib/chunks/index-qOC5xQyK.mjs +96 -0
  47. package/lib/chunks/index-qOC5xQyK.mjs.map +1 -0
  48. package/lib/chunks/index-rUfsiVR8.mjs +12335 -0
  49. package/lib/chunks/index-rUfsiVR8.mjs.map +1 -0
  50. package/lib/chunks/jp2Loader-Bn-qPMbD-Bn-qPMbD.mjs +122 -0
  51. package/lib/chunks/jp2Loader-Bn-qPMbD-Bn-qPMbD.mjs.map +1 -0
  52. package/lib/chunks/psdLoader-Doxw3mWm-DVOGFSlh.mjs +73 -0
  53. package/lib/chunks/psdLoader-Doxw3mWm-DVOGFSlh.mjs.map +1 -0
  54. package/lib/chunks/rawLoader-0mLvxCNp-CJmERiK7.mjs +82 -0
  55. package/lib/chunks/rawLoader-0mLvxCNp-CJmERiK7.mjs.map +1 -0
  56. package/lib/chunks/tiffLoader-CTFKVLqJ-B84NfwhR.mjs +60 -0
  57. package/lib/chunks/tiffLoader-CTFKVLqJ-B84NfwhR.mjs.map +1 -0
  58. package/lib/chunks/{useShikiHighlight-DzEAK0S7.mjs → useShikiHighlight-ClbUXJ2p.mjs} +3 -3
  59. package/lib/chunks/{useShikiHighlight-DzEAK0S7.mjs.map → useShikiHighlight-ClbUXJ2p.mjs.map} +1 -1
  60. package/lib/index.cjs +33 -20
  61. package/lib/index.cjs.map +1 -1
  62. package/lib/index.css +1 -1
  63. package/lib/index.d.ts +1 -0
  64. package/lib/index.d.ts.map +1 -1
  65. package/lib/index.mjs +14 -13
  66. package/lib/renderers/Audio/index.d.ts.map +1 -1
  67. package/lib/renderers/Csv/index.d.ts.map +1 -1
  68. package/lib/renderers/Docx/index.d.ts.map +1 -1
  69. package/lib/renderers/Epub/index.d.ts.map +1 -1
  70. package/lib/renderers/Font/index.d.ts +6 -0
  71. package/lib/renderers/Font/index.d.ts.map +1 -0
  72. package/lib/renderers/Image/index.d.ts +2 -0
  73. package/lib/renderers/Image/index.d.ts.map +1 -1
  74. package/lib/renderers/Json/index.d.ts.map +1 -1
  75. package/lib/renderers/Markdown/index.d.ts.map +1 -1
  76. package/lib/renderers/Mobi/index.d.ts.map +1 -1
  77. package/lib/renderers/Msg/index.d.ts.map +1 -1
  78. package/lib/renderers/Pdf/index.d.ts +0 -1
  79. package/lib/renderers/Pdf/index.d.ts.map +1 -1
  80. package/lib/renderers/Pptx/index.d.ts.map +1 -1
  81. package/lib/renderers/RendererError.d.ts +8 -0
  82. package/lib/renderers/RendererError.d.ts.map +1 -0
  83. package/lib/renderers/Subtitle/index.d.ts.map +1 -1
  84. package/lib/renderers/Text/index.d.ts.map +1 -1
  85. package/lib/renderers/Video/index.d.ts +1 -0
  86. package/lib/renderers/Video/index.d.ts.map +1 -1
  87. package/lib/renderers/Xlsx/index.d.ts.map +1 -1
  88. package/lib/renderers/Xml/index.d.ts.map +1 -1
  89. package/lib/renderers/Zip/index.d.ts.map +1 -1
  90. package/lib/renderers/lazy.d.ts +2 -0
  91. package/lib/renderers/lazy.d.ts.map +1 -1
  92. package/lib/utils/pdfConfig.d.ts +2 -2
  93. package/lib/utils/pdfConfig.d.ts.map +1 -1
  94. package/package.json +14 -5
  95. package/lib/chunks/index-B-H9HQiI.mjs +0 -110
  96. package/lib/chunks/index-B-H9HQiI.mjs.map +0 -1
  97. package/lib/chunks/index-BGeyzo6u.mjs +0 -96
  98. package/lib/chunks/index-BGeyzo6u.mjs.map +0 -1
  99. package/lib/chunks/index-BNUiNUWa.mjs +0 -103
  100. package/lib/chunks/index-BNUiNUWa.mjs.map +0 -1
  101. package/lib/chunks/index-BSD3w5eG.mjs.map +0 -1
  102. package/lib/chunks/index-BcBe6KW7.mjs +0 -99
  103. package/lib/chunks/index-BcBe6KW7.mjs.map +0 -1
  104. package/lib/chunks/index-BdYkTSTt.mjs +0 -51
  105. package/lib/chunks/index-BdYkTSTt.mjs.map +0 -1
  106. package/lib/chunks/index-BqEuP_8r.mjs +0 -152
  107. package/lib/chunks/index-BqEuP_8r.mjs.map +0 -1
  108. package/lib/chunks/index-Bv93wiEK.mjs +0 -2031
  109. package/lib/chunks/index-Bv93wiEK.mjs.map +0 -1
  110. package/lib/chunks/index-CKirCT35.mjs +0 -52
  111. package/lib/chunks/index-CKirCT35.mjs.map +0 -1
  112. package/lib/chunks/index-CgV8T0G5.mjs +0 -257
  113. package/lib/chunks/index-CgV8T0G5.mjs.map +0 -1
  114. package/lib/chunks/index-D8GtNeDn.mjs +0 -116
  115. package/lib/chunks/index-D8GtNeDn.mjs.map +0 -1
  116. package/lib/chunks/index-DGuiWJr7.mjs.map +0 -1
  117. package/lib/chunks/index-DV5Jd7Qe.mjs.map +0 -1
  118. package/lib/chunks/index-DdOEWhrk.mjs.map +0 -1
  119. package/lib/chunks/index-DmepcY31.mjs +0 -96
  120. package/lib/chunks/index-DmepcY31.mjs.map +0 -1
  121. package/lib/chunks/index-U3w45GW8.mjs.map +0 -1
  122. package/lib/chunks/index-r3q2xCCI.mjs +0 -129
  123. package/lib/chunks/index-r3q2xCCI.mjs.map +0 -1
  124. package/lib/chunks/index-zEVVgWCH.mjs.map +0 -1
package/lib/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export { FilePreviewEmbed } from './FilePreviewEmbed';
5
5
  export { FilePreviewContent } from './FilePreviewContent';
6
6
  export type { PreviewFile, PreviewFileLink, PreviewFileInput, FileType, ToolbarAction, PreviewState, CustomRenderer, CustomRendererContext, CustomRendererEventPayload, } from './types';
7
7
  export { normalizeFile, normalizeFiles } from './utils/fileNormalizer';
8
+ export { SUPPORTED_FILE_TYPES } from '@eternalheart/file-preview-core';
8
9
  export { configurePdfjs, pdfjs } from './utils/pdfConfig';
9
10
  export type { PdfConfigOptions } from './utils/pdfConfig';
10
11
  export { LocaleProvider, useTranslator, useLocale } from './i18n/LocaleContext';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,CAAC;AAMrB,eAAO,MAAM,OAAO,QAAsB,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,YAAY,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACpF,YAAY,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,KAAK,GACN,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,CAAC;AAMrB,eAAO,MAAM,OAAO,QAAsB,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,YAAY,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACpF,YAAY,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,KAAK,GACN,MAAM,iCAAiC,CAAC"}
package/lib/index.mjs CHANGED
@@ -1,16 +1,17 @@
1
- import { F as s, h as r, i, L as o, V as l, j as n, U as F, l as d, n as f, u as m } from "./chunks/index-Bv93wiEK.mjs";
2
- import { pdfjs as P } from "react-pdf";
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-CuAALtwC.mjs";
2
+ import * as e from "pdfjs-dist/build/pdf.mjs";
3
3
  export {
4
- s as FilePreviewContent,
5
- r as FilePreviewEmbed,
6
- i as FilePreviewModal,
7
- o as LocaleProvider,
8
- l as VERSION,
9
- n as configurePdfjs,
10
- F as normalizeFile,
11
- d as normalizeFiles,
12
- P as pdfjs,
13
- f as useLocale,
14
- m as useTranslator
4
+ r as FilePreviewContent,
5
+ i as FilePreviewEmbed,
6
+ o as FilePreviewModal,
7
+ l as LocaleProvider,
8
+ P as SUPPORTED_FILE_TYPES,
9
+ d as VERSION,
10
+ f as configurePdfjs,
11
+ m as normalizeFile,
12
+ n as normalizeFiles,
13
+ e as pdfjs,
14
+ t as useLocale,
15
+ F as useTranslator
15
16
  };
16
17
  //# sourceMappingURL=index.mjs.map
@@ -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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface FontRendererProps {
3
+ url: string;
4
+ }
5
+ export declare const FontRenderer: React.FC<FontRendererProps>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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,4 +1,3 @@
1
- import '../../utils/pdfConfig';
2
1
  interface PdfRendererProps {
3
2
  url: string;
4
3
  zoom: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pdf/index.tsx"],"names":[],"mappings":"AAKA,OAAO,uBAAuB,CAAC;AAE/B,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,CAiJlD,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"}
@@ -16,6 +16,7 @@ import type { XmlRenderer as XmlRendererImpl } from './Xml';
16
16
  import type { SubtitleRenderer as SubtitleRendererImpl } from './Subtitle';
17
17
  import type { ZipRenderer as ZipRendererImpl } from './Zip';
18
18
  import type { TextRenderer as TextRendererImpl } from './Text';
19
+ import type { FontRenderer as FontRendererImpl } from './Font';
19
20
  type Lazy<T> = LazyExoticComponent<T extends ComponentType<infer P> ? ComponentType<P> : never>;
20
21
  export declare const ImageRenderer: Lazy<typeof ImageRendererImpl>;
21
22
  export declare const PdfRenderer: Lazy<typeof PdfRendererImpl>;
@@ -34,5 +35,6 @@ export declare const XmlRenderer: Lazy<typeof XmlRendererImpl>;
34
35
  export declare const SubtitleRenderer: Lazy<typeof SubtitleRendererImpl>;
35
36
  export declare const ZipRenderer: Lazy<typeof ZipRendererImpl>;
36
37
  export declare const TextRenderer: Lazy<typeof TextRendererImpl>;
38
+ export declare const FontRenderer: Lazy<typeof FontRendererImpl>;
37
39
  export {};
38
40
  //# sourceMappingURL=lazy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/renderers/lazy.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/renderers/lazy.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { pdfjs } from 'react-pdf';
1
+ import * as pdfjsLib from 'pdfjs-dist/build/pdf.mjs';
2
2
  /**
3
3
  * PDF.js Worker 配置选项
4
4
  */
@@ -39,5 +39,5 @@ export interface PdfConfigOptions {
39
39
  * ```
40
40
  */
41
41
  export declare function configurePdfjs(options?: PdfConfigOptions): void;
42
- export { pdfjs };
42
+ export { pdfjsLib as pdfjs };
43
43
  //# sourceMappingURL=pdfConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdfConfig.d.ts","sourceRoot":"","sources":["../../src/utils/pdfConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,QAcxD;AAKD,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"pdfConfig.d.ts","sourceRoot":"","sources":["../../src/utils/pdfConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,QAExD;AAED,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternalheart/react-file-preview",
3
- "version": "1.3.9",
3
+ "version": "1.3.11",
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,32 +75,39 @@
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",
86
93
  "mammoth": "^1.8.0",
94
+ "opentype.js": "^2.0.0",
87
95
  "pdfjs-dist": "4.8.69",
88
96
  "pptx-preview": "^1.0.7",
89
97
  "react-markdown": "^10.1.0",
90
- "react-pdf": "9.2.1",
91
98
  "rehype-katex": "^7.0.1",
92
99
  "rehype-raw": "^7.0.0",
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",
@@ -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, c as O, b as E } from "./index-Bv93wiEK.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
- }, b = ({ 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, g = 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
- g,
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: g }),
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(b, { value: o, depth: f + 1, defaultExpanded: f < 1, colors: t }, x)) : Object.entries(n).map(([o, x]) => /* @__PURE__ */ r(b, { 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 T(e) {
89
- return e === "light" ? J : R;
90
- }
91
- const G = ({ url: e }) => {
92
- const n = k(), f = C(), i = O(), t = j(() => T(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(b, { value: d, depth: 0, defaultExpanded: !0, colors: t }) });
106
- };
107
- export {
108
- G as JsonRenderer
109
- };
110
- //# sourceMappingURL=index-B-H9HQiI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-B-H9HQiI.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,96 +0,0 @@
1
- import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
- import { useState as u, useRef as v, useEffect as g } from "react";
3
- import x from "video.js";
4
- import { u as y } from "./index-Bv93wiEK.mjs";
5
- const b = (r) => {
6
- var s;
7
- const o = ((s = r.split(".").pop()) == null ? void 0 : s.toLowerCase().split("?")[0]) || "";
8
- return {
9
- mp4: "video/mp4",
10
- webm: "video/webm",
11
- ogg: "video/ogg",
12
- ogv: "video/ogg",
13
- mov: "video/quicktime",
14
- // MOV 使用 QuickTime MIME 类型
15
- avi: "video/x-msvideo",
16
- mkv: "video/x-matroska",
17
- m4v: "video/mp4",
18
- "3gp": "video/3gpp",
19
- flv: "video/x-flv"
20
- }[o] || "video/mp4";
21
- }, L = ({ url: r }) => {
22
- const o = y(), [f, s] = u(null), [h, d] = u(!0), n = v(null), l = v(null);
23
- return g(() => {
24
- if (!l.current && n.current) {
25
- const t = document.createElement("video-js");
26
- t.classList.add("vjs-big-play-centered", "vjs-theme-apple"), n.current.appendChild(t);
27
- const c = b(r), i = x(t, {
28
- controls: !0,
29
- fill: !0,
30
- preload: "auto",
31
- controlBar: {
32
- children: [
33
- "playToggle",
34
- "volumePanel",
35
- "currentTimeDisplay",
36
- "timeDivider",
37
- "durationDisplay",
38
- "progressControl",
39
- "remainingTimeDisplay",
40
- "fullscreenToggle"
41
- ],
42
- volumePanel: {
43
- inline: !1
44
- }
45
- },
46
- html5: {
47
- vhs: {
48
- overrideNative: !0
49
- },
50
- nativeVideoTracks: !1,
51
- nativeAudioTracks: !1,
52
- nativeTextTracks: !1
53
- },
54
- sources: c === "video/quicktime" ? [
55
- { src: r, type: "video/quicktime" },
56
- { src: r, type: "video/mp4" }
57
- // 备用方案
58
- ] : [{ src: r, type: c }]
59
- }), m = i.el().querySelector("video");
60
- m && (m.style.objectFit = "contain"), i.on("loadeddata", () => {
61
- d(!1);
62
- }), i.on("error", () => {
63
- const p = i.error();
64
- console.error("Video.js error:", p), s(o("video.load_failed_with_error", { error: (p == null ? void 0 : p.message) || o("common.unknown_error") })), d(!1);
65
- }), l.current = i;
66
- }
67
- }, [r]), g(() => {
68
- const t = l.current;
69
- return () => {
70
- t && !t.isDisposed() && (t.dispose(), l.current = null);
71
- };
72
- }, []), f ? /* @__PURE__ */ e("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full", children: /* @__PURE__ */ a("div", { className: "rfp-text-center", children: [
73
- /* @__PURE__ */ e("div", { className: "rfp-w-16 rfp-h-16 rfp-mx-auto rfp-mb-4 rfp-rounded-full rfp-bg-red-500/10 rfp-flex rfp-items-center rfp-justify-center", children: /* @__PURE__ */ e("svg", { className: "rfp-w-8 rfp-h-8 rfp-text-red-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }) }),
74
- /* @__PURE__ */ e("p", { className: "rfp-text-lg rfp-font-medium rfp-text-fg-primary rfp-mb-2", children: o("video.load_failed") }),
75
- /* @__PURE__ */ e("p", { className: "rfp-text-sm rfp-text-fg-tertiary", children: f })
76
- ] }) }) : /* @__PURE__ */ e("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full", children: /* @__PURE__ */ a("div", { className: "rfp-w-full rfp-h-full rfp-relative", children: [
77
- h && /* @__PURE__ */ e("div", { className: "rfp-absolute rfp-inset-0 rfp-flex rfp-items-center rfp-justify-center rfp-bg-surface-3 rfp-backdrop-blur-sm rfp-z-10", children: /* @__PURE__ */ a("div", { className: "rfp-text-center", children: [
78
- /* @__PURE__ */ e("div", { className: "rfp-w-12 rfp-h-12 rfp-mx-auto rfp-mb-3 rfp-border-3 rfp-border-line-strong rfp-border-t-spinner-head rfp-rounded-full rfp-animate-spin" }),
79
- /* @__PURE__ */ e("p", { className: "rfp-text-sm rfp-text-fg-secondary rfp-font-medium", children: o("video.loading") })
80
- ] }) }),
81
- /* @__PURE__ */ e(
82
- "div",
83
- {
84
- ref: n,
85
- className: "rfp-overflow-hidden rfp-w-full rfp-h-full [&_video]:rfp-object-contain",
86
- style: {
87
- boxShadow: "0 20px 60px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05)"
88
- }
89
- }
90
- )
91
- ] }) });
92
- };
93
- export {
94
- L as VideoRenderer
95
- };
96
- //# sourceMappingURL=index-BGeyzo6u.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BGeyzo6u.mjs","sources":["../../src/renderers/Video/index.tsx"],"sourcesContent":["import { useRef, useEffect, useState } from 'react';\nimport videojs from 'video.js';\nimport 'video.js/dist/video-js.css';\nimport { useTranslator } from '../../i18n/LocaleContext';\n\ntype VideoJsPlayer = ReturnType<typeof videojs>;\n\ninterface VideoRendererProps {\n url: string;\n}\n\n// 根据 URL 获取视频 MIME 类型\nconst getVideoType = (url: string): string => {\n const ext = url.split('.').pop()?.toLowerCase().split('?')[0] || '';\n const typeMap: Record<string, string> = {\n mp4: 'video/mp4',\n webm: 'video/webm',\n ogg: 'video/ogg',\n ogv: 'video/ogg',\n mov: 'video/quicktime', // MOV 使用 QuickTime MIME 类型\n avi: 'video/x-msvideo',\n mkv: 'video/x-matroska',\n m4v: 'video/mp4',\n '3gp': 'video/3gpp',\n flv: 'video/x-flv',\n };\n return typeMap[ext] || 'video/mp4';\n};\n\nexport const VideoRenderer: React.FC<VideoRendererProps> = ({ url }) => {\n const t = useTranslator();\n const [error, setError] = useState<string | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n const videoRef = useRef<HTMLDivElement>(null);\n const playerRef = useRef<VideoJsPlayer | null>(null);\n\n useEffect(() => {\n // 确保 Video.js 播放器只初始化一次\n if (!playerRef.current && videoRef.current) {\n const videoElement = document.createElement('video-js');\n videoElement.classList.add('vjs-big-play-centered', 'vjs-theme-apple');\n videoRef.current.appendChild(videoElement);\n\n const videoType = getVideoType(url);\n\n // 为 MOV 格式提供多个 MIME 类型作为备用\n const sources = videoType === 'video/quicktime'\n ? [\n { src: url, type: 'video/quicktime' },\n { src: url, type: 'video/mp4' } // 备用方案\n ]\n : [{ src: url, type: videoType }];\n\n const player = videojs(videoElement, {\n controls: true,\n fill: true,\n preload: 'auto',\n controlBar: {\n children: [\n 'playToggle',\n 'volumePanel',\n 'currentTimeDisplay',\n 'timeDivider',\n 'durationDisplay',\n 'progressControl',\n 'remainingTimeDisplay',\n 'fullscreenToggle'\n ],\n volumePanel: {\n inline: false\n }\n },\n html5: {\n vhs: {\n overrideNative: true\n },\n nativeVideoTracks: false,\n nativeAudioTracks: false,\n nativeTextTracks: false\n },\n sources\n });\n\n // 确保视频保持比例\n const videoEl = player.el().querySelector('video');\n if (videoEl) {\n (videoEl as HTMLVideoElement).style.objectFit = 'contain';\n }\n\n // 监听加载完成\n player.on('loadeddata', () => {\n setIsLoading(false);\n });\n\n player.on('error', () => {\n const error = player.error();\n console.error('Video.js error:', error);\n setError(t('video.load_failed_with_error', { error: error?.message || t('common.unknown_error') }));\n setIsLoading(false);\n });\n\n playerRef.current = player;\n }\n }, [url]);\n\n // 清理函数\n useEffect(() => {\n const player = playerRef.current;\n\n return () => {\n if (player && !player.isDisposed()) {\n player.dispose();\n playerRef.current = null;\n }\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-center\">\n <div className=\"rfp-w-16 rfp-h-16 rfp-mx-auto rfp-mb-4 rfp-rounded-full rfp-bg-red-500/10 rfp-flex rfp-items-center rfp-justify-center\">\n <svg className=\"rfp-w-8 rfp-h-8 rfp-text-red-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\" />\n </svg>\n </div>\n <p className=\"rfp-text-lg rfp-font-medium rfp-text-fg-primary rfp-mb-2\">{t('video.load_failed')}</p>\n <p className=\"rfp-text-sm rfp-text-fg-tertiary\">{error}</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full\">\n <div className=\"rfp-w-full rfp-h-full rfp-relative\">\n {/* 加载状态 */}\n {isLoading && (\n <div className=\"rfp-absolute rfp-inset-0 rfp-flex rfp-items-center rfp-justify-center rfp-bg-surface-3 rfp-backdrop-blur-sm rfp-z-10\">\n <div className=\"rfp-text-center\">\n <div className=\"rfp-w-12 rfp-h-12 rfp-mx-auto rfp-mb-3 rfp-border-3 rfp-border-line-strong rfp-border-t-spinner-head rfp-rounded-full rfp-animate-spin\" />\n <p className=\"rfp-text-sm rfp-text-fg-secondary rfp-font-medium\">{t('video.loading')}</p>\n </div>\n </div>\n )}\n\n {/* 视频播放器容器 */}\n <div\n ref={videoRef}\n className=\"rfp-overflow-hidden rfp-w-full rfp-h-full [&_video]:rfp-object-contain\"\n style={{\n boxShadow: '0 20px 60px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05)'\n }}\n />\n </div>\n </div>\n );\n};\n"],"names":["getVideoType","url","ext","_a","VideoRenderer","t","useTranslator","error","setError","useState","isLoading","setIsLoading","videoRef","useRef","playerRef","useEffect","videoElement","videoType","player","videojs","videoEl","jsxs","jsx"],"mappings":"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"}