@eternalheart/react-file-preview 1.3.4 → 1.3.6

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.
@@ -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;AAE9D,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;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"}
package/lib/types.d.ts CHANGED
@@ -1,13 +1,37 @@
1
- export type { PreviewFile, PreviewFileLink, PreviewFileInput, FileType, PreviewState, } from '@eternalheart/file-preview-core';
2
- import type { PreviewFile } from '@eternalheart/file-preview-core';
1
+ export type { PreviewFile, PreviewFileLink, PreviewFileInput, FileType, PreviewState, CustomRendererEventPayload, } from '@eternalheart/file-preview-core';
2
+ import type { PreviewFile, Locale, Translator } from '@eternalheart/file-preview-core';
3
+ import type { ToolbarGroup } from './renderers/toolbar.types';
3
4
  export interface ToolbarAction {
4
5
  icon: React.ReactNode;
5
6
  label: string;
6
7
  onClick: () => void;
7
8
  disabled?: boolean;
8
9
  }
10
+ /**
11
+ * 自定义渲染器上下文:注入翻译器、已解析主题、当前 locale 与事件派发器。
12
+ * 通过 `emit(name, payload)` 把事件转发到顶层 `FilePreviewContent.onCustomEvent`。
13
+ */
14
+ export interface CustomRendererContext {
15
+ emit: (name: string, payload?: unknown) => void;
16
+ t: Translator;
17
+ theme: 'dark' | 'light';
18
+ locale: Locale;
19
+ }
9
20
  export interface CustomRenderer {
21
+ /** 文件类型匹配函数 */
10
22
  test: (file: PreviewFile) => boolean;
11
- render: (file: PreviewFile) => React.ReactNode;
23
+ /**
24
+ * 渲染函数:返回 React 节点。ctx 可选,旧版 `render(file)` 仍向后兼容。
25
+ */
26
+ render: (file: PreviewFile, ctx?: CustomRendererContext) => React.ReactNode;
27
+ /**
28
+ * 可选:按 `ToolbarGroup[]` 规范声明自定义工具组。
29
+ * 命中时会替代内置文件类型的工具组;通用操作组(下载、关闭)不受影响。
30
+ */
31
+ getToolbarGroups?: (file: PreviewFile, ctx: CustomRendererContext) => ToolbarGroup[];
32
+ /**
33
+ * 可选:事件名白名单,仅作 TS 与文档约定,运行时不做拦截。
34
+ */
35
+ events?: readonly string[];
12
36
  }
13
37
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
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
+ {"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,EACZ,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACN,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,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;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,CAAC,EAAE,UAAU,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,cAAc;IAC7B,eAAe;IACf,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IACrC;;OAEG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5E;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,qBAAqB,KACvB,YAAY,EAAE,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternalheart/react-file-preview",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
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",
@@ -113,4 +113,4 @@
113
113
  "vite-plugin-static-copy": "^3.1.4",
114
114
  "x-data-spreadsheet": "^1.1.9"
115
115
  }
116
- }
116
+ }