@monolith-forensics/monolith-ui 1.2.55 → 1.2.57

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.
@@ -6,8 +6,8 @@ export type File = {
6
6
  url?: string;
7
7
  };
8
8
  export declare const FileViewer: React.FC<{
9
- file: File;
10
- open: boolean;
9
+ file?: File;
10
+ open?: boolean;
11
11
  isPending?: boolean;
12
12
  onClose: () => void;
13
13
  }>;
@@ -98,6 +98,9 @@ const StyledContainer = styled.div.attrs({ className: "FileViewer-container" })
98
98
 
99
99
  &:hover {
100
100
  background-color: ${(props) => props.theme.palette.primary.main};
101
+ border-radius: 10px;
102
+ border: 4px solid rgba(0, 0, 0, 0);
103
+ background-clip: padding-box;
101
104
  }
102
105
  }
103
106
 
@@ -156,6 +159,8 @@ export const FileViewer = ({ file, open, isPending, onClose }) => {
156
159
  const [zoomFactor, setZoomFactor] = useState(1);
157
160
  if (!open)
158
161
  return null;
162
+ if (!file)
163
+ return null;
159
164
  const viewerType = resolveViewerType(file);
160
165
  const handleBackgroundClick = (e) => {
161
166
  onClose === null || onClose === void 0 ? void 0 : onClose();
@@ -1,15 +1,4 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
2
  import { useState } from "react";
14
3
  import { Document, Page, pdfjs } from "react-pdf";
15
4
  import "react-pdf/dist/esm/Page/AnnotationLayer.css";
@@ -17,7 +6,13 @@ import "react-pdf/dist/esm/Page/TextLayer.css";
17
6
  import styled from "styled-components";
18
7
  import Loader from "../../Loader";
19
8
  pdfjs.GlobalWorkerOptions.workerSrc = new URL("pdfjs-dist/build/pdf.worker.min.mjs", import.meta.url).toString();
20
- const StyledContainer = styled.div ``;
9
+ const StyledContainer = styled.div.attrs({
10
+ className: "PdfViewer-container",
11
+ }) `
12
+ flex: 1 1 auto;
13
+ height: 0px;
14
+ width: 100%;
15
+ `;
21
16
  const StyledDocument = styled(Document).attrs({
22
17
  className: "PdfViewer-document",
23
18
  }) ``;
@@ -34,27 +29,23 @@ const StyledLoader = styled.div `
34
29
  align-items: center;
35
30
  gap: 10px;
36
31
 
37
- position: absolute;
38
- top: 50%;
39
- left: 50%;
40
- transform: translate(-50%, -50%);
32
+ height: 100%;
33
+ margin: auto;
41
34
  `;
42
35
  export const PdfViewer = ({ file, zoomFactor = 1, isPending }) => {
43
36
  const [loading, setLoading] = useState(true);
44
37
  const [numPages, setNumPages] = useState();
45
38
  const [pageNumber, setPageNumber] = useState(1);
46
- function onDocumentLoadSuccess(_a) {
47
- var { numPages } = _a, rest = __rest(_a, ["numPages"]);
48
- console.log(rest);
39
+ function onDocumentLoadSuccess({ numPages }) {
49
40
  setLoading(false);
50
41
  setNumPages(numPages);
51
42
  }
52
43
  // viewport width
53
44
  const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0) / 1.15;
54
45
  if (isPending) {
55
- return (_jsxs(StyledLoader, { children: [_jsx(Loader, { size: 50 }), _jsx("div", { children: "Loading PDF..." })] }));
46
+ return (_jsxs(StyledLoader, { children: [_jsx(Loader, { size: 50 }), _jsx("div", { children: "Loading File..." })] }));
56
47
  }
57
- return (_jsx(StyledContainer, { className: "PdfViewer", children: _jsx(StyledDocument, { file: file.url, onLoadSuccess: onDocumentLoadSuccess, loading: _jsxs(StyledLoader, { children: [_jsx(Loader, { size: 50 }), _jsx("div", { children: "Loading PDF..." })] }), onClick: (e) => {
58
- e.stopPropagation();
59
- }, children: Array.from(new Array(numPages), (el, index) => (_jsx(StyledPage, { pageNumber: index + 1, scale: zoomFactor, width: vw }, `page_${index + 1}`))) }) }));
48
+ return (_jsxs(StyledContainer, { className: "PdfViewer", children: [loading && (_jsxs(StyledLoader, { children: [_jsx(Loader, { size: 50 }), _jsx("div", { children: "Loading File..." })] })), _jsx(StyledDocument, { file: file.url, onLoadStart: () => setLoading(true), onLoadSuccess: onDocumentLoadSuccess, loading: _jsx(_Fragment, {}), onClick: (e) => {
49
+ e.stopPropagation();
50
+ }, children: Array.from(new Array(numPages), (el, index) => (_jsx(StyledPage, { pageNumber: index + 1, scale: zoomFactor, width: vw }, `page_${index + 1}`))) })] }));
60
51
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monolith-forensics/monolith-ui",
3
- "version": "1.2.55",
3
+ "version": "1.2.57",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "author": "Matt Danner (Monolith Forensics LLC)",