@dmsi/wedgekit-react 0.0.489 → 0.0.491

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 (70) hide show
  1. package/dist/{chunk-24K4HHV5.js → chunk-5I7C6I44.js} +10 -5
  2. package/dist/{chunk-4Q7T4GJ2.js → chunk-6OUYFA5T.js} +4 -4
  3. package/dist/{chunk-X67L3NZI.js → chunk-EMYFV5VZ.js} +4 -4
  4. package/dist/{chunk-VJVY6NPF.js → chunk-S5ZJ3Q7P.js} +3 -3
  5. package/dist/{chunk-WIDUWFLX.js → chunk-TZPJM4QR.js} +7 -7
  6. package/dist/{chunk-YNKN6RKF.js → chunk-YEZBNQZI.js} +29 -4
  7. package/dist/components/Alert.js +2 -2
  8. package/dist/components/CalendarRange.cjs +0 -2
  9. package/dist/components/CalendarRange.js +17 -17
  10. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.cjs +0 -2
  11. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.js +17 -17
  12. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.cjs +0 -2
  13. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.js +17 -17
  14. package/dist/components/DataGrid/PinnedColumns.cjs +0 -2
  15. package/dist/components/DataGrid/PinnedColumns.js +17 -17
  16. package/dist/components/DataGrid/TableBody/LoadingCell.cjs +0 -2
  17. package/dist/components/DataGrid/TableBody/LoadingCell.js +17 -17
  18. package/dist/components/DataGrid/TableBody/TableBodyRow.cjs +0 -2
  19. package/dist/components/DataGrid/TableBody/TableBodyRow.js +17 -17
  20. package/dist/components/DataGrid/TableBody/index.cjs +0 -2
  21. package/dist/components/DataGrid/TableBody/index.js +17 -17
  22. package/dist/components/DataGrid/index.cjs +0 -2
  23. package/dist/components/DataGrid/index.js +17 -17
  24. package/dist/components/DataGrid/utils.cjs +0 -2
  25. package/dist/components/DataGrid/utils.js +17 -17
  26. package/dist/components/DateInput.cjs +0 -2
  27. package/dist/components/DateInput.js +17 -17
  28. package/dist/components/DateRangeInput.cjs +0 -2
  29. package/dist/components/DateRangeInput.js +17 -17
  30. package/dist/components/FilterGroup.js +5 -5
  31. package/dist/components/MobileDataGrid/ColumnSelector/index.cjs +0 -2
  32. package/dist/components/MobileDataGrid/ColumnSelector/index.js +17 -17
  33. package/dist/components/MobileDataGrid/MobileDataGridHeader.cjs +0 -2
  34. package/dist/components/MobileDataGrid/MobileDataGridHeader.js +17 -17
  35. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.js +5 -5
  36. package/dist/components/MobileDataGrid/index.cjs +0 -2
  37. package/dist/components/MobileDataGrid/index.js +17 -17
  38. package/dist/components/Modal.js +4 -4
  39. package/dist/components/ModalButtons.js +2 -2
  40. package/dist/components/ModalHeader.js +2 -2
  41. package/dist/components/NavigationTab.js +2 -2
  42. package/dist/components/NavigationTabs.js +2 -2
  43. package/dist/components/NestedMenu.js +3 -3
  44. package/dist/components/Notification.js +3 -3
  45. package/dist/components/OptionPill.js +2 -2
  46. package/dist/components/PDFViewer/DownloadIcon.js +2 -2
  47. package/dist/components/PDFViewer/PDFElement.cjs +31 -5
  48. package/dist/components/PDFViewer/PDFElement.js +3 -2
  49. package/dist/components/PDFViewer/PDFNavigation.js +2 -2
  50. package/dist/components/PDFViewer/PDFPage.cjs +3 -3
  51. package/dist/components/PDFViewer/PDFPage.js +1 -1
  52. package/dist/components/PDFViewer/index.cjs +35 -5
  53. package/dist/components/PDFViewer/index.js +9 -9
  54. package/dist/components/ProductImagePreview/index.js +1 -1
  55. package/dist/components/Stepper.js +3 -3
  56. package/dist/components/Toast.js +3 -3
  57. package/dist/components/Upload.js +3 -3
  58. package/dist/components/index.cjs +35 -5
  59. package/dist/components/index.js +24 -24
  60. package/package.json +1 -1
  61. package/src/components/PDFViewer/PDFElement.tsx +38 -3
  62. package/src/components/PDFViewer/PDFPage.tsx +4 -2
  63. package/src/components/PDFViewer/index.tsx +9 -1
  64. package/dist/{chunk-4UH72JT2.js → chunk-HTVJPLWZ.js} +3 -3
  65. package/dist/{chunk-B53XDCLO.js → chunk-KER7OSCD.js} +3 -3
  66. package/dist/{chunk-PCQXSYTH.js → chunk-LGKG2VPW.js} +3 -3
  67. package/dist/{chunk-G7KIKHER.js → chunk-OSLNWRLS.js} +3 -3
  68. package/dist/{chunk-2F3R3WXW.js → chunk-QCBQGAW6.js} +3 -3
  69. package/dist/{chunk-ZQJMNPCF.js → chunk-X6NCOXBU.js} +3 -3
  70. package/dist/{chunk-JUFBGNWW.js → chunk-YHKD3Q4Z.js} +3 -3
@@ -908,7 +908,6 @@ var Modal = ({
908
908
  Modal.displayName = "Modal";
909
909
 
910
910
  // src/components/PDFViewer/PDFElement.tsx
911
- var import_react_pdf2 = require("@mikecousins/react-pdf");
912
911
  var import_react8 = require("react");
913
912
 
914
913
  // src/components/Spinner.tsx
@@ -1162,17 +1161,17 @@ var Stack = (_a) => {
1162
1161
  };
1163
1162
 
1164
1163
  // src/components/PDFViewer/PDFPage.tsx
1165
- var import_react_pdf = require("@mikecousins/react-pdf");
1166
1164
  var import_react7 = require("react");
1167
1165
  var import_jsx_runtime11 = require("react/jsx-runtime");
1168
1166
  function PdfPage({
1169
1167
  file,
1170
1168
  pageNumber,
1171
1169
  testid,
1172
- isMobile
1170
+ isMobile,
1171
+ usePDF
1173
1172
  }) {
1174
1173
  const canvasRef = (0, import_react7.useRef)(null);
1175
- const { pdfDocument } = (0, import_react_pdf.usePdf)({
1174
+ const { pdfDocument } = usePDF({
1176
1175
  file,
1177
1176
  page: pageNumber,
1178
1177
  canvasRef,
@@ -1198,10 +1197,35 @@ function PDFElement({
1198
1197
  testid,
1199
1198
  isMobile,
1200
1199
  error
1200
+ }) {
1201
+ const [pdfHook, setPDFHook] = (0, import_react8.useState)(null);
1202
+ (0, import_react8.useEffect)(() => {
1203
+ import("@mikecousins/react-pdf").then((m) => setPDFHook(m.usePdf));
1204
+ }, []);
1205
+ if (pdfHook === null) {
1206
+ return null;
1207
+ }
1208
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1209
+ PDFElementInternal,
1210
+ {
1211
+ b64,
1212
+ testid,
1213
+ isMobile,
1214
+ error,
1215
+ usePDF: pdfHook
1216
+ }
1217
+ );
1218
+ }
1219
+ function PDFElementInternal({
1220
+ b64,
1221
+ testid,
1222
+ isMobile,
1223
+ error,
1224
+ usePDF
1201
1225
  }) {
1202
1226
  var _a;
1203
1227
  const canvasRef = (0, import_react8.useRef)(null);
1204
- const { pdfDocument } = (0, import_react_pdf2.usePdf)({
1228
+ const { pdfDocument } = usePDF({
1205
1229
  file: `data:application/pdf;base64,${b64}`,
1206
1230
  workerSrc: "/scripts/pdf.worker.min.mjs",
1207
1231
  scale: isMobile ? 1 : 1.3,
@@ -1226,6 +1250,7 @@ function PDFElement({
1226
1250
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1227
1251
  PdfPage,
1228
1252
  {
1253
+ usePDF,
1229
1254
  testid: testid ? `${testid}-pdf_page_${i + 1}` : void 0,
1230
1255
  file: `data:application/pdf;base64,${b64}`,
1231
1256
  pageNumber: i + 1
@@ -1411,6 +1436,10 @@ function PDFViewer(props) {
1411
1436
  } = props;
1412
1437
  const [currentIndex, setCurrentIndex] = (0, import_react9.useState)(0);
1413
1438
  const [isDownloading, setIsDownloading] = (0, import_react9.useState)(false);
1439
+ const [isMounted, setIsMounted] = (0, import_react9.useState)(false);
1440
+ (0, import_react9.useEffect)(() => {
1441
+ setIsMounted(true);
1442
+ }, []);
1414
1443
  const handleDownload = (0, import_react9.useCallback)(() => {
1415
1444
  setIsDownloading(true);
1416
1445
  const link = document.createElement("a");
@@ -1442,6 +1471,7 @@ function PDFViewer(props) {
1442
1471
  setIsDownloading(false);
1443
1472
  onClose();
1444
1473
  }
1474
+ if (!isMounted) return null;
1445
1475
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1446
1476
  Modal,
1447
1477
  {
@@ -1,27 +1,27 @@
1
1
  "use client";
2
2
  import {
3
3
  PDFViewer
4
- } from "../../chunk-24K4HHV5.js";
5
- import "../../chunk-B53XDCLO.js";
6
- import "../../chunk-JUFBGNWW.js";
7
- import "../../chunk-YNKN6RKF.js";
8
- import "../../chunk-VJVY6NPF.js";
9
- import "../../chunk-X67L3NZI.js";
4
+ } from "../../chunk-5I7C6I44.js";
5
+ import "../../chunk-KER7OSCD.js";
6
+ import "../../chunk-YHKD3Q4Z.js";
7
+ import "../../chunk-YEZBNQZI.js";
8
+ import "../../chunk-S5ZJ3Q7P.js";
9
+ import "../../chunk-EMYFV5VZ.js";
10
10
  import "../../chunk-4RJKB7LC.js";
11
+ import "../../chunk-X6NCOXBU.js";
11
12
  import "../../chunk-FG7GNGE3.js";
12
- import "../../chunk-G7KIKHER.js";
13
+ import "../../chunk-OSLNWRLS.js";
13
14
  import "../../chunk-AG43RS4Q.js";
14
- import "../../chunk-ZQJMNPCF.js";
15
15
  import "../../chunk-SBRRNFOP.js";
16
16
  import "../../chunk-URYQ24NF.js";
17
17
  import "../../chunk-VXWSAIB5.js";
18
18
  import "../../chunk-R3EQIDBX.js";
19
19
  import "../../chunk-5UH6QUFB.js";
20
20
  import "../../chunk-H2KC5XUY.js";
21
+ import "../../chunk-LPY6PMAY.js";
21
22
  import "../../chunk-ZSETMD4A.js";
22
23
  import "../../chunk-DORD2EBO.js";
23
24
  import "../../chunk-NKUETCDA.js";
24
- import "../../chunk-LPY6PMAY.js";
25
25
  import "../../chunk-IXR65MOU.js";
26
26
  import "../../chunk-ORMEWXMH.js";
27
27
  export {
@@ -7,8 +7,8 @@ import "../../chunk-YCDDBSVU.js";
7
7
  import "../../chunk-3X3Y4TMS.js";
8
8
  import "../../chunk-BQNPOGD5.js";
9
9
  import "../../chunk-AT4AWD6B.js";
10
- import "../../chunk-Y2GK27RX.js";
11
10
  import "../../chunk-QVWYTQKL.js";
11
+ import "../../chunk-Y2GK27RX.js";
12
12
  import "../../chunk-URYQ24NF.js";
13
13
  import "../../chunk-VXWSAIB5.js";
14
14
  import "../../chunk-R3EQIDBX.js";
@@ -4,12 +4,12 @@ import {
4
4
  } from "../chunk-44TH3VC7.js";
5
5
  import "../chunk-AL5QIRY3.js";
6
6
  import "../chunk-5UH6QUFB.js";
7
- import {
8
- Icon
9
- } from "../chunk-NKUETCDA.js";
10
7
  import {
11
8
  Button
12
9
  } from "../chunk-LPY6PMAY.js";
10
+ import {
11
+ Icon
12
+ } from "../chunk-NKUETCDA.js";
13
13
  import {
14
14
  componentGap
15
15
  } from "../chunk-IXR65MOU.js";
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  Heading3
4
4
  } from "../chunk-H2KC5XUY.js";
5
+ import {
6
+ Button
7
+ } from "../chunk-LPY6PMAY.js";
5
8
  import {
6
9
  Paragraph
7
10
  } from "../chunk-ZSETMD4A.js";
8
11
  import {
9
12
  Icon
10
13
  } from "../chunk-NKUETCDA.js";
11
- import {
12
- Button
13
- } from "../chunk-LPY6PMAY.js";
14
14
  import {
15
15
  componentGap,
16
16
  componentPadding,
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  Spinner
3
3
  } from "../chunk-SBRRNFOP.js";
4
+ import {
5
+ Button
6
+ } from "../chunk-LPY6PMAY.js";
4
7
  import {
5
8
  Paragraph
6
9
  } from "../chunk-ZSETMD4A.js";
@@ -10,9 +13,6 @@ import {
10
13
  import {
11
14
  Icon
12
15
  } from "../chunk-NKUETCDA.js";
13
- import {
14
- Button
15
- } from "../chunk-LPY6PMAY.js";
16
16
  import {
17
17
  componentGap
18
18
  } from "../chunk-IXR65MOU.js";
@@ -7483,7 +7483,6 @@ function SimpleTable({
7483
7483
  var import_react36 = require("react");
7484
7484
 
7485
7485
  // src/components/PDFViewer/PDFElement.tsx
7486
- var import_react_pdf2 = require("@mikecousins/react-pdf");
7487
7486
  var import_react35 = require("react");
7488
7487
 
7489
7488
  // src/components/Spinner.tsx
@@ -7517,17 +7516,17 @@ var Spinner = ({ size = "small", testid }) => {
7517
7516
  Spinner.displayName = "Spinner";
7518
7517
 
7519
7518
  // src/components/PDFViewer/PDFPage.tsx
7520
- var import_react_pdf = require("@mikecousins/react-pdf");
7521
7519
  var import_react34 = require("react");
7522
7520
  var import_jsx_runtime55 = require("react/jsx-runtime");
7523
7521
  function PdfPage({
7524
7522
  file,
7525
7523
  pageNumber,
7526
7524
  testid,
7527
- isMobile
7525
+ isMobile,
7526
+ usePDF
7528
7527
  }) {
7529
7528
  const canvasRef = (0, import_react34.useRef)(null);
7530
- const { pdfDocument } = (0, import_react_pdf.usePdf)({
7529
+ const { pdfDocument } = usePDF({
7531
7530
  file,
7532
7531
  page: pageNumber,
7533
7532
  canvasRef,
@@ -7553,10 +7552,35 @@ function PDFElement({
7553
7552
  testid,
7554
7553
  isMobile,
7555
7554
  error
7555
+ }) {
7556
+ const [pdfHook, setPDFHook] = (0, import_react35.useState)(null);
7557
+ (0, import_react35.useEffect)(() => {
7558
+ import("@mikecousins/react-pdf").then((m) => setPDFHook(m.usePdf));
7559
+ }, []);
7560
+ if (pdfHook === null) {
7561
+ return null;
7562
+ }
7563
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7564
+ PDFElementInternal,
7565
+ {
7566
+ b64,
7567
+ testid,
7568
+ isMobile,
7569
+ error,
7570
+ usePDF: pdfHook
7571
+ }
7572
+ );
7573
+ }
7574
+ function PDFElementInternal({
7575
+ b64,
7576
+ testid,
7577
+ isMobile,
7578
+ error,
7579
+ usePDF
7556
7580
  }) {
7557
7581
  var _a;
7558
7582
  const canvasRef = (0, import_react35.useRef)(null);
7559
- const { pdfDocument } = (0, import_react_pdf2.usePdf)({
7583
+ const { pdfDocument } = usePDF({
7560
7584
  file: `data:application/pdf;base64,${b64}`,
7561
7585
  workerSrc: "/scripts/pdf.worker.min.mjs",
7562
7586
  scale: isMobile ? 1 : 1.3,
@@ -7581,6 +7605,7 @@ function PDFElement({
7581
7605
  children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7582
7606
  PdfPage,
7583
7607
  {
7608
+ usePDF,
7584
7609
  testid: testid ? `${testid}-pdf_page_${i + 1}` : void 0,
7585
7610
  file: `data:application/pdf;base64,${b64}`,
7586
7611
  pageNumber: i + 1
@@ -7713,6 +7738,10 @@ function PDFViewer(props) {
7713
7738
  } = props;
7714
7739
  const [currentIndex, setCurrentIndex] = (0, import_react36.useState)(0);
7715
7740
  const [isDownloading, setIsDownloading] = (0, import_react36.useState)(false);
7741
+ const [isMounted, setIsMounted] = (0, import_react36.useState)(false);
7742
+ (0, import_react36.useEffect)(() => {
7743
+ setIsMounted(true);
7744
+ }, []);
7716
7745
  const handleDownload = (0, import_react36.useCallback)(() => {
7717
7746
  setIsDownloading(true);
7718
7747
  const link = document.createElement("a");
@@ -7744,6 +7773,7 @@ function PDFViewer(props) {
7744
7773
  setIsDownloading(false);
7745
7774
  onClose();
7746
7775
  }
7776
+ if (!isMounted) return null;
7747
7777
  return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
7748
7778
  Modal,
7749
7779
  {
@@ -2,17 +2,17 @@ import {
2
2
  DataGrid,
3
3
  DateInput,
4
4
  MobileDataGrid
5
- } from "../chunk-WIDUWFLX.js";
5
+ } from "../chunk-TZPJM4QR.js";
6
6
  import "../chunk-M7INAUAJ.js";
7
- import "../chunk-4Q7T4GJ2.js";
7
+ import "../chunk-6OUYFA5T.js";
8
8
  import "../chunk-3DEYCNUE.js";
9
9
  import {
10
10
  ProductImagePreview
11
11
  } from "../chunk-DYBJUTGK.js";
12
12
  import {
13
13
  PDFViewer
14
- } from "../chunk-24K4HHV5.js";
15
- import "../chunk-B53XDCLO.js";
14
+ } from "../chunk-5I7C6I44.js";
15
+ import "../chunk-KER7OSCD.js";
16
16
  import "../chunk-MBZ55T2D.js";
17
17
  import "../chunk-2IKT6IHB.js";
18
18
  import "../chunk-YCDDBSVU.js";
@@ -23,14 +23,17 @@ import "../chunk-XIXQUEYC.js";
23
23
  import "../chunk-5IFPG6TS.js";
24
24
  import "../chunk-KW6V7O3H.js";
25
25
  import "../chunk-AJ5M6MVX.js";
26
- import "../chunk-JUFBGNWW.js";
27
- import "../chunk-YNKN6RKF.js";
28
- import "../chunk-VJVY6NPF.js";
29
- import "../chunk-AT4AWD6B.js";
30
- import "../chunk-EWGHVZL5.js";
26
+ import "../chunk-YHKD3Q4Z.js";
27
+ import "../chunk-YEZBNQZI.js";
28
+ import "../chunk-S5ZJ3Q7P.js";
31
29
  import {
32
30
  Tooltip
33
31
  } from "../chunk-7GHD74J3.js";
32
+ import "../chunk-AT4AWD6B.js";
33
+ import "../chunk-EWGHVZL5.js";
34
+ import {
35
+ Select
36
+ } from "../chunk-HVNHTM3P.js";
34
37
  import {
35
38
  SimpleTable
36
39
  } from "../chunk-7BVUTFZ5.js";
@@ -40,21 +43,21 @@ import {
40
43
  import {
41
44
  Pagination
42
45
  } from "../chunk-GRGDX7JC.js";
43
- import {
44
- Select
45
- } from "../chunk-HVNHTM3P.js";
46
- import "../chunk-X67L3NZI.js";
46
+ import "../chunk-EMYFV5VZ.js";
47
47
  import "../chunk-4RJKB7LC.js";
48
+ import "../chunk-X6NCOXBU.js";
48
49
  import "../chunk-FG7GNGE3.js";
49
- import "../chunk-G7KIKHER.js";
50
+ import "../chunk-OSLNWRLS.js";
50
51
  import "../chunk-AG43RS4Q.js";
51
- import "../chunk-ZQJMNPCF.js";
52
+ import "../chunk-SBRRNFOP.js";
53
+ import "../chunk-QVWYTQKL.js";
52
54
  import {
53
55
  ListGroup
54
56
  } from "../chunk-6TYWM26K.js";
55
- import "../chunk-SBRRNFOP.js";
57
+ import {
58
+ EmptyCartIcon
59
+ } from "../chunk-75USUR3I.js";
56
60
  import "../chunk-Y2GK27RX.js";
57
- import "../chunk-QVWYTQKL.js";
58
61
  import {
59
62
  DataCellHeader,
60
63
  DataGridCell,
@@ -78,9 +81,6 @@ import {
78
81
  Label
79
82
  } from "../chunk-AL5QIRY3.js";
80
83
  import "../chunk-WVUIIBRR.js";
81
- import {
82
- EmptyCartIcon
83
- } from "../chunk-75USUR3I.js";
84
84
  import {
85
85
  Checkbox
86
86
  } from "../chunk-WEAVZEE4.js";
@@ -102,8 +102,11 @@ import {
102
102
  } from "../chunk-KBJZUVLM.js";
103
103
  import {
104
104
  Alert
105
- } from "../chunk-4UH72JT2.js";
105
+ } from "../chunk-HTVJPLWZ.js";
106
106
  import "../chunk-H2KC5XUY.js";
107
+ import {
108
+ Button
109
+ } from "../chunk-LPY6PMAY.js";
107
110
  import {
108
111
  Paragraph
109
112
  } from "../chunk-ZSETMD4A.js";
@@ -111,9 +114,6 @@ import "../chunk-DORD2EBO.js";
111
114
  import {
112
115
  Icon
113
116
  } from "../chunk-NKUETCDA.js";
114
- import {
115
- Button
116
- } from "../chunk-LPY6PMAY.js";
117
117
  import "../chunk-IXR65MOU.js";
118
118
  import "../chunk-ORMEWXMH.js";
119
119
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dmsi/wedgekit-react",
3
3
  "private": false,
4
- "version": "0.0.489",
4
+ "version": "0.0.491",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "tsup",
@@ -1,5 +1,6 @@
1
- import { usePdf } from "@mikecousins/react-pdf";
2
- import { useRef } from "react";
1
+ "use client";
2
+ import { type usePdf } from "@mikecousins/react-pdf";
3
+ import { useEffect, useRef, useState } from "react";
3
4
  import { Spinner } from "../Spinner";
4
5
  import { Stack } from "../Stack";
5
6
  import { PdfPage } from "./PDFPage";
@@ -15,10 +16,43 @@ export function PDFElement({
15
16
  testid?: string;
16
17
  isMobile?: boolean;
17
18
  error?: React.ReactNode;
19
+ }) {
20
+ const [pdfHook, setPDFHook] = useState<typeof usePdf | null>(null);
21
+ useEffect(() => {
22
+ import("@mikecousins/react-pdf").then((m) => setPDFHook(m.usePdf));
23
+ }, []);
24
+
25
+ if (pdfHook === null) {
26
+ return null;
27
+ }
28
+
29
+ return (
30
+ <PDFElementInternal
31
+ b64={b64}
32
+ testid={testid}
33
+ isMobile={isMobile}
34
+ error={error}
35
+ usePDF={pdfHook}
36
+ />
37
+ );
38
+ }
39
+
40
+ function PDFElementInternal({
41
+ b64,
42
+ testid,
43
+ isMobile,
44
+ error,
45
+ usePDF,
46
+ }: {
47
+ b64: string;
48
+ testid?: string;
49
+ isMobile?: boolean;
50
+ error?: React.ReactNode;
51
+ usePDF: typeof usePdf;
18
52
  }) {
19
53
  const canvasRef = useRef<HTMLCanvasElement>(null);
20
54
 
21
- const { pdfDocument } = usePdf({
55
+ const { pdfDocument } = usePDF({
22
56
  file: `data:application/pdf;base64,${b64}`,
23
57
  workerSrc: "/scripts/pdf.worker.min.mjs",
24
58
  scale: isMobile ? 1 : 1.3,
@@ -51,6 +85,7 @@ export function PDFElement({
51
85
  )}
52
86
  >
53
87
  <PdfPage
88
+ usePDF={usePDF}
54
89
  testid={testid ? `${testid}-pdf_page_${i + 1}` : undefined}
55
90
  file={`data:application/pdf;base64,${b64}`}
56
91
  pageNumber={i + 1}
@@ -1,4 +1,4 @@
1
- import { usePdf } from "@mikecousins/react-pdf";
1
+ import { type usePdf } from "@mikecousins/react-pdf";
2
2
  import { useRef } from "react";
3
3
 
4
4
  export function PdfPage({
@@ -6,15 +6,17 @@ export function PdfPage({
6
6
  pageNumber,
7
7
  testid,
8
8
  isMobile,
9
+ usePDF,
9
10
  }: {
10
11
  file: string;
11
12
  pageNumber: number;
12
13
  testid?: string;
13
14
  isMobile?: boolean;
15
+ usePDF: typeof usePdf;
14
16
  }) {
15
17
  const canvasRef = useRef<HTMLCanvasElement>(null);
16
18
 
17
- const { pdfDocument } = usePdf({
19
+ const { pdfDocument } = usePDF({
18
20
  file,
19
21
  page: pageNumber,
20
22
  canvasRef,
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { useCallback, useState } from "react";
3
+ import { useCallback, useEffect, useState } from "react";
4
4
  import { Modal } from "../Modal";
5
5
  import { PDFElement } from "./PDFElement";
6
6
  import { DownloadIcon } from "./DownloadIcon";
@@ -35,6 +35,12 @@ export function PDFViewer(props: PDFViewerProps) {
35
35
  const [currentIndex, setCurrentIndex] = useState(0);
36
36
  const [isDownloading, setIsDownloading] = useState(false);
37
37
 
38
+ const [isMounted, setIsMounted] = useState(false);
39
+
40
+ useEffect(() => {
41
+ setIsMounted(true);
42
+ }, []);
43
+
38
44
  const handleDownload = useCallback(() => {
39
45
  setIsDownloading(true);
40
46
  const link = document.createElement("a");
@@ -73,6 +79,8 @@ export function PDFViewer(props: PDFViewerProps) {
73
79
  onClose();
74
80
  }
75
81
 
82
+ if (!isMounted) return null;
83
+
76
84
  return (
77
85
  <Modal
78
86
  testid={testid}
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  Heading2
3
3
  } from "./chunk-H2KC5XUY.js";
4
+ import {
5
+ Button
6
+ } from "./chunk-LPY6PMAY.js";
4
7
  import {
5
8
  Paragraph
6
9
  } from "./chunk-ZSETMD4A.js";
@@ -10,9 +13,6 @@ import {
10
13
  import {
11
14
  Icon
12
15
  } from "./chunk-NKUETCDA.js";
13
- import {
14
- Button
15
- } from "./chunk-LPY6PMAY.js";
16
16
  import {
17
17
  __objRest,
18
18
  __spreadProps,
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  Heading3
3
3
  } from "./chunk-H2KC5XUY.js";
4
+ import {
5
+ Button
6
+ } from "./chunk-LPY6PMAY.js";
4
7
  import {
5
8
  Paragraph
6
9
  } from "./chunk-ZSETMD4A.js";
@@ -10,9 +13,6 @@ import {
10
13
  import {
11
14
  Icon
12
15
  } from "./chunk-NKUETCDA.js";
13
- import {
14
- Button
15
- } from "./chunk-LPY6PMAY.js";
16
16
 
17
17
  // src/components/PDFViewer/PDFNavigation.tsx
18
18
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,9 +1,9 @@
1
- import {
2
- Icon
3
- } from "./chunk-NKUETCDA.js";
4
1
  import {
5
2
  Button
6
3
  } from "./chunk-LPY6PMAY.js";
4
+ import {
5
+ Icon
6
+ } from "./chunk-NKUETCDA.js";
7
7
  import {
8
8
  __objRest,
9
9
  __spreadProps,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Heading2
3
3
  } from "./chunk-H2KC5XUY.js";
4
- import {
5
- Icon
6
- } from "./chunk-NKUETCDA.js";
7
4
  import {
8
5
  Button
9
6
  } from "./chunk-LPY6PMAY.js";
7
+ import {
8
+ Icon
9
+ } from "./chunk-NKUETCDA.js";
10
10
  import {
11
11
  layoutGroupGap,
12
12
  layoutPaddding
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Label
3
3
  } from "./chunk-AL5QIRY3.js";
4
- import {
5
- Icon
6
- } from "./chunk-NKUETCDA.js";
7
4
  import {
8
5
  Button
9
6
  } from "./chunk-LPY6PMAY.js";
7
+ import {
8
+ Icon
9
+ } from "./chunk-NKUETCDA.js";
10
10
  import {
11
11
  baseTransition,
12
12
  componentGap,
@@ -1,9 +1,9 @@
1
- import {
2
- Icon
3
- } from "./chunk-NKUETCDA.js";
4
1
  import {
5
2
  Button
6
3
  } from "./chunk-LPY6PMAY.js";
4
+ import {
5
+ Icon
6
+ } from "./chunk-NKUETCDA.js";
7
7
  import {
8
8
  layoutGroupGap,
9
9
  layoutPaddding
@@ -1,9 +1,9 @@
1
- import {
2
- Icon
3
- } from "./chunk-NKUETCDA.js";
4
1
  import {
5
2
  Button
6
3
  } from "./chunk-LPY6PMAY.js";
4
+ import {
5
+ Icon
6
+ } from "./chunk-NKUETCDA.js";
7
7
 
8
8
  // src/components/PDFViewer/DownloadIcon.tsx
9
9
  import { jsx } from "react/jsx-runtime";