@eternalheart/react-file-preview 1.3.13 → 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.
- package/lib/FilePreviewContent.d.ts +3 -17
- package/lib/FilePreviewContent.d.ts.map +1 -1
- package/lib/FilePreviewEmbed.d.ts +2 -0
- package/lib/FilePreviewEmbed.d.ts.map +1 -1
- package/lib/chunks/RendererError-D5i8eSpN.mjs +15 -0
- package/lib/chunks/RendererError-D5i8eSpN.mjs.map +1 -0
- package/lib/chunks/{index-CIqtwqgy.mjs → index-0v5STX5f.mjs} +18 -18
- package/lib/chunks/index-0v5STX5f.mjs.map +1 -0
- package/lib/chunks/{index-p4mew8Hx.mjs → index-10O8tfTH.mjs} +7 -7
- package/lib/chunks/index-10O8tfTH.mjs.map +1 -0
- package/lib/chunks/{index-CRn7LdHD.mjs → index-BCyv1HM9.mjs} +6 -6
- package/lib/chunks/index-BCyv1HM9.mjs.map +1 -0
- package/lib/chunks/{index-B2IlXQPc.mjs → index-Bo90aGhy.mjs} +3 -3
- package/lib/chunks/{index-B2IlXQPc.mjs.map → index-Bo90aGhy.mjs.map} +1 -1
- package/lib/chunks/index-CEeKt7L3.mjs +2808 -0
- package/lib/chunks/index-CEeKt7L3.mjs.map +1 -0
- package/lib/chunks/{index-DtZwBUd0.mjs → index-CWKbnvW6.mjs} +3 -3
- package/lib/chunks/{index-DtZwBUd0.mjs.map → index-CWKbnvW6.mjs.map} +1 -1
- package/lib/chunks/{index-B0QA380T.mjs → index-C_BJatqr.mjs} +14 -14
- package/lib/chunks/index-C_BJatqr.mjs.map +1 -0
- package/lib/chunks/index-Cbz5Z6ZK.mjs +263 -0
- package/lib/chunks/index-Cbz5Z6ZK.mjs.map +1 -0
- package/lib/chunks/{index-DYNPnFww.mjs → index-Cp68OevR.mjs} +3 -3
- package/lib/chunks/{index-DYNPnFww.mjs.map → index-Cp68OevR.mjs.map} +1 -1
- package/lib/chunks/{index-_EpQHlUY.mjs → index-CzM2mxrD.mjs} +4 -4
- package/lib/chunks/{index-_EpQHlUY.mjs.map → index-CzM2mxrD.mjs.map} +1 -1
- package/lib/chunks/{index-DfkP0zX3.mjs → index-DTYBFuAH.mjs} +4 -4
- package/lib/chunks/{index-DfkP0zX3.mjs.map → index-DTYBFuAH.mjs.map} +1 -1
- package/lib/chunks/{index-DqXfw2eb.mjs → index-DaAXRBWL.mjs} +3 -3
- package/lib/chunks/{index-DqXfw2eb.mjs.map → index-DaAXRBWL.mjs.map} +1 -1
- package/lib/chunks/{index-BgMhDDkd.mjs → index-DoFsoBKL.mjs} +3 -3
- package/lib/chunks/{index-BgMhDDkd.mjs.map → index-DoFsoBKL.mjs.map} +1 -1
- package/lib/chunks/{index-sft0uUd7.mjs → index-DuP0Tlpo.mjs} +3 -3
- package/lib/chunks/{index-sft0uUd7.mjs.map → index-DuP0Tlpo.mjs.map} +1 -1
- package/lib/chunks/index-Dv3RQz86.mjs +270 -0
- package/lib/chunks/index-Dv3RQz86.mjs.map +1 -0
- package/lib/chunks/{index-8pqs-pW7.mjs → index-QfpHck8N.mjs} +5 -5
- package/lib/chunks/{index-8pqs-pW7.mjs.map → index-QfpHck8N.mjs.map} +1 -1
- package/lib/chunks/{index-DN4Lc1dx.mjs → index-gjSQeou7.mjs} +3 -3
- package/lib/chunks/{index-DN4Lc1dx.mjs.map → index-gjSQeou7.mjs.map} +1 -1
- package/lib/chunks/{index-DZxzCMp2.mjs → index-kALp0tqz.mjs} +3 -3
- package/lib/chunks/{index-DZxzCMp2.mjs.map → index-kALp0tqz.mjs.map} +1 -1
- package/lib/chunks/{index-C8r2-Evl.mjs → index-kCeSnFs-.mjs} +9 -9
- package/lib/chunks/{index-C8r2-Evl.mjs.map → index-kCeSnFs-.mjs.map} +1 -1
- package/lib/chunks/{useShikiHighlight-CDDi36pF.mjs → useShikiHighlight-BA9qgdGA.mjs} +2 -2
- package/lib/chunks/{useShikiHighlight-CDDi36pF.mjs.map → useShikiHighlight-BA9qgdGA.mjs.map} +1 -1
- package/lib/components/preview/FilePreviewRenderer.d.ts +18 -0
- package/lib/components/preview/FilePreviewRenderer.d.ts.map +1 -0
- package/lib/components/preview/FilePreviewToolbar.d.ts +19 -0
- package/lib/components/preview/FilePreviewToolbar.d.ts.map +1 -0
- package/lib/components/preview/NavArrows.d.ts +18 -0
- package/lib/components/preview/NavArrows.d.ts.map +1 -0
- package/lib/components/preview/RendererError.d.ts +15 -0
- package/lib/components/preview/RendererError.d.ts.map +1 -0
- package/lib/components/preview/RendererErrorBoundary.d.ts +23 -0
- package/lib/components/preview/RendererErrorBoundary.d.ts.map +1 -0
- package/lib/components/preview/ToolbarButton.d.ts +14 -0
- package/lib/components/preview/ToolbarButton.d.ts.map +1 -0
- package/lib/components/preview/index.d.ts +7 -0
- package/lib/components/preview/index.d.ts.map +1 -0
- package/lib/hooks/index.d.ts +9 -0
- package/lib/hooks/index.d.ts.map +1 -0
- package/lib/hooks/rendererReducer.d.ts +10 -0
- package/lib/hooks/rendererReducer.d.ts.map +1 -0
- package/lib/hooks/types.d.ts +152 -0
- package/lib/hooks/types.d.ts.map +1 -0
- package/lib/hooks/useBookRenderer.d.ts +14 -0
- package/lib/hooks/useBookRenderer.d.ts.map +1 -0
- package/lib/hooks/useFilePreviewState.d.ts +10 -0
- package/lib/hooks/useFilePreviewState.d.ts.map +1 -0
- package/lib/hooks/useImageAutoFit.d.ts +13 -0
- package/lib/hooks/useImageAutoFit.d.ts.map +1 -0
- package/lib/hooks/useKeyboardNavigation.d.ts +15 -0
- package/lib/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/lib/hooks/useThemeMode.d.ts +7 -0
- package/lib/hooks/useThemeMode.d.ts.map +1 -0
- package/lib/hooks/useToolbarConfig.d.ts +25 -0
- package/lib/hooks/useToolbarConfig.d.ts.map +1 -0
- package/lib/index.cjs +30 -30
- package/lib/index.cjs.map +1 -1
- package/lib/index.css +1 -1
- package/lib/index.mjs +1 -1
- package/lib/renderers/Epub/index.d.ts.map +1 -1
- package/lib/renderers/Markdown/index.d.ts.map +1 -1
- package/lib/renderers/Pdf/index.d.ts +2 -0
- package/lib/renderers/Pdf/index.d.ts.map +1 -1
- package/lib/renderers/Pdf/toolbar.d.ts +5 -0
- package/lib/renderers/Pdf/toolbar.d.ts.map +1 -1
- package/lib/renderers/toolbar.types.d.ts +1 -0
- package/lib/renderers/toolbar.types.d.ts.map +1 -1
- package/lib/toolbar/registry.d.ts +51 -0
- package/lib/toolbar/registry.d.ts.map +1 -0
- package/lib/toolbar/renderItems.d.ts +8 -0
- package/lib/toolbar/renderItems.d.ts.map +1 -0
- package/package.json +1 -1
- package/lib/chunks/RendererError-BH6fzLrN.mjs +0 -15
- package/lib/chunks/RendererError-BH6fzLrN.mjs.map +0 -1
- package/lib/chunks/index-B0QA380T.mjs.map +0 -1
- package/lib/chunks/index-BvjPzMFc.mjs +0 -161
- package/lib/chunks/index-BvjPzMFc.mjs.map +0 -1
- package/lib/chunks/index-CIqtwqgy.mjs.map +0 -1
- package/lib/chunks/index-CRn7LdHD.mjs.map +0 -1
- package/lib/chunks/index-CWCNvV2X.mjs +0 -2323
- package/lib/chunks/index-CWCNvV2X.mjs.map +0 -1
- package/lib/chunks/index-Ctf8mG_u.mjs +0 -240
- package/lib/chunks/index-Ctf8mG_u.mjs.map +0 -1
- package/lib/chunks/index-p4mew8Hx.mjs.map +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface UseBookRendererReturn<T> {
|
|
2
|
+
ref: React.RefObject<T | null>;
|
|
3
|
+
current: number;
|
|
4
|
+
total: number;
|
|
5
|
+
fullWidth: boolean;
|
|
6
|
+
setFullWidth: React.Dispatch<React.SetStateAction<boolean>>;
|
|
7
|
+
handleChapterChange: (current: number, total: number) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 书籍渲染器(EPUB/Mobi)通用逻辑 hook
|
|
11
|
+
* 统一 ref、状态管理和章节变化回调
|
|
12
|
+
*/
|
|
13
|
+
export declare function useBookRenderer<T>(onChapterChange?: (current: number, total: number) => void): UseBookRendererReturn<T>;
|
|
14
|
+
//# sourceMappingURL=useBookRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBookRenderer.d.ts","sourceRoot":"","sources":["../../src/hooks/useBookRenderer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACzD,qBAAqB,CAAC,CAAC,CAAC,CAuB1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RendererState, RendererAction } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* 文件预览状态管理 hook
|
|
4
|
+
* 自动在 currentIndex 改变时重置所有状态
|
|
5
|
+
*/
|
|
6
|
+
export declare function useFilePreviewState(currentIndex: number): {
|
|
7
|
+
state: RendererState;
|
|
8
|
+
dispatch: React.Dispatch<RendererAction>;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useFilePreviewState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilePreviewState.d.ts","sourceRoot":"","sources":["../../src/hooks/useFilePreviewState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG;IACzD,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;CAC1C,CAQA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface UseImageAutoFitParams {
|
|
2
|
+
enabled: boolean;
|
|
3
|
+
naturalWidth: number;
|
|
4
|
+
naturalHeight: number;
|
|
5
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
6
|
+
onZoomChange: (zoom: number) => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 图片自动适应窗口 hook
|
|
10
|
+
* 当图片加载完成后,自动计算适应窗口的缩放比例
|
|
11
|
+
*/
|
|
12
|
+
export declare function useImageAutoFit({ enabled, naturalWidth, naturalHeight, containerRef, onZoomChange, }: UseImageAutoFitParams): void;
|
|
13
|
+
//# sourceMappingURL=useImageAutoFit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImageAutoFit.d.ts","sourceRoot":"","sources":["../../src/hooks/useImageAutoFit.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,GACb,EAAE,qBAAqB,GAAG,IAAI,CAa9B"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ToolbarGroup } from '../renderers/toolbar.types';
|
|
2
|
+
import type { Translator } from '@eternalheart/file-preview-core';
|
|
3
|
+
import type { CustomRenderer, CustomRendererContext, PreviewFile } from '../types';
|
|
4
|
+
import type { RendererState } from './types';
|
|
5
|
+
import { type ToolbarFactoryContext } from '../toolbar/registry';
|
|
6
|
+
/**
|
|
7
|
+
* useToolbarConfig 所需的 handlers(不含 state/t/fileName,由 hook 内部合并)
|
|
8
|
+
*/
|
|
9
|
+
export type ToolbarConfigHandlers = Omit<ToolbarFactoryContext, 'state' | 't' | 'fileName'>;
|
|
10
|
+
export interface UseToolbarConfigParams {
|
|
11
|
+
fileType: string;
|
|
12
|
+
fileName: string;
|
|
13
|
+
state: RendererState;
|
|
14
|
+
handlers: ToolbarConfigHandlers;
|
|
15
|
+
t: Translator;
|
|
16
|
+
customRenderer?: CustomRenderer | null;
|
|
17
|
+
currentFile: PreviewFile;
|
|
18
|
+
customRendererContext: CustomRendererContext;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 工具栏配置 hook
|
|
22
|
+
* 根据文件类型和自定义渲染器返回工具栏配置
|
|
23
|
+
*/
|
|
24
|
+
export declare function useToolbarConfig({ fileType, fileName, state, handlers, t, customRenderer, currentFile, customRendererContext, }: UseToolbarConfigParams): ToolbarGroup[];
|
|
25
|
+
//# sourceMappingURL=useToolbarConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToolbarConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useToolbarConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC;AAE5F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,CAAC,EAAE,UAAU,CAAC;IACd,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,CAAC,EACD,cAAc,EACd,WAAW,EACX,qBAAqB,GACtB,EAAE,sBAAsB,GAAG,YAAY,EAAE,CAezC"}
|