@cannymindstech/file-viewers 0.27.11 → 0.28.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 (91) hide show
  1. package/package.json +2 -2
  2. package/dist/chunk-2BLHLWNN.js +0 -299
  3. package/dist/chunk-2BLHLWNN.js.map +0 -1
  4. package/dist/chunk-6BRYDA3B.js +0 -329
  5. package/dist/chunk-6BRYDA3B.js.map +0 -1
  6. package/dist/chunk-7JPF5AYR.mjs +0 -488
  7. package/dist/chunk-7JPF5AYR.mjs.map +0 -1
  8. package/dist/chunk-7P6WEBHN.js +0 -2299
  9. package/dist/chunk-7P6WEBHN.js.map +0 -1
  10. package/dist/chunk-7PMZ4GN5.mjs +0 -290
  11. package/dist/chunk-7PMZ4GN5.mjs.map +0 -1
  12. package/dist/chunk-B5NNB4KD.mjs +0 -268
  13. package/dist/chunk-B5NNB4KD.mjs.map +0 -1
  14. package/dist/chunk-CIWCHSAA.js +0 -309
  15. package/dist/chunk-CIWCHSAA.js.map +0 -1
  16. package/dist/chunk-D7SDEVDM.js +0 -268
  17. package/dist/chunk-D7SDEVDM.js.map +0 -1
  18. package/dist/chunk-ECZ6IBOS.js +0 -424
  19. package/dist/chunk-ECZ6IBOS.js.map +0 -1
  20. package/dist/chunk-EI3EP65I.mjs +0 -868
  21. package/dist/chunk-EI3EP65I.mjs.map +0 -1
  22. package/dist/chunk-EKNP342T.mjs +0 -299
  23. package/dist/chunk-EKNP342T.mjs.map +0 -1
  24. package/dist/chunk-EM63H4SA.js +0 -290
  25. package/dist/chunk-EM63H4SA.js.map +0 -1
  26. package/dist/chunk-IJMNPAXX.mjs +0 -309
  27. package/dist/chunk-IJMNPAXX.mjs.map +0 -1
  28. package/dist/chunk-KJNOBIUZ.mjs +0 -36
  29. package/dist/chunk-KJNOBIUZ.mjs.map +0 -1
  30. package/dist/chunk-KQCU7XW2.mjs +0 -424
  31. package/dist/chunk-KQCU7XW2.mjs.map +0 -1
  32. package/dist/chunk-MPTCXAXO.js +0 -868
  33. package/dist/chunk-MPTCXAXO.js.map +0 -1
  34. package/dist/chunk-OPJOCUSL.js +0 -36
  35. package/dist/chunk-OPJOCUSL.js.map +0 -1
  36. package/dist/chunk-PZGUVU6N.mjs +0 -2299
  37. package/dist/chunk-PZGUVU6N.mjs.map +0 -1
  38. package/dist/chunk-QV63FULE.js +0 -488
  39. package/dist/chunk-QV63FULE.js.map +0 -1
  40. package/dist/chunk-XJQ5J2UF.mjs +0 -329
  41. package/dist/chunk-XJQ5J2UF.mjs.map +0 -1
  42. package/dist/components/viewers/AudioViewer.d.mts +0 -6
  43. package/dist/components/viewers/AudioViewer.d.ts +0 -6
  44. package/dist/components/viewers/AudioViewer.js +0 -10
  45. package/dist/components/viewers/AudioViewer.js.map +0 -1
  46. package/dist/components/viewers/AudioViewer.mjs +0 -10
  47. package/dist/components/viewers/AudioViewer.mjs.map +0 -1
  48. package/dist/components/viewers/DefaultViewer.d.mts +0 -6
  49. package/dist/components/viewers/DefaultViewer.d.ts +0 -6
  50. package/dist/components/viewers/DefaultViewer.js +0 -10
  51. package/dist/components/viewers/DefaultViewer.js.map +0 -1
  52. package/dist/components/viewers/DefaultViewer.mjs +0 -10
  53. package/dist/components/viewers/DefaultViewer.mjs.map +0 -1
  54. package/dist/components/viewers/ImageViewer.d.mts +0 -6
  55. package/dist/components/viewers/ImageViewer.d.ts +0 -6
  56. package/dist/components/viewers/ImageViewer.js +0 -10
  57. package/dist/components/viewers/ImageViewer.js.map +0 -1
  58. package/dist/components/viewers/ImageViewer.mjs +0 -10
  59. package/dist/components/viewers/ImageViewer.mjs.map +0 -1
  60. package/dist/components/viewers/PDFViewer.d.mts +0 -51
  61. package/dist/components/viewers/PDFViewer.d.ts +0 -51
  62. package/dist/components/viewers/PDFViewer.js +0 -11
  63. package/dist/components/viewers/PDFViewer.js.map +0 -1
  64. package/dist/components/viewers/PDFViewer.mjs +0 -11
  65. package/dist/components/viewers/PDFViewer.mjs.map +0 -1
  66. package/dist/components/viewers/TIFFViewer.d.mts +0 -6
  67. package/dist/components/viewers/TIFFViewer.d.ts +0 -6
  68. package/dist/components/viewers/TIFFViewer.js +0 -10
  69. package/dist/components/viewers/TIFFViewer.js.map +0 -1
  70. package/dist/components/viewers/TIFFViewer.mjs +0 -10
  71. package/dist/components/viewers/TIFFViewer.mjs.map +0 -1
  72. package/dist/components/viewers/TextViewer.d.mts +0 -6
  73. package/dist/components/viewers/TextViewer.d.ts +0 -6
  74. package/dist/components/viewers/TextViewer.js +0 -10
  75. package/dist/components/viewers/TextViewer.js.map +0 -1
  76. package/dist/components/viewers/TextViewer.mjs +0 -10
  77. package/dist/components/viewers/TextViewer.mjs.map +0 -1
  78. package/dist/components/viewers/VideoViewer.d.mts +0 -6
  79. package/dist/components/viewers/VideoViewer.d.ts +0 -6
  80. package/dist/components/viewers/VideoViewer.js +0 -10
  81. package/dist/components/viewers/VideoViewer.js.map +0 -1
  82. package/dist/components/viewers/VideoViewer.mjs +0 -10
  83. package/dist/components/viewers/VideoViewer.mjs.map +0 -1
  84. package/dist/index.d.mts +0 -75
  85. package/dist/index.d.ts +0 -75
  86. package/dist/index.js +0 -305
  87. package/dist/index.js.map +0 -1
  88. package/dist/index.mjs +0 -305
  89. package/dist/index.mjs.map +0 -1
  90. package/dist/types-BYTxtKEc.d.mts +0 -100
  91. package/dist/types-BYTxtKEc.d.ts +0 -100
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { F as FileViewerProps } from '../../types-BYTxtKEc.js';
3
-
4
- declare const TIFFViewer: React.FC<FileViewerProps>;
5
-
6
- export { TIFFViewer };
@@ -1,10 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
-
3
-
4
- var _chunkMPTCXAXOjs = require('../../chunk-MPTCXAXO.js');
5
- require('../../chunk-OPJOCUSL.js');
6
- require('../../chunk-EM63H4SA.js');
7
-
8
-
9
- exports.TIFFViewer = _chunkMPTCXAXOjs.TIFFViewer;
10
- //# sourceMappingURL=TIFFViewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/premkumar/Documents/GitHub/DMS-File-Viewers/packages/lib/dist/components/viewers/TIFFViewer.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,iDAAC","file":"/home/premkumar/Documents/GitHub/DMS-File-Viewers/packages/lib/dist/components/viewers/TIFFViewer.js"}
@@ -1,10 +0,0 @@
1
- "use client";
2
- import {
3
- TIFFViewer
4
- } from "../../chunk-EI3EP65I.mjs";
5
- import "../../chunk-KJNOBIUZ.mjs";
6
- import "../../chunk-7PMZ4GN5.mjs";
7
- export {
8
- TIFFViewer
9
- };
10
- //# sourceMappingURL=TIFFViewer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { F as FileViewerProps } from '../../types-BYTxtKEc.mjs';
3
-
4
- declare const TextViewer: React.FC<FileViewerProps>;
5
-
6
- export { TextViewer };
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { F as FileViewerProps } from '../../types-BYTxtKEc.js';
3
-
4
- declare const TextViewer: React.FC<FileViewerProps>;
5
-
6
- export { TextViewer };
@@ -1,10 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
-
3
-
4
- var _chunkCIWCHSAAjs = require('../../chunk-CIWCHSAA.js');
5
- require('../../chunk-OPJOCUSL.js');
6
- require('../../chunk-EM63H4SA.js');
7
-
8
-
9
- exports.TextViewer = _chunkCIWCHSAAjs.TextViewer;
10
- //# sourceMappingURL=TextViewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/premkumar/Documents/GitHub/DMS-File-Viewers/packages/lib/dist/components/viewers/TextViewer.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,iDAAC","file":"/home/premkumar/Documents/GitHub/DMS-File-Viewers/packages/lib/dist/components/viewers/TextViewer.js"}
@@ -1,10 +0,0 @@
1
- "use client";
2
- import {
3
- TextViewer
4
- } from "../../chunk-IJMNPAXX.mjs";
5
- import "../../chunk-KJNOBIUZ.mjs";
6
- import "../../chunk-7PMZ4GN5.mjs";
7
- export {
8
- TextViewer
9
- };
10
- //# sourceMappingURL=TextViewer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { F as FileViewerProps } from '../../types-BYTxtKEc.mjs';
3
-
4
- declare const VideoViewer: React.FC<FileViewerProps>;
5
-
6
- export { VideoViewer };
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { F as FileViewerProps } from '../../types-BYTxtKEc.js';
3
-
4
- declare const VideoViewer: React.FC<FileViewerProps>;
5
-
6
- export { VideoViewer };
@@ -1,10 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
-
3
-
4
- var _chunk6BRYDA3Bjs = require('../../chunk-6BRYDA3B.js');
5
- require('../../chunk-OPJOCUSL.js');
6
- require('../../chunk-EM63H4SA.js');
7
-
8
-
9
- exports.VideoViewer = _chunk6BRYDA3Bjs.VideoViewer;
10
- //# sourceMappingURL=VideoViewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/premkumar/Documents/GitHub/DMS-File-Viewers/packages/lib/dist/components/viewers/VideoViewer.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,mDAAC","file":"/home/premkumar/Documents/GitHub/DMS-File-Viewers/packages/lib/dist/components/viewers/VideoViewer.js"}
@@ -1,10 +0,0 @@
1
- "use client";
2
- import {
3
- VideoViewer
4
- } from "../../chunk-XJQ5J2UF.mjs";
5
- import "../../chunk-KJNOBIUZ.mjs";
6
- import "../../chunk-7PMZ4GN5.mjs";
7
- export {
8
- VideoViewer
9
- };
10
- //# sourceMappingURL=VideoViewer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/index.d.mts DELETED
@@ -1,75 +0,0 @@
1
- import React from 'react';
2
- import { F as FileViewerProps, V as ViewerInfo, a as FileViewerComponent } from './types-BYTxtKEc.mjs';
3
- export { c as DynamicViewerImport, D as DynamicViewerRegistry, S as SearchResult, T as ToolbarActionId, d as ToolbarActionsConfig, b as ViewerRegistry } from './types-BYTxtKEc.mjs';
4
- export { TextViewer } from './components/viewers/TextViewer.mjs';
5
- export { ImageViewer } from './components/viewers/ImageViewer.mjs';
6
- export { PDFViewer, PDFViewerMethods } from './components/viewers/PDFViewer.mjs';
7
- export { VideoViewer } from './components/viewers/VideoViewer.mjs';
8
- export { AudioViewer } from './components/viewers/AudioViewer.mjs';
9
- export { TIFFViewer } from './components/viewers/TIFFViewer.mjs';
10
- export { DefaultViewer } from './components/viewers/DefaultViewer.mjs';
11
-
12
- interface FileViewerComponentProps extends Partial<FileViewerProps> {
13
- customRegistry?: Record<string, ViewerInfo>;
14
- loadingComponent?: React.ComponentType<{
15
- fileName?: string;
16
- type?: string;
17
- }>;
18
- errorComponent?: React.ComponentType<{
19
- error: Error;
20
- retry: () => void;
21
- }>;
22
- }
23
- declare const FileViewer: React.FC<FileViewerComponentProps>;
24
-
25
- interface FileIconProps {
26
- ext?: string;
27
- size?: number;
28
- sx?: React.CSSProperties;
29
- }
30
- declare const FileIcon: React.FC<FileIconProps>;
31
-
32
- declare const dynamicViewerRegistry: Record<string, ViewerInfo>;
33
- declare const getViewerInfo: (extension: string) => ViewerInfo;
34
- declare const getViewerComponent: (extension: string, customRegistry?: Record<string, ViewerInfo>) => Promise<FileViewerComponent>;
35
-
36
- declare const getFileExtension: (fileName: string) => string;
37
- declare const getMimeTypeFromExtension: (extension: string) => string;
38
-
39
- /**
40
- * Local shim for @embedpdf/plugin-annotation v2.14.1 lock-mode types.
41
- *
42
- * Once @cannymindstech/pdf-viewer @ 0.7.0 is published with its own re-exports
43
- * of these from @embedpdf/plugin-annotation, this file should be deleted and
44
- * src/index.ts switched back to:
45
- *
46
- * export { LockModeType } from '@cannymindstech/pdf-viewer';
47
- * export type { LockMode, PdfAnnotationFlagName } from '@cannymindstech/pdf-viewer';
48
- *
49
- * Numeric values intentionally match the upstream enum so the shim is wire-
50
- * compatible with the engine even before the upstream bump.
51
- */
52
- declare enum LockModeType {
53
- None = 0,
54
- All = 1,
55
- Include = 2,
56
- Exclude = 3
57
- }
58
- type LockMode = {
59
- type: LockModeType.None;
60
- } | {
61
- type: LockModeType.All;
62
- } | {
63
- type: LockModeType.Include;
64
- categories: string[];
65
- } | {
66
- type: LockModeType.Exclude;
67
- categories: string[];
68
- };
69
- /**
70
- * PDF annotation flag names recognized by @embedpdf/plugin-annotation v2.14.1.
71
- * `lockedContents` is new in 2.14.1; older runtimes silently ignore it.
72
- */
73
- type PdfAnnotationFlagName = 'invisible' | 'hidden' | 'print' | 'noZoom' | 'noRotate' | 'noView' | 'readOnly' | 'locked' | 'toggleNoView' | 'lockedContents';
74
-
75
- export { FileIcon, FileViewer, FileViewerComponent, FileViewerProps, type LockMode, LockModeType, type PdfAnnotationFlagName, ViewerInfo, dynamicViewerRegistry, getFileExtension, getMimeTypeFromExtension, getViewerComponent, getViewerInfo };
package/dist/index.d.ts DELETED
@@ -1,75 +0,0 @@
1
- import React from 'react';
2
- import { F as FileViewerProps, V as ViewerInfo, a as FileViewerComponent } from './types-BYTxtKEc.js';
3
- export { c as DynamicViewerImport, D as DynamicViewerRegistry, S as SearchResult, T as ToolbarActionId, d as ToolbarActionsConfig, b as ViewerRegistry } from './types-BYTxtKEc.js';
4
- export { TextViewer } from './components/viewers/TextViewer.js';
5
- export { ImageViewer } from './components/viewers/ImageViewer.js';
6
- export { PDFViewer, PDFViewerMethods } from './components/viewers/PDFViewer.js';
7
- export { VideoViewer } from './components/viewers/VideoViewer.js';
8
- export { AudioViewer } from './components/viewers/AudioViewer.js';
9
- export { TIFFViewer } from './components/viewers/TIFFViewer.js';
10
- export { DefaultViewer } from './components/viewers/DefaultViewer.js';
11
-
12
- interface FileViewerComponentProps extends Partial<FileViewerProps> {
13
- customRegistry?: Record<string, ViewerInfo>;
14
- loadingComponent?: React.ComponentType<{
15
- fileName?: string;
16
- type?: string;
17
- }>;
18
- errorComponent?: React.ComponentType<{
19
- error: Error;
20
- retry: () => void;
21
- }>;
22
- }
23
- declare const FileViewer: React.FC<FileViewerComponentProps>;
24
-
25
- interface FileIconProps {
26
- ext?: string;
27
- size?: number;
28
- sx?: React.CSSProperties;
29
- }
30
- declare const FileIcon: React.FC<FileIconProps>;
31
-
32
- declare const dynamicViewerRegistry: Record<string, ViewerInfo>;
33
- declare const getViewerInfo: (extension: string) => ViewerInfo;
34
- declare const getViewerComponent: (extension: string, customRegistry?: Record<string, ViewerInfo>) => Promise<FileViewerComponent>;
35
-
36
- declare const getFileExtension: (fileName: string) => string;
37
- declare const getMimeTypeFromExtension: (extension: string) => string;
38
-
39
- /**
40
- * Local shim for @embedpdf/plugin-annotation v2.14.1 lock-mode types.
41
- *
42
- * Once @cannymindstech/pdf-viewer @ 0.7.0 is published with its own re-exports
43
- * of these from @embedpdf/plugin-annotation, this file should be deleted and
44
- * src/index.ts switched back to:
45
- *
46
- * export { LockModeType } from '@cannymindstech/pdf-viewer';
47
- * export type { LockMode, PdfAnnotationFlagName } from '@cannymindstech/pdf-viewer';
48
- *
49
- * Numeric values intentionally match the upstream enum so the shim is wire-
50
- * compatible with the engine even before the upstream bump.
51
- */
52
- declare enum LockModeType {
53
- None = 0,
54
- All = 1,
55
- Include = 2,
56
- Exclude = 3
57
- }
58
- type LockMode = {
59
- type: LockModeType.None;
60
- } | {
61
- type: LockModeType.All;
62
- } | {
63
- type: LockModeType.Include;
64
- categories: string[];
65
- } | {
66
- type: LockModeType.Exclude;
67
- categories: string[];
68
- };
69
- /**
70
- * PDF annotation flag names recognized by @embedpdf/plugin-annotation v2.14.1.
71
- * `lockedContents` is new in 2.14.1; older runtimes silently ignore it.
72
- */
73
- type PdfAnnotationFlagName = 'invisible' | 'hidden' | 'print' | 'noZoom' | 'noRotate' | 'noView' | 'readOnly' | 'locked' | 'toggleNoView' | 'lockedContents';
74
-
75
- export { FileIcon, FileViewer, FileViewerComponent, FileViewerProps, type LockMode, LockModeType, type PdfAnnotationFlagName, ViewerInfo, dynamicViewerRegistry, getFileExtension, getMimeTypeFromExtension, getViewerComponent, getViewerInfo };
package/dist/index.js DELETED
@@ -1,305 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
-
3
-
4
- var _chunk2BLHLWNNjs = require('./chunk-2BLHLWNN.js');
5
-
6
-
7
- var _chunkD7SDEVDMjs = require('./chunk-D7SDEVDM.js');
8
-
9
-
10
- var _chunkQV63FULEjs = require('./chunk-QV63FULE.js');
11
-
12
-
13
- var _chunk7P6WEBHNjs = require('./chunk-7P6WEBHN.js');
14
- require('./chunk-ECZ6IBOS.js');
15
-
16
-
17
- var _chunkMPTCXAXOjs = require('./chunk-MPTCXAXO.js');
18
-
19
-
20
- var _chunkCIWCHSAAjs = require('./chunk-CIWCHSAA.js');
21
-
22
-
23
- var _chunk6BRYDA3Bjs = require('./chunk-6BRYDA3B.js');
24
-
25
-
26
-
27
- var _chunkOPJOCUSLjs = require('./chunk-OPJOCUSL.js');
28
-
29
-
30
- var _chunkEM63H4SAjs = require('./chunk-EM63H4SA.js');
31
-
32
- // src/components/FileViewer.tsx
33
- var _react = require('react');
34
-
35
- // src/registry.ts
36
- var loadTextViewer = () => Promise.resolve().then(() => _interopRequireWildcard(require("./components/viewers/TextViewer.js"))).then((m) => ({ default: m.TextViewer }));
37
- var loadImageViewer = () => Promise.resolve().then(() => _interopRequireWildcard(require("./components/viewers/ImageViewer.js"))).then((m) => ({ default: m.ImageViewer }));
38
- var loadPDFViewer = () => Promise.resolve().then(() => _interopRequireWildcard(require("./components/viewers/PDFViewer.js"))).then((m) => ({ default: m.PDFViewer }));
39
- var loadVideoViewer = () => Promise.resolve().then(() => _interopRequireWildcard(require("./components/viewers/VideoViewer.js"))).then((m) => ({ default: m.VideoViewer }));
40
- var loadAudioViewer = () => Promise.resolve().then(() => _interopRequireWildcard(require("./components/viewers/AudioViewer.js"))).then((m) => ({ default: m.AudioViewer }));
41
- var loadTIFFViewer = () => Promise.resolve().then(() => _interopRequireWildcard(require("./components/viewers/TIFFViewer.js"))).then((m) => ({ default: m.TIFFViewer }));
42
- var loadDefaultViewer = () => Promise.resolve().then(() => _interopRequireWildcard(require("./components/viewers/DefaultViewer.js"))).then((m) => ({ default: m.DefaultViewer }));
43
- var dynamicViewerRegistry = {
44
- // Text files
45
- "txt": { type: "text", loader: loadTextViewer },
46
- "json": { type: "text", loader: loadTextViewer },
47
- "xml": { type: "text", loader: loadTextViewer },
48
- "csv": { type: "text", loader: loadTextViewer },
49
- "md": { type: "text", loader: loadTextViewer },
50
- "js": { type: "text", loader: loadTextViewer },
51
- "jsx": { type: "text", loader: loadTextViewer },
52
- "ts": { type: "text", loader: loadTextViewer },
53
- "tsx": { type: "text", loader: loadTextViewer },
54
- "css": { type: "text", loader: loadTextViewer },
55
- "scss": { type: "text", loader: loadTextViewer },
56
- "html": { type: "text", loader: loadTextViewer },
57
- "py": { type: "text", loader: loadTextViewer },
58
- "java": { type: "text", loader: loadTextViewer },
59
- "cpp": { type: "text", loader: loadTextViewer },
60
- "c": { type: "text", loader: loadTextViewer },
61
- "php": { type: "text", loader: loadTextViewer },
62
- "rb": { type: "text", loader: loadTextViewer },
63
- "go": { type: "text", loader: loadTextViewer },
64
- "rs": { type: "text", loader: loadTextViewer },
65
- "sql": { type: "text", loader: loadTextViewer },
66
- "yaml": { type: "text", loader: loadTextViewer },
67
- "yml": { type: "text", loader: loadTextViewer },
68
- // Images
69
- "jpg": { type: "image", loader: loadImageViewer },
70
- "jpeg": { type: "image", loader: loadImageViewer },
71
- "png": { type: "image", loader: loadImageViewer },
72
- "gif": { type: "image", loader: loadImageViewer },
73
- "svg": { type: "image", loader: loadImageViewer },
74
- "webp": { type: "image", loader: loadImageViewer },
75
- "bmp": { type: "image", loader: loadImageViewer },
76
- "ico": { type: "image", loader: loadImageViewer },
77
- "tif": { type: "tiff", loader: loadTIFFViewer },
78
- "tiff": { type: "tiff", loader: loadTIFFViewer },
79
- // PDF
80
- "pdf": { type: "pdf", loader: loadPDFViewer },
81
- // Videos
82
- "mp4": { type: "video", loader: loadVideoViewer },
83
- "webm": { type: "video", loader: loadVideoViewer },
84
- "ogg": { type: "video", loader: loadVideoViewer },
85
- "avi": { type: "video", loader: loadVideoViewer },
86
- "mov": { type: "video", loader: loadVideoViewer },
87
- "wmv": { type: "video", loader: loadVideoViewer },
88
- "flv": { type: "video", loader: loadVideoViewer },
89
- "mkv": { type: "video", loader: loadVideoViewer },
90
- // Audio
91
- "mp3": { type: "audio", loader: loadAudioViewer },
92
- "wav": { type: "audio", loader: loadAudioViewer },
93
- "m4a": { type: "audio", loader: loadAudioViewer },
94
- "flac": { type: "audio", loader: loadAudioViewer },
95
- "aac": { type: "audio", loader: loadAudioViewer },
96
- "oga": { type: "audio", loader: loadAudioViewer }
97
- };
98
- var componentCache = /* @__PURE__ */ new Map();
99
- var getViewerInfo = (extension) => {
100
- const ext = extension.toLowerCase();
101
- return dynamicViewerRegistry[ext] || { type: "default", loader: loadDefaultViewer };
102
- };
103
- var getViewerComponent = async (extension, customRegistry) => {
104
- const ext = extension.toLowerCase();
105
- if (componentCache.has(ext)) {
106
- return componentCache.get(ext);
107
- }
108
- const registry = { ...dynamicViewerRegistry, ...customRegistry };
109
- const viewerInfo = registry[ext] || { type: "default", loader: loadDefaultViewer };
110
- try {
111
- const { default: Component } = await viewerInfo.loader();
112
- componentCache.set(ext, Component);
113
- return Component;
114
- } catch (error) {
115
- if (!componentCache.has("default")) {
116
- const { default: DefaultComponent } = await loadDefaultViewer();
117
- componentCache.set("default", DefaultComponent);
118
- }
119
- return componentCache.get("default");
120
- }
121
- };
122
-
123
- // src/components/FileViewer.tsx
124
- var _jsxruntime = require('react/jsx-runtime');
125
- var DefaultLoadingComponent = ({ fileName, type }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { style: {
126
- display: "flex",
127
- alignItems: "center",
128
- justifyContent: "center",
129
- padding: "40px",
130
- height: "100%",
131
- width: "100%"
132
- }, children: [
133
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "dms-loading-spinner", style: {
134
- width: "40px",
135
- height: "40px",
136
- border: "3px solid #f3f3f3",
137
- borderTop: "3px solid #3498db",
138
- borderRadius: "50%",
139
- animation: "spin 1s linear infinite"
140
- } }),
141
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { children: `
142
- @keyframes spin {
143
- 0% { transform: rotate(0deg); }
144
- 100% { transform: rotate(360deg); }
145
- }
146
- ` })
147
- ] });
148
- var DefaultErrorComponent = ({ error, retry }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: {
149
- display: "flex",
150
- alignItems: "center",
151
- justifyContent: "center",
152
- padding: "40px",
153
- border: "1px solid #ddd",
154
- borderRadius: "4px",
155
- backgroundColor: "#fff2f2"
156
- }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { style: { textAlign: "center" }, children: [
157
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { style: { color: "#d32f2f", marginBottom: "16px" }, children: "Failed to load file viewer" }),
158
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { style: { fontSize: "12px", color: "#666", marginBottom: "16px" }, children: error.message }),
159
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
160
- "button",
161
- {
162
- onClick: retry,
163
- style: {
164
- padding: "8px 16px",
165
- border: "1px solid #007bff",
166
- borderRadius: "4px",
167
- backgroundColor: "#007bff",
168
- color: "#fff",
169
- cursor: "pointer"
170
- },
171
- children: "Retry"
172
- }
173
- )
174
- ] }) });
175
- var FileViewer = ({
176
- file,
177
- url,
178
- fileName,
179
- mimeType,
180
- loading: externalLoading,
181
- customRegistry,
182
- loadingComponent: LoadingComponent = DefaultLoadingComponent,
183
- errorComponent: ErrorComponent = DefaultErrorComponent,
184
- initialSearchText,
185
- initialSearchPages,
186
- autoOpenSearch,
187
- autoExecuteSearch,
188
- onSearchComplete,
189
- ...props
190
- }) => {
191
- const [ViewerComponent, setViewerComponent] = _react.useState.call(void 0, null);
192
- const [internalLoading, setInternalLoading] = _react.useState.call(void 0, false);
193
- const [error, setError] = _react.useState.call(void 0, null);
194
- const isLoading = externalLoading || internalLoading;
195
- const resolvedFileInfo = _react.useMemo.call(void 0, () => {
196
- let resolvedFileName = fileName;
197
- if (!resolvedFileName && file) {
198
- resolvedFileName = file.name;
199
- }
200
- if (!resolvedFileName && url) {
201
- resolvedFileName = url.split("/").pop() || "unknown";
202
- }
203
- const extension = resolvedFileName ? _chunkOPJOCUSLjs.getFileExtension.call(void 0, resolvedFileName) : "";
204
- let resolvedMimeType = mimeType;
205
- if (!resolvedMimeType && file) {
206
- resolvedMimeType = file.type;
207
- }
208
- if (!resolvedMimeType && extension) {
209
- resolvedMimeType = _chunkOPJOCUSLjs.getMimeTypeFromExtension.call(void 0, extension);
210
- }
211
- const viewerInfo = getViewerInfo(extension);
212
- return {
213
- fileName: resolvedFileName,
214
- extension,
215
- mimeType: resolvedMimeType,
216
- viewerInfo
217
- };
218
- }, [file, url, fileName, mimeType]);
219
- const loadViewer = async () => {
220
- if (internalLoading) return;
221
- setInternalLoading(true);
222
- setError(null);
223
- try {
224
- const component = await getViewerComponent(resolvedFileInfo.extension, customRegistry);
225
- setViewerComponent(() => component);
226
- } catch (err) {
227
- setError(err instanceof Error ? err : new Error("Failed to load viewer"));
228
- } finally {
229
- setInternalLoading(false);
230
- }
231
- };
232
- _react.useEffect.call(void 0, () => {
233
- loadViewer();
234
- }, [resolvedFileInfo.extension, customRegistry]);
235
- const viewerProps = _react.useMemo.call(void 0, () => ({
236
- file,
237
- url,
238
- fileName: resolvedFileInfo.fileName,
239
- mimeType: resolvedFileInfo.mimeType,
240
- fileSize: _optionalChain([file, 'optionalAccess', _ => _.size]),
241
- initialSearchText,
242
- initialSearchPages,
243
- autoOpenSearch,
244
- autoExecuteSearch,
245
- onSearchComplete,
246
- ...props
247
- }), [
248
- file,
249
- url,
250
- resolvedFileInfo.fileName,
251
- resolvedFileInfo.mimeType,
252
- initialSearchText,
253
- initialSearchPages,
254
- autoOpenSearch,
255
- autoExecuteSearch,
256
- onSearchComplete,
257
- props
258
- ]);
259
- if (isLoading || !ViewerComponent) {
260
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
261
- LoadingComponent,
262
- {
263
- fileName: resolvedFileInfo.fileName,
264
- type: resolvedFileInfo.viewerInfo.type
265
- }
266
- );
267
- }
268
- if (error) {
269
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
270
- ErrorComponent,
271
- {
272
- error,
273
- retry: loadViewer
274
- }
275
- );
276
- }
277
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ViewerComponent, { ...viewerProps });
278
- };
279
-
280
- // src/lock-types.ts
281
- var LockModeType = /* @__PURE__ */ ((LockModeType2) => {
282
- LockModeType2[LockModeType2["None"] = 0] = "None";
283
- LockModeType2[LockModeType2["All"] = 1] = "All";
284
- LockModeType2[LockModeType2["Include"] = 2] = "Include";
285
- LockModeType2[LockModeType2["Exclude"] = 3] = "Exclude";
286
- return LockModeType2;
287
- })(LockModeType || {});
288
-
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
-
297
-
298
-
299
-
300
-
301
-
302
-
303
-
304
- exports.AudioViewer = _chunk2BLHLWNNjs.AudioViewer; exports.DefaultViewer = _chunkD7SDEVDMjs.DefaultViewer; exports.FileIcon = _chunkEM63H4SAjs.FileIcon_default; exports.FileViewer = FileViewer; exports.ImageViewer = _chunkQV63FULEjs.ImageViewer; exports.LockModeType = LockModeType; exports.PDFViewer = _chunk7P6WEBHNjs.PDFViewer; exports.TIFFViewer = _chunkMPTCXAXOjs.TIFFViewer; exports.TextViewer = _chunkCIWCHSAAjs.TextViewer; exports.VideoViewer = _chunk6BRYDA3Bjs.VideoViewer; exports.dynamicViewerRegistry = dynamicViewerRegistry; exports.getFileExtension = _chunkOPJOCUSLjs.getFileExtension; exports.getMimeTypeFromExtension = _chunkOPJOCUSLjs.getMimeTypeFromExtension; exports.getViewerComponent = getViewerComponent; exports.getViewerInfo = getViewerInfo;
305
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/premkumar/Documents/GitHub/DMS-File-Viewers/packages/lib/dist/index.js","../src/components/FileViewer.tsx","../src/registry.ts","../src/lock-types.ts"],"names":["LockModeType"],"mappings":"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","file":"/home/premkumar/Documents/GitHub/DMS-File-Viewers/packages/lib/dist/index.js","sourcesContent":[null,"import React, { useState, useEffect, useMemo } from 'react';\nimport { FileViewerProps, ViewerInfo, FileViewerComponent } from '../types';\nimport { getFileExtension, getMimeTypeFromExtension } from '../utils/fileUtils';\nimport { getViewerComponent, getViewerInfo } from '../registry';\n\nexport interface FileViewerComponentProps extends Partial<FileViewerProps> {\n customRegistry?: Record<string, ViewerInfo>;\n loadingComponent?: React.ComponentType<{ fileName?: string; type?: string; }>;\n errorComponent?: React.ComponentType<{ error: Error; retry: () => void; }>;\n}\n\n// Default loading component\n// Default loading component\nconst DefaultLoadingComponent: React.FC<{ fileName?: string; type?: string; }> = ({ fileName, type }) => (\n <div style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '40px',\n height: '100%',\n width: '100%'\n }}>\n <div className=\"dms-loading-spinner\" style={{\n width: '40px',\n height: '40px',\n border: '3px solid #f3f3f3',\n borderTop: '3px solid #3498db',\n borderRadius: '50%',\n animation: 'spin 1s linear infinite'\n }} />\n <style>{`\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n `}</style>\n </div>\n);\n\n// Default error component\nconst DefaultErrorComponent: React.FC<{ error: Error; retry: () => void; }> = ({ error, retry }) => (\n <div style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '40px',\n border: '1px solid #ddd',\n borderRadius: '4px',\n backgroundColor: '#fff2f2'\n }}>\n <div style={{ textAlign: 'center' }}>\n <p style={{ color: '#d32f2f', marginBottom: '16px' }}>\n Failed to load file viewer\n </p>\n <p style={{ fontSize: '12px', color: '#666', marginBottom: '16px' }}>\n {error.message}\n </p>\n <button\n onClick={retry}\n style={{\n padding: '8px 16px',\n border: '1px solid #007bff',\n borderRadius: '4px',\n backgroundColor: '#007bff',\n color: '#fff',\n cursor: 'pointer'\n }}\n >\n Retry\n </button>\n </div>\n </div>\n);\n\nexport const FileViewer: React.FC<FileViewerComponentProps> = ({\n file,\n url,\n fileName,\n mimeType,\n loading: externalLoading,\n customRegistry,\n loadingComponent: LoadingComponent = DefaultLoadingComponent,\n errorComponent: ErrorComponent = DefaultErrorComponent,\n initialSearchText,\n initialSearchPages,\n autoOpenSearch,\n autoExecuteSearch,\n onSearchComplete,\n ...props\n}) => {\n const [ViewerComponent, setViewerComponent] = useState<FileViewerComponent | null>(null);\n const [internalLoading, setInternalLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n // Combined loading state: either external loading or internal component loading\n const isLoading = externalLoading || internalLoading;\n\n // Resolve file information\n const resolvedFileInfo = useMemo(() => {\n // Determine file name\n let resolvedFileName = fileName;\n if (!resolvedFileName && file) {\n resolvedFileName = file.name;\n }\n if (!resolvedFileName && url) {\n resolvedFileName = url.split('/').pop() || 'unknown';\n }\n\n // Determine file extension\n const extension = resolvedFileName ? getFileExtension(resolvedFileName) : '';\n\n // Determine mime type\n let resolvedMimeType = mimeType;\n if (!resolvedMimeType && file) {\n resolvedMimeType = file.type;\n }\n if (!resolvedMimeType && extension) {\n resolvedMimeType = getMimeTypeFromExtension(extension);\n }\n\n // Get viewer info\n const viewerInfo = getViewerInfo(extension);\n\n return {\n fileName: resolvedFileName,\n extension,\n mimeType: resolvedMimeType,\n viewerInfo\n };\n }, [file, url, fileName, mimeType]);\n\n // Load viewer component dynamically\n const loadViewer = async () => {\n if (internalLoading) return;\n\n setInternalLoading(true);\n setError(null);\n\n try {\n const component = await getViewerComponent(resolvedFileInfo.extension, customRegistry);\n setViewerComponent(() => component);\n } catch (err) {\n setError(err instanceof Error ? err : new Error('Failed to load viewer'));\n } finally {\n setInternalLoading(false);\n }\n };\n\n // Load viewer when file extension changes\n useEffect(() => {\n loadViewer();\n }, [resolvedFileInfo.extension, customRegistry]);\n\n // Prepare props for the viewer\n const viewerProps = useMemo(() => ({\n file,\n url,\n fileName: resolvedFileInfo.fileName,\n mimeType: resolvedFileInfo.mimeType,\n fileSize: file?.size,\n initialSearchText,\n initialSearchPages,\n autoOpenSearch,\n autoExecuteSearch,\n onSearchComplete,\n ...props\n }), [\n file,\n url,\n resolvedFileInfo.fileName,\n resolvedFileInfo.mimeType,\n initialSearchText,\n initialSearchPages,\n autoOpenSearch,\n autoExecuteSearch,\n onSearchComplete,\n props\n ]);\n\n // Show loading state\n if (isLoading || !ViewerComponent) {\n return (\n <LoadingComponent\n fileName={resolvedFileInfo.fileName}\n type={resolvedFileInfo.viewerInfo.type}\n />\n );\n }\n\n // Show error state\n if (error) {\n return (\n <ErrorComponent\n error={error}\n retry={loadViewer}\n />\n );\n }\n\n // Render the loaded viewer component\n return <ViewerComponent {...viewerProps} />;\n};","import { DynamicViewerRegistry, ViewerInfo, FileViewerComponent } from './types';\n\n// Dynamic import functions for each viewer type\nconst loadTextViewer = () => import('./components/viewers/TextViewer').then(m => ({ default: m.TextViewer }));\nconst loadImageViewer = () => import('./components/viewers/ImageViewer').then(m => ({ default: m.ImageViewer }));\nconst loadPDFViewer = () => import('./components/viewers/PDFViewer').then(m => ({ default: m.PDFViewer }));\nconst loadVideoViewer = () => import('./components/viewers/VideoViewer').then(m => ({ default: m.VideoViewer }));\nconst loadAudioViewer = () => import('./components/viewers/AudioViewer').then(m => ({ default: m.AudioViewer }));\nconst loadTIFFViewer = () => import('./components/viewers/TIFFViewer').then(m => ({ default: m.TIFFViewer }));\nconst loadDefaultViewer = () => import('./components/viewers/DefaultViewer').then(m => ({ default: m.DefaultViewer }));\n\n// Registry mapping file extensions to viewer info\nexport const dynamicViewerRegistry: Record<string, ViewerInfo> = {\n // Text files\n 'txt': { type: 'text', loader: loadTextViewer },\n 'json': { type: 'text', loader: loadTextViewer },\n 'xml': { type: 'text', loader: loadTextViewer },\n 'csv': { type: 'text', loader: loadTextViewer },\n 'md': { type: 'text', loader: loadTextViewer },\n 'js': { type: 'text', loader: loadTextViewer },\n 'jsx': { type: 'text', loader: loadTextViewer },\n 'ts': { type: 'text', loader: loadTextViewer },\n 'tsx': { type: 'text', loader: loadTextViewer },\n 'css': { type: 'text', loader: loadTextViewer },\n 'scss': { type: 'text', loader: loadTextViewer },\n 'html': { type: 'text', loader: loadTextViewer },\n 'py': { type: 'text', loader: loadTextViewer },\n 'java': { type: 'text', loader: loadTextViewer },\n 'cpp': { type: 'text', loader: loadTextViewer },\n 'c': { type: 'text', loader: loadTextViewer },\n 'php': { type: 'text', loader: loadTextViewer },\n 'rb': { type: 'text', loader: loadTextViewer },\n 'go': { type: 'text', loader: loadTextViewer },\n 'rs': { type: 'text', loader: loadTextViewer },\n 'sql': { type: 'text', loader: loadTextViewer },\n 'yaml': { type: 'text', loader: loadTextViewer },\n 'yml': { type: 'text', loader: loadTextViewer },\n\n // Images\n 'jpg': { type: 'image', loader: loadImageViewer },\n 'jpeg': { type: 'image', loader: loadImageViewer },\n 'png': { type: 'image', loader: loadImageViewer },\n 'gif': { type: 'image', loader: loadImageViewer },\n 'svg': { type: 'image', loader: loadImageViewer },\n 'webp': { type: 'image', loader: loadImageViewer },\n 'bmp': { type: 'image', loader: loadImageViewer },\n 'ico': { type: 'image', loader: loadImageViewer },\n 'tif': { type: 'tiff', loader: loadTIFFViewer },\n 'tiff': { type: 'tiff', loader: loadTIFFViewer },\n\n // PDF\n 'pdf': { type: 'pdf', loader: loadPDFViewer },\n\n // Videos\n 'mp4': { type: 'video', loader: loadVideoViewer },\n 'webm': { type: 'video', loader: loadVideoViewer },\n 'ogg': { type: 'video', loader: loadVideoViewer },\n 'avi': { type: 'video', loader: loadVideoViewer },\n 'mov': { type: 'video', loader: loadVideoViewer },\n 'wmv': { type: 'video', loader: loadVideoViewer },\n 'flv': { type: 'video', loader: loadVideoViewer },\n 'mkv': { type: 'video', loader: loadVideoViewer },\n\n // Audio\n 'mp3': { type: 'audio', loader: loadAudioViewer },\n 'wav': { type: 'audio', loader: loadAudioViewer },\n 'm4a': { type: 'audio', loader: loadAudioViewer },\n 'flac': { type: 'audio', loader: loadAudioViewer },\n 'aac': { type: 'audio', loader: loadAudioViewer },\n 'oga': { type: 'audio', loader: loadAudioViewer },\n};\n\n// Cache to store loaded components\nconst componentCache = new Map<string, FileViewerComponent>();\n\nexport const getViewerInfo = (extension: string): ViewerInfo => {\n const ext = extension.toLowerCase();\n return dynamicViewerRegistry[ext] || { type: 'default', loader: loadDefaultViewer };\n};\n\nexport const getViewerComponent = async (\n extension: string,\n customRegistry?: Record<string, ViewerInfo>\n): Promise<FileViewerComponent> => {\n const ext = extension.toLowerCase();\n\n // Check cache first\n if (componentCache.has(ext)) {\n return componentCache.get(ext)!;\n }\n\n // Get viewer info from registry\n const registry = { ...dynamicViewerRegistry, ...customRegistry };\n const viewerInfo = registry[ext] || { type: 'default', loader: loadDefaultViewer };\n\n try {\n // Dynamically import the component\n const { default: Component } = await viewerInfo.loader();\n\n // Cache the loaded component\n componentCache.set(ext, Component);\n\n return Component;\n } catch (error) {\n // Fallback to default viewer on error\n if (!componentCache.has('default')) {\n const { default: DefaultComponent } = await loadDefaultViewer();\n componentCache.set('default', DefaultComponent);\n }\n\n return componentCache.get('default')!;\n }\n};","/**\n * Local shim for @embedpdf/plugin-annotation v2.14.1 lock-mode types.\n *\n * Once @cannymindstech/pdf-viewer @ 0.7.0 is published with its own re-exports\n * of these from @embedpdf/plugin-annotation, this file should be deleted and\n * src/index.ts switched back to:\n *\n * export { LockModeType } from '@cannymindstech/pdf-viewer';\n * export type { LockMode, PdfAnnotationFlagName } from '@cannymindstech/pdf-viewer';\n *\n * Numeric values intentionally match the upstream enum so the shim is wire-\n * compatible with the engine even before the upstream bump.\n */\n\nexport enum LockModeType {\n None = 0,\n All = 1,\n Include = 2,\n Exclude = 3,\n}\n\nexport type LockMode =\n | { type: LockModeType.None }\n | { type: LockModeType.All }\n | { type: LockModeType.Include; categories: string[] }\n | { type: LockModeType.Exclude; categories: string[] };\n\n/**\n * PDF annotation flag names recognized by @embedpdf/plugin-annotation v2.14.1.\n * `lockedContents` is new in 2.14.1; older runtimes silently ignore it.\n */\nexport type PdfAnnotationFlagName =\n | 'invisible'\n | 'hidden'\n | 'print'\n | 'noZoom'\n | 'noRotate'\n | 'noView'\n | 'readOnly'\n | 'locked'\n | 'toggleNoView'\n | 'lockedContents';\n"]}