@file-viewer/renderer-image 2.1.1 → 2.1.3

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/dist/image.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { type FileViewerRenderedInstance } from '@file-viewer/core';
2
- export default function renderImage(buffer: ArrayBuffer, target: HTMLDivElement, type?: string): Promise<FileViewerRenderedInstance>;
1
+ import { type FileRenderContext, type FileViewerRenderedInstance } from '@file-viewer/core';
2
+ export default function renderImage(buffer: ArrayBuffer, target: HTMLDivElement, type?: string, context?: FileRenderContext): Promise<FileViewerRenderedInstance>;
package/dist/image.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createFileViewerZoomChangeEmitter as createZoomChangeEmitter, registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
1
+ import { createFileViewerTranslator, createFileViewerZoomChangeEmitter as createZoomChangeEmitter, registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
2
2
  const imageMimeMap = {
3
3
  avif: 'image/avif',
4
4
  bmp: 'image/bmp',
@@ -78,18 +78,18 @@ const applyImageZoom = (image, viewportHeight, zoom) => {
78
78
  }
79
79
  image.style.height = `${zoom * 100}%`;
80
80
  };
81
- const createLightbox = (src) => {
81
+ const createLightbox = (src, t) => {
82
82
  const lightbox = document.createElement('div');
83
83
  lightbox.className = 'image-lightbox';
84
84
  lightbox.hidden = true;
85
85
  lightbox.setAttribute('role', 'dialog');
86
86
  lightbox.setAttribute('aria-modal', 'true');
87
87
  const image = document.createElement('img');
88
- image.alt = 'Preview image';
88
+ image.alt = t('image.lightbox.alt');
89
89
  image.src = src;
90
90
  const closeButton = document.createElement('button');
91
91
  closeButton.type = 'button';
92
- closeButton.setAttribute('aria-label', 'Close image preview');
92
+ closeButton.setAttribute('aria-label', t('image.lightbox.close'));
93
93
  closeButton.textContent = 'x';
94
94
  const close = () => {
95
95
  lightbox.hidden = true;
@@ -114,7 +114,8 @@ const createLightbox = (src) => {
114
114
  },
115
115
  };
116
116
  };
117
- export default async function renderImage(buffer, target, type) {
117
+ export default async function renderImage(buffer, target, type, context) {
118
+ const t = createFileViewerTranslator(context === null || context === void 0 ? void 0 : context.options);
118
119
  const src = await resolveImageUrl(buffer, type);
119
120
  let zoom = 1;
120
121
  let viewportHeight = 0;
@@ -125,11 +126,11 @@ export default async function renderImage(buffer, target, type) {
125
126
  const stage = document.createElement('div');
126
127
  stage.className = 'image-stage';
127
128
  const image = document.createElement('img');
128
- image.alt = '图片';
129
+ image.alt = t('image.alt');
129
130
  image.src = src;
130
131
  stage.append(image);
131
132
  root.append(stage);
132
- const lightbox = createLightbox(src);
133
+ const lightbox = createLightbox(src, t);
133
134
  const openLightbox = () => lightbox.open();
134
135
  image.addEventListener('click', openLightbox);
135
136
  document.body.append(lightbox.element);
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ if (!imageDefinition) {
4
4
  throw new Error('@file-viewer/renderer-image could not locate the core image renderer definition.');
5
5
  }
6
6
  export const imageRendererDefinition = imageDefinition;
7
- export const renderFileViewerImage = (buffer, target, type) => import('./image.js').then(({ default: renderImage }) => renderImage(buffer, target, type));
7
+ export const renderFileViewerImage = (buffer, target, type, context) => import('./image.js').then(({ default: renderImage }) => renderImage(buffer, target, type, context));
8
8
  export const imageRenderer = {
9
9
  id: 'file-viewer-renderer-image',
10
10
  label: 'Flyfish File Viewer image renderer',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@file-viewer/renderer-image",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Standalone image renderer plugin for Flyfish File Viewer with native image preview, HEIC/HEIF conversion, lightbox, and unified zoom support.",
@@ -54,7 +54,7 @@
54
54
  "LICENSE"
55
55
  ],
56
56
  "dependencies": {
57
- "@file-viewer/core": "^2.1.1",
57
+ "@file-viewer/core": "^2.1.3",
58
58
  "heic2any": "^0.0.4"
59
59
  },
60
60
  "devDependencies": {