@servicetitan/dte-pdf-editor 1.9.0 → 1.10.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.
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-document-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-document-renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,yCAAyC,CAAC;AACjD,OAAO,mCAAmC,CAAC;AAG3C,UAAU,wBAAwB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAChD,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACnE;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAkE5D,CAAC"}
1
+ {"version":3,"file":"pdf-document-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-document-renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,yCAAyC,CAAC;AACjD,OAAO,mCAAmC,CAAC;AAG3C,UAAU,wBAAwB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAChD,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACnE;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAoE5D,CAAC"}
@@ -5,16 +5,9 @@ import 'react-pdf/dist/Page/TextLayer.css';
5
5
  import { useInitializePdfJsWorker, usePdfDocumentRenderer } from '../../hooks';
6
6
  export const PdfDocumentRenderer = ({ errorPlaceholder, loading, loadingPlaceholder, onDocumentLoadSuccess, onDragOver, onDrop, pageWidth, pdfUrl, }) => {
7
7
  useInitializePdfJsWorker();
8
- const { handleDocumentLoadSuccess: handleLoadSuccess, pages } = usePdfDocumentRenderer();
8
+ const { handleDocumentLoadSuccess: handleLoadSuccess, numPages, pages, } = usePdfDocumentRenderer();
9
9
  const handleDocumentLoadSuccess = ({ numPages }) => {
10
10
  handleLoadSuccess({ numPages });
11
- /*
12
- * Delay setting PDF as loaded to ensure form fields render
13
- * correctly even when the PDF contains empty values
14
- */
15
- setTimeout(() => {
16
- onDocumentLoadSuccess === null || onDocumentLoadSuccess === void 0 ? void 0 : onDocumentLoadSuccess(numPages);
17
- }, 300);
18
11
  };
19
12
  const handlePageDrop = (e, pageNumber) => {
20
13
  e.preventDefault();
@@ -27,7 +20,11 @@ export const PdfDocumentRenderer = ({ errorPlaceholder, loading, loadingPlacehol
27
20
  onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver(e);
28
21
  };
29
22
  return (_jsx(Document, { file: pdfUrl, error: errorPlaceholder, loading: loadingPlaceholder, onLoadSuccess: handleDocumentLoadSuccess, noData: loading ? loadingPlaceholder : undefined, children: pages.map(pageNumber => {
30
- return (_jsx("div", { "data-page-number": pageNumber, className: "dte-pdf-document-renderer-page", onDragOver: handlePageDragOver, onDrop: e => handlePageDrop(e, pageNumber), children: _jsx(Page, { loading: _jsx("span", {}), pageNumber: pageNumber, width: pageWidth, renderTextLayer: false, renderAnnotationLayer: false }) }, `page_${pageNumber}`));
23
+ return (_jsx("div", { "data-page-number": pageNumber, className: "dte-pdf-document-renderer-page", onDragOver: handlePageDragOver, onDrop: e => handlePageDrop(e, pageNumber), children: _jsx(Page, { loading: loadingPlaceholder, onLoadSuccess: e => {
24
+ if (e._pageIndex + 1 === numPages) {
25
+ onDocumentLoadSuccess === null || onDocumentLoadSuccess === void 0 ? void 0 : onDocumentLoadSuccess(numPages);
26
+ }
27
+ }, pageNumber: pageNumber, width: pageWidth, renderTextLayer: false, renderAnnotationLayer: false }) }, `page_${pageNumber}`));
31
28
  }) }));
32
29
  };
33
30
  //# sourceMappingURL=pdf-document-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-document-renderer.js","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-document-renderer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,yCAAyC,CAAC;AACjD,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAa/E,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAC9D,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,SAAS,EACT,MAAM,GACT,EAAE,EAAE;IACD,wBAAwB,EAAE,CAAC;IAE3B,MAAM,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAEzF,MAAM,yBAAyB,GAAG,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE;QACrE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChC;;;WAGG;QACH,UAAU,CAAC,GAAG,EAAE;YACZ,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAG,QAAQ,CAAC,CAAC;QACtC,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,CAA4B,EAAE,UAAkB,EAAE,EAAE;QACxE,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,CAA4B,EAAE,EAAE;QACxD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,QAAQ,IACL,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,kBAAkB,EAC3B,aAAa,EAAE,yBAAyB,EACxC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,YAE/C,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACpB,OAAO,CACH,kCAEsB,UAAU,EAC5B,SAAS,EAAC,gCAAgC,EAC1C,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,YAE1C,KAAC,IAAI,IACD,OAAO,EAAE,gBAAQ,EACjB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS,EAChB,eAAe,EAAE,KAAK,EACtB,qBAAqB,EAAE,KAAK,GAC9B,IAZG,QAAQ,UAAU,EAAE,CAavB,CACT,CAAC;QACN,CAAC,CAAC,GACK,CACd,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"pdf-document-renderer.js","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-document-renderer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,yCAAyC,CAAC;AACjD,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAa/E,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAC9D,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,SAAS,EACT,MAAM,GACT,EAAE,EAAE;IACD,wBAAwB,EAAE,CAAC;IAE3B,MAAM,EACF,yBAAyB,EAAE,iBAAiB,EAC5C,QAAQ,EACR,KAAK,GACR,GAAG,sBAAsB,EAAE,CAAC;IAE7B,MAAM,yBAAyB,GAAG,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE;QACrE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,CAA4B,EAAE,UAAkB,EAAE,EAAE;QACxE,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,CAA4B,EAAE,EAAE;QACxD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,QAAQ,IACL,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,kBAAkB,EAC3B,aAAa,EAAE,yBAAyB,EACxC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,YAE/C,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACpB,OAAO,CACH,kCAEsB,UAAU,EAC5B,SAAS,EAAC,gCAAgC,EAC1C,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,YAE1C,KAAC,IAAI,IACD,OAAO,EAAE,kBAAkB,EAC3B,aAAa,EAAE,CAAC,CAAC,EAAE;wBACf,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAChC,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAG,QAAQ,CAAC,CAAC;wBACtC,CAAC;oBACL,CAAC,EACD,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS,EAChB,eAAe,EAAE,KAAK,EACtB,qBAAqB,EAAE,KAAK,GAC9B,IAjBG,QAAQ,UAAU,EAAE,CAkBvB,CACT,CAAC;QACN,CAAC,CAAC,GACK,CACd,CAAC;AACN,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  interface UsePdfDocumentRendererReturn {
2
+ numPages: number;
2
3
  pages: number[];
3
4
  handleDocumentLoadSuccess: (data: {
4
5
  numPages: number;
@@ -1 +1 @@
1
- {"version":3,"file":"usePdfDocumentRenderer.d.ts","sourceRoot":"","sources":["../../src/hooks/usePdfDocumentRenderer.ts"],"names":[],"mappings":"AAEA,UAAU,4BAA4B;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yBAAyB,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACnE;AAED,eAAO,MAAM,sBAAsB,QAAO,4BAazC,CAAC"}
1
+ {"version":3,"file":"usePdfDocumentRenderer.d.ts","sourceRoot":"","sources":["../../src/hooks/usePdfDocumentRenderer.ts"],"names":[],"mappings":"AAEA,UAAU,4BAA4B;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yBAAyB,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACnE;AAED,eAAO,MAAM,sBAAsB,QAAO,4BAczC,CAAC"}
@@ -6,6 +6,7 @@ export const usePdfDocumentRenderer = () => {
6
6
  };
7
7
  const pages = useMemo(() => Array.from({ length: numPages }, (_, i) => i + 1), [numPages]);
8
8
  return {
9
+ numPages,
9
10
  pages,
10
11
  handleDocumentLoadSuccess,
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"usePdfDocumentRenderer.js","sourceRoot":"","sources":["../../src/hooks/usePdfDocumentRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAO1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAiC,EAAE;IACrE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAEpD,MAAM,yBAAyB,GAAG,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE;QACrE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3F,OAAO;QACH,KAAK;QACL,yBAAyB;KAC5B,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"usePdfDocumentRenderer.js","sourceRoot":"","sources":["../../src/hooks/usePdfDocumentRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQ1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAiC,EAAE;IACrE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAEpD,MAAM,yBAAyB,GAAG,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE;QACrE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3F,OAAO;QACH,QAAQ;QACR,KAAK;QACL,yBAAyB;KAC5B,CAAC;AACN,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/dte-pdf-editor",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -27,17 +27,14 @@ export const PdfDocumentRenderer: FC<PdfDocumentRendererProps> = ({
27
27
  }) => {
28
28
  useInitializePdfJsWorker();
29
29
 
30
- const { handleDocumentLoadSuccess: handleLoadSuccess, pages } = usePdfDocumentRenderer();
30
+ const {
31
+ handleDocumentLoadSuccess: handleLoadSuccess,
32
+ numPages,
33
+ pages,
34
+ } = usePdfDocumentRenderer();
31
35
 
32
36
  const handleDocumentLoadSuccess = ({ numPages }: { numPages: number }) => {
33
37
  handleLoadSuccess({ numPages });
34
- /*
35
- * Delay setting PDF as loaded to ensure form fields render
36
- * correctly even when the PDF contains empty values
37
- */
38
- setTimeout(() => {
39
- onDocumentLoadSuccess?.(numPages);
40
- }, 300);
41
38
  };
42
39
 
43
40
  const handlePageDrop = (e: DragEvent<HTMLDivElement>, pageNumber: number) => {
@@ -70,7 +67,12 @@ export const PdfDocumentRenderer: FC<PdfDocumentRendererProps> = ({
70
67
  onDrop={e => handlePageDrop(e, pageNumber)}
71
68
  >
72
69
  <Page
73
- loading={<span />}
70
+ loading={loadingPlaceholder}
71
+ onLoadSuccess={e => {
72
+ if (e._pageIndex + 1 === numPages) {
73
+ onDocumentLoadSuccess?.(numPages);
74
+ }
75
+ }}
74
76
  pageNumber={pageNumber}
75
77
  width={pageWidth}
76
78
  renderTextLayer={false}
@@ -1,6 +1,7 @@
1
1
  import { useMemo, useState } from 'react';
2
2
 
3
3
  interface UsePdfDocumentRendererReturn {
4
+ numPages: number;
4
5
  pages: number[];
5
6
  handleDocumentLoadSuccess: (data: { numPages: number }) => void;
6
7
  }
@@ -15,6 +16,7 @@ export const usePdfDocumentRenderer = (): UsePdfDocumentRendererReturn => {
15
16
  const pages = useMemo(() => Array.from({ length: numPages }, (_, i) => i + 1), [numPages]);
16
17
 
17
18
  return {
19
+ numPages,
18
20
  pages,
19
21
  handleDocumentLoadSuccess,
20
22
  };