@servicetitan/dte-pdf-editor 1.13.0 → 1.14.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-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-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-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.14.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": {
|
|
@@ -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"}
|