@eternalheart/react-file-preview 1.3.14 → 1.4.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 (105) hide show
  1. package/lib/FilePreviewContent.d.ts +3 -17
  2. package/lib/FilePreviewContent.d.ts.map +1 -1
  3. package/lib/chunks/RendererError-D5i8eSpN.mjs +15 -0
  4. package/lib/chunks/RendererError-D5i8eSpN.mjs.map +1 -0
  5. package/lib/chunks/{index-B_7NPlPG.mjs → index-0v5STX5f.mjs} +18 -18
  6. package/lib/chunks/index-0v5STX5f.mjs.map +1 -0
  7. package/lib/chunks/{index-d8Bt4gIX.mjs → index-10O8tfTH.mjs} +7 -7
  8. package/lib/chunks/index-10O8tfTH.mjs.map +1 -0
  9. package/lib/chunks/{index-CaobN7Im.mjs → index-BCyv1HM9.mjs} +6 -6
  10. package/lib/chunks/index-BCyv1HM9.mjs.map +1 -0
  11. package/lib/chunks/{index-Go2oJfny.mjs → index-Bo90aGhy.mjs} +3 -3
  12. package/lib/chunks/{index-Go2oJfny.mjs.map → index-Bo90aGhy.mjs.map} +1 -1
  13. package/lib/chunks/index-CEeKt7L3.mjs +2808 -0
  14. package/lib/chunks/index-CEeKt7L3.mjs.map +1 -0
  15. package/lib/chunks/{index-B05UpMZC.mjs → index-CWKbnvW6.mjs} +3 -3
  16. package/lib/chunks/{index-B05UpMZC.mjs.map → index-CWKbnvW6.mjs.map} +1 -1
  17. package/lib/chunks/{index-DCGk-moA.mjs → index-C_BJatqr.mjs} +14 -14
  18. package/lib/chunks/index-C_BJatqr.mjs.map +1 -0
  19. package/lib/chunks/index-Cbz5Z6ZK.mjs +263 -0
  20. package/lib/chunks/index-Cbz5Z6ZK.mjs.map +1 -0
  21. package/lib/chunks/{index-D_cBflBv.mjs → index-Cp68OevR.mjs} +3 -3
  22. package/lib/chunks/{index-D_cBflBv.mjs.map → index-Cp68OevR.mjs.map} +1 -1
  23. package/lib/chunks/{index-BfzV7KIz.mjs → index-CzM2mxrD.mjs} +4 -4
  24. package/lib/chunks/{index-BfzV7KIz.mjs.map → index-CzM2mxrD.mjs.map} +1 -1
  25. package/lib/chunks/{index-DMmb2rBE.mjs → index-DTYBFuAH.mjs} +4 -4
  26. package/lib/chunks/{index-DMmb2rBE.mjs.map → index-DTYBFuAH.mjs.map} +1 -1
  27. package/lib/chunks/{index-BTLV1YqJ.mjs → index-DaAXRBWL.mjs} +3 -3
  28. package/lib/chunks/{index-BTLV1YqJ.mjs.map → index-DaAXRBWL.mjs.map} +1 -1
  29. package/lib/chunks/{index-BG3Idu38.mjs → index-DoFsoBKL.mjs} +3 -3
  30. package/lib/chunks/{index-BG3Idu38.mjs.map → index-DoFsoBKL.mjs.map} +1 -1
  31. package/lib/chunks/{index-DEzF8C7L.mjs → index-DuP0Tlpo.mjs} +3 -3
  32. package/lib/chunks/{index-DEzF8C7L.mjs.map → index-DuP0Tlpo.mjs.map} +1 -1
  33. package/lib/chunks/index-Dv3RQz86.mjs +270 -0
  34. package/lib/chunks/index-Dv3RQz86.mjs.map +1 -0
  35. package/lib/chunks/{index-Ch7DqyC4.mjs → index-QfpHck8N.mjs} +5 -5
  36. package/lib/chunks/{index-Ch7DqyC4.mjs.map → index-QfpHck8N.mjs.map} +1 -1
  37. package/lib/chunks/{index-BaU-yih3.mjs → index-gjSQeou7.mjs} +3 -3
  38. package/lib/chunks/{index-BaU-yih3.mjs.map → index-gjSQeou7.mjs.map} +1 -1
  39. package/lib/chunks/{index-Br8WHz8e.mjs → index-kALp0tqz.mjs} +3 -3
  40. package/lib/chunks/{index-Br8WHz8e.mjs.map → index-kALp0tqz.mjs.map} +1 -1
  41. package/lib/chunks/{index-DKwN-YU-.mjs → index-kCeSnFs-.mjs} +9 -9
  42. package/lib/chunks/{index-DKwN-YU-.mjs.map → index-kCeSnFs-.mjs.map} +1 -1
  43. package/lib/chunks/{useShikiHighlight-DoY3TBPT.mjs → useShikiHighlight-BA9qgdGA.mjs} +2 -2
  44. package/lib/chunks/{useShikiHighlight-DoY3TBPT.mjs.map → useShikiHighlight-BA9qgdGA.mjs.map} +1 -1
  45. package/lib/components/preview/FilePreviewRenderer.d.ts +18 -0
  46. package/lib/components/preview/FilePreviewRenderer.d.ts.map +1 -0
  47. package/lib/components/preview/FilePreviewToolbar.d.ts +19 -0
  48. package/lib/components/preview/FilePreviewToolbar.d.ts.map +1 -0
  49. package/lib/components/preview/NavArrows.d.ts +18 -0
  50. package/lib/components/preview/NavArrows.d.ts.map +1 -0
  51. package/lib/components/preview/RendererError.d.ts +15 -0
  52. package/lib/components/preview/RendererError.d.ts.map +1 -0
  53. package/lib/components/preview/RendererErrorBoundary.d.ts +23 -0
  54. package/lib/components/preview/RendererErrorBoundary.d.ts.map +1 -0
  55. package/lib/components/preview/ToolbarButton.d.ts +14 -0
  56. package/lib/components/preview/ToolbarButton.d.ts.map +1 -0
  57. package/lib/components/preview/index.d.ts +7 -0
  58. package/lib/components/preview/index.d.ts.map +1 -0
  59. package/lib/hooks/index.d.ts +9 -0
  60. package/lib/hooks/index.d.ts.map +1 -0
  61. package/lib/hooks/rendererReducer.d.ts +10 -0
  62. package/lib/hooks/rendererReducer.d.ts.map +1 -0
  63. package/lib/hooks/types.d.ts +152 -0
  64. package/lib/hooks/types.d.ts.map +1 -0
  65. package/lib/hooks/useBookRenderer.d.ts +14 -0
  66. package/lib/hooks/useBookRenderer.d.ts.map +1 -0
  67. package/lib/hooks/useFilePreviewState.d.ts +10 -0
  68. package/lib/hooks/useFilePreviewState.d.ts.map +1 -0
  69. package/lib/hooks/useImageAutoFit.d.ts +13 -0
  70. package/lib/hooks/useImageAutoFit.d.ts.map +1 -0
  71. package/lib/hooks/useKeyboardNavigation.d.ts +15 -0
  72. package/lib/hooks/useKeyboardNavigation.d.ts.map +1 -0
  73. package/lib/hooks/useThemeMode.d.ts +7 -0
  74. package/lib/hooks/useThemeMode.d.ts.map +1 -0
  75. package/lib/hooks/useToolbarConfig.d.ts +25 -0
  76. package/lib/hooks/useToolbarConfig.d.ts.map +1 -0
  77. package/lib/index.cjs +30 -30
  78. package/lib/index.cjs.map +1 -1
  79. package/lib/index.css +1 -1
  80. package/lib/index.mjs +1 -1
  81. package/lib/renderers/Epub/index.d.ts.map +1 -1
  82. package/lib/renderers/Markdown/index.d.ts.map +1 -1
  83. package/lib/renderers/Pdf/index.d.ts +2 -0
  84. package/lib/renderers/Pdf/index.d.ts.map +1 -1
  85. package/lib/renderers/Pdf/toolbar.d.ts +5 -0
  86. package/lib/renderers/Pdf/toolbar.d.ts.map +1 -1
  87. package/lib/renderers/toolbar.types.d.ts +1 -0
  88. package/lib/renderers/toolbar.types.d.ts.map +1 -1
  89. package/lib/toolbar/registry.d.ts +51 -0
  90. package/lib/toolbar/registry.d.ts.map +1 -0
  91. package/lib/toolbar/renderItems.d.ts +8 -0
  92. package/lib/toolbar/renderItems.d.ts.map +1 -0
  93. package/package.json +1 -1
  94. package/lib/chunks/RendererError-BH6fzLrN.mjs +0 -15
  95. package/lib/chunks/RendererError-BH6fzLrN.mjs.map +0 -1
  96. package/lib/chunks/index--lXiT1Y_.mjs +0 -2325
  97. package/lib/chunks/index--lXiT1Y_.mjs.map +0 -1
  98. package/lib/chunks/index-B_7NPlPG.mjs.map +0 -1
  99. package/lib/chunks/index-CaobN7Im.mjs.map +0 -1
  100. package/lib/chunks/index-DCGk-moA.mjs.map +0 -1
  101. package/lib/chunks/index-Dq-90KbM.mjs +0 -240
  102. package/lib/chunks/index-Dq-90KbM.mjs.map +0 -1
  103. package/lib/chunks/index-d8Bt4gIX.mjs.map +0 -1
  104. package/lib/chunks/index-jHf5E4be.mjs +0 -161
  105. package/lib/chunks/index-jHf5E4be.mjs.map +0 -1
package/lib/index.mjs CHANGED
@@ -1,4 +1,4 @@
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--lXiT1Y_.mjs";
1
+ import { d as r, e as i, f as o, L as l, v as P, V as d, g as f, B as m, w as n, h as t, u as F } from "./chunks/index-CEeKt7L3.mjs";
2
2
  import * as e from "pdfjs-dist/build/pdf.mjs";
3
3
  export {
4
4
  r as FilePreviewContent,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Epub/index.tsx"],"names":[],"mappings":"AAsBA,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AA8BD,eAAO,MAAM,YAAY,kHA8VxB,CAAC"}
1
+ {"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,kHA4YxB,CAAC"}
@@ -1 +1 @@
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
+ {"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,CA0M5D,CAAC"}
@@ -2,9 +2,11 @@ interface PdfRendererProps {
2
2
  url: string;
3
3
  zoom: number;
4
4
  currentPage: number;
5
+ showOutline?: boolean;
5
6
  onPageChange: (page: number) => void;
6
7
  onTotalPagesChange: (total: number) => void;
7
8
  onPageWidthChange?: (width: number) => void;
9
+ onToggleOutline?: () => void;
8
10
  }
9
11
  export declare const PdfRenderer: React.FC<PdfRendererProps>;
10
12
  export {};
@@ -1 +1 @@
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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pdf/index.tsx"],"names":[],"mappings":"AAmCA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,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;IAC5C,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8elD,CAAC"}
@@ -2,9 +2,14 @@ import type { ToolbarGroup } from '../toolbar.types';
2
2
  import type { Translator } from '@eternalheart/file-preview-core';
3
3
  export interface PdfToolbarContext {
4
4
  zoom: number;
5
+ currentPage: number;
6
+ totalPages: number;
5
7
  onZoomIn: () => void;
6
8
  onZoomOut: () => void;
7
9
  onReset: () => void;
10
+ onPrevPage: () => void;
11
+ onNextPage: () => void;
12
+ onToggleOutline?: () => void;
8
13
  t: Translator;
9
14
  }
10
15
  export declare function getPdfToolbarGroups(ctx: PdfToolbarContext): ToolbarGroup[];
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pdf/toolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,CAAC,EAAE,UAAU,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAe1E"}
1
+ {"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pdf/toolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,CAAC,EAAE,UAAU,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAsC1E"}
@@ -4,6 +4,7 @@ export interface ToolbarButtonItem {
4
4
  tooltip: string;
5
5
  action: () => void;
6
6
  disabled?: boolean;
7
+ ariaKeyshortcuts?: string;
7
8
  }
8
9
  export interface ToolbarTextItem {
9
10
  type: 'text';
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.types.d.ts","sourceRoot":"","sources":["../../src/renderers/toolbar.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAI9D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"toolbar.types.d.ts","sourceRoot":"","sources":["../../src/renderers/toolbar.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAI9D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB"}
@@ -0,0 +1,51 @@
1
+ import type { ToolbarGroup } from '../renderers/toolbar.types';
2
+ import type { Translator } from '@eternalheart/file-preview-core';
3
+ import type { RendererState } from '../hooks/types';
4
+ import type { EpubRendererHandle } from '../renderers/Epub';
5
+ import type { MobiRendererHandle } from '../renderers/Mobi';
6
+ /**
7
+ * 工具栏配置工厂调用上下文
8
+ * 包含状态、回调引用和 i18n 翻译函数
9
+ */
10
+ export interface ToolbarFactoryContext {
11
+ state: RendererState;
12
+ t: Translator;
13
+ fileName: string;
14
+ onZoomIn: () => void;
15
+ onZoomOut: () => void;
16
+ onReset: () => void;
17
+ onFitToWidth: () => void;
18
+ onOriginalSize: () => void;
19
+ onRotateLeft: () => void;
20
+ onRotateRight: () => void;
21
+ onPrevPage: () => void;
22
+ onNextPage: () => void;
23
+ onToggleOutline: () => void;
24
+ onToggleWrap: () => void;
25
+ onToggleHtmlPreview: () => void;
26
+ onToggleViewMode: () => void;
27
+ epubRef: React.RefObject<EpubRendererHandle | null>;
28
+ mobiRef: React.RefObject<MobiRendererHandle | null>;
29
+ epubCurrent?: number;
30
+ epubTotal?: number;
31
+ epubFullWidth?: boolean;
32
+ mobiCurrent?: number;
33
+ mobiTotal?: number;
34
+ mobiFullWidth?: boolean;
35
+ }
36
+ /**
37
+ * 工具栏配置工厂签名
38
+ */
39
+ export type ToolbarConfigFactory = (ctx: ToolbarFactoryContext) => ToolbarGroup[];
40
+ /**
41
+ * 根据文件类型获取工具栏配置
42
+ * @param fileType 文件类型
43
+ * @param ctx 上下文(状态 + 回调)
44
+ * @returns 工具栏组数组,未知类型返回空数组
45
+ */
46
+ export declare function getToolbarGroups(fileType: string, ctx: ToolbarFactoryContext): ToolbarGroup[];
47
+ /**
48
+ * 注册自定义工具栏工厂(供外部扩展)
49
+ */
50
+ export declare function registerToolbarFactory(fileType: string, factory: ToolbarConfigFactory): void;
51
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/toolbar/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAS5D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,aAAa,CAAC;IACrB,CAAC,EAAE,UAAU,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAE5B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAE7B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACpD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAEpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,qBAAqB,KAAK,YAAY,EAAE,CAAC;AA0ElF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,qBAAqB,GACzB,YAAY,EAAE,CAGhB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAE5F"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { ToolbarGroup } from '../renderers/toolbar.types';
3
+ /**
4
+ * 渲染工具栏组项(按钮 + 文本 + 分隔线)
5
+ * 提取到模块顶层,避免每次组件渲染时重新创建
6
+ */
7
+ export declare function renderToolbarItems(groups: ToolbarGroup[], dividerClass: string): React.ReactNode;
8
+ //# sourceMappingURL=renderItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderItems.d.ts","sourceRoot":"","sources":["../../src/toolbar/renderItems.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EAAE,EACtB,YAAY,EAAE,MAAM,GACnB,KAAK,CAAC,SAAS,CA0BjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternalheart/react-file-preview",
3
- "version": "1.3.14",
3
+ "version": "1.4.0",
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",
@@ -1,15 +0,0 @@
1
- import { jsx as r, jsxs as p } from "react/jsx-runtime";
2
- import { AlertCircle as l } from "lucide-react";
3
- const c = ({
4
- message: f,
5
- detail: e,
6
- showIcon: t = !0
7
- }) => /* @__PURE__ */ r("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full", children: /* @__PURE__ */ p("div", { className: "rfp-text-center", children: [
8
- t && /* @__PURE__ */ r("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__ */ r(l, { className: "rfp-w-8 rfp-h-8 rfp-text-red-400" }) }),
9
- /* @__PURE__ */ r("p", { className: "rfp-text-lg md:rfp-text-xl rfp-font-medium rfp-text-fg-primary rfp-mb-2", children: f }),
10
- e && /* @__PURE__ */ r("p", { className: "rfp-text-sm rfp-text-fg-tertiary", children: e })
11
- ] }) });
12
- export {
13
- c as R
14
- };
15
- //# sourceMappingURL=RendererError-BH6fzLrN.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendererError-BH6fzLrN.mjs","sources":["../../src/renderers/RendererError.tsx"],"sourcesContent":["import { AlertCircle } from 'lucide-react';\n\ninterface RendererErrorProps {\n message: string;\n detail?: string;\n showIcon?: boolean;\n}\n\nexport const RendererError: React.FC<RendererErrorProps> = ({\n message,\n detail,\n showIcon = true,\n}) => {\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 {showIcon && (\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 <AlertCircle className=\"rfp-w-8 rfp-h-8 rfp-text-red-400\" />\n </div>\n )}\n <p className=\"rfp-text-lg md:rfp-text-xl rfp-font-medium rfp-text-fg-primary rfp-mb-2\">\n {message}\n </p>\n {detail && (\n <p className=\"rfp-text-sm rfp-text-fg-tertiary\">{detail}</p>\n )}\n </div>\n </div>\n );\n};\n"],"names":["RendererError","message","detail","showIcon","jsxs","jsx","AlertCircle"],"mappings":";;AAQO,MAAMA,IAA8C,CAAC;AAAA,EAC1D,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC,IAAW;AACb,wBAEK,OAAA,EAAI,WAAU,sEACb,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,mBACZ,UAAA;AAAA,EAAAD,KACC,gBAAAE,EAAC,SAAI,WAAU,0HACb,4BAACC,GAAA,EAAY,WAAU,oCAAmC,EAAA,CAC5D;AAAA,EAEF,gBAAAD,EAAC,KAAA,EAAE,WAAU,2EACV,UAAAJ,GACH;AAAA,EACCC,KACC,gBAAAG,EAAC,KAAA,EAAE,WAAU,oCAAoC,UAAAH,EAAA,CAAO;AAAA,EAAA,CAE5D,EAAA,CACF;"}