react-ipdf-viewer-lite
Version:
A lightweight, dependency-free media viewer for PDFs and other media types with advanced controls
63 lines (62 loc) • 2.86 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import { jsx as _jsx } from "react/jsx-runtime";
export var ImageRenderer = function (_a) {
var src = _a.src, zoom = _a.zoom, rotation = _a.rotation, onError = _a.onError;
return (_jsx("div", __assign({ style: {
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
overflow: 'hidden',
} }, { children: _jsx("img", { src: src, alt: "", onError: onError ? function () { return onError(new Error('Failed to load image')); } : undefined, style: {
transform: "scale(".concat(zoom, ") rotate(").concat(rotation, "deg)"),
transition: 'transform 0.4s ease',
maxWidth: '100%',
maxHeight: '100%',
objectFit: 'contain',
} }) })));
};
export var VideoRenderer = function (_a) {
var src = _a.src, zoom = _a.zoom, rotation = _a.rotation, onError = _a.onError;
return (_jsx("div", __assign({ style: {
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
overflow: 'hidden',
transform: "rotate(".concat(rotation, "deg)"),
transition: 'transform 0.3s ease',
} }, { children: _jsx("video", { controls: true, src: src, onError: onError ? function () { return onError(new Error('Failed to load video')); } : undefined, style: {
transform: "scale(".concat(zoom, ")"),
maxWidth: '100%',
maxHeight: '100%',
} }) })));
};
export var AudioRenderer = function (_a) {
var src = _a.src, zoom = _a.zoom, onError = _a.onError;
return (_jsx("div", __assign({ style: {
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
padding: '20px',
} }, { children: _jsx("audio", { controls: true, src: src, onError: onError ? function () { return onError(new Error('Failed to load audio')); } : undefined, style: {
width: "".concat(zoom * 100, "%"),
maxWidth: '100%',
} }) })));
};
export var UnsupportedRenderer = function (_a) {
var mimeType = _a.mimeType;
return (_jsx("div", __assign({ style: {
padding: '20px',
textAlign: 'center',
color: '#666',
} }, { children: mimeType ? "Unsupported media type: ".concat(mimeType) : 'Unsupported media type' })));
};