@eternalheart/react-file-preview 1.1.3 → 1.2.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 (64) hide show
  1. package/README.md +6 -6
  2. package/README.zh-CN.md +6 -6
  3. package/lib/FilePreviewContent.d.ts +1 -0
  4. package/lib/FilePreviewContent.d.ts.map +1 -1
  5. package/lib/hooks/useAudioPlayer.d.ts.map +1 -0
  6. package/lib/index.cjs +76 -13
  7. package/lib/index.cjs.map +1 -1
  8. package/lib/index.css +1 -1
  9. package/lib/index.mjs +30359 -7093
  10. package/lib/index.mjs.map +1 -1
  11. package/lib/renderers/{AudioRenderer.d.ts → Audio/index.d.ts} +1 -1
  12. package/lib/renderers/Audio/index.d.ts.map +1 -0
  13. package/lib/renderers/{DocxRenderer.d.ts → Docx/index.d.ts} +1 -1
  14. package/lib/renderers/Docx/index.d.ts.map +1 -0
  15. package/lib/renderers/Epub/index.d.ts +19 -0
  16. package/lib/renderers/Epub/index.d.ts.map +1 -0
  17. package/lib/renderers/Epub/toolbar.d.ts +11 -0
  18. package/lib/renderers/Epub/toolbar.d.ts.map +1 -0
  19. package/lib/renderers/{ImageRenderer.d.ts → Image/index.d.ts} +1 -1
  20. package/lib/renderers/Image/index.d.ts.map +1 -0
  21. package/lib/renderers/Image/toolbar.d.ts +13 -0
  22. package/lib/renderers/Image/toolbar.d.ts.map +1 -0
  23. package/lib/renderers/Json/index.d.ts +7 -0
  24. package/lib/renderers/Json/index.d.ts.map +1 -0
  25. package/lib/renderers/{MarkdownRenderer.d.ts → Markdown/index.d.ts} +1 -1
  26. package/lib/renderers/Markdown/index.d.ts.map +1 -0
  27. package/lib/renderers/{MsgRenderer.d.ts → Msg/index.d.ts} +1 -1
  28. package/lib/renderers/Msg/index.d.ts.map +1 -0
  29. package/lib/renderers/{PdfRenderer.d.ts → Pdf/index.d.ts} +2 -4
  30. package/lib/renderers/Pdf/index.d.ts.map +1 -0
  31. package/lib/renderers/Pdf/toolbar.d.ts +9 -0
  32. package/lib/renderers/Pdf/toolbar.d.ts.map +1 -0
  33. package/lib/renderers/{PptxRenderer.d.ts → Pptx/index.d.ts} +1 -1
  34. package/lib/renderers/Pptx/index.d.ts.map +1 -0
  35. package/lib/renderers/{TextRenderer.d.ts → Text/index.d.ts} +1 -1
  36. package/lib/renderers/Text/index.d.ts.map +1 -0
  37. package/lib/renderers/{UnsupportedRenderer.d.ts → Unsupported/index.d.ts} +1 -1
  38. package/lib/renderers/Unsupported/index.d.ts.map +1 -0
  39. package/lib/renderers/{VideoRenderer.d.ts → Video/index.d.ts} +1 -1
  40. package/lib/renderers/Video/index.d.ts.map +1 -0
  41. package/lib/renderers/{XlsxRenderer.d.ts → Xlsx/index.d.ts} +2 -1
  42. package/lib/renderers/Xlsx/index.d.ts.map +1 -0
  43. package/lib/renderers/toolbar.types.d.ts +17 -0
  44. package/lib/renderers/toolbar.types.d.ts.map +1 -0
  45. package/lib/types.d.ts +2 -22
  46. package/lib/types.d.ts.map +1 -1
  47. package/lib/utils/excelDataConverter.d.ts +1 -45
  48. package/lib/utils/excelDataConverter.d.ts.map +1 -1
  49. package/lib/utils/fileNormalizer.d.ts +1 -17
  50. package/lib/utils/fileNormalizer.d.ts.map +1 -1
  51. package/package.json +8 -6
  52. package/lib/renderers/AudioRenderer.d.ts.map +0 -1
  53. package/lib/renderers/DocxRenderer.d.ts.map +0 -1
  54. package/lib/renderers/ImageRenderer.d.ts.map +0 -1
  55. package/lib/renderers/MarkdownRenderer.d.ts.map +0 -1
  56. package/lib/renderers/MsgRenderer.d.ts.map +0 -1
  57. package/lib/renderers/PdfRenderer.d.ts.map +0 -1
  58. package/lib/renderers/PptxRenderer.d.ts.map +0 -1
  59. package/lib/renderers/TextRenderer.d.ts.map +0 -1
  60. package/lib/renderers/UnsupportedRenderer.d.ts.map +0 -1
  61. package/lib/renderers/VideoRenderer.d.ts.map +0 -1
  62. package/lib/renderers/XlsxRenderer.d.ts.map +0 -1
  63. package/lib/renderers/hooks/useAudioPlayer.d.ts.map +0 -1
  64. /package/lib/{renderers/hooks → hooks}/useAudioPlayer.d.ts +0 -0
@@ -4,4 +4,4 @@ interface AudioRendererProps {
4
4
  }
5
5
  export declare const AudioRenderer: React.FC<AudioRendererProps>;
6
6
  export {};
7
- //# sourceMappingURL=AudioRenderer.d.ts.map
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Audio/index.tsx"],"names":[],"mappings":"AAmJA,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4VtD,CAAC"}
@@ -3,4 +3,4 @@ interface DocxRendererProps {
3
3
  }
4
4
  export declare const DocxRenderer: React.FC<DocxRendererProps>;
5
5
  export {};
6
- //# sourceMappingURL=DocxRenderer.d.ts.map
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Docx/index.tsx"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAeD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwIpD,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface TocItem {
2
+ label: string;
3
+ href: string;
4
+ subitems?: TocItem[];
5
+ }
6
+ export interface EpubRendererHandle {
7
+ prevChapter: () => void;
8
+ nextChapter: () => void;
9
+ toggleFullWidth: () => void;
10
+ toggleToc: () => void;
11
+ }
12
+ interface EpubRendererProps {
13
+ url: string;
14
+ onChapterChange?: (current: number, total: number) => void;
15
+ onFullWidthChange?: (isFullWidth: boolean) => void;
16
+ }
17
+ export declare const EpubRenderer: import("react").ForwardRefExoticComponent<EpubRendererProps & import("react").RefAttributes<EpubRendererHandle>>;
18
+ export {};
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Epub/index.tsx"],"names":[],"mappings":"AAmBA,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,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,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,kHA+VxB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { ToolbarGroup } from '../toolbar.types';
3
+ import type { EpubRendererHandle } from './index';
4
+ export interface EpubToolbarContext {
5
+ epubRef: React.RefObject<EpubRendererHandle | null>;
6
+ current: number;
7
+ total: number;
8
+ fullWidth: boolean;
9
+ }
10
+ export declare function getEpubToolbarGroups(ctx: EpubToolbarContext): ToolbarGroup[];
11
+ //# sourceMappingURL=toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/renderers/Epub/toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAyB5E"}
@@ -10,4 +10,4 @@ interface ImageRendererProps {
10
10
  }
11
11
  export declare const ImageRenderer: React.FC<ImageRendererProps>;
12
12
  export {};
13
- //# sourceMappingURL=ImageRenderer.d.ts.map
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Image/index.tsx"],"names":[],"mappings":"AAGA,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,CAyLtD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ToolbarGroup } from '../toolbar.types';
2
+ export interface ImageToolbarContext {
3
+ zoom: number;
4
+ onZoomIn: () => void;
5
+ onZoomOut: () => void;
6
+ onFitToWidth: () => void;
7
+ onOriginalSize: () => void;
8
+ onRotateLeft: () => void;
9
+ onRotateRight: () => void;
10
+ onReset: () => void;
11
+ }
12
+ export declare function getImageToolbarGroups(ctx: ImageToolbarContext): ToolbarGroup[];
13
+ //# sourceMappingURL=toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/renderers/Image/toolbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAmBrD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,mBAAmB,GAAG,YAAY,EAAE,CA2B9E"}
@@ -0,0 +1,7 @@
1
+ interface JsonRendererProps {
2
+ url: string;
3
+ fileName: string;
4
+ }
5
+ export declare const JsonRenderer: React.FC<JsonRendererProps>;
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Json/index.tsx"],"names":[],"mappings":"AAKA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiFpD,CAAC"}
@@ -3,4 +3,4 @@ interface MarkdownRendererProps {
3
3
  }
4
4
  export declare const MarkdownRenderer: React.FC<MarkdownRendererProps>;
5
5
  export {};
6
- //# sourceMappingURL=MarkdownRenderer.d.ts.map
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Markdown/index.tsx"],"names":[],"mappings":"AAOA,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAkCD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAyL5D,CAAC"}
@@ -3,4 +3,4 @@ interface MsgRendererProps {
3
3
  }
4
4
  export declare const MsgRenderer: React.FC<MsgRendererProps>;
5
5
  export {};
6
- //# sourceMappingURL=MsgRenderer.d.ts.map
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Msg/index.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAoGD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgSlD,CAAC"}
@@ -1,6 +1,4 @@
1
- import 'react-pdf/dist/esm/Page/AnnotationLayer.css';
2
- import 'react-pdf/dist/esm/Page/TextLayer.css';
3
- import '../utils/pdfConfig';
1
+ import '../../utils/pdfConfig';
4
2
  interface PdfRendererProps {
5
3
  url: string;
6
4
  zoom: number;
@@ -11,4 +9,4 @@ interface PdfRendererProps {
11
9
  }
12
10
  export declare const PdfRenderer: React.FC<PdfRendererProps>;
13
11
  export {};
14
- //# sourceMappingURL=PdfRenderer.d.ts.map
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pdf/index.tsx"],"names":[],"mappings":"AAIA,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,CAgJlD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ToolbarGroup } from '../toolbar.types';
2
+ export interface PdfToolbarContext {
3
+ zoom: number;
4
+ onZoomIn: () => void;
5
+ onZoomOut: () => void;
6
+ onReset: () => void;
7
+ }
8
+ export declare function getPdfToolbarGroups(ctx: PdfToolbarContext): ToolbarGroup[];
9
+ //# sourceMappingURL=toolbar.d.ts.map
@@ -0,0 +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;AAErD,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;CACrB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAe1E"}
@@ -5,4 +5,4 @@ interface PptxRendererProps {
5
5
  }
6
6
  export declare const PptxRenderer: React.FC<PptxRendererProps>;
7
7
  export {};
8
- //# sourceMappingURL=PptxRenderer.d.ts.map
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Pptx/index.tsx"],"names":[],"mappings":"AAIA,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,CA2UpD,CAAC"}
@@ -4,4 +4,4 @@ interface TextRendererProps {
4
4
  }
5
5
  export declare const TextRenderer: React.FC<TextRendererProps>;
6
6
  export {};
7
- //# sourceMappingURL=TextRenderer.d.ts.map
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Text/index.tsx"],"names":[],"mappings":"AAKA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2CD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuFpD,CAAC"}
@@ -5,4 +5,4 @@ interface UnsupportedRendererProps {
5
5
  }
6
6
  export declare const UnsupportedRenderer: React.FC<UnsupportedRendererProps>;
7
7
  export {};
8
- //# sourceMappingURL=UnsupportedRenderer.d.ts.map
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Unsupported/index.tsx"],"names":[],"mappings":"AAEA,UAAU,wBAAwB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAyBlE,CAAC"}
@@ -4,4 +4,4 @@ interface VideoRendererProps {
4
4
  }
5
5
  export declare const VideoRenderer: React.FC<VideoRendererProps>;
6
6
  export {};
7
- //# sourceMappingURL=VideoRenderer.d.ts.map
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Video/index.tsx"],"names":[],"mappings":"AAEA,OAAO,4BAA4B,CAAC;AAIpC,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAoBD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+HtD,CAAC"}
@@ -1,6 +1,7 @@
1
+ import 'x-data-spreadsheet/dist/xspreadsheet.css';
1
2
  interface XlsxRendererProps {
2
3
  url: string;
3
4
  }
4
5
  export declare const XlsxRenderer: React.FC<XlsxRendererProps>;
5
6
  export {};
6
- //# sourceMappingURL=XlsxRenderer.d.ts.map
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/Xlsx/index.tsx"],"names":[],"mappings":"AAIA,OAAO,0CAA0C,CAAC;AAGlD,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsOpD,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface ToolbarButtonItem {
2
+ type: 'button';
3
+ icon: React.ReactNode;
4
+ tooltip: string;
5
+ action: () => void;
6
+ disabled?: boolean;
7
+ }
8
+ export interface ToolbarTextItem {
9
+ type: 'text';
10
+ content: string;
11
+ minWidth?: string;
12
+ }
13
+ export type ToolbarItem = ToolbarButtonItem | ToolbarTextItem;
14
+ export interface ToolbarGroup {
15
+ items: ToolbarItem[];
16
+ }
17
+ //# sourceMappingURL=toolbar.types.d.ts.map
@@ -0,0 +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;AAE9D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB"}
package/lib/types.d.ts CHANGED
@@ -1,31 +1,11 @@
1
- export interface PreviewFileLink {
2
- id?: string;
3
- name: string;
4
- url: string;
5
- type: string;
6
- size?: number;
7
- }
8
- export interface PreviewFile {
9
- id: string;
10
- name: string;
11
- url: string;
12
- type: string;
13
- size?: number;
14
- }
15
- export type PreviewFileInput = File | PreviewFileLink | string;
16
- export type FileType = 'image' | 'pdf' | 'docx' | 'xlsx' | 'pptx' | 'msg' | 'video' | 'audio' | 'markdown' | 'text' | 'unsupported';
1
+ export type { PreviewFile, PreviewFileLink, PreviewFileInput, FileType, PreviewState, } from '@eternalheart/file-preview-core';
2
+ import type { PreviewFile } from '@eternalheart/file-preview-core';
17
3
  export interface ToolbarAction {
18
4
  icon: React.ReactNode;
19
5
  label: string;
20
6
  onClick: () => void;
21
7
  disabled?: boolean;
22
8
  }
23
- export interface PreviewState {
24
- zoom: number;
25
- rotation: number;
26
- currentPage: number;
27
- totalPages: number;
28
- }
29
9
  export interface CustomRenderer {
30
10
  test: (file: PreviewFile) => boolean;
31
11
  render: (file: PreviewFile) => React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,eAAe,GAAG,MAAM,CAAC;AAE/D,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,OAAO,GACP,OAAO,GACP,UAAU,GACV,MAAM,GACN,aAAa,CAAC;AAElB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAE7B,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAErC,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC;CAChD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,YAAY,GACb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAE7B,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAErC,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC;CAChD"}
@@ -1,46 +1,2 @@
1
- import type { Workbook } from 'exceljs';
2
- interface XCellStyle {
3
- align?: 'left' | 'center' | 'right';
4
- valign?: 'top' | 'middle' | 'bottom';
5
- font?: {
6
- name?: string;
7
- size?: number;
8
- bold?: boolean;
9
- italic?: boolean;
10
- };
11
- bgcolor?: string;
12
- textwrap?: boolean;
13
- color?: string;
14
- strike?: boolean;
15
- underline?: boolean;
16
- border?: {
17
- top?: string[];
18
- right?: string[];
19
- bottom?: string[];
20
- left?: string[];
21
- };
22
- }
23
- interface XCellData {
24
- text: string;
25
- style?: number;
26
- merge?: [number, number];
27
- }
28
- interface XRowData {
29
- height?: number;
30
- cells: Record<string, XCellData>;
31
- }
32
- interface XSheetData {
33
- name: string;
34
- styles?: XCellStyle[];
35
- merges?: string[];
36
- rows?: Record<string, XRowData>;
37
- cols?: Record<string, {
38
- width?: number;
39
- } | number>;
40
- }
41
- /**
42
- * 将 exceljs Workbook 转换为 x-data-spreadsheet 数据格式
43
- */
44
- export declare function convertWorkbookToSpreadsheetData(workbook: Workbook): XSheetData[];
45
- export {};
1
+ export { convertWorkbookToSpreadsheetData } from '@eternalheart/file-preview-core';
46
2
  //# sourceMappingURL=excelDataConverter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"excelDataConverter.d.ts","sourceRoot":"","sources":["../../src/utils/excelDataConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgD,MAAM,SAAS,CAAC;AAGtF,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1B;AAED,UAAU,QAAQ;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClC;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,CAAC;CACpD;AAmTD;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,QAAQ,GACjB,UAAU,EAAE,CA4Ed"}
1
+ {"version":3,"file":"excelDataConverter.d.ts","sourceRoot":"","sources":["../../src/utils/excelDataConverter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,18 +1,2 @@
1
- import { PreviewFile, PreviewFileInput } from '../types';
2
- /**
3
- * 从 URL 字符串中提取文件名
4
- */
5
- export declare function getFileNameFromUrl(url: string): string;
6
- /**
7
- * 标准化文件输入为 PreviewFile 格式
8
- * 支持三种输入类型:
9
- * 1. File 对象(原生浏览器 File)
10
- * 2. PreviewFileLink 对象(包含 name, url, type 等属性)
11
- * 3. string(HTTP URL)
12
- */
13
- export declare function normalizeFile(input: PreviewFileInput, index?: number): PreviewFile;
14
- /**
15
- * 批量标准化文件输入
16
- */
17
- export declare function normalizeFiles(inputs: PreviewFileInput[]): PreviewFile[];
1
+ export { normalizeFile, normalizeFiles, getFileNameFromUrl, } from '@eternalheart/file-preview-core';
18
2
  //# sourceMappingURL=fileNormalizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileNormalizer.d.ts","sourceRoot":"","sources":["../../src/utils/fileNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEzD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWtD;AA0ED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,GAAE,MAAU,GAAG,WAAW,CA+BrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAExE"}
1
+ {"version":3,"file":"fileNormalizer.d.ts","sourceRoot":"","sources":["../../src/utils/fileNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,iCAAiC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternalheart/react-file-preview",
3
- "version": "1.1.3",
3
+ "version": "1.2.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",
@@ -38,14 +38,14 @@
38
38
  "markdown-viewer",
39
39
  "code-viewer"
40
40
  ],
41
- "homepage": "https://wh131462.github.io/react-file-preview",
41
+ "homepage": "https://wh131462.github.io/file-preview",
42
42
  "repository": {
43
43
  "type": "git",
44
- "url": "git+https://github.com/wh131462/react-file-preview.git",
44
+ "url": "git+https://github.com/wh131462/file-preview.git",
45
45
  "directory": "packages/react-file-preview"
46
46
  },
47
47
  "bugs": {
48
- "url": "https://github.com/wh131462/react-file-preview/issues"
48
+ "url": "https://github.com/wh131462/file-preview/issues"
49
49
  },
50
50
  "license": "MIT",
51
51
  "publishConfig": {
@@ -74,10 +74,10 @@
74
74
  },
75
75
  "dependencies": {
76
76
  "@kenjiuno/msgreader": "^1.28.0",
77
+ "@likecoin/epub-ts": "^0.6.0",
77
78
  "@types/react-syntax-highlighter": "^15.5.13",
78
79
  "@videojs-player/react": "^1.0.0",
79
80
  "docx-preview": "^0.3.2",
80
- "exceljs": "^4.4.0",
81
81
  "framer-motion": "^11.11.17",
82
82
  "lucide-react": "^0.460.0",
83
83
  "mammoth": "^1.8.0",
@@ -95,6 +95,7 @@
95
95
  "@types/react-dom": "^18.3.1",
96
96
  "@vitejs/plugin-react": "^4.3.4",
97
97
  "autoprefixer": "^10.4.20",
98
+ "exceljs": "^4.4.0",
98
99
  "postcss": "^8.4.49",
99
100
  "postcss-prefix-selector": "^2.1.1",
100
101
  "react": "^18.3.1",
@@ -103,6 +104,7 @@
103
104
  "typescript": "^5.6.3",
104
105
  "vite": "^5.4.11",
105
106
  "vite-plugin-static-copy": "^3.1.4",
106
- "x-data-spreadsheet": "^1.1.9"
107
+ "x-data-spreadsheet": "^1.1.9",
108
+ "@eternalheart/file-preview-core": "workspace:*"
107
109
  }
108
110
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/AudioRenderer.tsx"],"names":[],"mappings":"AAmJA,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4VtD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocxRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/DocxRenderer.tsx"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAeD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwIpD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/ImageRenderer.tsx"],"names":[],"mappings":"AAGA,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,CAyLtD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/MarkdownRenderer.tsx"],"names":[],"mappings":"AAOA,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAkCD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAyL5D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MsgRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/MsgRenderer.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAoGD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgSlD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PdfRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/PdfRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,6CAA6C,CAAC;AACrD,OAAO,uCAAuC,CAAC;AAG/C,OAAO,oBAAoB,CAAC;AAE5B,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,CAgJlD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PptxRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/PptxRenderer.tsx"],"names":[],"mappings":"AAIA,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,CA2UpD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/TextRenderer.tsx"],"names":[],"mappings":"AAKA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2CD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuFpD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnsupportedRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/UnsupportedRenderer.tsx"],"names":[],"mappings":"AAEA,UAAU,wBAAwB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAyBlE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/VideoRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,4BAA4B,CAAC;AAIpC,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAoBD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+HtD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"XlsxRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/XlsxRenderer.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsOpD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAudioPlayer.d.ts","sourceRoot":"","sources":["../../../src/renderers/hooks/useAudioPlayer.ts"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACtC;AAED,wBAAgB,cAAc,CAAC,EAC7B,GAAG,GACJ,EAAE,qBAAqB,GAAG,oBAAoB,CAyK9C"}