@eternalheart/react-file-preview 1.3.14 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/README.md +437 -60
  2. package/README.zh-CN.md +437 -60
  3. package/lib/FilePreviewContent.d.ts +4 -17
  4. package/lib/FilePreviewContent.d.ts.map +1 -1
  5. package/lib/FilePreviewEmbed.d.ts +2 -0
  6. package/lib/FilePreviewEmbed.d.ts.map +1 -1
  7. package/lib/FilePreviewModal.d.ts +2 -0
  8. package/lib/FilePreviewModal.d.ts.map +1 -1
  9. package/lib/chunks/RendererError-D5i8eSpN.mjs +15 -0
  10. package/lib/chunks/RendererError-D5i8eSpN.mjs.map +1 -0
  11. package/lib/chunks/index-2sX2d4iv.mjs +291 -0
  12. package/lib/chunks/index-2sX2d4iv.mjs.map +1 -0
  13. package/lib/chunks/index-Bdj8_B80.mjs +120 -0
  14. package/lib/chunks/index-Bdj8_B80.mjs.map +1 -0
  15. package/lib/chunks/index-CCcZzLUM.mjs +107 -0
  16. package/lib/chunks/index-CCcZzLUM.mjs.map +1 -0
  17. package/lib/chunks/{index-BfzV7KIz.mjs → index-CKdQL1Bk.mjs} +130 -128
  18. package/lib/chunks/{index-BfzV7KIz.mjs.map → index-CKdQL1Bk.mjs.map} +1 -1
  19. package/lib/chunks/index-CQYrhe7Z.mjs +275 -0
  20. package/lib/chunks/index-CQYrhe7Z.mjs.map +1 -0
  21. package/lib/chunks/{index-DEzF8C7L.mjs → index-CRZqNMQ7.mjs} +43 -41
  22. package/lib/chunks/index-CRZqNMQ7.mjs.map +1 -0
  23. package/lib/chunks/{index-D_cBflBv.mjs → index-CTghYlSh.mjs} +1299 -1297
  24. package/lib/chunks/{index-D_cBflBv.mjs.map → index-CTghYlSh.mjs.map} +1 -1
  25. package/lib/chunks/index-CuTz7dbd.mjs +313 -0
  26. package/lib/chunks/index-CuTz7dbd.mjs.map +1 -0
  27. package/lib/chunks/index-CuWzRQZw.mjs +116 -0
  28. package/lib/chunks/index-CuWzRQZw.mjs.map +1 -0
  29. package/lib/chunks/index-Cz23v-TW.mjs +2409 -0
  30. package/lib/chunks/index-Cz23v-TW.mjs.map +1 -0
  31. package/lib/chunks/{index-Br8WHz8e.mjs → index-D-Is8qvU.mjs} +22 -20
  32. package/lib/chunks/index-D-Is8qvU.mjs.map +1 -0
  33. package/lib/chunks/index-Da3FN2-3.mjs +359 -0
  34. package/lib/chunks/index-Da3FN2-3.mjs.map +1 -0
  35. package/lib/chunks/index-Dc6q1OKl.mjs +78 -0
  36. package/lib/chunks/index-Dc6q1OKl.mjs.map +1 -0
  37. package/lib/chunks/{index-d8Bt4gIX.mjs → index-DoGKcq9y.mjs} +196 -194
  38. package/lib/chunks/index-DoGKcq9y.mjs.map +1 -0
  39. package/lib/chunks/{index-DCGk-moA.mjs → index-DzCLf1Db.mjs} +47 -45
  40. package/lib/chunks/index-DzCLf1Db.mjs.map +1 -0
  41. package/lib/chunks/index-FomaQSaL.mjs +329 -0
  42. package/lib/chunks/index-FomaQSaL.mjs.map +1 -0
  43. package/lib/chunks/{index-BTLV1YqJ.mjs → index-OXjOFggq.mjs} +864 -862
  44. package/lib/chunks/{index-BTLV1YqJ.mjs.map → index-OXjOFggq.mjs.map} +1 -1
  45. package/lib/chunks/index-WLepq2g2.mjs +200 -0
  46. package/lib/chunks/index-WLepq2g2.mjs.map +1 -0
  47. package/lib/chunks/{index-BG3Idu38.mjs → index-_B5marES.mjs} +27 -25
  48. package/lib/chunks/index-_B5marES.mjs.map +1 -0
  49. package/lib/chunks/useShikiHighlight-Bbs8Fbqs.mjs +36 -0
  50. package/lib/chunks/useShikiHighlight-Bbs8Fbqs.mjs.map +1 -0
  51. package/lib/components/preview/FilePreviewRenderer.d.ts +18 -0
  52. package/lib/components/preview/FilePreviewRenderer.d.ts.map +1 -0
  53. package/lib/components/preview/FilePreviewToolbar.d.ts +20 -0
  54. package/lib/components/preview/FilePreviewToolbar.d.ts.map +1 -0
  55. package/lib/components/preview/NavArrows.d.ts +18 -0
  56. package/lib/components/preview/NavArrows.d.ts.map +1 -0
  57. package/lib/components/preview/RendererError.d.ts +15 -0
  58. package/lib/components/preview/RendererError.d.ts.map +1 -0
  59. package/lib/components/preview/RendererErrorBoundary.d.ts +23 -0
  60. package/lib/components/preview/RendererErrorBoundary.d.ts.map +1 -0
  61. package/lib/components/preview/ToolbarButton.d.ts +16 -0
  62. package/lib/components/preview/ToolbarButton.d.ts.map +1 -0
  63. package/lib/components/preview/index.d.ts +7 -0
  64. package/lib/components/preview/index.d.ts.map +1 -0
  65. package/lib/hooks/index.d.ts +3 -0
  66. package/lib/hooks/index.d.ts.map +1 -0
  67. package/lib/hooks/useKeyboardNavigation.d.ts +15 -0
  68. package/lib/hooks/useKeyboardNavigation.d.ts.map +1 -0
  69. package/lib/hooks/useShikiHighlight.d.ts +3 -1
  70. package/lib/hooks/useShikiHighlight.d.ts.map +1 -1
  71. package/lib/hooks/useThemeMode.d.ts +7 -0
  72. package/lib/hooks/useThemeMode.d.ts.map +1 -0
  73. package/lib/index.cjs +27 -25
  74. package/lib/index.cjs.map +1 -1
  75. package/lib/index.css +1 -1
  76. package/lib/index.mjs +1 -1
  77. package/lib/renderers/Audio/index.d.ts +2 -1
  78. package/lib/renderers/Audio/index.d.ts.map +1 -1
  79. package/lib/renderers/Csv/index.d.ts +2 -1
  80. package/lib/renderers/Csv/index.d.ts.map +1 -1
  81. package/lib/renderers/Docx/index.d.ts +2 -1
  82. package/lib/renderers/Docx/index.d.ts.map +1 -1
  83. package/lib/renderers/Epub/index.d.ts +2 -3
  84. package/lib/renderers/Epub/index.d.ts.map +1 -1
  85. package/lib/renderers/Font/index.d.ts +2 -1
  86. package/lib/renderers/Font/index.d.ts.map +1 -1
  87. package/lib/renderers/Image/index.d.ts +6 -7
  88. package/lib/renderers/Image/index.d.ts.map +1 -1
  89. package/lib/renderers/Json/index.d.ts +2 -1
  90. package/lib/renderers/Json/index.d.ts.map +1 -1
  91. package/lib/renderers/Markdown/index.d.ts +2 -2
  92. package/lib/renderers/Markdown/index.d.ts.map +1 -1
  93. package/lib/renderers/Mobi/index.d.ts +2 -3
  94. package/lib/renderers/Mobi/index.d.ts.map +1 -1
  95. package/lib/renderers/Msg/index.d.ts +2 -1
  96. package/lib/renderers/Msg/index.d.ts.map +1 -1
  97. package/lib/renderers/Pdf/index.d.ts +4 -6
  98. package/lib/renderers/Pdf/index.d.ts.map +1 -1
  99. package/lib/renderers/Pptx/index.d.ts +2 -1
  100. package/lib/renderers/Pptx/index.d.ts.map +1 -1
  101. package/lib/renderers/Subtitle/index.d.ts +2 -1
  102. package/lib/renderers/Subtitle/index.d.ts.map +1 -1
  103. package/lib/renderers/Text/index.d.ts +2 -3
  104. package/lib/renderers/Text/index.d.ts.map +1 -1
  105. package/lib/renderers/Video/index.d.ts +2 -1
  106. package/lib/renderers/Video/index.d.ts.map +1 -1
  107. package/lib/renderers/Xlsx/index.d.ts +2 -1
  108. package/lib/renderers/Xlsx/index.d.ts.map +1 -1
  109. package/lib/renderers/Xml/index.d.ts +2 -1
  110. package/lib/renderers/Xml/index.d.ts.map +1 -1
  111. package/lib/renderers/Zip/index.d.ts +7 -2
  112. package/lib/renderers/Zip/index.d.ts.map +1 -1
  113. package/lib/renderers/base.types.d.ts +38 -0
  114. package/lib/renderers/base.types.d.ts.map +1 -0
  115. package/lib/renderers/registry.d.ts +36 -0
  116. package/lib/renderers/registry.d.ts.map +1 -0
  117. package/lib/renderers/toolbar.types.d.ts +3 -0
  118. package/lib/renderers/toolbar.types.d.ts.map +1 -1
  119. package/lib/toolbar/renderItems.d.ts +8 -0
  120. package/lib/toolbar/renderItems.d.ts.map +1 -0
  121. package/package.json +3 -3
  122. package/lib/chunks/RendererError-BH6fzLrN.mjs +0 -15
  123. package/lib/chunks/RendererError-BH6fzLrN.mjs.map +0 -1
  124. package/lib/chunks/index--lXiT1Y_.mjs +0 -2325
  125. package/lib/chunks/index--lXiT1Y_.mjs.map +0 -1
  126. package/lib/chunks/index-B05UpMZC.mjs +0 -270
  127. package/lib/chunks/index-B05UpMZC.mjs.map +0 -1
  128. package/lib/chunks/index-BG3Idu38.mjs.map +0 -1
  129. package/lib/chunks/index-B_7NPlPG.mjs +0 -105
  130. package/lib/chunks/index-B_7NPlPG.mjs.map +0 -1
  131. package/lib/chunks/index-BaU-yih3.mjs +0 -194
  132. package/lib/chunks/index-BaU-yih3.mjs.map +0 -1
  133. package/lib/chunks/index-Br8WHz8e.mjs.map +0 -1
  134. package/lib/chunks/index-CaobN7Im.mjs +0 -175
  135. package/lib/chunks/index-CaobN7Im.mjs.map +0 -1
  136. package/lib/chunks/index-Ch7DqyC4.mjs +0 -55
  137. package/lib/chunks/index-Ch7DqyC4.mjs.map +0 -1
  138. package/lib/chunks/index-DCGk-moA.mjs.map +0 -1
  139. package/lib/chunks/index-DEzF8C7L.mjs.map +0 -1
  140. package/lib/chunks/index-DKwN-YU-.mjs +0 -54
  141. package/lib/chunks/index-DKwN-YU-.mjs.map +0 -1
  142. package/lib/chunks/index-DMmb2rBE.mjs +0 -357
  143. package/lib/chunks/index-DMmb2rBE.mjs.map +0 -1
  144. package/lib/chunks/index-Dq-90KbM.mjs +0 -240
  145. package/lib/chunks/index-Dq-90KbM.mjs.map +0 -1
  146. package/lib/chunks/index-Go2oJfny.mjs +0 -114
  147. package/lib/chunks/index-Go2oJfny.mjs.map +0 -1
  148. package/lib/chunks/index-d8Bt4gIX.mjs.map +0 -1
  149. package/lib/chunks/index-jHf5E4be.mjs +0 -161
  150. package/lib/chunks/index-jHf5E4be.mjs.map +0 -1
  151. package/lib/chunks/useShikiHighlight-DoY3TBPT.mjs +0 -23
  152. package/lib/chunks/useShikiHighlight-DoY3TBPT.mjs.map +0 -1
  153. package/lib/renderers/Epub/toolbar.d.ts +0 -13
  154. package/lib/renderers/Epub/toolbar.d.ts.map +0 -1
  155. package/lib/renderers/Image/toolbar.d.ts +0 -15
  156. package/lib/renderers/Image/toolbar.d.ts.map +0 -1
  157. package/lib/renderers/Markdown/toolbar.d.ts +0 -9
  158. package/lib/renderers/Markdown/toolbar.d.ts.map +0 -1
  159. package/lib/renderers/Mobi/toolbar.d.ts +0 -13
  160. package/lib/renderers/Mobi/toolbar.d.ts.map +0 -1
  161. package/lib/renderers/Pdf/toolbar.d.ts +0 -11
  162. package/lib/renderers/Pdf/toolbar.d.ts.map +0 -1
  163. package/lib/renderers/Text/toolbar.d.ts +0 -12
  164. package/lib/renderers/Text/toolbar.d.ts.map +0 -1
  165. package/lib/renderers/Zip/toolbar.d.ts +0 -13
  166. package/lib/renderers/Zip/toolbar.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/preview/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './useKeyboardNavigation';
2
+ export * from './useThemeMode';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface UseKeyboardNavigationParams {
2
+ mode: 'modal' | 'embed';
3
+ currentIndex: number;
4
+ totalFiles: number;
5
+ onNavigate?: (index: number) => void;
6
+ onClose?: () => void;
7
+ rootRef?: React.RefObject<HTMLDivElement | null>;
8
+ }
9
+ /**
10
+ * 键盘导航 hook
11
+ * - modal 模式:监听 window 的 keydown 事件
12
+ * - embed 模式:仅监听根容器的 keydown 事件(需要容器获得焦点)
13
+ */
14
+ export declare function useKeyboardNavigation({ mode, currentIndex, totalFiles, onNavigate, onClose, rootRef, }: UseKeyboardNavigationParams): void;
15
+ //# sourceMappingURL=useKeyboardNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useKeyboardNavigation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAO,GACR,EAAE,2BAA2B,GAAG,IAAI,CA8BpC"}
@@ -8,11 +8,13 @@
8
8
  * 因此 resolvedTheme 进入依赖数组。
9
9
  *
10
10
  * @returns
11
- * - `html`: 高亮后的 HTML 字符串(失败或加载中为 '')
11
+ * - `html`: 完整的 shiki 输出 HTML(含 pre/code 包裹),markdown 等场景使用
12
+ * - `lineHtmls`: 拆分后的每一行 HTML(用于双列行号布局)
12
13
  * - `loading`: 是否正在高亮
13
14
  */
14
15
  export declare function useShikiHighlight(code: string, lang: string): {
15
16
  html: string;
17
+ lineHtmls: string[];
16
18
  loading: boolean;
17
19
  };
18
20
  //# sourceMappingURL=useShikiHighlight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useShikiHighlight.d.ts","sourceRoot":"","sources":["../../src/hooks/useShikiHighlight.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA8BhG"}
1
+ {"version":3,"file":"useShikiHighlight.d.ts","sourceRoot":"","sources":["../../src/hooks/useShikiHighlight.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA2CzD"}
@@ -0,0 +1,7 @@
1
+ import type { Theme } from '@eternalheart/file-preview-core';
2
+ /**
3
+ * 主题模式 hook
4
+ * 处理 auto 主题时的系统偏好监听
5
+ */
6
+ export declare function useThemeMode(theme: Theme): 'light' | 'dark';
7
+ //# sourceMappingURL=useThemeMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useThemeMode.d.ts","sourceRoot":"","sources":["../../src/hooks/useThemeMode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAiB3D"}