@servicetitan/dte-pdf-editor 1.77.0 → 1.78.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.
Files changed (95) hide show
  1. package/dist/components/pdf-canvas/canvas-controls.d.ts +24 -0
  2. package/dist/components/pdf-canvas/canvas-controls.d.ts.map +1 -0
  3. package/dist/components/pdf-canvas/canvas-controls.js +22 -0
  4. package/dist/components/pdf-canvas/canvas-controls.js.map +1 -0
  5. package/dist/components/pdf-canvas/pdf-canvas.d.ts +1 -0
  6. package/dist/components/pdf-canvas/pdf-canvas.d.ts.map +1 -1
  7. package/dist/components/pdf-canvas/pdf-canvas.js +6 -3
  8. package/dist/components/pdf-canvas/pdf-canvas.js.map +1 -1
  9. package/dist/components/pdf-editor/pdf-editor.d.ts +1 -0
  10. package/dist/components/pdf-editor/pdf-editor.d.ts.map +1 -1
  11. package/dist/components/pdf-editor/pdf-editor.js +2 -2
  12. package/dist/components/pdf-editor/pdf-editor.js.map +1 -1
  13. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.d.ts +1 -0
  14. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.d.ts.map +1 -1
  15. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.js +2 -2
  16. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.js.map +1 -1
  17. package/dist/components/pdf-fields-overlay/pdf-overlay-field.d.ts +1 -0
  18. package/dist/components/pdf-fields-overlay/pdf-overlay-field.d.ts.map +1 -1
  19. package/dist/components/pdf-fields-overlay/pdf-overlay-field.js +4 -1
  20. package/dist/components/pdf-fields-overlay/pdf-overlay-field.js.map +1 -1
  21. package/dist/components/pdf-view/pdf-view-field-container.d.ts +1 -0
  22. package/dist/components/pdf-view/pdf-view-field-container.d.ts.map +1 -1
  23. package/dist/components/pdf-view/pdf-view-field-container.js +5 -4
  24. package/dist/components/pdf-view/pdf-view-field-container.js.map +1 -1
  25. package/dist/components/pdf-view/pdf-view.d.ts +2 -0
  26. package/dist/components/pdf-view/pdf-view.d.ts.map +1 -1
  27. package/dist/components/pdf-view/pdf-view.js +29 -5
  28. package/dist/components/pdf-view/pdf-view.js.map +1 -1
  29. package/dist/constants/pdf-editor.constants.d.ts +4 -0
  30. package/dist/constants/pdf-editor.constants.d.ts.map +1 -1
  31. package/dist/constants/pdf-editor.constants.js +4 -0
  32. package/dist/constants/pdf-editor.constants.js.map +1 -1
  33. package/dist/hooks/index.d.ts +1 -0
  34. package/dist/hooks/index.d.ts.map +1 -1
  35. package/dist/hooks/index.js +1 -0
  36. package/dist/hooks/index.js.map +1 -1
  37. package/dist/hooks/useFieldDrag.d.ts +2 -1
  38. package/dist/hooks/useFieldDrag.d.ts.map +1 -1
  39. package/dist/hooks/useFieldDrag.js +7 -6
  40. package/dist/hooks/useFieldDrag.js.map +1 -1
  41. package/dist/hooks/useFieldResize.d.ts +2 -1
  42. package/dist/hooks/useFieldResize.d.ts.map +1 -1
  43. package/dist/hooks/useFieldResize.js +7 -3
  44. package/dist/hooks/useFieldResize.js.map +1 -1
  45. package/dist/hooks/useZoom.d.ts +11 -0
  46. package/dist/hooks/useZoom.d.ts.map +1 -0
  47. package/dist/hooks/useZoom.js +14 -0
  48. package/dist/hooks/useZoom.js.map +1 -0
  49. package/dist/styles/pdf-canvas.css +24 -5
  50. package/dist/styles/pdf-editor.css +1 -0
  51. package/dist/styles/pdf-field-overlay.css +14 -0
  52. package/dist/styles/variables.css +10 -1
  53. package/dist/utils/field/field-drag.utils.d.ts +4 -2
  54. package/dist/utils/field/field-drag.utils.d.ts.map +1 -1
  55. package/dist/utils/field/field-drag.utils.js +14 -10
  56. package/dist/utils/field/field-drag.utils.js.map +1 -1
  57. package/dist/utils/field/field-reading-order.utils.d.ts +15 -0
  58. package/dist/utils/field/field-reading-order.utils.d.ts.map +1 -0
  59. package/dist/utils/field/field-reading-order.utils.js +33 -0
  60. package/dist/utils/field/field-reading-order.utils.js.map +1 -0
  61. package/dist/utils/field/field-resize.utils.d.ts +4 -2
  62. package/dist/utils/field/field-resize.utils.d.ts.map +1 -1
  63. package/dist/utils/field/field-resize.utils.js +12 -10
  64. package/dist/utils/field/field-resize.utils.js.map +1 -1
  65. package/dist/utils/field/get-field-bounds-style.utils.d.ts +7 -0
  66. package/dist/utils/field/get-field-bounds-style.utils.d.ts.map +1 -1
  67. package/dist/utils/field/get-field-bounds-style.utils.js +5 -5
  68. package/dist/utils/field/get-field-bounds-style.utils.js.map +1 -1
  69. package/dist/utils/field/index.d.ts +1 -0
  70. package/dist/utils/field/index.d.ts.map +1 -1
  71. package/dist/utils/field/index.js +1 -0
  72. package/dist/utils/field/index.js.map +1 -1
  73. package/package.json +1 -1
  74. package/src/components/pdf-canvas/canvas-controls.tsx +183 -0
  75. package/src/components/pdf-canvas/pdf-canvas.tsx +64 -33
  76. package/src/components/pdf-editor/pdf-editor.tsx +12 -2
  77. package/src/components/pdf-fields-overlay/pdf-fields-overlay.tsx +3 -0
  78. package/src/components/pdf-fields-overlay/pdf-overlay-field.tsx +5 -0
  79. package/src/components/pdf-view/pdf-view-field-container.tsx +6 -2
  80. package/src/components/pdf-view/pdf-view.tsx +78 -5
  81. package/src/constants/pdf-editor.constants.ts +5 -0
  82. package/src/hooks/index.ts +1 -0
  83. package/src/hooks/useFieldDrag.ts +10 -5
  84. package/src/hooks/useFieldResize.ts +16 -2
  85. package/src/hooks/useZoom.ts +25 -0
  86. package/src/styles/pdf-canvas.css +24 -5
  87. package/src/styles/pdf-editor.css +1 -0
  88. package/src/styles/pdf-field-overlay.css +14 -0
  89. package/src/styles/variables.css +10 -1
  90. package/src/utils/field/__tests__/field-reading-order.utils.test.ts +62 -0
  91. package/src/utils/field/field-drag.utils.ts +14 -8
  92. package/src/utils/field/field-reading-order.utils.ts +43 -0
  93. package/src/utils/field/field-resize.utils.ts +12 -8
  94. package/src/utils/field/get-field-bounds-style.utils.ts +17 -5
  95. package/src/utils/field/index.ts +1 -0
@@ -0,0 +1,24 @@
1
+ import { FC } from 'react';
2
+ interface ZoomControlsProps {
3
+ zoom: number;
4
+ onZoomIn(): void;
5
+ onZoomOut(): void;
6
+ onResetZoom(): void;
7
+ }
8
+ export interface CanvasControlsProps extends ZoomControlsProps {
9
+ /** Show the zoom in/out/reset controls. */
10
+ zoomable?: boolean;
11
+ /** Show the previous/next fillable-field navigation controls. */
12
+ enableInputNavigation?: boolean;
13
+ disabledNext?: boolean;
14
+ disabledPrev?: boolean;
15
+ disabledOnFirstField?: boolean;
16
+ disabledOnLastField?: boolean;
17
+ onNextField?(): void;
18
+ onPrevField?(): void;
19
+ onFirstField?(): void;
20
+ onLastField?(): void;
21
+ }
22
+ export declare const CanvasControls: FC<CanvasControlsProps>;
23
+ export {};
24
+ //# sourceMappingURL=canvas-controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-controls.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-canvas/canvas-controls.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,UAAU,iBAAiB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,IAAI,IAAI,CAAC;IACjB,SAAS,IAAI,IAAI,CAAC;IAClB,WAAW,IAAI,IAAI,CAAC;CACvB;AA4GD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC1D,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,IAAI,IAAI,CAAC;IACrB,WAAW,CAAC,IAAI,IAAI,CAAC;IACrB,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB,WAAW,CAAC,IAAI,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA4ClD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Divider, Flex, Icon, Text } from '@servicetitan/anvil2';
3
+ import IconNavigateDown from '@servicetitan/anvil2/assets/icons/material/round/arrow_downward.svg';
4
+ import IconNavigateUp from '@servicetitan/anvil2/assets/icons/material/round/arrow_upward.svg';
5
+ import IconNavigateBefore from '@servicetitan/anvil2/assets/icons/material/round/navigate_before.svg';
6
+ import IconNavigateNext from '@servicetitan/anvil2/assets/icons/material/round/navigate_next.svg';
7
+ import IconZoomIn from '@servicetitan/anvil2/assets/icons/material/round/zoom_in.svg';
8
+ import IconZoomOut from '@servicetitan/anvil2/assets/icons/material/round/zoom_out.svg';
9
+ import { ZOOM_MAX, ZOOM_MIN } from '../../constants';
10
+ const ZoomControls = ({ onResetZoom, onZoomIn, onZoomOut, zoom }) => {
11
+ return (_jsxs(Flex, { alignItems: "center", gap: 1, className: "dte-pdf-zoom-controls", children: [_jsx(Button, { size: "xsmall", appearance: "ghost", onClick: onZoomOut, disabled: zoom <= ZOOM_MIN, "aria-label": "Zoom out", title: "Zoom out", children: _jsx(Icon, { svg: IconZoomOut, size: "medium" }) }), _jsxs(Text, { variant: "body", size: "small", className: "dte-pdf-zoom-controls-value", onClick: onResetZoom, title: "Reset zoom", children: [Math.round(zoom * 100), "%"] }), _jsx(Button, { size: "xsmall", appearance: "ghost", onClick: onZoomIn, disabled: zoom >= ZOOM_MAX, "aria-label": "Zoom in", title: "Zoom in", children: _jsx(Icon, { svg: IconZoomIn, size: "medium" }) })] }));
12
+ };
13
+ const FieldNavigationControls = ({ disabledNext, disabledOnFirstField, disabledOnLastField, disabledPrev, onFirstField, onLastField, onNextField, onPrevField, }) => {
14
+ return (_jsxs(Flex, { alignItems: "center", gap: "2", className: "dte-pdf-field-navigation-controls", children: [_jsx(Button, { size: "xsmall", appearance: "ghost", onClick: onPrevField, disabled: disabledPrev, "aria-label": "Go to previous field", title: "Go to previous field", children: _jsx(Icon, { svg: IconNavigateBefore, size: "medium" }) }), _jsx(Button, { size: "xsmall", appearance: "ghost", onClick: onNextField, disabled: disabledNext, "aria-label": "Go to next field", title: "Go to next field", children: _jsx(Icon, { svg: IconNavigateNext, size: "medium" }) }), _jsx(Divider, { vertical: true, style: { height: '100%' } }), _jsx(Button, { size: "xsmall", appearance: "ghost", onClick: onFirstField, disabled: disabledOnFirstField, "aria-label": "Go to first field", title: "Go to first field", children: _jsx(Icon, { svg: IconNavigateUp, size: "medium" }) }), _jsx(Button, { size: "xsmall", appearance: "ghost", onClick: onLastField, disabled: disabledOnLastField, "aria-label": "Go to last field", title: "Go to last field", children: _jsx(Icon, { svg: IconNavigateDown, size: "medium" }) })] }));
15
+ };
16
+ export const CanvasControls = ({ disabledNext = false, disabledOnFirstField = false, disabledOnLastField = false, disabledPrev = false, enableInputNavigation = false, onFirstField = () => { }, onLastField = () => { }, onNextField = () => { }, onPrevField = () => { }, onResetZoom, onZoomIn, onZoomOut, zoom, zoomable = false, }) => {
17
+ if (!zoomable && !enableInputNavigation) {
18
+ return null;
19
+ }
20
+ return (_jsxs(Flex, { justifyContent: "center", gap: 2, className: "dte-pdf-canvas-controls", children: [zoomable && (_jsx(ZoomControls, { zoom: zoom, onZoomIn: onZoomIn, onZoomOut: onZoomOut, onResetZoom: onResetZoom })), enableInputNavigation && (_jsx(FieldNavigationControls, { disabledOnFirstField: disabledOnFirstField, disabledOnLastField: disabledOnLastField, onFirstField: onFirstField, onLastField: onLastField, disabledNext: disabledNext, disabledPrev: disabledPrev, onNextField: onNextField, onPrevField: onPrevField }))] }));
21
+ };
22
+ //# sourceMappingURL=canvas-controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-controls.js","sourceRoot":"","sources":["../../../src/components/pdf-canvas/canvas-controls.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { DragEvent, FC, MouseEvent, ReactNode, RefObject } from 'react';
2
2
  import { type PdfField } from '../../interface/types';
3
3
  interface PdfCanvasProps {
4
4
  pdfUrl: string;
5
+ zoomable: boolean;
5
6
  errorPlaceholder?: ReactNode;
6
7
  loadingPlaceholder?: ReactNode;
7
8
  fields: PdfField[];
@@ -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,EAAuB,MAAM,OAAO,CAAC;AAE7F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,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,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,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,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,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;IACxB,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAqExC,CAAC"}
1
+ {"version":3,"file":"pdf-canvas.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-canvas/pdf-canvas.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EACT,EAAE,EAEF,UAAU,EACV,SAAS,EACT,SAAS,EAGZ,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKtD,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,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,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,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;IACxB,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAwFxC,CAAC"}
@@ -1,11 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Flex } from '@servicetitan/anvil2';
3
- import { useEffect, useState } from 'react';
3
+ import { Fragment, useEffect, useState, } from 'react';
4
4
  import { BASE_PAGE_WIDTH } from '../../constants';
5
+ import { useZoom } from '../../hooks';
5
6
  import { PdfFieldsOverlay } from '../pdf-fields-overlay/pdf-fields-overlay';
7
+ import { CanvasControls } from './canvas-controls';
6
8
  import { PdfDocumentRenderer } from './pdf-document-renderer';
7
- export const PdfCanvas = ({ errorPlaceholder, errors = {}, fieldWrapperClassNames, fields, handleAddNewField, loading, loadingPlaceholder, onDeselectField, onDragOver, onDrop, onFieldClick, onFieldConfigChange, onFieldMove, onFieldResize, onLoadSuccess, pdfContainerRef, pdfUrl, pdfWrapperRef, recipientsColors, selectedField, }) => {
9
+ export const PdfCanvas = ({ errorPlaceholder, errors = {}, fieldWrapperClassNames, fields, handleAddNewField, loading, loadingPlaceholder, onDeselectField, onDragOver, onDrop, onFieldClick, onFieldConfigChange, onFieldMove, onFieldResize, onLoadSuccess, pdfContainerRef, pdfUrl, pdfWrapperRef, recipientsColors, selectedField, zoomable, }) => {
8
10
  const [isPdfLoaded, setIsPdfLoaded] = useState(false);
11
+ const { resetZoom, zoom, zoomIn, zoomOut } = useZoom();
9
12
  const onDocumentLoadSuccess = (pageNum) => {
10
13
  setIsPdfLoaded(true);
11
14
  onLoadSuccess === null || onLoadSuccess === void 0 ? void 0 : onLoadSuccess(pageNum);
@@ -13,6 +16,6 @@ export const PdfCanvas = ({ errorPlaceholder, errors = {}, fieldWrapperClassName
13
16
  useEffect(() => {
14
17
  setIsPdfLoaded(false);
15
18
  }, [pdfUrl]);
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, errors: errors, onFieldConfigChange: onFieldConfigChange, handleAddNewField: handleAddNewField, pdfWrapperRef: pdfWrapperRef, recipientsColors: recipientsColors, selectedField: selectedField !== null && selectedField !== void 0 ? selectedField : null, onFieldClick: onFieldClick, onFieldMove: onFieldMove, onFieldResize: onFieldResize, fieldWrapperClassNames: fieldWrapperClassNames }))] }) }));
19
+ return (_jsxs(Fragment, { children: [isPdfLoaded && (_jsx(CanvasControls, { enableInputNavigation: false, zoomable: zoomable, zoom: zoom, onZoomIn: zoomIn, onZoomOut: zoomOut, onResetZoom: resetZoom })), _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 * zoom }, children: [_jsx(PdfDocumentRenderer, { pdfUrl: pdfUrl, onDrop: onDrop, loading: loading, onDragOver: onDragOver, pageWidth: BASE_PAGE_WIDTH * zoom, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, onDocumentLoadSuccess: onDocumentLoadSuccess }), isPdfLoaded && (_jsx(PdfFieldsOverlay, { fields: fields, errors: errors, onFieldConfigChange: onFieldConfigChange, handleAddNewField: handleAddNewField, pdfWrapperRef: pdfWrapperRef, recipientsColors: recipientsColors, selectedField: selectedField !== null && selectedField !== void 0 ? selectedField : null, onFieldClick: onFieldClick, onFieldMove: onFieldMove, onFieldResize: onFieldResize, fieldWrapperClassNames: fieldWrapperClassNames, zoom: zoom }))] }) })] }));
17
20
  };
18
21
  //# 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,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;AAyB9D,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAC1C,gBAAgB,EAChB,MAAM,GAAG,EAAE,EACX,sBAAsB,EACtB,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,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,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB,EACxC,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,EAC5B,sBAAsB,EAAE,sBAAsB,GAChD,CACL,IACC,GACH,CACV,CAAC;AACN,CAAC,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,EAGH,QAAQ,EAIR,SAAS,EACT,QAAQ,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AA0B9D,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAC1C,gBAAgB,EAChB,MAAM,GAAG,EAAE,EACX,sBAAsB,EACtB,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,QAAQ,GACX,EAAE,EAAE;IACD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC/D,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAEvD,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,MAAC,QAAQ,eACJ,WAAW,IAAI,CACZ,KAAC,cAAc,IACX,qBAAqB,EAAE,KAAK,EAC5B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,WAAW,EAAE,SAAS,GACxB,CACL,EACD,KAAC,IAAI,IACD,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,eAAe,EACpB,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,eAAe,YAExB,eACI,GAAG,EAAE,aAAa,EAClB,SAAS,EAAC,iBAAiB,EAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,EAAE,aAExC,KAAC,mBAAmB,IAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,eAAe,GAAG,IAAI,EACjC,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,GAC9C,EACD,WAAW,IAAI,CACZ,KAAC,gBAAgB,IACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB,EACxC,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,EAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,IAAI,EAAE,IAAI,GACZ,CACL,IACC,GACH,IACA,CACd,CAAC;AACN,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import '../../styles/index.css';
4
4
  export interface PdfEditorProps {
5
5
  pdfUrl: string;
6
6
  loading?: boolean;
7
+ zoomable?: boolean;
7
8
  errors?: Record<string, string>;
8
9
  loadingPlaceholder?: ReactNode;
9
10
  errorPlaceholder?: ReactNode;
@@ -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,EACH,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,YAAY,EACpB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,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,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,CACX,OAAO,EAAE,MAAM,EAAE,EACjB,cAAc,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,KAAK,IAAI,KAChE,IAAI,CAAC;IACV,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,CAoGxC,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,EACH,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,YAAY,EACpB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,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,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,CACX,OAAO,EAAE,MAAM,EAAE,EACjB,cAAc,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,KAAK,IAAI,KAChE,IAAI,CAAC;IACV,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,CA6GxC,CAAC"}
@@ -7,7 +7,7 @@ import { FieldConfigPanelOverlay } from '../field-config-panel/field-config-pane
7
7
  import { FieldSidebar } from '../field-sidebar/field-sidebar';
8
8
  import { PdfCanvas } from '../pdf-canvas/pdf-canvas';
9
9
  import '../../styles/index.css';
10
- export const PdfEditor = ({ dataModel, errorPlaceholder, errors = {}, fields = [], forms, hideConditionalLogic, hideFields, loading = false, loadingPlaceholder, onFieldsChange, onFormSelect, onLoadSuccess, pdfUrl, recipients = [], }) => {
10
+ export const PdfEditor = ({ dataModel, errorPlaceholder, errors = {}, fields = [], forms, hideConditionalLogic, hideFields, loading = false, loadingPlaceholder, onFieldsChange, onFormSelect, onLoadSuccess, pdfUrl, recipients = [], zoomable = true, }) => {
11
11
  const pdfContainerRef = useRef(null);
12
12
  const pdfWrapperRef = useRef(null);
13
13
  const pdfFieldSelection = usePdfFieldSelection(fields, onFieldsChange);
@@ -22,6 +22,6 @@ export const PdfEditor = ({ dataModel, errorPlaceholder, errors = {}, fields = [
22
22
  const dataModelGroups = useMemo(() => (dataModel ? extractGroupedFieldsFromDataModel(dataModel) : []), [dataModel]);
23
23
  const handleAddNewField = useCallback((field) => onFieldsChange([...fields, field]), [fields, onFieldsChange]);
24
24
  const recipientsColors = mapColorsToRecipients(recipients);
25
- return (_jsxs(Flex, { flex: 1, className: `dte-pdf-editor ${loading ? 'skeleton' : ''}`, children: [pdfFieldSelection.selectedField && (_jsx(FieldConfigPanelOverlay, { dataModel: dataModel, documentFields: fields, formFieldsByFormId: formFields.formFieldsByFormId, forms: forms !== null && forms !== void 0 ? forms : [], formulaLoadingFormId: formFields.formulaLoadingFormId, selectedField: pdfFieldSelection.selectedField, onFieldConfigChange: pdfFieldSelection.updateField, onMatchingFieldsConfigChange: pdfFieldSelection.updateMatchingFields, onDeleteField: pdfFieldSelection.deleteSelectedField, recipients: recipients, onDeselectField: pdfFieldSelection.deselectField, hideConditionalLogic: hideConditionalLogic, onRequestFormFields: formFields.requestFormFieldsById })), _jsx(Flex, { className: "dte-pdf-editor-sidebar-container", children: _jsx(FieldSidebar, { hideFields: hideFields, dataModelGroups: dataModelGroups, formFieldOptions: formFields.formFieldOptions, forms: forms, isLoadingFormFields: formFields.isLoading, onDragStart: pdfFieldDnd.handleDragStart, onDragEnd: pdfFieldDnd.handleDragEnd, onSelectForm: formFields.handleSelectForm, selectedForm: formFields.selectedForm }) }), _jsx(Flex, { gap: 12, flex: 1, className: "dte-pdf-editor-content-container skeleton-item", children: _jsx(PdfCanvas, { pdfUrl: pdfUrl, fields: fields, loading: loading, errors: errors, onLoadSuccess: onLoadSuccess, recipientsColors: recipientsColors, fieldWrapperClassNames: "--edit-mode", selectedField: pdfFieldSelection.selectedField, pdfContainerRef: pdfContainerRef, pdfWrapperRef: pdfWrapperRef, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, handleAddNewField: handleAddNewField, onDrop: pdfFieldDnd.handleDrop, onDragOver: pdfFieldDnd.handleDragOver, onFieldClick: pdfFieldSelection.selectField, onFieldMove: pdfFieldSelection.moveField, onFieldResize: pdfFieldSelection.resizeField, onDeselectField: pdfFieldSelection.deselectField, onFieldConfigChange: pdfFieldSelection.updateField }) })] }));
25
+ return (_jsxs(Flex, { flex: 1, className: `dte-pdf-editor-theme dte-pdf-editor ${loading ? 'skeleton' : ''}`, children: [pdfFieldSelection.selectedField && (_jsx(FieldConfigPanelOverlay, { dataModel: dataModel, documentFields: fields, formFieldsByFormId: formFields.formFieldsByFormId, forms: forms !== null && forms !== void 0 ? forms : [], formulaLoadingFormId: formFields.formulaLoadingFormId, selectedField: pdfFieldSelection.selectedField, onFieldConfigChange: pdfFieldSelection.updateField, onMatchingFieldsConfigChange: pdfFieldSelection.updateMatchingFields, onDeleteField: pdfFieldSelection.deleteSelectedField, recipients: recipients, onDeselectField: pdfFieldSelection.deselectField, hideConditionalLogic: hideConditionalLogic, onRequestFormFields: formFields.requestFormFieldsById })), _jsx(Flex, { className: "dte-pdf-editor-sidebar-container", children: _jsx(FieldSidebar, { hideFields: hideFields, dataModelGroups: dataModelGroups, formFieldOptions: formFields.formFieldOptions, forms: forms, isLoadingFormFields: formFields.isLoading, onDragStart: pdfFieldDnd.handleDragStart, onDragEnd: pdfFieldDnd.handleDragEnd, onSelectForm: formFields.handleSelectForm, selectedForm: formFields.selectedForm }) }), _jsx(Flex, { direction: "column", flex: 1, className: "dte-pdf-editor-content-container skeleton-item", children: _jsx(PdfCanvas, { zoomable: zoomable, pdfUrl: pdfUrl, fields: fields, loading: loading, errors: errors, onLoadSuccess: onLoadSuccess, recipientsColors: recipientsColors, fieldWrapperClassNames: "--edit-mode", selectedField: pdfFieldSelection.selectedField, pdfContainerRef: pdfContainerRef, pdfWrapperRef: pdfWrapperRef, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, handleAddNewField: handleAddNewField, onDrop: pdfFieldDnd.handleDrop, onDragOver: pdfFieldDnd.handleDragOver, onFieldClick: pdfFieldSelection.selectField, onFieldMove: pdfFieldSelection.moveField, onFieldResize: pdfFieldSelection.resizeField, onDeselectField: pdfFieldSelection.deselectField, onFieldConfigChange: pdfFieldSelection.updateField }) })] }));
26
26
  };
27
27
  //# sourceMappingURL=pdf-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-editor.js","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-editor.js","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ interface PdfFieldsOverlayProps {
7
7
  pdfWrapperRef: RefObject<HTMLDivElement>;
8
8
  recipientsColors: Record<string, string>;
9
9
  fieldWrapperClassNames?: string;
10
+ zoom?: number;
10
11
  onFieldConfigChange(updates: Partial<PdfField>): void;
11
12
  handleAddNewField(field: PdfField): void;
12
13
  onFieldClick(fieldId: string, e: MouseEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-fields-overlay.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-fields-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,UAAU,qBAAqB;IAC3B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,aAAa,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzC,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;CACjG;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA6CtD,CAAC"}
1
+ {"version":3,"file":"pdf-fields-overlay.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-fields-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,UAAU,qBAAqB;IAC3B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,aAAa,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzC,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;CACjG;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA+CtD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
3
  import { PdfOverlayField } from './pdf-overlay-field';
4
- export const PdfFieldsOverlay = ({ errors, fieldWrapperClassNames, fields, handleAddNewField, onFieldClick, onFieldConfigChange, onFieldMove, onFieldResize, pdfWrapperRef, recipientsColors, selectedField, }) => {
4
+ export const PdfFieldsOverlay = ({ errors, fieldWrapperClassNames, fields, handleAddNewField, onFieldClick, onFieldConfigChange, onFieldMove, onFieldResize, pdfWrapperRef, recipientsColors, selectedField, zoom = 1, }) => {
5
5
  const pathToLabel = useMemo(() => {
6
6
  const map = new Map();
7
7
  for (const f of fields) {
@@ -11,6 +11,6 @@ export const PdfFieldsOverlay = ({ errors, fieldWrapperClassNames, fields, handl
11
11
  }
12
12
  return map;
13
13
  }, [fields]);
14
- return (_jsx("div", { className: "dte-pdf-field-overlay skeleton-item", children: fields.map(field => (_jsx(PdfOverlayField, { field: field, fieldWrapperClassNames: fieldWrapperClassNames, onFieldConfigChange: onFieldConfigChange, error: errors[field.id], handleAddNewField: handleAddNewField, onFieldMove: onFieldMove, onFieldClick: onFieldClick, pdfWrapperRef: pdfWrapperRef, onFieldResize: onFieldResize, isSelected: (selectedField === null || selectedField === void 0 ? void 0 : selectedField.id) === field.id, recipientsColors: recipientsColors, isSameGroup: (selectedField === null || selectedField === void 0 ? void 0 : selectedField.path) === field.path, pathToLabel: pathToLabel }, field.id))) }));
14
+ return (_jsx("div", { className: "dte-pdf-field-overlay skeleton-item", children: fields.map(field => (_jsx(PdfOverlayField, { field: field, fieldWrapperClassNames: fieldWrapperClassNames, onFieldConfigChange: onFieldConfigChange, error: errors[field.id], handleAddNewField: handleAddNewField, onFieldMove: onFieldMove, onFieldClick: onFieldClick, pdfWrapperRef: pdfWrapperRef, onFieldResize: onFieldResize, isSelected: (selectedField === null || selectedField === void 0 ? void 0 : selectedField.id) === field.id, recipientsColors: recipientsColors, isSameGroup: (selectedField === null || selectedField === void 0 ? void 0 : selectedField.path) === field.path, pathToLabel: pathToLabel, zoom: zoom }, field.id))) }));
15
15
  };
16
16
  //# sourceMappingURL=pdf-fields-overlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-fields-overlay.js","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-fields-overlay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgBtD,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,EACxD,MAAM,EACN,sBAAsB,EACtB,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,GAChB,EAAE,EAAE;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACpB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACH,cAAK,SAAS,EAAC,qCAAqC,YAC/C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACjB,KAAC,eAAe,IAEZ,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,sBAAsB,EAC9C,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EACvB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,EAAE,MAAK,KAAK,CAAC,EAAE,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,MAAK,KAAK,CAAC,IAAI,EAC/C,WAAW,EAAE,WAAW,IAbnB,KAAK,CAAC,EAAE,CAcf,CACL,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"pdf-fields-overlay.js","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-fields-overlay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiBtD,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,EACxD,MAAM,EACN,sBAAsB,EACtB,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,IAAI,GAAG,CAAC,GACX,EAAE,EAAE;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACpB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACH,cAAK,SAAS,EAAC,qCAAqC,YAC/C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACjB,KAAC,eAAe,IAEZ,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,sBAAsB,EAC9C,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EACvB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,EAAE,MAAK,KAAK,CAAC,EAAE,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,MAAK,KAAK,CAAC,IAAI,EAC/C,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,IAdL,KAAK,CAAC,EAAE,CAef,CACL,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -9,6 +9,7 @@ interface PdfOverlayFieldProps {
9
9
  pdfWrapperRef: RefObject<HTMLDivElement>;
10
10
  pathToLabel?: Map<string, string>;
11
11
  fieldWrapperClassNames?: string;
12
+ zoom?: number;
12
13
  onFieldConfigChange(updates: Partial<PdfField>): void;
13
14
  handleAddNewField(field: PdfField): void;
14
15
  onFieldClick(fieldId: string, e: MouseEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-overlay-field.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-overlay-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AASrE,UAAU,oBAAoB;IAC1B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzC,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;CACjG;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAoFpD,CAAC"}
1
+ {"version":3,"file":"pdf-overlay-field.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-overlay-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AASrE,UAAU,oBAAoB;IAC1B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzC,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;CACjG;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAwFpD,CAAC"}
@@ -9,16 +9,18 @@ import { PdfOverlayFieldESign } from './pdf-overlay-field-e-sign';
9
9
  import { PdfOverlayFieldFillable } from './pdf-overlay-field-fillable';
10
10
  import { PdfOverlayFieldGeneric } from './pdf-overlay-field-generic';
11
11
  import { ResizeHandle } from './resize-handle';
12
- export const PdfOverlayField = ({ error, field, fieldWrapperClassNames = '', handleAddNewField, isSameGroup, isSelected, onFieldClick, onFieldConfigChange, onFieldMove, onFieldResize, pathToLabel, pdfWrapperRef, recipientsColors, }) => {
12
+ export const PdfOverlayField = ({ error, field, fieldWrapperClassNames = '', handleAddNewField, isSameGroup, isSelected, onFieldClick, onFieldConfigChange, onFieldMove, onFieldResize, pathToLabel, pdfWrapperRef, recipientsColors, zoom = 1, }) => {
13
13
  var _a, _b, _c, _d;
14
14
  const { dragVisualPosition, handleDrag, handleDragEnd, handleDragStart } = useFieldDrag({
15
15
  pdfWrapperRef,
16
16
  onFieldMove,
17
+ zoom,
17
18
  });
18
19
  const isDragging = dragVisualPosition !== null;
19
20
  const { handleResizeStart } = useFieldResize({
20
21
  pdfWrapperRef,
21
22
  onFieldResize,
23
+ zoom,
22
24
  });
23
25
  const page = (_a = dragVisualPosition === null || dragVisualPosition === void 0 ? void 0 : dragVisualPosition.page) !== null && _a !== void 0 ? _a : field.page;
24
26
  const x = (_b = dragVisualPosition === null || dragVisualPosition === void 0 ? void 0 : dragVisualPosition.x) !== null && _b !== void 0 ? _b : field.x;
@@ -29,6 +31,7 @@ export const PdfOverlayField = ({ error, field, fieldWrapperClassNames = '', han
29
31
  const style = getFieldBoundsStyle({ ...field, page, x, y }, {
30
32
  pageOffset: pagePos,
31
33
  backgroundColor: getFieldBackgroundColor(field.recipient, recipientsColors),
34
+ zoom,
32
35
  });
33
36
  const className = [
34
37
  'dte-pdf-field-editor',
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-overlay-field.js","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-overlay-field.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-overlay-field.js","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-overlay-field.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ interface PdfViewFieldContainer {
6
6
  error?: string;
7
7
  field: PdfField;
8
8
  recipientsColors: Record<string, string>;
9
+ zoom?: number;
9
10
  }
10
11
  export declare const PdfViewFieldContainer: FC<PropsWithChildren<PdfViewFieldContainer>>;
11
12
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-view-field-container.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view-field-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAY,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQ5E,UAAU,qBAAqB;IAC3B,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CA4C9E,CAAC"}
1
+ {"version":3,"file":"pdf-view-field-container.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view-field-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAY,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQ5E,UAAU,qBAAqB;IAC3B,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CA+C9E,CAAC"}
@@ -1,21 +1,22 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Fragment } from 'react';
3
3
  import { evaluateDisplayCondition, getFieldBackgroundColor, getFieldBoundsStyle, getPagePosition, } from '../../utils';
4
- export const PdfViewFieldContainer = ({ children, data, error, field, pdfWrapperRef, recipientsColors, }) => {
4
+ export const PdfViewFieldContainer = ({ children, data, error, field, pdfWrapperRef, recipientsColors, zoom = 1, }) => {
5
5
  const visible = !field.displayCondition || evaluateDisplayCondition(field.displayCondition, data);
6
6
  if (!visible) {
7
7
  return null;
8
8
  }
9
9
  const pagePos = getPagePosition(field.page, pdfWrapperRef);
10
10
  const bgColor = getFieldBackgroundColor(field.recipient, recipientsColors);
11
- return (_jsxs(Fragment, { children: [_jsx("div", { className: "dte-pdf-field-view", style: getFieldBoundsStyle(field, {
11
+ return (_jsxs(Fragment, { children: [_jsx("div", { id: `dte-pdf-field-${field.id}`, className: "dte-pdf-field-view", style: getFieldBoundsStyle(field, {
12
12
  pageOffset: pagePos,
13
13
  backgroundColor: bgColor,
14
14
  borderColor: error ? 'red' : undefined,
15
+ zoom,
15
16
  }), children: children }), error && (_jsx("span", { style: {
16
17
  color: 'red',
17
- top: pagePos.top + field.y + field.height + 8,
18
- left: pagePos.left + field.x,
18
+ top: pagePos.top + (field.y + field.height) * zoom + 8,
19
+ left: pagePos.left + field.x * zoom,
19
20
  minWidth: '100px',
20
21
  position: 'absolute',
21
22
  }, children: error }))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-view-field-container.js","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view-field-container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAM,QAAQ,EAAgC,MAAM,OAAO,CAAC;AAEnE,OAAO,EACH,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,GAClB,MAAM,aAAa,CAAC;AAUrB,MAAM,CAAC,MAAM,qBAAqB,GAAiD,CAAC,EAChF,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,EACL,aAAa,EACb,gBAAgB,GACnB,EAAE,EAAE;IACD,MAAM,OAAO,GACT,CAAC,KAAK,CAAC,gBAAgB,IAAI,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAEtF,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC3E,OAAO,CACH,MAAC,QAAQ,eACL,cACI,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;oBAC9B,UAAU,EAAE,OAAO;oBACnB,eAAe,EAAE,OAAO;oBACxB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACzC,CAAC,YAED,QAAQ,GACP,EACL,KAAK,IAAI,CACN,eACI,KAAK,EAAE;oBACH,KAAK,EAAE,KAAK;oBACZ,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;oBAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAC5B,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,UAAU;iBACvB,YAEA,KAAK,GACH,CACV,IACM,CACd,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"pdf-view-field-container.js","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view-field-container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAM,QAAQ,EAAgC,MAAM,OAAO,CAAC;AAEnE,OAAO,EACH,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,GAClB,MAAM,aAAa,CAAC;AAWrB,MAAM,CAAC,MAAM,qBAAqB,GAAiD,CAAC,EAChF,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,IAAI,GAAG,CAAC,GACX,EAAE,EAAE;IACD,MAAM,OAAO,GACT,CAAC,KAAK,CAAC,gBAAgB,IAAI,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAEtF,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC3E,OAAO,CACH,MAAC,QAAQ,eACL,cACI,EAAE,EAAE,iBAAiB,KAAK,CAAC,EAAE,EAAE,EAC/B,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;oBAC9B,UAAU,EAAE,OAAO;oBACnB,eAAe,EAAE,OAAO;oBACxB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACtC,IAAI;iBACP,CAAC,YAED,QAAQ,GACP,EACL,KAAK,IAAI,CACN,eACI,KAAK,EAAE;oBACH,KAAK,EAAE,KAAK;oBACZ,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC;oBACtD,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI;oBACnC,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,UAAU;iBACvB,YAEA,KAAK,GACH,CACV,IACM,CACd,CAAC;AACN,CAAC,CAAC"}
@@ -5,6 +5,8 @@ export interface PdfViewProps {
5
5
  errors?: Record<string, string>;
6
6
  viewMode?: PdfViewMode;
7
7
  data?: DataModelValues;
8
+ zoomable?: boolean;
9
+ enableInputNavigation?: boolean;
8
10
  pdfUrl: string;
9
11
  loading?: boolean;
10
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-view.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAoB,MAAM,OAAO,CAAC;AAExD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,aAAa,EACrB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxE;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAiGpC,CAAC"}
1
+ {"version":3,"file":"pdf-view.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAwC,MAAM,OAAO,CAAC;AAG5E,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,aAAa,EACrB,MAAM,uBAAuB,CAAC;AAe/B,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxE;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAkKpC,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Flex } from '@servicetitan/anvil2';
3
- import { useRef, useState } from 'react';
3
+ import { useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { BASE_PAGE_WIDTH } from '../../constants';
5
+ import { useZoom } from '../../hooks';
5
6
  import { FieldTypeEnum, } from '../../interface/types';
6
- import { mapColorsToRecipients } from '../../utils';
7
+ import { evaluateDisplayCondition, mapColorsToRecipients, sortFieldsByReadingOrder, } from '../../utils';
8
+ import { CanvasControls } from '../pdf-canvas/canvas-controls';
7
9
  import { PdfDocumentRenderer } from '../pdf-canvas/pdf-document-renderer';
8
10
  import { PdfViewCalculated } from './pdf-view-calculated';
9
11
  import { PdfViewDataModel } from './pdf-view-data-model';
@@ -11,9 +13,10 @@ import { PdfViewESign } from './pdf-view-e-sign';
11
13
  import { PdfViewFieldContainer } from './pdf-view-field-container';
12
14
  import { PdfViewFillable } from './pdf-view-fillable';
13
15
  import { PdfViewGeneric } from './pdf-view-generic';
14
- export const PdfView = ({ data, errorPlaceholder, errors = {}, fields, fillingBy, holidays, loading = false, loadingPlaceholder, makeFillableFieldsReadonly = false, onDataChange, onLoadSuccess, pdfUrl, recipients, viewMode, }) => {
16
+ export const PdfView = ({ data, enableInputNavigation = true, errorPlaceholder, errors = {}, fields, fillingBy, holidays, loading = false, loadingPlaceholder, makeFillableFieldsReadonly = false, onDataChange, onLoadSuccess, pdfUrl, recipients, viewMode, zoomable = true, }) => {
15
17
  const [isPdfLoaded, setIsPdfLoaded] = useState(false);
16
18
  const [previewData, setPreviewData] = useState(data !== null && data !== void 0 ? data : {});
19
+ const { resetZoom, zoom, zoomIn, zoomOut } = useZoom();
17
20
  const pdfWrapperRef = useRef(null);
18
21
  const onDocumentLoadSuccess = (pageNum) => {
19
22
  setIsPdfLoaded(true);
@@ -28,8 +31,29 @@ export const PdfView = ({ data, errorPlaceholder, errors = {}, fields, fillingBy
28
31
  }
29
32
  onDataChange === null || onDataChange === void 0 ? void 0 : onDataChange(data, field);
30
33
  };
34
+ const activeData = viewMode === 'preview' ? previewData : data;
35
+ const navigableFields = useMemo(() => sortFieldsByReadingOrder(fields
36
+ .filter(field => field.type === FieldTypeEnum.fillable)
37
+ .filter(field => !field.displayCondition ||
38
+ evaluateDisplayCondition(field.displayCondition, activeData))), [fields, activeData]);
39
+ // -1 means no field has been navigated to yet, so the first "next" lands on index 0.
40
+ const [currentFieldIndex, setCurrentFieldIndex] = useState(-1);
41
+ useEffect(() => {
42
+ setCurrentFieldIndex(index => Math.min(index, navigableFields.length - 1));
43
+ }, [navigableFields.length]);
44
+ const goToField = (index) => {
45
+ var _a;
46
+ const field = navigableFields[index];
47
+ if (!field) {
48
+ return;
49
+ }
50
+ setCurrentFieldIndex(index);
51
+ const fieldEl = document.getElementById(`dte-pdf-field-${field.id}`);
52
+ fieldEl === null || fieldEl === void 0 ? void 0 : fieldEl.scrollIntoView({ behavior: 'smooth', block: 'center' });
53
+ (_a = fieldEl === null || fieldEl === void 0 ? void 0 : fieldEl.querySelector('input, textarea')) === null || _a === void 0 ? void 0 : _a.focus();
54
+ };
31
55
  const recipientsColors = mapColorsToRecipients(recipients);
32
- return (_jsx(Flex, { flex: 1, className: "dte-pdf-view-container", style: { maxWidth: BASE_PAGE_WIDTH }, children: _jsxs("div", { ref: pdfWrapperRef, className: "dte-pdf-wrapper", children: [_jsx(PdfDocumentRenderer, { pdfUrl: pdfUrl, loading: loading, pageWidth: BASE_PAGE_WIDTH, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, onDocumentLoadSuccess: onDocumentLoadSuccess }), isPdfLoaded && (_jsx("div", { className: "dte-pdf-field-overlay --view-mode", children: fields.map(field => (_jsxs(PdfViewFieldContainer, { field: field, data: viewMode === 'preview' ? previewData : data, error: errors[field.path] || '', recipientsColors: recipientsColors, pdfWrapperRef: pdfWrapperRef, children: [(field.type === FieldTypeEnum.dataModel ||
33
- field.type === FieldTypeEnum.forms) && (_jsx(PdfViewDataModel, { field: field, data: viewMode === 'preview' ? previewData : data })), field.type === FieldTypeEnum.eSign && (_jsx(PdfViewESign, { field: field })), field.type === FieldTypeEnum.calculated && (_jsx(PdfViewCalculated, { field: field, data: viewMode === 'preview' ? previewData : data, holidays: holidays, viewMode: viewMode })), field.type === FieldTypeEnum.fillable && (_jsx(PdfViewFillable, { data: viewMode === 'preview' ? previewData : data, field: field, readOnly: makeFillableFieldsReadonly, fillingBy: fillingBy, viewMode: viewMode, onDataChange: handleDataChange })), field.type === FieldTypeEnum.generic && (_jsx(PdfViewGeneric, { field: field }))] }, field.id))) }))] }) }));
56
+ return (_jsxs(Flex, { flex: 1, className: "dte-pdf-editor-theme dte-pdf-editor-content-container", direction: "column", children: [isPdfLoaded && (_jsx(CanvasControls, { zoom: zoom, onZoomIn: zoomIn, onZoomOut: zoomOut, zoomable: zoomable, onResetZoom: resetZoom, enableInputNavigation: enableInputNavigation, disabledPrev: currentFieldIndex <= 0, disabledOnFirstField: currentFieldIndex === 0, disabledNext: currentFieldIndex >= navigableFields.length - 1, disabledOnLastField: currentFieldIndex === navigableFields.length - 1, onPrevField: () => goToField(currentFieldIndex - 1), onNextField: () => goToField(currentFieldIndex + 1), onFirstField: () => goToField(0), onLastField: () => goToField(navigableFields.length - 1) })), _jsxs("div", { ref: pdfWrapperRef, className: "dte-pdf-wrapper", style: { width: BASE_PAGE_WIDTH * zoom }, children: [_jsx(PdfDocumentRenderer, { pdfUrl: pdfUrl, loading: loading, pageWidth: BASE_PAGE_WIDTH * zoom, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, onDocumentLoadSuccess: onDocumentLoadSuccess }), isPdfLoaded && (_jsx("div", { className: "dte-pdf-field-overlay --view-mode", children: fields.map(field => (_jsxs(PdfViewFieldContainer, { field: field, data: viewMode === 'preview' ? previewData : data, error: errors[field.path] || '', recipientsColors: recipientsColors, pdfWrapperRef: pdfWrapperRef, zoom: zoom, children: [(field.type === FieldTypeEnum.dataModel ||
57
+ field.type === FieldTypeEnum.forms) && (_jsx(PdfViewDataModel, { field: field, data: viewMode === 'preview' ? previewData : data })), field.type === FieldTypeEnum.eSign && (_jsx(PdfViewESign, { field: field })), field.type === FieldTypeEnum.calculated && (_jsx(PdfViewCalculated, { field: field, data: viewMode === 'preview' ? previewData : data, holidays: holidays, viewMode: viewMode })), field.type === FieldTypeEnum.fillable && (_jsx(PdfViewFillable, { data: viewMode === 'preview' ? previewData : data, field: field, readOnly: makeFillableFieldsReadonly, fillingBy: fillingBy, viewMode: viewMode, onDataChange: handleDataChange })), field.type === FieldTypeEnum.generic && (_jsx(PdfViewGeneric, { field: field }))] }, field.id))) }))] })] }));
34
58
  };
35
59
  //# sourceMappingURL=pdf-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-view.js","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAiB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAGH,aAAa,GAIhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAkCpD,MAAM,CAAC,MAAM,OAAO,GAAqB,CAAC,EACtC,IAAI,EACJ,gBAAgB,EAChB,MAAM,GAAG,EAAE,EACX,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,kBAAkB,EAClB,0BAA0B,GAAG,KAAK,EAClC,YAAY,EACZ,aAAa,EACb,MAAM,EACN,UAAU,EACV,QAAQ,GACX,EAAE,EAAE;IACD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAkB,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC;IAE5E,MAAM,aAAa,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEnD,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,MAAM,gBAAgB,GAAG,CAAC,IAAuB,EAAE,KAAe,EAAE,EAAE;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpB,GAAG,IAAI;gBACP,GAAG,IAAI;aACV,CAAC,CAAC,CAAC;QACR,CAAC;QACD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC3D,OAAO,CACH,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,YAClF,eAAK,GAAG,EAAE,aAAa,EAAE,SAAS,EAAC,iBAAiB,aAChD,KAAC,mBAAmB,IAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,GAC9C,EACD,WAAW,IAAI,CACZ,cAAK,SAAS,EAAC,mCAAmC,YAC7C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACjB,MAAC,qBAAqB,IAElB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EACjD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAK,CAAC,IAAI,EAAE,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,aAE3B,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,SAAS;gCACpC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,CAAC,IAAI,CACvC,KAAC,gBAAgB,IACb,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GACnD,CACL,EACA,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,IAAI,CACnC,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CACjC,EACA,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,UAAU,IAAI,CACxC,KAAC,iBAAiB,IACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EACjD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACpB,CACL,EACA,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,IAAI,CACtC,KAAC,eAAe,IACZ,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EACjD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,0BAA0B,EACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,gBAAgB,GAChC,CACL,EACA,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,IAAI,CACrC,KAAC,cAAc,IAAC,KAAK,EAAE,KAAK,GAAI,CACnC,KArCI,KAAK,CAAC,EAAE,CAsCO,CAC3B,CAAC,GACA,CACT,IACC,GACH,CACV,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"pdf-view.js","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  export declare const BASE_PAGE_WIDTH = 980;
2
+ export declare const ZOOM_MIN = 0.4;
3
+ export declare const ZOOM_MAX = 2;
4
+ export declare const ZOOM_STEP = 0.1;
5
+ export declare const ZOOM_DEFAULT = 1;
2
6
  //# sourceMappingURL=pdf-editor.constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-editor.constants.d.ts","sourceRoot":"","sources":["../../src/constants/pdf-editor.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"pdf-editor.constants.d.ts","sourceRoot":"","sources":["../../src/constants/pdf-editor.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAI,CAAC"}
@@ -1,2 +1,6 @@
1
1
  export const BASE_PAGE_WIDTH = 980;
2
+ export const ZOOM_MIN = 0.4;
3
+ export const ZOOM_MAX = 2;
4
+ export const ZOOM_STEP = 0.1;
5
+ export const ZOOM_DEFAULT = 1;
2
6
  //# sourceMappingURL=pdf-editor.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-editor.constants.js","sourceRoot":"","sources":["../../src/constants/pdf-editor.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"pdf-editor.constants.js","sourceRoot":"","sources":["../../src/constants/pdf-editor.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC;AAC1B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC"}
@@ -7,4 +7,5 @@ export * from './usePdfDocumentRenderer';
7
7
  export * from './usePdfFieldDnD';
8
8
  export * from './usePdfFieldSelection';
9
9
  export * from './useToggle';
10
+ export * from './useZoom';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -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,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,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,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -7,4 +7,5 @@ export * from './usePdfDocumentRenderer';
7
7
  export * from './usePdfFieldDnD';
8
8
  export * from './usePdfFieldSelection';
9
9
  export * from './useToggle';
10
+ export * from './useZoom';
10
11
  //# sourceMappingURL=index.js.map
@@ -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,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,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,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -8,6 +8,7 @@ export interface DragVisualPosition {
8
8
  interface UseFieldDragOptions {
9
9
  pdfWrapperRef: RefObject<HTMLDivElement>;
10
10
  onFieldMove: (fieldId: string, newX: number, newY: number, pageNumber: number) => void;
11
+ zoom?: number;
11
12
  }
12
13
  interface UseFieldDragReturn {
13
14
  dragOffsetRef: MutableRefObject<{
@@ -26,6 +27,6 @@ interface UseFieldDragReturn {
26
27
  * During drag, position is kept in local state (dragVisualPosition) so the rest of the tree
27
28
  * (config panel, other fields) does not re-render. onFieldMove is called only once on drag end.
28
29
  */
29
- export declare const useFieldDrag: ({ onFieldMove, pdfWrapperRef, }: UseFieldDragOptions) => UseFieldDragReturn;
30
+ export declare const useFieldDrag: ({ onFieldMove, pdfWrapperRef, zoom, }: UseFieldDragOptions) => UseFieldDragReturn;
30
31
  export {};
31
32
  //# sourceMappingURL=useFieldDrag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFieldDrag.d.ts","sourceRoot":"","sources":["../../src/hooks/useFieldDrag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQnD,MAAM,WAAW,kBAAkB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mBAAmB;IACzB,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1F;AAED,UAAU,kBAAkB;IACxB,aAAa,EAAE,gBAAgB,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC/E,kBAAkB,EAAE,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpD,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzE,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpE,aAAa,EAAE,MAAM,IAAI,CAAC;CAC7B;AAQD;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,iCAG1B,mBAAmB,KAAG,kBAwFxB,CAAC"}
1
+ {"version":3,"file":"useFieldDrag.d.ts","sourceRoot":"","sources":["../../src/hooks/useFieldDrag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQnD,MAAM,WAAW,kBAAkB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mBAAmB;IACzB,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,kBAAkB;IACxB,aAAa,EAAE,gBAAgB,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC/E,kBAAkB,EAAE,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpD,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzE,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpE,aAAa,EAAE,MAAM,IAAI,CAAC;CAC7B;AAQD;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,uCAI1B,mBAAmB,KAAG,kBA2FxB,CAAC"}
@@ -5,7 +5,7 @@ import { getPageDimensions, getPageNumberFromClientY, getPagePosition, handleFie
5
5
  * During drag, position is kept in local state (dragVisualPosition) so the rest of the tree
6
6
  * (config panel, other fields) does not re-render. onFieldMove is called only once on drag end.
7
7
  */
8
- export const useFieldDrag = ({ onFieldMove, pdfWrapperRef, }) => {
8
+ export const useFieldDrag = ({ onFieldMove, pdfWrapperRef, zoom = 1, }) => {
9
9
  const dragOffsetRef = useRef(null);
10
10
  const draggingFieldIdRef = useRef(null);
11
11
  const pendingMoveRef = useRef(null);
@@ -28,7 +28,7 @@ export const useFieldDrag = ({ onFieldMove, pdfWrapperRef, }) => {
28
28
  rafIdRef.current = null;
29
29
  }
30
30
  setDragVisualPosition({ x: field.x, y: field.y, page: field.page });
31
- const dragOffset = handleFieldDragStart(e, field, pdfWrapperRef);
31
+ const dragOffset = handleFieldDragStart(e, field, pdfWrapperRef, zoom);
32
32
  if (dragOffset) {
33
33
  dragOffsetRef.current = dragOffset;
34
34
  }
@@ -45,12 +45,13 @@ export const useFieldDrag = ({ onFieldMove, pdfWrapperRef, }) => {
45
45
  const currentPagePos = getPagePosition(currentPage, pdfWrapperRef);
46
46
  const wrapperRect = pdfWrapperRef.current.getBoundingClientRect();
47
47
  const pageDimensions = getPageDimensions(currentPage, pdfWrapperRef);
48
- const x = e.clientX - wrapperRect.left - currentPagePos.left - dragOffsetRef.current.x;
49
- const y = e.clientY - wrapperRect.top - currentPagePos.top - dragOffsetRef.current.y;
48
+ // Positions in unzoomed reference coordinates, matching stored field.x/y
49
+ const x = (e.clientX - wrapperRect.left - currentPagePos.left) / zoom - dragOffsetRef.current.x;
50
+ const y = (e.clientY - wrapperRect.top - currentPagePos.top) / zoom - dragOffsetRef.current.y;
50
51
  const minX = 0;
51
52
  const minY = 0;
52
- const maxX = Math.max(0, pageDimensions.width - field.width);
53
- const maxY = Math.max(0, pageDimensions.height - field.height);
53
+ const maxX = Math.max(0, pageDimensions.width / zoom - field.width);
54
+ const maxY = Math.max(0, pageDimensions.height / zoom - field.height);
54
55
  const clampedX = Math.max(minX, Math.min(maxX, x));
55
56
  const clampedY = Math.max(minY, Math.min(maxY, y));
56
57
  pendingMoveRef.current = { x: clampedX, y: clampedY, page: currentPage };