Skip to content

Commit c539a79

Browse files
authored
Merge pull request #236 from alantoa/webp-file-support
feat: webp file support
2 parents a882f28 + 8d615a8 commit c539a79

File tree

8 files changed

+43
-18
lines changed

8 files changed

+43
-18
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ File viewer for React.
3030
| xls | application/vnd.ms-excel |
3131
| xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
3232
| mp4 | video/mp4 |
33+
| webp | image/webp |
3334

3435
## Storybook Demo
3536

package-lock.json

+22-15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"@types/papaparse": "^5.3.9",
3939
"mustache": "^4.2.0",
4040
"papaparse": "^5.4.1",
41-
"react-pdf": "7.5.0",
41+
"react-pdf": "7.7.1",
4242
"styled-components": "^6.0.8"
4343
},
4444
"devDependencies": {
@@ -85,6 +85,9 @@
8585
"react": ">=16.13.1",
8686
"react-dom": ">=16.13.1"
8787
},
88+
"resolutions": {
89+
"typescript": "^5.2.2"
90+
},
8891
"browserslist": {
8992
"production": [
9093
">0.2%",

src/DocViewer.stories.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import pdfMultiplePagesFile from "./exampleFiles/pdf-multiple-pages-file.pdf";
77
import pngFile from "./exampleFiles/png-image.png";
88
import csvFile from "./exampleFiles/csv-file.csv";
99
import epsFile from "./exampleFiles/eps-file.eps";
10+
import webpFile from "./exampleFiles/webp-file.webp";
11+
1012
import { DocViewerRef, IDocument } from ".";
1113

1214
/* eslint-disable import/no-anonymous-default-export */
@@ -19,6 +21,7 @@ const docs: IDocument[] = [
1921
{ uri: pngFile },
2022
{ uri: csvFile },
2123
{ uri: pdfMultiplePagesFile },
24+
{ uri: webpFile },
2225
];
2326

2427
export const Default = () => (

src/exampleFiles/webp-file.webp

3.8 KB
Binary file not shown.

src/renderers/index.ts

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import TXTRenderer from "./txt";
99
import CSVRenderer from "./csv";
1010
import GIFRenderer from "./gif";
1111
import VideoRenderer from "./video";
12+
import WebPRenderer from "./webp";
1213

1314
export const DocViewerRenderers = [
1415
BMPRenderer,
@@ -22,6 +23,7 @@ export const DocViewerRenderers = [
2223
CSVRenderer,
2324
GIFRenderer,
2425
VideoRenderer,
26+
WebPRenderer,
2527
];
2628

2729
export {
@@ -36,4 +38,5 @@ export {
3638
CSVRenderer,
3739
GIFRenderer,
3840
VideoRenderer,
41+
WebPRenderer,
3942
};

src/renderers/pdf/index.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import { DocRenderer, IStyledProps } from "../..";
55
import PDFPages from "./components/pages/PDFPages";
66
import PDFControls from "./components/PDFControls";
77
import { PDFProvider } from "./state";
8-
import "react-pdf/dist/esm/Page/AnnotationLayer.css";
9-
import "react-pdf/dist/esm/Page/TextLayer.css";
108

119
pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;
1210

src/renderers/webp/index.tsx

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import React from "react";
2+
import { DocRenderer } from "../..";
3+
import ImageProxyRenderer from "../image";
4+
5+
const WebPRenderer: DocRenderer = (props) => <ImageProxyRenderer {...props} />;
6+
7+
WebPRenderer.fileTypes = ["webp", "image/webp"];
8+
WebPRenderer.weight = 0;
9+
10+
export default WebPRenderer;

0 commit comments

Comments
 (0)