@servicetitan/dte-pdf-editor 1.13.0 → 1.15.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.
- package/dist/components/pdf-canvas/pdf-canvas.d.ts.map +1 -1
- package/dist/components/pdf-canvas/pdf-canvas.js +4 -1
- package/dist/components/pdf-canvas/pdf-canvas.js.map +1 -1
- package/dist/components/pdf-canvas/pdf-document-renderer.d.ts +1 -0
- package/dist/components/pdf-canvas/pdf-document-renderer.d.ts.map +1 -1
- package/dist/components/pdf-canvas/pdf-document-renderer.js +2 -2
- package/dist/components/pdf-canvas/pdf-document-renderer.js.map +1 -1
- package/dist/components/pdf-editor/pdf-editor.d.ts.map +1 -1
- package/dist/components/pdf-editor/pdf-editor.js +1 -2
- package/dist/components/pdf-editor/pdf-editor.js.map +1 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/utils/pdf/index.d.ts +0 -1
- package/dist/utils/pdf/index.d.ts.map +1 -1
- package/dist/utils/pdf/index.js +0 -1
- package/dist/utils/pdf/index.js.map +1 -1
- package/dist/utils/pdf/pdfjs-init.d.ts +1 -6
- package/dist/utils/pdf/pdfjs-init.d.ts.map +1 -1
- package/dist/utils/pdf/pdfjs-init.js +14 -19
- package/dist/utils/pdf/pdfjs-init.js.map +1 -1
- package/package.json +3 -3
- package/src/components/pdf-canvas/pdf-canvas.tsx +5 -1
- package/src/components/pdf-canvas/pdf-document-renderer.tsx +2 -3
- package/src/components/pdf-editor/pdf-editor.tsx +1 -2
- package/src/hooks/index.ts +0 -1
- package/src/utils/pdf/index.ts +0 -1
- package/src/utils/pdf/pdfjs-init.ts +14 -20
- package/dist/hooks/useInitializePdfJsWorker.d.ts +0 -2
- package/dist/hooks/useInitializePdfJsWorker.d.ts.map +0 -1
- package/dist/hooks/useInitializePdfJsWorker.js +0 -8
- package/dist/hooks/useInitializePdfJsWorker.js.map +0 -1
- package/src/hooks/useInitializePdfJsWorker.ts +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-canvas.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-canvas.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"pdf-canvas.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-canvas.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACnD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnF,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9F,eAAe,IAAI,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA+DxC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Flex } from '@servicetitan/anvil2';
|
|
3
|
-
import { useState } from 'react';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
4
|
import { BASE_PAGE_WIDTH } from '../../constants';
|
|
5
5
|
import { PdfFieldsOverlay } from '../pdf-fields-overlay/pdf-fields-overlay';
|
|
6
6
|
import { PdfDocumentRenderer } from './pdf-document-renderer';
|
|
@@ -10,6 +10,9 @@ export const PdfCanvas = ({ errorPlaceholder, fields, handleAddNewField, loading
|
|
|
10
10
|
setIsPdfLoaded(true);
|
|
11
11
|
onLoadSuccess === null || onLoadSuccess === void 0 ? void 0 : onLoadSuccess(pageNum);
|
|
12
12
|
};
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
setIsPdfLoaded(false);
|
|
15
|
+
}, [pdfUrl]);
|
|
13
16
|
return (_jsx(Flex, { flex: 1, ref: pdfContainerRef, className: "dte-pdf-canvas-container", onClick: onDeselectField, children: _jsxs("div", { ref: pdfWrapperRef, className: "dte-pdf-wrapper", style: { width: BASE_PAGE_WIDTH }, children: [_jsx(PdfDocumentRenderer, { pdfUrl: pdfUrl, onDrop: onDrop, loading: loading, onDragOver: onDragOver, pageWidth: BASE_PAGE_WIDTH, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, onDocumentLoadSuccess: onDocumentLoadSuccess }), isPdfLoaded && (_jsx(PdfFieldsOverlay, { fields: fields, handleAddNewField: handleAddNewField, pdfWrapperRef: pdfWrapperRef, recipientsColors: recipientsColors, selectedField: selectedField !== null && selectedField !== void 0 ? selectedField : null, onFieldClick: onFieldClick, onFieldMove: onFieldMove, onFieldResize: onFieldResize }))] }) }));
|
|
14
17
|
};
|
|
15
18
|
//# sourceMappingURL=pdf-canvas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-canvas.js","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-canvas.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAmD,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf-canvas.js","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-canvas.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAmD,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAsB9D,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAC1C,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,aAAa,GAChB,EAAE,EAAE;IACD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE/D,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC9C,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACH,KAAC,IAAI,IACD,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,eAAe,EACpB,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,eAAe,YAExB,eAAK,GAAG,EAAE,aAAa,EAAE,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,aAClF,KAAC,mBAAmB,IAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,GAC9C,EACD,WAAW,IAAI,CACZ,KAAC,gBAAgB,IACb,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,EACpC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,GAC9B,CACL,IACC,GACH,CACV,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -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;
|
|
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;AAE3C,OAAO,4BAA4B,CAAC;AAEpC,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"}
|
|
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Document, Page } from 'react-pdf';
|
|
3
3
|
import 'react-pdf/dist/Page/AnnotationLayer.css';
|
|
4
4
|
import 'react-pdf/dist/Page/TextLayer.css';
|
|
5
|
-
import {
|
|
5
|
+
import { usePdfDocumentRenderer } from '../../hooks';
|
|
6
|
+
import '../../utils/pdf/pdfjs-init'; // Initialize PDF.js worker at a module load
|
|
6
7
|
export const PdfDocumentRenderer = ({ errorPlaceholder, loading, loadingPlaceholder, onDocumentLoadSuccess, onDragOver, onDrop, pageWidth, pdfUrl, }) => {
|
|
7
|
-
useInitializePdfJsWorker();
|
|
8
8
|
const { handleDocumentLoadSuccess: handleLoadSuccess, numPages, pages, } = usePdfDocumentRenderer();
|
|
9
9
|
const handleDocumentLoadSuccess = ({ numPages }) => {
|
|
10
10
|
handleLoadSuccess({ numPages });
|
|
@@ -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,
|
|
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,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,4BAA4B,CAAC,CAAC,4CAA4C;AAajF,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,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-editor.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM9E,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"pdf-editor.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM9E,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAuFxC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Flex } from '@servicetitan/anvil2';
|
|
3
3
|
import { useCallback, useMemo, useRef } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { usePdfFieldDnD, usePdfFieldSelection } from '../../hooks';
|
|
5
5
|
import { extractGroupedFieldsFromDataModel, mapColorsToRecipients } from '../../utils';
|
|
6
6
|
import { FieldConfigPanelOverlay } from '../field-config-panel/field-config-panel-overlay';
|
|
7
7
|
import { FieldSidebar } from '../field-sidebar/field-sidebar';
|
|
@@ -10,7 +10,6 @@ import '../../styles/index.css';
|
|
|
10
10
|
export const PdfEditor = ({ dataModel, errorPlaceholder, fields = [], loading = false, loadingPlaceholder, onFieldsChange, onLoadSuccess, pdfUrl, recipients = [], }) => {
|
|
11
11
|
const pdfContainerRef = useRef(null);
|
|
12
12
|
const pdfWrapperRef = useRef(null);
|
|
13
|
-
useInitializePdfJsWorker();
|
|
14
13
|
const { deleteSelectedField, deselectField, moveField, resizeField, selectField, selectedField, setSelectedFieldId, updateField, } = usePdfFieldSelection(fields, onFieldsChange);
|
|
15
14
|
const pdfFieldDnd = usePdfFieldDnD({
|
|
16
15
|
fields,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-editor.js","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAiB,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pdf-editor.js","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"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"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
package/dist/hooks/index.js
CHANGED
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/pdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/pdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
package/dist/utils/pdf/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/pdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/pdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Initializes PDF.js worker if not already initialized
|
|
3
|
-
* Safe to call multiple times - will only initialize once
|
|
4
|
-
* Should be called in a useEffect hook within React components
|
|
5
|
-
*/
|
|
6
|
-
export declare const initializePdfJsWorker: () => void;
|
|
1
|
+
export {};
|
|
7
2
|
//# sourceMappingURL=pdfjs-init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdfjs-init.d.ts","sourceRoot":"","sources":["../../../src/utils/pdf/pdfjs-init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pdfjs-init.d.ts","sourceRoot":"","sources":["../../../src/utils/pdf/pdfjs-init.ts"],"names":[],"mappings":""}
|
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Initialize PDF.js worker - centralized configuration
|
|
3
3
|
* This ensures the worker is configured once and can be imported by any component
|
|
4
|
+
* For pdfjs-dist 5.x, this must be set before any PDF documents are loaded
|
|
5
|
+
*
|
|
6
|
+
* IMPORTANT: Use pdfjs from 'react-pdf' to ensure we configure the same instance
|
|
7
|
+
* that react-pdf uses internally
|
|
4
8
|
*/
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
import { pdfjs } from 'react-pdf';
|
|
10
|
+
/*
|
|
11
|
+
* Initialize worker synchronously at module load time
|
|
12
|
+
* This ensures it's set before any Document components try to load PDFs
|
|
13
|
+
*
|
|
14
|
+
* Using unpkg CDN - reliable and works with webpack dev server
|
|
15
|
+
* unpkg serves npm packages directly, matching the exact version from package.json
|
|
12
16
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
pdfjsLib.GlobalWorkerOptions.workerSrc = workerSrc;
|
|
19
|
-
isInitialized = true;
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
throw new Error('Failed to initialize PDF.js worker:' + error.message);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
17
|
+
if (typeof window !== 'undefined' && !pdfjs.GlobalWorkerOptions.workerSrc) {
|
|
18
|
+
pdfjs.GlobalWorkerOptions.workerSrc = `https://unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;
|
|
19
|
+
}
|
|
25
20
|
//# sourceMappingURL=pdfjs-init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdfjs-init.js","sourceRoot":"","sources":["../../../src/utils/pdf/pdfjs-init.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pdfjs-init.js","sourceRoot":"","sources":["../../../src/utils/pdf/pdfjs-init.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC;;;;;;GAMG;AACH,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;IACxE,KAAK,CAAC,mBAAmB,CAAC,SAAS,GAAG,gCAAgC,KAAK,CAAC,OAAO,2BAA2B,CAAC;AACnH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/dte-pdf-editor",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"typings": "./dist/index.d.ts",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"webpack": false
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"pdfjs-dist": "^
|
|
20
|
-
"react-pdf": "^
|
|
19
|
+
"pdfjs-dist": "^5.4.530",
|
|
20
|
+
"react-pdf": "^10.3.0",
|
|
21
21
|
"uuid": "^9.0.0"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Flex } from '@servicetitan/anvil2';
|
|
2
|
-
import { DragEvent, FC, MouseEvent, ReactNode, RefObject, useState } from 'react';
|
|
2
|
+
import { DragEvent, FC, MouseEvent, ReactNode, RefObject, useEffect, useState } from 'react';
|
|
3
3
|
import { BASE_PAGE_WIDTH } from '../../constants';
|
|
4
4
|
import { PdfField } from '../../interface/types';
|
|
5
5
|
import { PdfFieldsOverlay } from '../pdf-fields-overlay/pdf-fields-overlay';
|
|
@@ -51,6 +51,10 @@ export const PdfCanvas: FC<PdfCanvasProps> = ({
|
|
|
51
51
|
onLoadSuccess?.(pageNum);
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
setIsPdfLoaded(false);
|
|
56
|
+
}, [pdfUrl]);
|
|
57
|
+
|
|
54
58
|
return (
|
|
55
59
|
<Flex
|
|
56
60
|
flex={1}
|
|
@@ -2,7 +2,8 @@ import { DragEvent, FC, ReactNode } from 'react';
|
|
|
2
2
|
import { Document, Page } from 'react-pdf';
|
|
3
3
|
import 'react-pdf/dist/Page/AnnotationLayer.css';
|
|
4
4
|
import 'react-pdf/dist/Page/TextLayer.css';
|
|
5
|
-
import {
|
|
5
|
+
import { usePdfDocumentRenderer } from '../../hooks';
|
|
6
|
+
import '../../utils/pdf/pdfjs-init'; // Initialize PDF.js worker at a module load
|
|
6
7
|
|
|
7
8
|
interface PdfDocumentRendererProps {
|
|
8
9
|
pdfUrl: string;
|
|
@@ -25,8 +26,6 @@ export const PdfDocumentRenderer: FC<PdfDocumentRendererProps> = ({
|
|
|
25
26
|
pageWidth,
|
|
26
27
|
pdfUrl,
|
|
27
28
|
}) => {
|
|
28
|
-
useInitializePdfJsWorker();
|
|
29
|
-
|
|
30
29
|
const {
|
|
31
30
|
handleDocumentLoadSuccess: handleLoadSuccess,
|
|
32
31
|
numPages,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Flex } from '@servicetitan/anvil2';
|
|
2
2
|
import { FC, ReactNode, useCallback, useMemo, useRef } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { usePdfFieldDnD, usePdfFieldSelection } from '../../hooks';
|
|
4
4
|
import { PdfField, RecipientInfo, SchemaObject } from '../../interface/types';
|
|
5
5
|
import { extractGroupedFieldsFromDataModel, mapColorsToRecipients } from '../../utils';
|
|
6
6
|
import { FieldConfigPanelOverlay } from '../field-config-panel/field-config-panel-overlay';
|
|
@@ -34,7 +34,6 @@ export const PdfEditor: FC<PdfEditorProps> = ({
|
|
|
34
34
|
}) => {
|
|
35
35
|
const pdfContainerRef = useRef<HTMLDivElement>(null);
|
|
36
36
|
const pdfWrapperRef = useRef<HTMLDivElement>(null);
|
|
37
|
-
useInitializePdfJsWorker();
|
|
38
37
|
const {
|
|
39
38
|
deleteSelectedField,
|
|
40
39
|
deselectField,
|
package/src/hooks/index.ts
CHANGED
package/src/utils/pdf/index.ts
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Initialize PDF.js worker - centralized configuration
|
|
3
3
|
* This ensures the worker is configured once and can be imported by any component
|
|
4
|
+
* For pdfjs-dist 5.x, this must be set before any PDF documents are loaded
|
|
5
|
+
*
|
|
6
|
+
* IMPORTANT: Use pdfjs from 'react-pdf' to ensure we configure the same instance
|
|
7
|
+
* that react-pdf uses internally
|
|
4
8
|
*/
|
|
5
|
-
import
|
|
6
|
-
import workerSrc from 'pdfjs-dist/build/pdf.worker.min.js?url';
|
|
9
|
+
import { pdfjs } from 'react-pdf';
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
/*
|
|
12
|
+
* Initialize worker synchronously at module load time
|
|
13
|
+
* This ensures it's set before any Document components try to load PDFs
|
|
14
|
+
*
|
|
15
|
+
* Using unpkg CDN - reliable and works with webpack dev server
|
|
16
|
+
* unpkg serves npm packages directly, matching the exact version from package.json
|
|
14
17
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
try {
|
|
21
|
-
pdfjsLib.GlobalWorkerOptions.workerSrc = workerSrc;
|
|
22
|
-
isInitialized = true;
|
|
23
|
-
} catch (error) {
|
|
24
|
-
throw new Error('Failed to initialize PDF.js worker:' + (error as Error).message);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
18
|
+
if (typeof window !== 'undefined' && !pdfjs.GlobalWorkerOptions.workerSrc) {
|
|
19
|
+
pdfjs.GlobalWorkerOptions.workerSrc = `https://unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;
|
|
20
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useInitializePdfJsWorker.d.ts","sourceRoot":"","sources":["../../src/hooks/useInitializePdfJsWorker.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,YAIpC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useInitializePdfJsWorker.js","sourceRoot":"","sources":["../../src/hooks/useInitializePdfJsWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACzC,SAAS,CAAC,GAAG,EAAE;QACX,qBAAqB,EAAE,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC"}
|