@servicetitan/dte-pdf-editor 1.3.0 → 1.5.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 (331) hide show
  1. package/README.md +286 -267
  2. package/dist/components/{field-config-panel-overlay.d.ts → field-config-panel/field-config-panel-overlay.d.ts} +1 -2
  3. package/dist/components/field-config-panel/field-config-panel-overlay.d.ts.map +1 -0
  4. package/dist/components/field-config-panel/field-config-panel-overlay.js.map +1 -0
  5. package/dist/components/{field-config-panel.d.ts → field-config-panel/field-config-panel.d.ts} +1 -2
  6. package/dist/components/field-config-panel/field-config-panel.d.ts.map +1 -0
  7. package/dist/components/{field-config-panel.js → field-config-panel/field-config-panel.js} +4 -6
  8. package/dist/components/field-config-panel/field-config-panel.js.map +1 -0
  9. package/dist/components/{data-model-field-type-list.d.ts → field-sidebar/data-model-field-type-list.d.ts} +1 -1
  10. package/dist/components/field-sidebar/data-model-field-type-list.d.ts.map +1 -0
  11. package/dist/components/{data-model-field-type-list.js → field-sidebar/data-model-field-type-list.js} +2 -2
  12. package/dist/components/field-sidebar/data-model-field-type-list.js.map +1 -0
  13. package/dist/components/{e-sign-field-type-list.d.ts → field-sidebar/e-sign-field-type-list.d.ts} +1 -1
  14. package/dist/components/field-sidebar/e-sign-field-type-list.d.ts.map +1 -0
  15. package/dist/components/{e-sign-field-type-list.js → field-sidebar/e-sign-field-type-list.js} +1 -1
  16. package/dist/components/field-sidebar/e-sign-field-type-list.js.map +1 -0
  17. package/dist/components/{field-sidebar.d.ts → field-sidebar/field-sidebar.d.ts} +1 -1
  18. package/dist/components/field-sidebar/field-sidebar.d.ts.map +1 -0
  19. package/dist/components/{field-sidebar.js → field-sidebar/field-sidebar.js} +1 -1
  20. package/dist/components/field-sidebar/field-sidebar.js.map +1 -0
  21. package/dist/components/field-sidebar/field-type.d.ts.map +1 -0
  22. package/dist/components/field-sidebar/field-type.js.map +1 -0
  23. package/dist/components/{fillable-field-type-list.d.ts → field-sidebar/fillable-field-type-list.d.ts} +1 -1
  24. package/dist/components/field-sidebar/fillable-field-type-list.d.ts.map +1 -0
  25. package/dist/components/{fillable-field-type-list.js → field-sidebar/fillable-field-type-list.js} +1 -1
  26. package/dist/components/field-sidebar/fillable-field-type-list.js.map +1 -0
  27. package/dist/components/index.d.ts +3 -0
  28. package/dist/components/index.d.ts.map +1 -0
  29. package/dist/components/index.js +3 -0
  30. package/dist/components/index.js.map +1 -0
  31. package/dist/components/{pdf-canvas.d.ts → pdf-canvas/pdf-canvas.d.ts} +3 -2
  32. package/dist/components/pdf-canvas/pdf-canvas.d.ts.map +1 -0
  33. package/dist/components/pdf-canvas/pdf-canvas.js +14 -0
  34. package/dist/components/pdf-canvas/pdf-canvas.js.map +1 -0
  35. package/dist/components/pdf-canvas/pdf-document-renderer.d.ts.map +1 -0
  36. package/dist/components/{pdf-document-renderer.js → pdf-canvas/pdf-document-renderer.js} +2 -3
  37. package/dist/components/pdf-canvas/pdf-document-renderer.js.map +1 -0
  38. package/dist/components/{pdf-editor.d.ts → pdf-editor/pdf-editor.d.ts} +2 -7
  39. package/dist/components/pdf-editor/pdf-editor.d.ts.map +1 -0
  40. package/dist/components/{pdf-editor.js → pdf-editor/pdf-editor.js} +22 -19
  41. package/dist/components/pdf-editor/pdf-editor.js.map +1 -0
  42. package/dist/components/pdf-fields-overlay/add-handle.d.ts +7 -0
  43. package/dist/components/pdf-fields-overlay/add-handle.d.ts.map +1 -0
  44. package/dist/components/pdf-fields-overlay/add-handle.js +5 -0
  45. package/dist/components/pdf-fields-overlay/add-handle.js.map +1 -0
  46. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.d.ts +15 -0
  47. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.d.ts.map +1 -0
  48. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.js +6 -0
  49. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.js.map +1 -0
  50. package/dist/components/pdf-fields-overlay/pdf-overlay-field-data-model.d.ts +8 -0
  51. package/dist/components/pdf-fields-overlay/pdf-overlay-field-data-model.d.ts.map +1 -0
  52. package/dist/components/pdf-fields-overlay/pdf-overlay-field-data-model.js +5 -0
  53. package/dist/components/pdf-fields-overlay/pdf-overlay-field-data-model.js.map +1 -0
  54. package/dist/components/pdf-fields-overlay/pdf-overlay-field-e-sign.d.ts +8 -0
  55. package/dist/components/pdf-fields-overlay/pdf-overlay-field-e-sign.d.ts.map +1 -0
  56. package/dist/components/pdf-fields-overlay/pdf-overlay-field-e-sign.js +5 -0
  57. package/dist/components/pdf-fields-overlay/pdf-overlay-field-e-sign.js.map +1 -0
  58. package/dist/components/pdf-fields-overlay/pdf-overlay-field-fillable.d.ts +9 -0
  59. package/dist/components/pdf-fields-overlay/pdf-overlay-field-fillable.d.ts.map +1 -0
  60. package/dist/components/pdf-fields-overlay/pdf-overlay-field-fillable.js +23 -0
  61. package/dist/components/pdf-fields-overlay/pdf-overlay-field-fillable.js.map +1 -0
  62. package/dist/components/pdf-fields-overlay/pdf-overlay-field.d.ts +16 -0
  63. package/dist/components/pdf-fields-overlay/pdf-overlay-field.d.ts.map +1 -0
  64. package/dist/components/pdf-fields-overlay/pdf-overlay-field.js +44 -0
  65. package/dist/components/pdf-fields-overlay/pdf-overlay-field.js.map +1 -0
  66. package/dist/components/pdf-fields-overlay/resize-handle.d.ts.map +1 -0
  67. package/dist/components/pdf-fields-overlay/resize-handle.js.map +1 -0
  68. package/dist/components/pdf-view/pdf-view-data-model.d.ts +9 -0
  69. package/dist/components/pdf-view/pdf-view-data-model.d.ts.map +1 -0
  70. package/dist/components/pdf-view/pdf-view-data-model.js +7 -0
  71. package/dist/components/pdf-view/pdf-view-data-model.js.map +1 -0
  72. package/dist/components/pdf-view/pdf-view-e-sign.d.ts +9 -0
  73. package/dist/components/pdf-view/pdf-view-e-sign.d.ts.map +1 -0
  74. package/dist/components/pdf-view/pdf-view-e-sign.js +7 -0
  75. package/dist/components/pdf-view/pdf-view-e-sign.js.map +1 -0
  76. package/dist/components/pdf-view/pdf-view-fillable.d.ts +13 -0
  77. package/dist/components/pdf-view/pdf-view-fillable.d.ts.map +1 -0
  78. package/dist/components/{pdf-view-fields.js → pdf-view/pdf-view-fillable.js} +5 -13
  79. package/dist/components/pdf-view/pdf-view-fillable.js.map +1 -0
  80. package/dist/components/{pdf-view.d.ts → pdf-view/pdf-view.d.ts} +2 -3
  81. package/dist/components/pdf-view/pdf-view.d.ts.map +1 -0
  82. package/dist/components/{pdf-view.js → pdf-view/pdf-view.js} +8 -6
  83. package/dist/components/pdf-view/pdf-view.js.map +1 -0
  84. package/dist/constants/field.constants.d.ts +3 -3
  85. package/dist/constants/field.constants.d.ts.map +1 -1
  86. package/dist/constants/field.constants.js +3 -3
  87. package/dist/constants/field.constants.js.map +1 -1
  88. package/dist/hooks/index.d.ts +1 -0
  89. package/dist/hooks/index.d.ts.map +1 -1
  90. package/dist/hooks/index.js +1 -0
  91. package/dist/hooks/index.js.map +1 -1
  92. package/dist/hooks/useFieldDrag.d.ts +1 -1
  93. package/dist/hooks/useFieldDrag.d.ts.map +1 -1
  94. package/dist/hooks/useFieldResize.d.ts +1 -1
  95. package/dist/hooks/useFieldResize.d.ts.map +1 -1
  96. package/dist/hooks/useInitializePdfJsWorker.d.ts +2 -0
  97. package/dist/hooks/useInitializePdfJsWorker.d.ts.map +1 -0
  98. package/dist/hooks/useInitializePdfJsWorker.js +8 -0
  99. package/dist/hooks/useInitializePdfJsWorker.js.map +1 -0
  100. package/dist/index.d.ts +2 -3
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +1 -2
  103. package/dist/index.js.map +1 -1
  104. package/dist/interface/{pdf-editor.d.ts → types.d.ts} +7 -1
  105. package/dist/interface/types.d.ts.map +1 -0
  106. package/dist/interface/{pdf-editor.js → types.js} +1 -1
  107. package/dist/interface/types.js.map +1 -0
  108. package/dist/utils/{extract-grouped-fields-from-data-model.utils.d.ts → data-model/extract-fields.utils.d.ts} +2 -2
  109. package/dist/utils/data-model/extract-fields.utils.d.ts.map +1 -0
  110. package/dist/utils/{extract-grouped-fields-from-data-model.utils.js → data-model/extract-fields.utils.js} +2 -2
  111. package/dist/utils/data-model/extract-fields.utils.js.map +1 -0
  112. package/dist/utils/data-model/index.d.ts +3 -0
  113. package/dist/utils/data-model/index.d.ts.map +1 -0
  114. package/dist/utils/data-model/index.js +3 -0
  115. package/dist/utils/data-model/index.js.map +1 -0
  116. package/dist/utils/data-model/resolve-values.utils.d.ts +3 -0
  117. package/dist/utils/data-model/resolve-values.utils.d.ts.map +1 -0
  118. package/dist/utils/{resolve-pdf-data-values.js → data-model/resolve-values.utils.js} +1 -1
  119. package/dist/utils/data-model/resolve-values.utils.js.map +1 -0
  120. package/dist/utils/{is-drag-over-canvas.utils.d.ts → field/drag-over-canvas.utils.d.ts} +1 -1
  121. package/dist/utils/field/drag-over-canvas.utils.d.ts.map +1 -0
  122. package/dist/utils/{is-drag-over-canvas.utils.js → field/drag-over-canvas.utils.js} +1 -1
  123. package/dist/utils/field/drag-over-canvas.utils.js.map +1 -0
  124. package/dist/utils/{get-field-background-color.d.ts → field/field-background-color.utils.d.ts} +1 -1
  125. package/dist/utils/field/field-background-color.utils.d.ts.map +1 -0
  126. package/dist/utils/{get-field-background-color.js → field/field-background-color.utils.js} +1 -1
  127. package/dist/utils/field/field-background-color.utils.js.map +1 -0
  128. package/dist/utils/{calculate-drop-coordinates.utils.d.ts → field/field-coordinates.utils.d.ts} +1 -1
  129. package/dist/utils/field/field-coordinates.utils.d.ts.map +1 -0
  130. package/dist/utils/{calculate-drop-coordinates.utils.js → field/field-coordinates.utils.js} +2 -2
  131. package/dist/utils/field/field-coordinates.utils.js.map +1 -0
  132. package/dist/utils/{handle-field-drag.utils.d.ts → field/field-drag.utils.d.ts} +11 -2
  133. package/dist/utils/field/field-drag.utils.d.ts.map +1 -0
  134. package/dist/utils/field/field-drag.utils.js +73 -0
  135. package/dist/utils/field/field-drag.utils.js.map +1 -0
  136. package/dist/utils/field/field-placeholder-text.utils.d.ts +3 -0
  137. package/dist/utils/field/field-placeholder-text.utils.d.ts.map +1 -0
  138. package/dist/utils/{get-field-placeholder-text.js → field/field-placeholder-text.utils.js} +1 -1
  139. package/dist/utils/field/field-placeholder-text.utils.js.map +1 -0
  140. package/dist/utils/{handle-field-resize.utils.d.ts → field/field-resize.utils.d.ts} +2 -2
  141. package/dist/utils/field/field-resize.utils.d.ts.map +1 -0
  142. package/dist/utils/{handle-field-resize.utils.js → field/field-resize.utils.js} +3 -4
  143. package/dist/utils/field/field-resize.utils.js.map +1 -0
  144. package/dist/utils/field/index.d.ts +7 -0
  145. package/dist/utils/field/index.d.ts.map +1 -0
  146. package/dist/utils/field/index.js +7 -0
  147. package/dist/utils/field/index.js.map +1 -0
  148. package/dist/utils/index.d.ts +5 -17
  149. package/dist/utils/index.d.ts.map +1 -1
  150. package/dist/utils/index.js +5 -17
  151. package/dist/utils/index.js.map +1 -1
  152. package/dist/utils/path/generate-e-sign-path.d.ts +3 -0
  153. package/dist/utils/path/generate-e-sign-path.d.ts.map +1 -0
  154. package/dist/utils/path/generate-e-sign-path.js.map +1 -0
  155. package/dist/utils/path/generate-fillable-path.d.ts.map +1 -0
  156. package/dist/utils/path/generate-fillable-path.js.map +1 -0
  157. package/dist/utils/path/index.d.ts +4 -0
  158. package/dist/utils/path/index.d.ts.map +1 -0
  159. package/dist/utils/path/index.js +4 -0
  160. package/dist/utils/path/index.js.map +1 -0
  161. package/dist/utils/path/parse-fillable-path.d.ts.map +1 -0
  162. package/dist/utils/path/parse-fillable-path.js.map +1 -0
  163. package/dist/utils/pdf/index.d.ts +3 -0
  164. package/dist/utils/pdf/index.d.ts.map +1 -0
  165. package/dist/utils/pdf/index.js +3 -0
  166. package/dist/utils/pdf/index.js.map +1 -0
  167. package/dist/utils/pdf/pdf-rendering.utils.d.ts +29 -0
  168. package/dist/utils/pdf/pdf-rendering.utils.d.ts.map +1 -0
  169. package/dist/utils/pdf/pdf-rendering.utils.js +75 -0
  170. package/dist/utils/pdf/pdf-rendering.utils.js.map +1 -0
  171. package/dist/utils/{pdfjs-init.d.ts → pdf/pdfjs-init.d.ts} +1 -0
  172. package/dist/utils/pdf/pdfjs-init.d.ts.map +1 -0
  173. package/dist/utils/{pdfjs-init.js → pdf/pdfjs-init.js} +1 -1
  174. package/dist/utils/pdf/pdfjs-init.js.map +1 -0
  175. package/dist/utils/recipients/index.d.ts +2 -0
  176. package/dist/utils/recipients/index.d.ts.map +1 -0
  177. package/dist/utils/recipients/index.js +2 -0
  178. package/dist/utils/recipients/index.js.map +1 -0
  179. package/dist/utils/recipients/map-colors.d.ts +3 -0
  180. package/dist/utils/recipients/map-colors.d.ts.map +1 -0
  181. package/dist/utils/{map-colors-to-recipients.js → recipients/map-colors.js} +1 -1
  182. package/dist/utils/recipients/map-colors.js.map +1 -0
  183. package/package.json +1 -1
  184. package/src/components/{field-config-panel-overlay.tsx → field-config-panel/field-config-panel-overlay.tsx} +1 -2
  185. package/src/components/{field-config-panel.tsx → field-config-panel/field-config-panel.tsx} +7 -24
  186. package/src/components/{data-model-field-type-list.tsx → field-sidebar/data-model-field-type-list.tsx} +3 -3
  187. package/src/components/{e-sign-field-type-list.tsx → field-sidebar/e-sign-field-type-list.tsx} +2 -2
  188. package/src/components/{field-sidebar.tsx → field-sidebar/field-sidebar.tsx} +1 -1
  189. package/src/components/{fillable-field-type-list.tsx → field-sidebar/fillable-field-type-list.tsx} +2 -2
  190. package/src/components/index.ts +2 -0
  191. package/src/components/{pdf-canvas.tsx → pdf-canvas/pdf-canvas.tsx} +11 -8
  192. package/src/components/{pdf-document-renderer.tsx → pdf-canvas/pdf-document-renderer.tsx} +3 -4
  193. package/src/components/{pdf-editor.tsx → pdf-editor/pdf-editor.tsx} +33 -30
  194. package/src/components/pdf-fields-overlay/add-handle.tsx +12 -0
  195. package/src/components/pdf-fields-overlay/pdf-fields-overlay.tsx +44 -0
  196. package/src/components/pdf-fields-overlay/pdf-overlay-field-data-model.tsx +15 -0
  197. package/src/components/pdf-fields-overlay/pdf-overlay-field-e-sign.tsx +15 -0
  198. package/src/components/pdf-fields-overlay/pdf-overlay-field-fillable.tsx +58 -0
  199. package/src/components/pdf-fields-overlay/pdf-overlay-field.tsx +86 -0
  200. package/src/components/pdf-view/pdf-view-data-model.tsx +13 -0
  201. package/src/components/pdf-view/pdf-view-e-sign.tsx +19 -0
  202. package/src/components/{pdf-view-fields.tsx → pdf-view/pdf-view-fillable.tsx} +9 -27
  203. package/src/components/{pdf-view.tsx → pdf-view/pdf-view.tsx} +11 -10
  204. package/src/constants/field.constants.ts +3 -3
  205. package/src/hooks/index.ts +1 -0
  206. package/src/hooks/useFieldDrag.ts +1 -1
  207. package/src/hooks/useFieldResize.ts +1 -1
  208. package/src/hooks/useInitializePdfJsWorker.ts +8 -0
  209. package/src/index.ts +2 -3
  210. package/src/interface/{pdf-editor.ts → types.ts} +8 -0
  211. package/src/styles/pdf-field-overlay.css +23 -3
  212. package/src/utils/{extract-grouped-fields-from-data-model.utils.ts → data-model/extract-fields.utils.ts} +1 -1
  213. package/src/utils/data-model/index.ts +2 -0
  214. package/src/utils/{resolve-pdf-data-values.ts → data-model/resolve-values.utils.ts} +3 -1
  215. package/src/utils/{calculate-drop-coordinates.utils.ts → field/field-coordinates.utils.ts} +1 -1
  216. package/src/utils/field/field-drag.utils.ts +102 -0
  217. package/src/utils/{get-field-placeholder-text.ts → field/field-placeholder-text.utils.ts} +1 -1
  218. package/src/utils/{handle-field-resize.utils.ts → field/field-resize.utils.ts} +3 -4
  219. package/src/utils/field/index.ts +6 -0
  220. package/src/utils/index.ts +5 -17
  221. package/src/utils/{generate-e-sign-path.ts → path/generate-e-sign-path.ts} +1 -1
  222. package/src/utils/path/index.ts +3 -0
  223. package/src/utils/pdf/index.ts +2 -0
  224. package/src/utils/pdf/pdf-rendering.utils.ts +98 -0
  225. package/src/utils/{pdfjs-init.ts → pdf/pdfjs-init.ts} +1 -2
  226. package/src/utils/recipients/index.ts +1 -0
  227. package/src/utils/{map-colors-to-recipients.ts → recipients/map-colors.ts} +1 -1
  228. package/dist/components/data-model-field-type-list.d.ts.map +0 -1
  229. package/dist/components/data-model-field-type-list.js.map +0 -1
  230. package/dist/components/e-sign-field-type-list.d.ts.map +0 -1
  231. package/dist/components/e-sign-field-type-list.js.map +0 -1
  232. package/dist/components/field-config-panel-overlay.d.ts.map +0 -1
  233. package/dist/components/field-config-panel-overlay.js.map +0 -1
  234. package/dist/components/field-config-panel.d.ts.map +0 -1
  235. package/dist/components/field-config-panel.js.map +0 -1
  236. package/dist/components/field-sidebar.d.ts.map +0 -1
  237. package/dist/components/field-sidebar.js.map +0 -1
  238. package/dist/components/field-type.d.ts.map +0 -1
  239. package/dist/components/field-type.js.map +0 -1
  240. package/dist/components/fillable-field-type-list.d.ts.map +0 -1
  241. package/dist/components/fillable-field-type-list.js.map +0 -1
  242. package/dist/components/pdf-canvas.d.ts.map +0 -1
  243. package/dist/components/pdf-canvas.js +0 -14
  244. package/dist/components/pdf-canvas.js.map +0 -1
  245. package/dist/components/pdf-document-renderer.d.ts.map +0 -1
  246. package/dist/components/pdf-document-renderer.js.map +0 -1
  247. package/dist/components/pdf-editor.d.ts.map +0 -1
  248. package/dist/components/pdf-editor.js.map +0 -1
  249. package/dist/components/pdf-field-overlay.d.ts +0 -24
  250. package/dist/components/pdf-field-overlay.d.ts.map +0 -1
  251. package/dist/components/pdf-field-overlay.js +0 -60
  252. package/dist/components/pdf-field-overlay.js.map +0 -1
  253. package/dist/components/pdf-view-fields.d.ts +0 -17
  254. package/dist/components/pdf-view-fields.d.ts.map +0 -1
  255. package/dist/components/pdf-view-fields.js.map +0 -1
  256. package/dist/components/pdf-view.d.ts.map +0 -1
  257. package/dist/components/pdf-view.js.map +0 -1
  258. package/dist/components/resize-handle.d.ts.map +0 -1
  259. package/dist/components/resize-handle.js.map +0 -1
  260. package/dist/interface/pdf-editor.d.ts.map +0 -1
  261. package/dist/interface/pdf-editor.js.map +0 -1
  262. package/dist/utils/calculate-drop-coordinates.utils.d.ts.map +0 -1
  263. package/dist/utils/calculate-drop-coordinates.utils.js.map +0 -1
  264. package/dist/utils/extract-grouped-fields-from-data-model.utils.d.ts.map +0 -1
  265. package/dist/utils/extract-grouped-fields-from-data-model.utils.js.map +0 -1
  266. package/dist/utils/generate-e-sign-path.d.ts +0 -3
  267. package/dist/utils/generate-e-sign-path.d.ts.map +0 -1
  268. package/dist/utils/generate-e-sign-path.js.map +0 -1
  269. package/dist/utils/generate-fillable-path.d.ts.map +0 -1
  270. package/dist/utils/generate-fillable-path.js.map +0 -1
  271. package/dist/utils/get-field-background-color.d.ts.map +0 -1
  272. package/dist/utils/get-field-background-color.js.map +0 -1
  273. package/dist/utils/get-field-placeholder-text.d.ts +0 -3
  274. package/dist/utils/get-field-placeholder-text.d.ts.map +0 -1
  275. package/dist/utils/get-field-placeholder-text.js.map +0 -1
  276. package/dist/utils/get-page-dimensions.utils.d.ts +0 -12
  277. package/dist/utils/get-page-dimensions.utils.d.ts.map +0 -1
  278. package/dist/utils/get-page-dimensions.utils.js +0 -31
  279. package/dist/utils/get-page-dimensions.utils.js.map +0 -1
  280. package/dist/utils/get-page-number-from-client-y.utils.d.ts +0 -9
  281. package/dist/utils/get-page-number-from-client-y.utils.d.ts.map +0 -1
  282. package/dist/utils/get-page-number-from-client-y.utils.js +0 -24
  283. package/dist/utils/get-page-number-from-client-y.utils.js.map +0 -1
  284. package/dist/utils/get-page-position.utils.d.ts +0 -12
  285. package/dist/utils/get-page-position.utils.d.ts.map +0 -1
  286. package/dist/utils/get-page-position.utils.js +0 -22
  287. package/dist/utils/get-page-position.utils.js.map +0 -1
  288. package/dist/utils/handle-field-drag-start.utils.d.ts +0 -16
  289. package/dist/utils/handle-field-drag-start.utils.d.ts.map +0 -1
  290. package/dist/utils/handle-field-drag-start.utils.js +0 -41
  291. package/dist/utils/handle-field-drag-start.utils.js.map +0 -1
  292. package/dist/utils/handle-field-drag.utils.d.ts.map +0 -1
  293. package/dist/utils/handle-field-drag.utils.js +0 -36
  294. package/dist/utils/handle-field-drag.utils.js.map +0 -1
  295. package/dist/utils/handle-field-resize.utils.d.ts.map +0 -1
  296. package/dist/utils/handle-field-resize.utils.js.map +0 -1
  297. package/dist/utils/is-drag-over-canvas.utils.d.ts.map +0 -1
  298. package/dist/utils/is-drag-over-canvas.utils.js.map +0 -1
  299. package/dist/utils/map-colors-to-recipients.d.ts +0 -3
  300. package/dist/utils/map-colors-to-recipients.d.ts.map +0 -1
  301. package/dist/utils/map-colors-to-recipients.js.map +0 -1
  302. package/dist/utils/parse-fillable-path.d.ts.map +0 -1
  303. package/dist/utils/parse-fillable-path.js.map +0 -1
  304. package/dist/utils/pdfjs-init.d.ts.map +0 -1
  305. package/dist/utils/pdfjs-init.js.map +0 -1
  306. package/dist/utils/resolve-pdf-data-values.d.ts +0 -2
  307. package/dist/utils/resolve-pdf-data-values.d.ts.map +0 -1
  308. package/dist/utils/resolve-pdf-data-values.js.map +0 -1
  309. package/src/components/pdf-field-overlay.tsx +0 -182
  310. package/src/utils/get-page-dimensions.utils.ts +0 -39
  311. package/src/utils/get-page-number-from-client-y.utils.ts +0 -31
  312. package/src/utils/get-page-position.utils.ts +0 -30
  313. package/src/utils/handle-field-drag-start.utils.ts +0 -52
  314. package/src/utils/handle-field-drag.utils.ts +0 -55
  315. /package/dist/components/{field-config-panel-overlay.js → field-config-panel/field-config-panel-overlay.js} +0 -0
  316. /package/dist/components/{field-type.d.ts → field-sidebar/field-type.d.ts} +0 -0
  317. /package/dist/components/{field-type.js → field-sidebar/field-type.js} +0 -0
  318. /package/dist/components/{pdf-document-renderer.d.ts → pdf-canvas/pdf-document-renderer.d.ts} +0 -0
  319. /package/dist/components/{resize-handle.d.ts → pdf-fields-overlay/resize-handle.d.ts} +0 -0
  320. /package/dist/components/{resize-handle.js → pdf-fields-overlay/resize-handle.js} +0 -0
  321. /package/dist/utils/{generate-e-sign-path.js → path/generate-e-sign-path.js} +0 -0
  322. /package/dist/utils/{generate-fillable-path.d.ts → path/generate-fillable-path.d.ts} +0 -0
  323. /package/dist/utils/{generate-fillable-path.js → path/generate-fillable-path.js} +0 -0
  324. /package/dist/utils/{parse-fillable-path.d.ts → path/parse-fillable-path.d.ts} +0 -0
  325. /package/dist/utils/{parse-fillable-path.js → path/parse-fillable-path.js} +0 -0
  326. /package/src/components/{field-type.tsx → field-sidebar/field-type.tsx} +0 -0
  327. /package/src/components/{resize-handle.tsx → pdf-fields-overlay/resize-handle.tsx} +0 -0
  328. /package/src/utils/{is-drag-over-canvas.utils.ts → field/drag-over-canvas.utils.ts} +0 -0
  329. /package/src/utils/{get-field-background-color.ts → field/field-background-color.utils.ts} +0 -0
  330. /package/src/utils/{generate-fillable-path.ts → path/generate-fillable-path.ts} +0 -0
  331. /package/src/utils/{parse-fillable-path.ts → path/parse-fillable-path.ts} +0 -0
@@ -1,182 +0,0 @@
1
- import { FC, Fragment, MouseEvent, RefObject, useMemo } from 'react';
2
- import { useFieldDrag, useFieldResize, UseFieldResizeReturn } from '../hooks';
3
- import { FieldTypeEnum, PdfField } from '../interface/pdf-editor';
4
- import { getFieldBackgroundColor, getFieldPlaceholderText, getPagePosition } from '../utils';
5
- import { ResizeHandle } from './resize-handle';
6
-
7
- interface PdfFieldOverlayProps {
8
- fields: PdfField[];
9
- selectedField: string | null;
10
- pdfWrapperRef: RefObject<HTMLDivElement>;
11
- recipientsColors: Record<string, string>;
12
- onFieldClick(fieldId: string, e: MouseEvent): void;
13
- onFieldMove(fieldId: string, newX: number, newY: number, pageNumber: number): void;
14
- onFieldResize(fieldId: string, newWidth: number, newHeight: number, pageNumber: number): void;
15
- }
16
-
17
- export const PdfFieldOverlay: FC<PdfFieldOverlayProps> = ({
18
- fields,
19
- onFieldClick,
20
- onFieldMove,
21
- onFieldResize,
22
- pdfWrapperRef,
23
- recipientsColors,
24
- selectedField,
25
- }) => {
26
- return (
27
- <div className="dte-pdf-field-overlay skeleton-item">
28
- {fields.map(field => (
29
- <PdfFieldOverlayField
30
- key={field.id}
31
- field={field}
32
- onFieldMove={onFieldMove}
33
- onFieldClick={onFieldClick}
34
- pdfWrapperRef={pdfWrapperRef}
35
- onFieldResize={onFieldResize}
36
- isSelected={selectedField === field.id}
37
- recipientsColors={recipientsColors}
38
- />
39
- ))}
40
- </div>
41
- );
42
- };
43
-
44
- interface PdfFieldOverlayFieldProps {
45
- field: PdfField;
46
- isSelected: boolean;
47
- recipientsColors: Record<string, string>;
48
- pdfWrapperRef: RefObject<HTMLDivElement>;
49
- onFieldClick(fieldId: string, e: MouseEvent): void;
50
- onFieldMove(fieldId: string, newX: number, newY: number, pageNumber: number): void;
51
- onFieldResize(fieldId: string, newWidth: number, newHeight: number, pageNumber: number): void;
52
- }
53
-
54
- export const PdfFieldOverlayField: FC<PdfFieldOverlayFieldProps> = ({
55
- field,
56
- isSelected,
57
- onFieldClick,
58
- onFieldMove,
59
- onFieldResize,
60
- pdfWrapperRef,
61
- recipientsColors,
62
- }) => {
63
- const { draggingFieldIdRef, handleDrag, handleDragEnd, handleDragStart } = useFieldDrag({
64
- pdfWrapperRef,
65
- onFieldMove,
66
- });
67
- const isDragging = draggingFieldIdRef.current === field.id;
68
-
69
- const { handleResizeStart } = useFieldResize({
70
- pdfWrapperRef,
71
- onFieldResize,
72
- });
73
-
74
- const pagePos = useMemo(() => {
75
- return getPagePosition(field.page, pdfWrapperRef);
76
- }, [field.page, pdfWrapperRef]);
77
-
78
- const style = useMemo(() => {
79
- const bgColor = getFieldBackgroundColor(field.recipient, recipientsColors);
80
- return {
81
- left: pagePos.left + field.x,
82
- top: pagePos.top + field.y,
83
- width: field.width,
84
- height: field.height,
85
- backgroundColor: bgColor,
86
- };
87
- }, [
88
- field.recipient,
89
- field.x,
90
- field.y,
91
- field.width,
92
- field.height,
93
- recipientsColors,
94
- pagePos.left,
95
- pagePos.top,
96
- ]);
97
-
98
- return (
99
- <div
100
- onClick={e => onFieldClick(field.id, e)}
101
- draggable
102
- onDragStart={e => handleDragStart(e, field)}
103
- onDrag={e => handleDrag(e, field)}
104
- onDragEnd={handleDragEnd}
105
- className={`dte-pdf-field ${isSelected ? 'dte-pdf-field-selected' : 'dte-pdf-field-unselected'} ${isDragging ? 'dte-pdf-field-dragging' : ''}`}
106
- style={style}
107
- >
108
- {field.type === FieldTypeEnum.eSign && <FieldEsign field={field} />}
109
- {field.type === FieldTypeEnum.dataModel && <FieldDataModel field={field} />}
110
- {field.type === FieldTypeEnum.fillable && (
111
- <FieldFillable
112
- field={field}
113
- handleResizeStart={handleResizeStart}
114
- isSelected={isSelected}
115
- />
116
- )}
117
- </div>
118
- );
119
- };
120
-
121
- interface FieldProps {
122
- field: PdfField;
123
- }
124
-
125
- const FieldEsign: FC<FieldProps> = ({ field }) => {
126
- return (
127
- <span>
128
- {field.label} {field.required ? '*' : ''}
129
- <div className="dte-pdf-field-value">{field.path}</div>
130
- </span>
131
- );
132
- };
133
-
134
- const FieldDataModel: FC<FieldProps> = ({ field }) => {
135
- return (
136
- <span>
137
- {field.label ? field.label : field.path}
138
- {field.required ? '*' : ''}
139
- </span>
140
- );
141
- };
142
-
143
- interface FieldFillableProps extends FieldProps {
144
- isSelected: boolean;
145
- handleResizeStart: UseFieldResizeReturn['handleResizeStart'];
146
- }
147
-
148
- const FieldFillable: FC<FieldFillableProps> = ({ field, handleResizeStart, isSelected }) => {
149
- const placeholderText = getFieldPlaceholderText(field);
150
-
151
- if (field.subType === 'checkbox' || field.subType === 'radio') {
152
- return <input type={field.subType} readOnly className="dte-pdf-field-fillable" />;
153
- }
154
-
155
- if (field.subType === 'date') {
156
- return (
157
- <Fragment>
158
- <input
159
- type="date"
160
- readOnly
161
- className="dte-pdf-field-fillable"
162
- placeholder={placeholderText}
163
- />
164
- {isSelected && (
165
- <ResizeHandle handleResizeStart={e => handleResizeStart(e, field)} />
166
- )}
167
- </Fragment>
168
- );
169
- }
170
-
171
- return (
172
- <Fragment>
173
- <input
174
- type="text"
175
- readOnly
176
- placeholder={placeholderText}
177
- className="dte-pdf-field-fillable"
178
- />
179
- {isSelected && <ResizeHandle handleResizeStart={e => handleResizeStart(e, field)} />}
180
- </Fragment>
181
- );
182
- };
@@ -1,39 +0,0 @@
1
- import { RefObject } from 'react';
2
-
3
- /**
4
- * Gets the dimensions of a PDF page (width and height)
5
- * @param pageNumber - The page number to get dimensions for
6
- * @param pdfWrapperRef - Reference to the PDF wrapper element
7
- * @returns Dimensions object with width and height, or { width: 0, height: 0 } if not found
8
- */
9
- export const getPageDimensions = (
10
- pageNumber: number,
11
- pdfWrapperRef: RefObject<HTMLDivElement>,
12
- ): { width: number; height: number } => {
13
- if (!pdfWrapperRef.current) {
14
- return { width: 0, height: 0 };
15
- }
16
-
17
- const pageElement = pdfWrapperRef.current.querySelector(`[data-page-number="${pageNumber}"]`);
18
-
19
- if (!pageElement) {
20
- return { width: 0, height: 0 };
21
- }
22
-
23
- // Get the canvas element inside the page to get actual PDF dimensions
24
- const canvas = pageElement.querySelector('canvas');
25
- if (canvas) {
26
- const canvasRect = canvas.getBoundingClientRect();
27
- return {
28
- width: canvasRect.width,
29
- height: canvasRect.height,
30
- };
31
- }
32
-
33
- // Fallback to page element dimensions
34
- const pageRect = pageElement.getBoundingClientRect();
35
- return {
36
- width: pageRect.width,
37
- height: pageRect.height,
38
- };
39
- };
@@ -1,31 +0,0 @@
1
- import { RefObject } from 'react';
2
-
3
- /**
4
- * Determines which page number a client Y coordinate falls within
5
- * @param clientY - The client Y coordinate to check
6
- * @param pdfWrapperRef - Reference to the PDF wrapper element
7
- * @returns The page number (defaults to 1 if not found or wrapper is null)
8
- */
9
- export const getPageNumberFromClientY = (
10
- clientY: number,
11
- pdfWrapperRef: RefObject<HTMLDivElement>,
12
- ): number => {
13
- if (!pdfWrapperRef.current) {
14
- return 1;
15
- }
16
-
17
- const pageElements = pdfWrapperRef.current.querySelectorAll('[data-page-number]');
18
- let targetPage = 1;
19
-
20
- pageElements.forEach(pageElement => {
21
- const rect = pageElement.getBoundingClientRect();
22
- if (clientY >= rect.top && clientY <= rect.bottom) {
23
- const pageNumber = pageElement.getAttribute('data-page-number');
24
- if (pageNumber) {
25
- targetPage = parseInt(pageNumber, 10);
26
- }
27
- }
28
- });
29
-
30
- return targetPage;
31
- };
@@ -1,30 +0,0 @@
1
- import { RefObject } from 'react';
2
-
3
- /**
4
- * Gets the position of a PDF page relative to the wrapper element
5
- * @param pageNumber - The page number to get the position for
6
- * @param pdfWrapperRef - Reference to the PDF wrapper element
7
- * @returns Position object with top and left coordinates, or { top: 0, left: 0 } if not found
8
- */
9
- export const getPagePosition = (
10
- pageNumber: number,
11
- pdfWrapperRef: RefObject<HTMLDivElement>,
12
- ): { top: number; left: number } => {
13
- if (!pdfWrapperRef.current) {
14
- return { top: 0, left: 0 };
15
- }
16
-
17
- const pageElement = pdfWrapperRef.current.querySelector(`[data-page-number="${pageNumber}"]`);
18
-
19
- if (!pageElement) {
20
- return { top: 0, left: 0 };
21
- }
22
-
23
- const wrapperRect = pdfWrapperRef.current.getBoundingClientRect();
24
- const pageRect = pageElement.getBoundingClientRect();
25
-
26
- return {
27
- top: pageRect.top - wrapperRect.top,
28
- left: pageRect.left - wrapperRect.left,
29
- };
30
- };
@@ -1,52 +0,0 @@
1
- import { DragEvent, RefObject } from 'react';
2
- import { PdfField } from '../interface/pdf-editor';
3
- import { getPagePosition } from './get-page-position.utils';
4
-
5
- /**
6
- * Handles the drag start event for a PDF field
7
- * Calculates drag offset and sets up drag data transfer
8
- * @param e - The drag event
9
- * @param field - The field being dragged
10
- * @param pdfWrapperRef - Reference to the PDF wrapper element
11
- * @returns The drag offset object or null if wrapper is not available
12
- */
13
- export const handleFieldDragStart = (
14
- e: DragEvent<HTMLDivElement>,
15
- field: PdfField,
16
- pdfWrapperRef: RefObject<HTMLDivElement>,
17
- ): { x: number; y: number; page: number } | null => {
18
- if (!pdfWrapperRef.current) {
19
- return null;
20
- }
21
-
22
- /*
23
- * Calculate drag offset in page-relative coordinates
24
- */
25
- const startPagePos = getPagePosition(field.page, pdfWrapperRef);
26
- const wrapperRect = pdfWrapperRef.current.getBoundingClientRect();
27
- const cursorXInPage = e.clientX - wrapperRect.left - startPagePos.left;
28
- const cursorYInPage = e.clientY - wrapperRect.top - startPagePos.top;
29
-
30
- const dragOffset = {
31
- x: cursorXInPage - field.x,
32
- y: cursorYInPage - field.y,
33
- page: field.page,
34
- };
35
-
36
- // Mark that we're dragging an existing field, not a new field type
37
- e.dataTransfer.effectAllowed = 'move';
38
- e.dataTransfer.setData('text/plain', 'existing-field');
39
-
40
- // Create a transparent drag image to hide the default browser drag image
41
- const dragImage = document.createElement('div');
42
- dragImage.style.position = 'absolute';
43
- dragImage.style.top = '-9999px';
44
- dragImage.style.width = '1px';
45
- dragImage.style.height = '1px';
46
- dragImage.style.opacity = '0';
47
- document.body.appendChild(dragImage);
48
- e.dataTransfer.setDragImage(dragImage, 0, 0);
49
- setTimeout(() => document.body.removeChild(dragImage), 0);
50
-
51
- return dragOffset;
52
- };
@@ -1,55 +0,0 @@
1
- import { DragEvent, RefObject } from 'react';
2
- import { PdfField } from '../interface/pdf-editor';
3
- import { getPageDimensions } from './get-page-dimensions.utils';
4
- import { getPageNumberFromClientY } from './get-page-number-from-client-y.utils';
5
- import { getPagePosition } from './get-page-position.utils';
6
-
7
- interface DragOffset {
8
- x: number;
9
- y: number;
10
- page: number;
11
- }
12
-
13
- /**
14
- * Handles the drag event for a PDF field
15
- * Calculates new position and clamps it to page boundaries
16
- * @param e - The drag event
17
- * @param field - The field being dragged
18
- * @param dragOffset - The drag offset from drag start
19
- * @param pdfWrapperRef - Reference to the PDF wrapper element
20
- * @param onFieldMove - Callback to update field position
21
- */
22
- export const handleFieldDrag = (
23
- e: DragEvent<HTMLDivElement>,
24
- field: PdfField,
25
- dragOffset: DragOffset,
26
- pdfWrapperRef: RefObject<HTMLDivElement>,
27
- onFieldMove: (fieldId: string, newX: number, newY: number, pageNumber: number) => void,
28
- ): void => {
29
- if (!pdfWrapperRef.current || e.clientX === 0 || e.clientY === 0) {
30
- return;
31
- }
32
-
33
- const currentPage = getPageNumberFromClientY(e.clientY, pdfWrapperRef);
34
- const currentPagePos = getPagePosition(currentPage, pdfWrapperRef);
35
- const wrapperRect = pdfWrapperRef.current.getBoundingClientRect();
36
- const pageDimensions = getPageDimensions(currentPage, pdfWrapperRef);
37
-
38
- // Calculate position in page coordinates
39
- const x = e.clientX - wrapperRect.left - currentPagePos.left - dragOffset.x;
40
- const y = e.clientY - wrapperRect.top - currentPagePos.top - dragOffset.y;
41
-
42
- /*
43
- * Clamp x and y to stay within page boundaries.
44
- * Account for field width and height to prevent dragging outside.
45
- */
46
- const minX = 0;
47
- const minY = 0;
48
- const maxX = Math.max(0, pageDimensions.width - field.width);
49
- const maxY = Math.max(0, pageDimensions.height - field.height);
50
-
51
- const clampedX = Math.max(minX, Math.min(maxX, x));
52
- const clampedY = Math.max(minY, Math.min(maxY, y));
53
-
54
- onFieldMove(field.id, clampedX, clampedY, currentPage);
55
- };