@cannyminds/dms-file-viewers 0.3.0 → 0.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.
Files changed (81) hide show
  1. package/dist/{chunk-FZYMVHF6.mjs → chunk-4DJJINTB.mjs} +54 -55
  2. package/dist/chunk-4DJJINTB.mjs.map +1 -0
  3. package/dist/chunk-677DWENS.mjs +133 -0
  4. package/dist/chunk-677DWENS.mjs.map +1 -0
  5. package/dist/chunk-77UARJVQ.js +133 -0
  6. package/dist/chunk-77UARJVQ.js.map +1 -0
  7. package/dist/{chunk-LKBM4O47.mjs → chunk-7BLEPGZ4.mjs} +67 -61
  8. package/dist/chunk-7BLEPGZ4.mjs.map +1 -0
  9. package/dist/{chunk-QRYIHDRT.mjs → chunk-BHMFZTZ7.mjs} +54 -55
  10. package/dist/chunk-BHMFZTZ7.mjs.map +1 -0
  11. package/dist/{chunk-XQBXRMB7.mjs → chunk-BONT4K3R.mjs} +14 -8
  12. package/dist/chunk-BONT4K3R.mjs.map +1 -0
  13. package/dist/{chunk-3STHCDAC.js → chunk-DDT3GC3C.js} +425 -164
  14. package/dist/chunk-DDT3GC3C.js.map +1 -0
  15. package/dist/{chunk-EMP7RZM2.js → chunk-DOOYIHGW.js} +52 -53
  16. package/dist/chunk-DOOYIHGW.js.map +1 -0
  17. package/dist/{chunk-73ZIFR3P.mjs → chunk-J2YW5DHC.mjs} +457 -196
  18. package/dist/chunk-J2YW5DHC.mjs.map +1 -0
  19. package/dist/{chunk-BNHQYEZ7.js → chunk-SBEFC7HP.js} +203 -158
  20. package/dist/chunk-SBEFC7HP.js.map +1 -0
  21. package/dist/{chunk-4RL77HKO.js → chunk-SNEIVT4R.js} +52 -53
  22. package/dist/chunk-SNEIVT4R.js.map +1 -0
  23. package/dist/{chunk-7JTIG6OU.js → chunk-WP55NYFS.js} +67 -61
  24. package/dist/chunk-WP55NYFS.js.map +1 -0
  25. package/dist/{chunk-NOLXOOIP.mjs → chunk-YHMHDPLQ.mjs} +200 -155
  26. package/dist/chunk-YHMHDPLQ.mjs.map +1 -0
  27. package/dist/{chunk-GNWU6XHH.js → chunk-Z3IUTTJQ.js} +15 -9
  28. package/dist/{chunk-GNWU6XHH.js.map → chunk-Z3IUTTJQ.js.map} +1 -1
  29. package/dist/components/viewers/AudioViewer.d.mts +1 -1
  30. package/dist/components/viewers/AudioViewer.d.ts +1 -1
  31. package/dist/components/viewers/AudioViewer.js +2 -2
  32. package/dist/components/viewers/AudioViewer.mjs +1 -1
  33. package/dist/components/viewers/DefaultViewer.d.mts +1 -1
  34. package/dist/components/viewers/DefaultViewer.d.ts +1 -1
  35. package/dist/components/viewers/DefaultViewer.js +3 -2
  36. package/dist/components/viewers/DefaultViewer.js.map +1 -1
  37. package/dist/components/viewers/DefaultViewer.mjs +2 -1
  38. package/dist/components/viewers/ImageViewer.d.mts +1 -1
  39. package/dist/components/viewers/ImageViewer.d.ts +1 -1
  40. package/dist/components/viewers/ImageViewer.js +3 -3
  41. package/dist/components/viewers/ImageViewer.mjs +2 -2
  42. package/dist/components/viewers/PDFViewer.d.mts +1 -1
  43. package/dist/components/viewers/PDFViewer.d.ts +1 -1
  44. package/dist/components/viewers/PDFViewer.js +2 -2
  45. package/dist/components/viewers/PDFViewer.mjs +1 -1
  46. package/dist/components/viewers/TIFFViewer.d.mts +1 -1
  47. package/dist/components/viewers/TIFFViewer.d.ts +1 -1
  48. package/dist/components/viewers/TIFFViewer.js +2 -2
  49. package/dist/components/viewers/TIFFViewer.mjs +1 -1
  50. package/dist/components/viewers/TextViewer.d.mts +1 -1
  51. package/dist/components/viewers/TextViewer.d.ts +1 -1
  52. package/dist/components/viewers/TextViewer.js +2 -2
  53. package/dist/components/viewers/TextViewer.mjs +1 -1
  54. package/dist/components/viewers/VideoViewer.d.mts +1 -1
  55. package/dist/components/viewers/VideoViewer.d.ts +1 -1
  56. package/dist/components/viewers/VideoViewer.js +2 -2
  57. package/dist/components/viewers/VideoViewer.mjs +1 -1
  58. package/dist/index.d.mts +2 -2
  59. package/dist/index.d.ts +2 -2
  60. package/dist/index.js +30 -9
  61. package/dist/index.js.map +1 -1
  62. package/dist/index.mjs +29 -8
  63. package/dist/index.mjs.map +1 -1
  64. package/dist/{types-CquKzJLE.d.mts → types-C6IEfcTM.d.mts} +13 -1
  65. package/dist/{types-CquKzJLE.d.ts → types-C6IEfcTM.d.ts} +13 -1
  66. package/package.json +1 -1
  67. package/dist/chunk-3STHCDAC.js.map +0 -1
  68. package/dist/chunk-4RL77HKO.js.map +0 -1
  69. package/dist/chunk-73ZIFR3P.mjs.map +0 -1
  70. package/dist/chunk-7JTIG6OU.js.map +0 -1
  71. package/dist/chunk-BNHQYEZ7.js.map +0 -1
  72. package/dist/chunk-EMP7RZM2.js.map +0 -1
  73. package/dist/chunk-FZYMVHF6.mjs.map +0 -1
  74. package/dist/chunk-LKBM4O47.mjs.map +0 -1
  75. package/dist/chunk-NOLXOOIP.mjs.map +0 -1
  76. package/dist/chunk-QLJKOQTP.mjs +0 -78
  77. package/dist/chunk-QLJKOQTP.mjs.map +0 -1
  78. package/dist/chunk-QRYIHDRT.mjs.map +0 -1
  79. package/dist/chunk-XQBXRMB7.mjs.map +0 -1
  80. package/dist/chunk-Z7FUO5RX.js +0 -78
  81. package/dist/chunk-Z7FUO5RX.js.map +0 -1
@@ -22,14 +22,18 @@ var _react = require('react');
22
22
 
23
23
 
24
24
 
25
-
26
-
27
-
28
-
29
-
30
-
31
25
  var _material = require('@mui/material');
32
26
  var _Download = require('@mui/icons-material/Download'); var _Download2 = _interopRequireDefault(_Download);
27
+ var _FirstPage = require('@mui/icons-material/FirstPage'); var _FirstPage2 = _interopRequireDefault(_FirstPage);
28
+ var _LastPage = require('@mui/icons-material/LastPage'); var _LastPage2 = _interopRequireDefault(_LastPage);
29
+ var _ChevronLeft = require('@mui/icons-material/ChevronLeft'); var _ChevronLeft2 = _interopRequireDefault(_ChevronLeft);
30
+ var _ChevronRight = require('@mui/icons-material/ChevronRight'); var _ChevronRight2 = _interopRequireDefault(_ChevronRight);
31
+ var _ZoomIn = require('@mui/icons-material/ZoomIn'); var _ZoomIn2 = _interopRequireDefault(_ZoomIn);
32
+ var _ZoomOut = require('@mui/icons-material/ZoomOut'); var _ZoomOut2 = _interopRequireDefault(_ZoomOut);
33
+ var _FitScreen = require('@mui/icons-material/FitScreen'); var _FitScreen2 = _interopRequireDefault(_FitScreen);
34
+ var _AspectRatio = require('@mui/icons-material/AspectRatio'); var _AspectRatio2 = _interopRequireDefault(_AspectRatio);
35
+ var _Info = require('@mui/icons-material/Info'); var _Info2 = _interopRequireDefault(_Info);
36
+ var _Description = require('@mui/icons-material/Description'); var _Description2 = _interopRequireDefault(_Description);
33
37
  var _utif = require('utif'); var UTIF = _interopRequireWildcard(_utif);
34
38
  var _jsxruntime = require('react/jsx-runtime');
35
39
  var decodeTiff = (buffer) => {
@@ -65,14 +69,14 @@ var decodeTiff = (buffer) => {
65
69
  return frames;
66
70
  };
67
71
  var resolveDocumentName = (file, fileName, url) => {
68
- if (_optionalChain([file, 'optionalAccess', _2 => _2.name])) {
72
+ if (_optionalChain([file, 'optionalAccess', _ => _.name])) {
69
73
  return file.name;
70
74
  }
71
75
  if (fileName) {
72
76
  return fileName;
73
77
  }
74
78
  if (url) {
75
- const parts = _nullishCoalesce(_optionalChain([url, 'access', _3 => _3.split, 'call', _4 => _4("?"), 'access', _5 => _5[0], 'optionalAccess', _6 => _6.split, 'call', _7 => _7("#"), 'access', _8 => _8[0], 'optionalAccess', _9 => _9.split, 'call', _10 => _10("/")]), () => ( []));
79
+ const parts = _nullishCoalesce(_optionalChain([url, 'access', _2 => _2.split, 'call', _3 => _3("?"), 'access', _4 => _4[0], 'optionalAccess', _5 => _5.split, 'call', _6 => _6("#"), 'access', _7 => _7[0], 'optionalAccess', _8 => _8.split, 'call', _9 => _9("/")]), () => ( []));
76
80
  return parts[parts.length - 1] || "document.tiff";
77
81
  }
78
82
  return "document.tiff";
@@ -89,21 +93,18 @@ var TIFFViewerContent = ({
89
93
  onLoad,
90
94
  onError,
91
95
  onDownloadClick,
92
- // Filter out props that shouldn't be passed to DOM
93
- mimeType: _mimeType,
94
- fileSize: _fileSize,
95
- showPageCount: _showPageCount,
96
- showPageNavigation: _showPageNavigation,
97
- showZoomControls: _showZoomControls,
98
- showDownload: _showDownload,
99
- showPrint: _showPrint,
100
- showSearch: _showSearch,
101
- showMetadata: _showMetadata,
102
- showProperties: _showProperties,
103
- onMetadataClick: _onMetadataClick,
104
- onPropertiesClick: _onPropertiesClick,
105
- onPrintClick: _onPrintClick,
106
- customRegistry: _customRegistry,
96
+ onMetadataClick,
97
+ onPropertiesClick,
98
+ showMetadata = true,
99
+ showProperties = true,
100
+ // Extract props that shouldn't be passed to DOM elements
101
+ mimeType,
102
+ fileSize,
103
+ initialSearchText,
104
+ initialSearchPages,
105
+ autoOpenSearch,
106
+ autoExecuteSearch,
107
+ onSearchComplete,
107
108
  ...props
108
109
  }) => {
109
110
  const [frames, setFrames] = _react.useState.call(void 0, []);
@@ -152,7 +153,7 @@ var TIFFViewerContent = ({
152
153
  setFitMode("fit-page");
153
154
  setZoom(1);
154
155
  if (decodedFrames.length > 0) {
155
- _optionalChain([onLoad, 'optionalCall', _11 => _11()]);
156
+ _optionalChain([onLoad, 'optionalCall', _10 => _10()]);
156
157
  } else {
157
158
  setError("No displayable frames detected in TIFF file.");
158
159
  }
@@ -163,7 +164,7 @@ var TIFFViewerContent = ({
163
164
  setCurrentIndex(0);
164
165
  setFitMode("fit-page");
165
166
  setZoom(1);
166
- _optionalChain([onError, 'optionalCall', _12 => _12(new Error(message))]);
167
+ _optionalChain([onError, 'optionalCall', _11 => _11(new Error(message))]);
167
168
  } finally {
168
169
  setIsLoading(false);
169
170
  }
@@ -171,35 +172,6 @@ var TIFFViewerContent = ({
171
172
  _react.useEffect.call(void 0, () => {
172
173
  void loadTiff();
173
174
  }, [loadTiff]);
174
- const handleDownload = _react.useCallback.call(void 0, async () => {
175
- if (!file && !url) return;
176
- try {
177
- let blob;
178
- let filename = resolvedFileName || "document.tiff";
179
- if (file) {
180
- blob = file;
181
- filename = file.name;
182
- } else if (url) {
183
- const response = await fetch(url);
184
- if (!response.ok) {
185
- throw new Error(`Failed to fetch TIFF (${response.status})`);
186
- }
187
- blob = await response.blob();
188
- } else {
189
- return;
190
- }
191
- const downloadUrl = URL.createObjectURL(blob);
192
- const link = document.createElement("a");
193
- link.href = downloadUrl;
194
- link.download = filename;
195
- document.body.appendChild(link);
196
- link.click();
197
- document.body.removeChild(link);
198
- URL.revokeObjectURL(downloadUrl);
199
- } catch (err) {
200
- _optionalChain([onError, 'optionalCall', _13 => _13(err instanceof Error ? err : new Error("Download failed"))]);
201
- }
202
- }, [file, url, resolvedFileName, onError]);
203
175
  const currentFrame = frames[currentIndex];
204
176
  const hasFrames = frames.length > 0;
205
177
  const hasMultipleFrames = frames.length > 1;
@@ -217,7 +189,7 @@ var TIFFViewerContent = ({
217
189
  return void 0;
218
190
  }
219
191
  const updateSize = () => {
220
- const bounds = _optionalChain([viewportRef, 'access', _14 => _14.current, 'optionalAccess', _15 => _15.getBoundingClientRect, 'call', _16 => _16()]);
192
+ const bounds = _optionalChain([viewportRef, 'access', _12 => _12.current, 'optionalAccess', _13 => _13.getBoundingClientRect, 'call', _14 => _14()]);
221
193
  if (bounds) {
222
194
  setViewportWidth(bounds.width);
223
195
  setViewportHeight(bounds.height);
@@ -230,22 +202,34 @@ var TIFFViewerContent = ({
230
202
  observer.disconnect();
231
203
  };
232
204
  }, []);
233
- const handleZoomIn = () => {
205
+ const handleZoomIn = _react.useCallback.call(void 0, () => {
234
206
  setFitMode("zoom");
235
207
  setZoom((value) => Math.min(Math.round((value + 0.25) * 100) / 100, 5));
236
- };
237
- const handleZoomOut = () => {
208
+ }, []);
209
+ const handleZoomOut = _react.useCallback.call(void 0, () => {
238
210
  setFitMode("zoom");
239
211
  setZoom((value) => Math.max(Math.round((value - 0.25) * 100) / 100, 0.25));
240
- };
241
- const handleFitWidth = () => {
212
+ }, []);
213
+ const handleFitWidth = _react.useCallback.call(void 0, () => {
242
214
  setFitMode("fit-width");
243
215
  setZoom(1);
244
- };
245
- const handleFitPage = () => {
216
+ }, []);
217
+ const handleFitPage = _react.useCallback.call(void 0, () => {
246
218
  setFitMode("fit-page");
247
219
  setZoom(1);
248
- };
220
+ }, []);
221
+ const handleFirstPage = _react.useCallback.call(void 0, () => {
222
+ setCurrentIndex(0);
223
+ }, []);
224
+ const handleLastPage = _react.useCallback.call(void 0, () => {
225
+ setCurrentIndex(frames.length - 1);
226
+ }, [frames.length]);
227
+ const handlePreviousPage = _react.useCallback.call(void 0, () => {
228
+ setCurrentIndex((index) => Math.max(index - 1, 0));
229
+ }, []);
230
+ const handleNextPage = _react.useCallback.call(void 0, () => {
231
+ setCurrentIndex((index) => Math.min(index + 1, frames.length - 1));
232
+ }, [frames.length]);
249
233
  const effectiveScale = _react.useMemo.call(void 0, () => {
250
234
  if (!currentFrame) {
251
235
  return 1;
@@ -304,73 +288,157 @@ var TIFFViewerContent = ({
304
288
  _material.Box,
305
289
  {
306
290
  className: `tiff-viewer ${className}`,
307
- sx: { width, height, ...style },
291
+ sx: {
292
+ width,
293
+ height,
294
+ display: "flex",
295
+ flexDirection: "column",
296
+ overflow: "hidden",
297
+ ...style
298
+ },
308
299
  ...props,
309
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Card, { sx: { height: "100%", display: "flex", flexDirection: "column" }, elevation: 1, children: [
300
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Card, { sx: { height: "100%", width: "100%", display: "flex", flexDirection: "column", overflow: "hidden" }, elevation: 1, children: [
310
301
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
311
302
  _material.CardHeader,
312
303
  {
313
304
  avatar: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRE4XRGSVjs.FileIcon_default, { ext: fileExtension, size: 32 }),
314
- title: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Typography, { variant: "subtitle1", fontWeight: 500, children: [
315
- resolvedFileName,
316
- frames.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Typography, { component: "span", variant: "body2", color: "text.secondary", sx: { ml: 1 }, children: [
317
- "\u2022 Page ",
318
- currentIndex + 1,
319
- " of ",
320
- frames.length
321
- ] })
322
- ] }),
323
- action: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
324
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.ButtonGroup, { variant: "outlined", size: "small", disabled: !hasFrames, children: [
325
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Button, { onClick: handleZoomOut, disabled: !hasFrames || zoom <= 0.25, children: "-" }),
326
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Button, { onClick: handleZoomIn, disabled: !hasFrames || zoom >= 5, children: "+" })
327
- ] }),
328
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
329
- _material.Button,
330
- {
331
- variant: fitMode === "fit-width" ? "contained" : "outlined",
332
- size: "small",
333
- onClick: handleFitWidth,
334
- disabled: !hasFrames,
335
- children: "Fit Width"
336
- }
337
- ),
338
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
339
- _material.Button,
340
- {
341
- variant: fitMode === "fit-page" ? "contained" : "outlined",
342
- size: "small",
343
- onClick: handleFitPage,
344
- disabled: !hasFrames,
345
- children: "Fit Page"
346
- }
347
- ),
348
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", sx: { minWidth: 64, textAlign: "center" }, children: hasFrames ? `${displayScale}%` : "\u2014" }),
349
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: "Download", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
350
- _material.IconButton,
351
- {
352
- size: "small",
353
- onClick: onDownloadClick,
354
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Download2.default, {})
355
- }
356
- ) }),
357
- hasMultipleFrames && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
358
- _material.Select,
359
- {
360
- size: "small",
361
- value: String(currentIndex),
362
- onChange: (event) => setCurrentIndex(Number(event.target.value)),
363
- sx: { minWidth: 120 },
364
- children: frames.map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.MenuItem, { value: String(index), children: [
365
- "Page ",
366
- index + 1
367
- ] }, index))
368
- }
369
- )
370
- ] }),
305
+ title: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "subtitle1", fontWeight: 500, children: resolvedFileName }),
371
306
  sx: { pb: 1 }
372
307
  }
373
308
  ),
309
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { px: 2, pb: 1, display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Stack, { direction: "row", spacing: 1, alignItems: "center", flexWrap: "wrap", gap: 1, children: [
310
+ hasMultipleFrames && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
311
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
312
+ _material.IconButton,
313
+ {
314
+ size: "small",
315
+ onClick: handleFirstPage,
316
+ disabled: currentIndex === 0,
317
+ title: "First Page",
318
+ "aria-label": "Go to first page",
319
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FirstPage2.default, { fontSize: "small" })
320
+ }
321
+ ),
322
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
323
+ _material.IconButton,
324
+ {
325
+ size: "small",
326
+ onClick: handlePreviousPage,
327
+ disabled: currentIndex === 0,
328
+ title: "Previous Page",
329
+ "aria-label": "Go to previous page",
330
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ChevronLeft2.default, { fontSize: "small" })
331
+ }
332
+ ),
333
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", sx: { minWidth: 100, textAlign: "center" }, children: [
334
+ "Page ",
335
+ currentIndex + 1,
336
+ " of ",
337
+ frames.length
338
+ ] }),
339
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
340
+ _material.IconButton,
341
+ {
342
+ size: "small",
343
+ onClick: handleNextPage,
344
+ disabled: currentIndex === frames.length - 1,
345
+ title: "Next Page",
346
+ "aria-label": "Go to next page",
347
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ChevronRight2.default, { fontSize: "small" })
348
+ }
349
+ ),
350
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
351
+ _material.IconButton,
352
+ {
353
+ size: "small",
354
+ onClick: handleLastPage,
355
+ disabled: currentIndex === frames.length - 1,
356
+ title: "Last Page",
357
+ "aria-label": "Go to last page",
358
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _LastPage2.default, { fontSize: "small" })
359
+ }
360
+ ),
361
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Divider, { orientation: "vertical", flexItem: true, sx: { mx: 1 } })
362
+ ] }),
363
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
364
+ _material.IconButton,
365
+ {
366
+ size: "small",
367
+ onClick: handleZoomOut,
368
+ disabled: !hasFrames || zoom <= 0.25,
369
+ title: "Zoom Out",
370
+ "aria-label": "Zoom out",
371
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ZoomOut2.default, { fontSize: "small" })
372
+ }
373
+ ),
374
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", sx: { minWidth: 64, textAlign: "center" }, children: hasFrames ? `${displayScale}%` : "\u2014" }),
375
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
376
+ _material.IconButton,
377
+ {
378
+ size: "small",
379
+ onClick: handleZoomIn,
380
+ disabled: !hasFrames || zoom >= 5,
381
+ title: "Zoom In",
382
+ "aria-label": "Zoom in",
383
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ZoomIn2.default, { fontSize: "small" })
384
+ }
385
+ ),
386
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
387
+ _material.IconButton,
388
+ {
389
+ size: "small",
390
+ onClick: handleFitWidth,
391
+ disabled: !hasFrames,
392
+ title: "Fit to Width",
393
+ "aria-label": "Fit to width",
394
+ color: fitMode === "fit-width" ? "primary" : "default",
395
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _AspectRatio2.default, { fontSize: "small" })
396
+ }
397
+ ),
398
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
399
+ _material.IconButton,
400
+ {
401
+ size: "small",
402
+ onClick: handleFitPage,
403
+ disabled: !hasFrames,
404
+ title: "Fit to Page",
405
+ "aria-label": "Fit to page",
406
+ color: fitMode === "fit-page" ? "primary" : "default",
407
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FitScreen2.default, { fontSize: "small" })
408
+ }
409
+ ),
410
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Divider, { orientation: "vertical", flexItem: true, sx: { mx: 1 } }),
411
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
412
+ _material.IconButton,
413
+ {
414
+ size: "small",
415
+ onClick: onDownloadClick,
416
+ title: "Download",
417
+ "aria-label": "Download TIFF",
418
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Download2.default, { fontSize: "small" })
419
+ }
420
+ ),
421
+ showMetadata && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
422
+ _material.IconButton,
423
+ {
424
+ size: "small",
425
+ onClick: onMetadataClick,
426
+ title: "Document Metadata",
427
+ "aria-label": "View document metadata",
428
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Info2.default, { fontSize: "small" })
429
+ }
430
+ ),
431
+ showProperties && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
432
+ _material.IconButton,
433
+ {
434
+ size: "small",
435
+ onClick: onPropertiesClick,
436
+ title: "Document Properties",
437
+ "aria-label": "View document properties",
438
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Description2.default, { fontSize: "small" })
439
+ }
440
+ )
441
+ ] }) }),
374
442
  isLoading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.LinearProgress, { sx: { mx: 3, mb: 1 } }),
375
443
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { color: "error", variant: "body2", sx: { px: 3, pb: 1 }, children: error }),
376
444
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Divider, {}),
@@ -379,57 +447,34 @@ var TIFFViewerContent = ({
379
447
  {
380
448
  sx: {
381
449
  flexGrow: 1,
450
+ flexShrink: 1,
382
451
  minHeight: 0,
383
- display: "flex",
384
- flexDirection: "column",
385
- p: 0
452
+ p: 0,
453
+ overflow: "auto",
454
+ backgroundColor: "#f6f8fa",
455
+ position: "relative"
386
456
  },
387
457
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
388
458
  _material.Box,
389
459
  {
390
460
  ref: viewportRef,
391
461
  sx: {
392
- flex: 1,
393
- overflow: "auto",
462
+ position: "absolute",
463
+ top: 0,
464
+ left: 0,
465
+ right: 0,
466
+ bottom: 0,
394
467
  display: "flex",
395
468
  alignItems: "center",
396
469
  justifyContent: "center",
397
470
  p: 3,
398
- backgroundColor: "#f6f8fa"
471
+ overflow: "auto"
399
472
  },
400
473
  children: renderImage()
401
474
  }
402
475
  )
403
476
  }
404
- ),
405
- hasMultipleFrames && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CardActions, { sx: { justifyContent: "center", px: 3, py: 2 }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
406
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
407
- _material.Button,
408
- {
409
- variant: "outlined",
410
- size: "small",
411
- onClick: () => setCurrentIndex((index) => Math.max(index - 1, 0)),
412
- disabled: currentIndex === 0,
413
- children: "Previous"
414
- }
415
- ),
416
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: [
417
- "Page ",
418
- currentIndex + 1,
419
- " of ",
420
- frames.length
421
- ] }),
422
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
423
- _material.Button,
424
- {
425
- variant: "outlined",
426
- size: "small",
427
- onClick: () => setCurrentIndex((index) => Math.min(index + 1, frames.length - 1)),
428
- disabled: currentIndex === frames.length - 1,
429
- children: "Next"
430
- }
431
- )
432
- ] }) })
477
+ )
433
478
  ] })
434
479
  }
435
480
  );
@@ -445,4 +490,4 @@ var TIFFViewer = (props) => {
445
490
 
446
491
 
447
492
  exports.TIFFViewer = TIFFViewer;
448
- //# sourceMappingURL=chunk-BNHQYEZ7.js.map
493
+ //# sourceMappingURL=chunk-SBEFC7HP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["d:\\Projects\\DMS-File-Viewers\\packages\\lib\\dist\\chunk-SBEFC7HP.js"],"names":[],"mappings":"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A;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,4BAAA;AACA,cAAA;AACA,cAAA;AACA,gBAAA;AACA,gBAAA;AACA,gBAAA;AACA,gBAAA;AACA,gBAAA;AACA,gBAAA;AACA,cAAA;AACA,YAAA;AACA,4BAAA;AACA,cAAA;AACA,cAAA;AACA,gBAAA;AACA,gBAAA;AACA,gBAAA;AACA,gBAAA;AACA,gBAAA;AACA,gBAAA;AACA,cAAA;AACA,YAAA;AACA,4BAAA;AACA,UAAA;AACA,0BAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,0BAAA;AACA,0BAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,0BAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,0BAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,0BAAA;AACA,0BAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,wBAAA;AACA,wBAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,gBAAA;AACA,gBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,gBAAA;AACA,gBAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA","file":"D:\\Projects\\DMS-File-Viewers\\packages\\lib\\dist\\chunk-SBEFC7HP.js","sourcesContent":[null]}
@@ -8,6 +8,8 @@ var _chunkRE4XRGSVjs = require('./chunk-RE4XRGSV.js');
8
8
  var _react = require('react');
9
9
  var _material = require('@mui/material');
10
10
  var _Download = require('@mui/icons-material/Download'); var _Download2 = _interopRequireDefault(_Download);
11
+ var _Info = require('@mui/icons-material/Info'); var _Info2 = _interopRequireDefault(_Info);
12
+ var _Description = require('@mui/icons-material/Description'); var _Description2 = _interopRequireDefault(_Description);
11
13
  var _jsxruntime = require('react/jsx-runtime');
12
14
  var VideoViewer = ({
13
15
  file,
@@ -20,21 +22,26 @@ var VideoViewer = ({
20
22
  onLoad,
21
23
  onError,
22
24
  onDownloadClick,
23
- // Filter out props that shouldn't be passed to DOM
24
- mimeType: _mimeType,
25
- fileSize: _fileSize,
26
- showPageCount: _showPageCount,
27
- showPageNavigation: _showPageNavigation,
28
- showZoomControls: _showZoomControls,
29
- showDownload: _showDownload,
30
- showPrint: _showPrint,
31
- showSearch: _showSearch,
32
- showMetadata: _showMetadata,
33
- showProperties: _showProperties,
34
- onMetadataClick: _onMetadataClick,
35
- onPropertiesClick: _onPropertiesClick,
36
- onPrintClick: _onPrintClick,
37
- customRegistry: _customRegistry,
25
+ onMetadataClick,
26
+ onPropertiesClick,
27
+ showMetadata = true,
28
+ showProperties = true,
29
+ // Extract props that shouldn't be passed to DOM elements
30
+ mimeType,
31
+ fileSize,
32
+ showPageCount,
33
+ showPageNavigation,
34
+ showZoomControls,
35
+ showDownload,
36
+ showPrint,
37
+ showSearch,
38
+ onPrintClick,
39
+ customRegistry,
40
+ initialSearchText,
41
+ initialSearchPages,
42
+ autoOpenSearch,
43
+ autoExecuteSearch,
44
+ onSearchComplete,
38
45
  ...props
39
46
  }) => {
40
47
  const videoRef = _react.useRef.call(void 0, null);
@@ -94,35 +101,6 @@ var VideoViewer = ({
94
101
  () => _chunkRE4XRGSVjs.getFileExtension.call(void 0, resolvedFileName || ""),
95
102
  [resolvedFileName]
96
103
  );
97
- const handleDownload = _react.useCallback.call(void 0, async () => {
98
- if (!file && !url) return;
99
- try {
100
- let blob;
101
- let filename = resolvedFileName || "video.mp4";
102
- if (file) {
103
- blob = file;
104
- filename = file.name;
105
- } else if (url) {
106
- const response = await fetch(url);
107
- if (!response.ok) {
108
- throw new Error(`Failed to fetch video (${response.status})`);
109
- }
110
- blob = await response.blob();
111
- } else {
112
- return;
113
- }
114
- const downloadUrl = URL.createObjectURL(blob);
115
- const link = document.createElement("a");
116
- link.href = downloadUrl;
117
- link.download = filename;
118
- document.body.appendChild(link);
119
- link.click();
120
- document.body.removeChild(link);
121
- URL.revokeObjectURL(downloadUrl);
122
- } catch (err) {
123
- _optionalChain([onError, 'optionalCall', _4 => _4(err instanceof Error ? err : new Error("Download failed"))]);
124
- }
125
- }, [file, url, resolvedFileName, onError]);
126
104
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
127
105
  _material.Box,
128
106
  {
@@ -135,14 +113,35 @@ var VideoViewer = ({
135
113
  {
136
114
  avatar: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRE4XRGSVjs.FileIcon_default, { ext: fileExtension, size: 32 }),
137
115
  title: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "subtitle1", fontWeight: 500, children: resolvedFileName }),
138
- action: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: "Download", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
139
- _material.IconButton,
140
- {
141
- size: "small",
142
- onClick: onDownloadClick,
143
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Download2.default, {})
144
- }
145
- ) }),
116
+ action: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Stack, { direction: "row", spacing: 1, children: [
117
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: "Download", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
118
+ _material.IconButton,
119
+ {
120
+ size: "small",
121
+ onClick: onDownloadClick,
122
+ "aria-label": "Download video",
123
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Download2.default, {})
124
+ }
125
+ ) }),
126
+ showMetadata && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: "Document Metadata", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
127
+ _material.IconButton,
128
+ {
129
+ size: "small",
130
+ onClick: onMetadataClick,
131
+ "aria-label": "View document metadata",
132
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Info2.default, {})
133
+ }
134
+ ) }),
135
+ showProperties && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: "Document Properties", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
136
+ _material.IconButton,
137
+ {
138
+ size: "small",
139
+ onClick: onPropertiesClick,
140
+ "aria-label": "View document properties",
141
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Description2.default, {})
142
+ }
143
+ ) })
144
+ ] }),
146
145
  sx: { pb: 1.5 }
147
146
  }
148
147
  ),
@@ -193,4 +192,4 @@ var VideoViewer = ({
193
192
 
194
193
 
195
194
  exports.VideoViewer = VideoViewer;
196
- //# sourceMappingURL=chunk-4RL77HKO.js.map
195
+ //# sourceMappingURL=chunk-SNEIVT4R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["d:\\Projects\\DMS-File-Viewers\\packages\\lib\\dist\\chunk-SNEIVT4R.js"],"names":[],"mappings":"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","file":"D:\\Projects\\DMS-File-Viewers\\packages\\lib\\dist\\chunk-SNEIVT4R.js","sourcesContent":[null]}