@verdocs/web-sdk 6.8.7 → 6.8.9

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 (354) hide show
  1. package/dist/cjs/{Datastore-B-sxWSPD.js → Datastore-C-Pojt3E.js} +3 -3
  2. package/dist/{esm-es5/Datastore-bS8INhRF.js.map → cjs/Datastore-C-Pojt3E.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{utils-ecG41L2k.js → utils-kkGeJs-8.js} +6 -3
  5. package/dist/cjs/utils-kkGeJs-8.js.map +1 -0
  6. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-checkbox_5.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +2 -2
  11. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +119 -51
  16. package/dist/cjs/verdocs-field-payment.cjs.entry.js +16 -9
  17. package/dist/cjs/verdocs-field-payment.entry.cjs.js.map +1 -1
  18. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +1 -1
  19. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.cjs.js.map +1 -1
  21. package/dist/cjs/verdocs-preview_6.cjs.entry.js +42 -31
  22. package/dist/cjs/verdocs-sign.cjs.entry.js +2 -2
  23. package/dist/cjs/verdocs-signing-progress.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +2 -2
  25. package/dist/cjs/verdocs-template-settings.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  27. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +13 -0
  28. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
  29. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +15 -5
  30. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
  31. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +15 -5
  32. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js.map +1 -1
  33. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +15 -5
  34. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
  35. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +15 -5
  36. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
  37. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +13 -5
  38. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  39. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +18 -8
  40. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
  41. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +15 -5
  42. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js.map +1 -1
  43. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +13 -5
  44. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  45. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +15 -5
  46. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  47. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +15 -5
  48. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  49. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +17 -5
  50. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
  51. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +38 -27
  52. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  53. package/dist/collection/utils/Datastore.js +1 -1
  54. package/dist/collection/utils/Datastore.js.map +1 -1
  55. package/dist/collection/utils/utils.js +4 -1
  56. package/dist/collection/utils/utils.js.map +1 -1
  57. package/dist/components/{p-CRIrD66O.js → p---tnXjlx.js} +3 -3
  58. package/dist/components/{p-CRIrD66O.js.map → p---tnXjlx.js.map} +1 -1
  59. package/dist/components/{p-BgNCVox7.js → p-1oPQs4-S.js} +3 -3
  60. package/dist/components/{p-BgNCVox7.js.map → p-1oPQs4-S.js.map} +1 -1
  61. package/dist/components/{p-CFi6VKgU.js → p-2sD6OXzl.js} +19 -10
  62. package/dist/components/p-2sD6OXzl.js.map +1 -0
  63. package/dist/components/{p-CWGxLuye.js → p-7dtIf4QF.js} +19 -10
  64. package/dist/components/p-7dtIf4QF.js.map +1 -0
  65. package/dist/components/{p-CherENoi.js → p-BCiVZnf0.js} +3 -3
  66. package/dist/components/{p-CherENoi.js.map → p-BCiVZnf0.js.map} +1 -1
  67. package/dist/components/{p-DLV8jNf8.js → p-BUaaBFra.js} +17 -10
  68. package/dist/components/p-BUaaBFra.js.map +1 -0
  69. package/dist/components/{p-BZRJWqKI.js → p-BVu-nE_L.js} +19 -10
  70. package/dist/components/p-BVu-nE_L.js.map +1 -0
  71. package/dist/components/{p-By2QlfRC.js → p-BihWiABu.js} +19 -10
  72. package/dist/components/p-BihWiABu.js.map +1 -0
  73. package/dist/components/{p-eZKhg-2i.js → p-BqoZV7Do.js} +3 -3
  74. package/dist/components/{p-eZKhg-2i.js.map → p-BqoZV7Do.js.map} +1 -1
  75. package/dist/components/{p-D1tvdWaA.js → p-BrtyCjOf.js} +4 -4
  76. package/dist/components/{p-D1tvdWaA.js.map → p-BrtyCjOf.js.map} +1 -1
  77. package/dist/components/{p-tSwumenv.js → p-Bzs-6uU0.js} +3 -3
  78. package/dist/components/{p-tSwumenv.js.map → p-Bzs-6uU0.js.map} +1 -1
  79. package/dist/components/{p-Dj_oFCRK.js → p-C02BWoNV.js} +17 -10
  80. package/dist/components/p-C02BWoNV.js.map +1 -0
  81. package/dist/{esm/Datastore-bS8INhRF.js → components/p-C7hFgM52.js} +3 -3
  82. package/dist/components/p-C7hFgM52.js.map +1 -0
  83. package/dist/components/{p-CjDMm6od.js → p-CD24uAWY.js} +19 -10
  84. package/dist/components/p-CD24uAWY.js.map +1 -0
  85. package/dist/components/{p-_igYrwND.js → p-CDR7tIN-.js} +3 -3
  86. package/dist/components/{p-_igYrwND.js.map → p-CDR7tIN-.js.map} +1 -1
  87. package/dist/components/{p-tyY7kKNB.js → p-CPIwQCo_.js} +21 -10
  88. package/dist/components/p-CPIwQCo_.js.map +1 -0
  89. package/dist/components/{p-CYRfkDZa.js → p-Cj8PYi4t.js} +29 -16
  90. package/dist/components/p-Cj8PYi4t.js.map +1 -0
  91. package/dist/components/{p-Bafj7hI1.js → p-Cli5nWln.js} +19 -10
  92. package/dist/components/p-Cli5nWln.js.map +1 -0
  93. package/dist/components/{p-Dpu4D5bv.js → p-Cx0Mif05.js} +6 -3
  94. package/dist/components/p-Cx0Mif05.js.map +1 -0
  95. package/dist/components/{p-BF4y1YRU.js → p-CzvUUEq1.js} +3 -3
  96. package/dist/components/{p-BF4y1YRU.js.map → p-CzvUUEq1.js.map} +1 -1
  97. package/dist/components/{p-DzM2oGUr.js → p-D1TqIILD.js} +19 -10
  98. package/dist/components/p-D1TqIILD.js.map +1 -0
  99. package/dist/components/{p-_cxVjdiK.js → p-DNYvorxL.js} +43 -44
  100. package/dist/components/p-DNYvorxL.js.map +1 -0
  101. package/dist/components/{p-Cal5IvqT.js → p-DmEzMnt3.js} +3 -3
  102. package/dist/components/{p-Cal5IvqT.js.map → p-DmEzMnt3.js.map} +1 -1
  103. package/dist/components/{p-C5fwD53I.js → p-Dz6Xrh7z.js} +3 -3
  104. package/dist/components/{p-C5fwD53I.js.map → p-Dz6Xrh7z.js.map} +1 -1
  105. package/dist/components/{p-DaWDoIag.js → p-IJa78J36.js} +4 -4
  106. package/dist/components/{p-DaWDoIag.js.map → p-IJa78J36.js.map} +1 -1
  107. package/dist/components/{p-DtpXCLdt.js → p-RdlD8c2P.js} +5 -5
  108. package/dist/components/{p-DtpXCLdt.js.map → p-RdlD8c2P.js.map} +1 -1
  109. package/dist/components/{p-DmyvK-Tr.js → p-aH_YLUuP.js} +15 -15
  110. package/dist/components/{p-DmyvK-Tr.js.map → p-aH_YLUuP.js.map} +1 -1
  111. package/dist/components/{p-DyfpSDn-.js → p-zAW1BOj6.js} +3 -3
  112. package/dist/components/{p-DyfpSDn-.js.map → p-zAW1BOj6.js.map} +1 -1
  113. package/dist/components/verdocs-build.js +21 -21
  114. package/dist/components/verdocs-contact-picker.js +1 -1
  115. package/dist/components/verdocs-envelope-document-page.js +1 -1
  116. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  117. package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
  118. package/dist/components/verdocs-envelope-sidebar.js +3 -3
  119. package/dist/components/verdocs-envelope-update-recipient.js +1 -1
  120. package/dist/components/verdocs-envelopes-list.js +2 -2
  121. package/dist/components/verdocs-field-attachment.js +1 -1
  122. package/dist/components/verdocs-field-checkbox.js +1 -1
  123. package/dist/components/verdocs-field-date.js +1 -1
  124. package/dist/components/verdocs-field-dropdown.js +1 -1
  125. package/dist/components/verdocs-field-initial.js +1 -1
  126. package/dist/components/verdocs-field-payment.js +20 -11
  127. package/dist/components/verdocs-field-payment.js.map +1 -1
  128. package/dist/components/verdocs-field-radio.js +1 -1
  129. package/dist/components/verdocs-field-signature.js +1 -1
  130. package/dist/components/verdocs-field-textarea.js +1 -1
  131. package/dist/components/verdocs-field-textbox.js +1 -1
  132. package/dist/components/verdocs-field-timestamp.js +1 -1
  133. package/dist/components/verdocs-preview.js +1 -1
  134. package/dist/components/verdocs-quick-filter.js +1 -1
  135. package/dist/components/verdocs-send.js +1 -1
  136. package/dist/components/verdocs-sign-footer.js +1 -1
  137. package/dist/components/verdocs-sign.js +5 -5
  138. package/dist/components/verdocs-signing-progress.js +1 -1
  139. package/dist/components/verdocs-template-attachments.js +1 -1
  140. package/dist/components/verdocs-template-build-tabs.js +1 -1
  141. package/dist/components/verdocs-template-document-page.js +1 -1
  142. package/dist/components/verdocs-template-field-properties.js +1 -1
  143. package/dist/components/verdocs-template-fields.js +1 -1
  144. package/dist/components/verdocs-template-role-properties.js +1 -1
  145. package/dist/components/verdocs-template-roles.js +1 -1
  146. package/dist/components/verdocs-template-settings.js +1 -1
  147. package/dist/components/verdocs-templates-list.js +1 -1
  148. package/dist/components/verdocs-view.js +1 -1
  149. package/dist/{components/p-bS8INhRF.js → esm/Datastore-C7hFgM52.js} +3 -3
  150. package/dist/{cjs/Datastore-B-sxWSPD.js.map → esm/Datastore-C7hFgM52.js.map} +1 -1
  151. package/dist/esm/loader.js +1 -1
  152. package/dist/esm/{utils-CerrMWqr.js → utils-CPSY5rft.js} +6 -3
  153. package/dist/esm/utils-CPSY5rft.js.map +1 -0
  154. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  155. package/dist/esm/verdocs-build.entry.js +1 -1
  156. package/dist/esm/verdocs-checkbox_5.entry.js +1 -1
  157. package/dist/esm/verdocs-contact-picker.entry.js +1 -1
  158. package/dist/esm/verdocs-download-dialog_4.entry.js +2 -2
  159. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  160. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  161. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  162. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  163. package/dist/esm/verdocs-field-attachment_11.entry.js +119 -51
  164. package/dist/esm/verdocs-field-payment.entry.js +16 -9
  165. package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
  166. package/dist/esm/verdocs-menu-panel_2.entry.js +1 -1
  167. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  168. package/dist/esm/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.js.map +1 -1
  169. package/dist/esm/verdocs-preview_6.entry.js +42 -31
  170. package/dist/esm/verdocs-sign.entry.js +2 -2
  171. package/dist/esm/verdocs-signing-progress.entry.js +1 -1
  172. package/dist/esm/verdocs-template-document-page_2.entry.js +2 -2
  173. package/dist/esm/verdocs-template-settings.entry.js +1 -1
  174. package/dist/esm/verdocs-web-sdk.js +1 -1
  175. package/dist/esm-es5/{Datastore-bS8INhRF.js → Datastore-C7hFgM52.js} +2 -2
  176. package/dist/{esm/Datastore-bS8INhRF.js.map → esm-es5/Datastore-C7hFgM52.js.map} +1 -1
  177. package/dist/esm-es5/loader.js +1 -1
  178. package/dist/esm-es5/utils-CPSY5rft.js +2 -0
  179. package/dist/esm-es5/utils-CPSY5rft.js.map +1 -0
  180. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  181. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  182. package/dist/esm-es5/verdocs-checkbox_5.entry.js +1 -1
  183. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  184. package/dist/esm-es5/verdocs-download-dialog_4.entry.js +1 -1
  185. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  186. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  187. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  188. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  189. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  190. package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
  191. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  192. package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
  193. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  194. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  195. package/dist/esm-es5/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.js.map +1 -1
  196. package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
  197. package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
  198. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  199. package/dist/esm-es5/verdocs-signing-progress.entry.js +1 -1
  200. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  201. package/dist/esm-es5/verdocs-template-settings.entry.js +1 -1
  202. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  203. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +2 -0
  204. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +2 -1
  205. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +2 -1
  206. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +2 -1
  207. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +2 -1
  208. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +1 -1
  209. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +2 -1
  210. package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +2 -1
  211. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +1 -1
  212. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +2 -1
  213. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +2 -1
  214. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +2 -1
  215. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +3 -2
  216. package/dist/verdocs-web-sdk/{p-2ff00959.system.entry.js → p-032e8fb0.system.entry.js} +2 -2
  217. package/dist/verdocs-web-sdk/{p-fe5aabfb.entry.js → p-04981f9f.entry.js} +2 -2
  218. package/dist/verdocs-web-sdk/{p-7f7da7d6.system.entry.js → p-066eaea8.system.entry.js} +2 -2
  219. package/dist/verdocs-web-sdk/{p-53be15dc.entry.js → p-0b59a4a5.entry.js} +2 -2
  220. package/dist/verdocs-web-sdk/{p-8229308e.system.entry.js → p-107a1995.system.entry.js} +2 -2
  221. package/dist/verdocs-web-sdk/{p-b04c507f.system.entry.js → p-1b5b8ffa.system.entry.js} +2 -2
  222. package/dist/verdocs-web-sdk/{p-be9c544d.system.entry.js → p-2ba8c771.system.entry.js} +2 -2
  223. package/dist/verdocs-web-sdk/p-2ebc769e.entry.js +2 -0
  224. package/dist/verdocs-web-sdk/p-2ebc769e.entry.js.map +1 -0
  225. package/dist/verdocs-web-sdk/{p-5ee3ef82.entry.js → p-311bb5b2.entry.js} +2 -2
  226. package/dist/verdocs-web-sdk/{p-069169a7.entry.js → p-3202f0eb.entry.js} +2 -2
  227. package/dist/verdocs-web-sdk/{p-edc49225.entry.js → p-3648e4c0.entry.js} +2 -2
  228. package/dist/verdocs-web-sdk/p-3648e4c0.entry.js.map +1 -0
  229. package/dist/verdocs-web-sdk/{p-64b9e2de.entry.js → p-3be22031.entry.js} +2 -2
  230. package/dist/verdocs-web-sdk/{p-f4c4a49e.system.entry.js → p-4424623c.system.entry.js} +2 -2
  231. package/dist/verdocs-web-sdk/{p-7a086c18.entry.js → p-4f820bee.entry.js} +2 -2
  232. package/dist/verdocs-web-sdk/{p-2fc50938.system.entry.js → p-53530f64.system.entry.js} +2 -2
  233. package/dist/verdocs-web-sdk/{p-f1ca6e1c.system.entry.js → p-60cfa50a.system.entry.js} +2 -2
  234. package/dist/verdocs-web-sdk/{p-93e9df57.system.entry.js → p-641dbbfa.system.entry.js} +2 -2
  235. package/dist/verdocs-web-sdk/p-6c8883ff.entry.js +2 -0
  236. package/dist/verdocs-web-sdk/{p-8e8c0110.entry.js.map → p-6c8883ff.entry.js.map} +1 -1
  237. package/dist/verdocs-web-sdk/p-6d41df5d.system.entry.js +2 -0
  238. package/dist/verdocs-web-sdk/p-6d41df5d.system.entry.js.map +1 -0
  239. package/dist/verdocs-web-sdk/{p-8062bb99.entry.js → p-6d5af60f.entry.js} +2 -2
  240. package/dist/verdocs-web-sdk/{p-6038e4c1.system.entry.js → p-774961dc.system.entry.js} +2 -2
  241. package/dist/verdocs-web-sdk/{p-63c0f31d.system.entry.js → p-822694c1.system.entry.js} +2 -2
  242. package/dist/verdocs-web-sdk/{p-9b367391.system.entry.js → p-91316504.system.entry.js} +2 -2
  243. package/dist/verdocs-web-sdk/{p-0c24c1b8.entry.js → p-92b4f218.entry.js} +2 -2
  244. package/dist/verdocs-web-sdk/{p-adcbb1c2.entry.js → p-9586b268.entry.js} +2 -2
  245. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  246. package/dist/verdocs-web-sdk/{p-CC3ukJv1.system.js.map → p-BFC8G6sY.system.js.map} +1 -1
  247. package/dist/verdocs-web-sdk/{p-LGooaeHw.system.js.map → p-BJ0cUjeu.system.js.map} +1 -1
  248. package/dist/verdocs-web-sdk/{p-CRk-MpSX.system.js.map → p-BJx8Y9VG.system.js.map} +1 -1
  249. package/dist/verdocs-web-sdk/p-BUFQbxzf.system.js.map +1 -0
  250. package/dist/verdocs-web-sdk/{p-CWh-S6N5.system.js.map → p-BuHYXI2L.system.js.map} +1 -1
  251. package/dist/verdocs-web-sdk/{p-bS8INhRF.js → p-C7hFgM52.js} +2 -2
  252. package/dist/verdocs-web-sdk/{p-bS8INhRF.js.map → p-C7hFgM52.js.map} +1 -1
  253. package/dist/verdocs-web-sdk/p-C9JdpYtM.js +2 -0
  254. package/dist/verdocs-web-sdk/p-C9JdpYtM.js.map +1 -0
  255. package/dist/verdocs-web-sdk/{p-COM7km0I.system.js.map → p-CVmJ8lYI.system.js.map} +1 -1
  256. package/dist/verdocs-web-sdk/p-Cd268O-w.system.js.map +1 -0
  257. package/dist/verdocs-web-sdk/{p-C5U_96FD.system.js.map → p-CyPGia16.system.js.map} +1 -1
  258. package/dist/verdocs-web-sdk/p-DGti20Vc.system.js +2 -0
  259. package/dist/verdocs-web-sdk/p-DGti20Vc.system.js.map +1 -0
  260. package/dist/verdocs-web-sdk/{p-BcNo_mbk.system.js.map → p-DmQa-gqf.system.js.map} +1 -1
  261. package/dist/verdocs-web-sdk/{p-dY2me2i5.system.js.map → p-Dmc2VIXX.system.js.map} +1 -1
  262. package/dist/verdocs-web-sdk/p-H1Y4Zb4E.system.js.map +1 -0
  263. package/dist/verdocs-web-sdk/{p-C-5pmv-B.system.js.map → p-N4-IQ3Cb.system.js.map} +1 -1
  264. package/dist/verdocs-web-sdk/{p-wKFmf5bX.system.js.map → p-TQtp_Nv2.system.js.map} +1 -1
  265. package/dist/verdocs-web-sdk/{p-BvI8gTGk.system.js.map → p-WCWuCFHk.system.js.map} +1 -1
  266. package/dist/verdocs-web-sdk/{p-ESsv28K0.system.js.map → p-a51WVEiq.system.js.map} +1 -1
  267. package/dist/verdocs-web-sdk/{p-c0c4b822.entry.js → p-a7e0e67a.entry.js} +2 -2
  268. package/dist/verdocs-web-sdk/{p-267c890e.entry.js → p-ad41a644.entry.js} +2 -2
  269. package/dist/verdocs-web-sdk/{p-333d4a2e.system.entry.js → p-b7d907b4.system.entry.js} +2 -2
  270. package/dist/verdocs-web-sdk/p-b83472cd.system.entry.js +2 -0
  271. package/dist/verdocs-web-sdk/p-b83472cd.system.entry.js.map +1 -0
  272. package/dist/verdocs-web-sdk/{p-e4b13df9.system.entry.js → p-bcffad7a.system.entry.js} +3 -3
  273. package/dist/verdocs-web-sdk/{p-8d5c3516.entry.js → p-c7bfe2f1.entry.js} +2 -2
  274. package/dist/verdocs-web-sdk/p-d4e3efdb.system.entry.js +8 -0
  275. package/dist/verdocs-web-sdk/p-d4e3efdb.system.entry.js.map +1 -0
  276. package/dist/verdocs-web-sdk/{p-081b245d.system.entry.js → p-d52e6117.system.entry.js} +2 -2
  277. package/dist/verdocs-web-sdk/{p-0faa3e84.entry.js → p-e262ea96.entry.js} +2 -2
  278. package/dist/verdocs-web-sdk/{p-8b2d4ca5.entry.js → p-f7f33a99.entry.js} +3 -3
  279. package/dist/verdocs-web-sdk/{p-lEpx1l-p.system.js → p-fEbwslLK.system.js} +2 -2
  280. package/dist/verdocs-web-sdk/{p-lEpx1l-p.system.js.map → p-fEbwslLK.system.js.map} +1 -1
  281. package/dist/verdocs-web-sdk/{p-0fcfde01.entry.js → p-fc308ef0.entry.js} +3 -3
  282. package/dist/verdocs-web-sdk/p-fc308ef0.entry.js.map +1 -0
  283. package/dist/verdocs-web-sdk/{p-0-YdlCL1.system.js.map → p-x_N0ZS08.system.js.map} +1 -1
  284. package/dist/verdocs-web-sdk/{p-DFNdvv2j.system.js.map → p-yFbTWZrj.system.js.map} +1 -1
  285. package/dist/verdocs-web-sdk/{p-D1RF_rpl.system.js.map → p-yUsULl32.system.js.map} +1 -1
  286. package/dist/verdocs-web-sdk/verdocs-field-payment.entry.esm.js.map +1 -1
  287. package/dist/verdocs-web-sdk/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.esm.js.map +1 -1
  288. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  289. package/package.json +1 -1
  290. package/dist/cjs/utils-ecG41L2k.js.map +0 -1
  291. package/dist/components/p-BZRJWqKI.js.map +0 -1
  292. package/dist/components/p-Bafj7hI1.js.map +0 -1
  293. package/dist/components/p-By2QlfRC.js.map +0 -1
  294. package/dist/components/p-CFi6VKgU.js.map +0 -1
  295. package/dist/components/p-CWGxLuye.js.map +0 -1
  296. package/dist/components/p-CYRfkDZa.js.map +0 -1
  297. package/dist/components/p-CjDMm6od.js.map +0 -1
  298. package/dist/components/p-DLV8jNf8.js.map +0 -1
  299. package/dist/components/p-Dj_oFCRK.js.map +0 -1
  300. package/dist/components/p-Dpu4D5bv.js.map +0 -1
  301. package/dist/components/p-DzM2oGUr.js.map +0 -1
  302. package/dist/components/p-_cxVjdiK.js.map +0 -1
  303. package/dist/components/p-bS8INhRF.js.map +0 -1
  304. package/dist/components/p-tyY7kKNB.js.map +0 -1
  305. package/dist/esm/utils-CerrMWqr.js.map +0 -1
  306. package/dist/esm-es5/utils-CerrMWqr.js +0 -2
  307. package/dist/esm-es5/utils-CerrMWqr.js.map +0 -1
  308. package/dist/verdocs-web-sdk/p-0fcfde01.entry.js.map +0 -1
  309. package/dist/verdocs-web-sdk/p-2e4d6431.system.entry.js +0 -8
  310. package/dist/verdocs-web-sdk/p-2e4d6431.system.entry.js.map +0 -1
  311. package/dist/verdocs-web-sdk/p-6bbe3f73.system.entry.js +0 -2
  312. package/dist/verdocs-web-sdk/p-6bbe3f73.system.entry.js.map +0 -1
  313. package/dist/verdocs-web-sdk/p-8e8c0110.entry.js +0 -2
  314. package/dist/verdocs-web-sdk/p-B390zQJa.js +0 -2
  315. package/dist/verdocs-web-sdk/p-B390zQJa.js.map +0 -1
  316. package/dist/verdocs-web-sdk/p-Bb7iRsoQ.system.js.map +0 -1
  317. package/dist/verdocs-web-sdk/p-CT1VA0C-.system.js.map +0 -1
  318. package/dist/verdocs-web-sdk/p-CaEXyfjG.system.js.map +0 -1
  319. package/dist/verdocs-web-sdk/p-a6b008ef.entry.js +0 -2
  320. package/dist/verdocs-web-sdk/p-a6b008ef.entry.js.map +0 -1
  321. package/dist/verdocs-web-sdk/p-aaad7b8a.system.entry.js +0 -2
  322. package/dist/verdocs-web-sdk/p-aaad7b8a.system.entry.js.map +0 -1
  323. package/dist/verdocs-web-sdk/p-edc49225.entry.js.map +0 -1
  324. package/dist/verdocs-web-sdk/p-f589tneI.system.js +0 -2
  325. package/dist/verdocs-web-sdk/p-f589tneI.system.js.map +0 -1
  326. /package/dist/verdocs-web-sdk/{p-2ff00959.system.entry.js.map → p-032e8fb0.system.entry.js.map} +0 -0
  327. /package/dist/verdocs-web-sdk/{p-fe5aabfb.entry.js.map → p-04981f9f.entry.js.map} +0 -0
  328. /package/dist/verdocs-web-sdk/{p-7f7da7d6.system.entry.js.map → p-066eaea8.system.entry.js.map} +0 -0
  329. /package/dist/verdocs-web-sdk/{p-53be15dc.entry.js.map → p-0b59a4a5.entry.js.map} +0 -0
  330. /package/dist/verdocs-web-sdk/{p-8229308e.system.entry.js.map → p-107a1995.system.entry.js.map} +0 -0
  331. /package/dist/verdocs-web-sdk/{p-b04c507f.system.entry.js.map → p-1b5b8ffa.system.entry.js.map} +0 -0
  332. /package/dist/verdocs-web-sdk/{p-be9c544d.system.entry.js.map → p-2ba8c771.system.entry.js.map} +0 -0
  333. /package/dist/verdocs-web-sdk/{p-5ee3ef82.entry.js.map → p-311bb5b2.entry.js.map} +0 -0
  334. /package/dist/verdocs-web-sdk/{p-069169a7.entry.js.map → p-3202f0eb.entry.js.map} +0 -0
  335. /package/dist/verdocs-web-sdk/{p-64b9e2de.entry.js.map → p-3be22031.entry.js.map} +0 -0
  336. /package/dist/verdocs-web-sdk/{p-f4c4a49e.system.entry.js.map → p-4424623c.system.entry.js.map} +0 -0
  337. /package/dist/verdocs-web-sdk/{p-7a086c18.entry.js.map → p-4f820bee.entry.js.map} +0 -0
  338. /package/dist/verdocs-web-sdk/{p-2fc50938.system.entry.js.map → p-53530f64.system.entry.js.map} +0 -0
  339. /package/dist/verdocs-web-sdk/{p-f1ca6e1c.system.entry.js.map → p-60cfa50a.system.entry.js.map} +0 -0
  340. /package/dist/verdocs-web-sdk/{p-93e9df57.system.entry.js.map → p-641dbbfa.system.entry.js.map} +0 -0
  341. /package/dist/verdocs-web-sdk/{p-8062bb99.entry.js.map → p-6d5af60f.entry.js.map} +0 -0
  342. /package/dist/verdocs-web-sdk/{p-6038e4c1.system.entry.js.map → p-774961dc.system.entry.js.map} +0 -0
  343. /package/dist/verdocs-web-sdk/{p-63c0f31d.system.entry.js.map → p-822694c1.system.entry.js.map} +0 -0
  344. /package/dist/verdocs-web-sdk/{p-9b367391.system.entry.js.map → p-91316504.system.entry.js.map} +0 -0
  345. /package/dist/verdocs-web-sdk/{p-0c24c1b8.entry.js.map → p-92b4f218.entry.js.map} +0 -0
  346. /package/dist/verdocs-web-sdk/{p-adcbb1c2.entry.js.map → p-9586b268.entry.js.map} +0 -0
  347. /package/dist/verdocs-web-sdk/{p-c0c4b822.entry.js.map → p-a7e0e67a.entry.js.map} +0 -0
  348. /package/dist/verdocs-web-sdk/{p-267c890e.entry.js.map → p-ad41a644.entry.js.map} +0 -0
  349. /package/dist/verdocs-web-sdk/{p-333d4a2e.system.entry.js.map → p-b7d907b4.system.entry.js.map} +0 -0
  350. /package/dist/verdocs-web-sdk/{p-e4b13df9.system.entry.js.map → p-bcffad7a.system.entry.js.map} +0 -0
  351. /package/dist/verdocs-web-sdk/{p-8d5c3516.entry.js.map → p-c7bfe2f1.entry.js.map} +0 -0
  352. /package/dist/verdocs-web-sdk/{p-081b245d.system.entry.js.map → p-d52e6117.system.entry.js.map} +0 -0
  353. /package/dist/verdocs-web-sdk/{p-0faa3e84.entry.js.map → p-e262ea96.entry.js.map} +0 -0
  354. /package/dist/verdocs-web-sdk/{p-8b2d4ca5.entry.js.map → p-f7f33a99.entry.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, F as Fragment, g as getElement } from './index-BIRwgFLv.js';
2
2
  import { i as interact } from './interact.min-BepJAdBZ.js';
3
3
  import { S as SettingsIcon } from './Icons-BU5rnXp2.js';
4
- import { S as Store } from './Datastore-bS8INhRF.js';
4
+ import { S as Store } from './Datastore-C7hFgM52.js';
5
5
  import { d as dateFnsExports, r as requireFormat } from './index-dzBXqXlK.js';
6
6
  import { A as AirDatepicker, l as localeEn } from './en-bsV5YfOZ.js';
7
7
  import { VerdocsEndpoint, updateField } from '@verdocs/js-sdk';
@@ -104,12 +104,16 @@ const VerdocsFieldAttachment = class {
104
104
  settingsPanel.hidePanel();
105
105
  }
106
106
  }
107
- componentDidUpdate() {
108
- if (this.isPreview) {
107
+ onEditableChanged(newVal, oldVal) {
108
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
109
+ if (oldVal && !newVal) {
109
110
  interact(this.el).unset();
110
- return;
111
111
  }
112
112
  }
113
+ disconnectedCallback() {
114
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
115
+ interact(this.el).unset();
116
+ }
113
117
  handleShow() {
114
118
  this.dialogOpen = true;
115
119
  }
@@ -120,9 +124,9 @@ const VerdocsFieldAttachment = class {
120
124
  const signerClass = `signer-${(index % 10) + 1}`;
121
125
  const hasFile = value || !!this.selectedFile;
122
126
  if (done) {
123
- return (h(Host, { class: { done } }, h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon$1 })));
127
+ return (h(Host, { class: { 'verdocs-field': true, done } }, h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon$1 })));
124
128
  }
125
- return (h(Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon$1, onClick: () => !disabled && !readonly && this.handleShow() }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
129
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon$1, onClick: () => !disabled && !readonly && this.handleShow() }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
126
130
  e.stopPropagation();
127
131
  this.showingProperties = !this.showingProperties;
128
132
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -136,6 +140,9 @@ const VerdocsFieldAttachment = class {
136
140
  }, helpText: 'Attachments allow the user to attach their own documents (e.g. resumes or disclosures) to a signing flow.' }))))), this.dialogOpen && (h("verdocs-portal", null, h("verdocs-upload-dialog", { existingFile: settings, onNext: e => this.handleUploadNext(e), onRemove: e => this.handleUploadRemove(e), onExit: () => (this.dialogOpen = false) })))));
137
141
  }
138
142
  get el() { return getElement(this); }
143
+ static get watchers() { return {
144
+ "editable": ["onEditableChanged"]
145
+ }; }
139
146
  };
140
147
  VerdocsFieldAttachment.style = verdocsFieldAttachmentCss;
141
148
 
@@ -214,12 +221,16 @@ const VerdocsFieldCheckbox = class {
214
221
  settingsPanel.hidePanel();
215
222
  }
216
223
  }
217
- componentDidUpdate() {
218
- if (this.isPreview) {
224
+ onEditableChanged(newVal, oldVal) {
225
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
226
+ if (oldVal && !newVal) {
219
227
  interact(this.el).unset();
220
- return;
221
228
  }
222
229
  }
230
+ disconnectedCallback() {
231
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
232
+ interact(this.el).unset();
233
+ }
223
234
  render() {
224
235
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
225
236
  const { index, field } = Store.getField(source, sourceid, fieldname, this.field);
@@ -227,9 +238,9 @@ const VerdocsFieldCheckbox = class {
227
238
  const signerClass = `signer-${(index % 10) + 1}`;
228
239
  const checked = value === 'true';
229
240
  if (done) {
230
- return h(Host, { class: { done } }, checked ? '✓' : '☐');
241
+ return h(Host, { class: { 'verdocs-field': true, done } }, checked ? '✓' : '☐');
231
242
  }
232
- return (h(Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && h("div", { class: "label" }, label), h("label", { htmlFor: fieldname }, h("input", { id: fieldname, name: fieldname, type: "checkbox", checked: checked, disabled: readonly || disabled, required: required }), h("span", null), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
243
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && h("div", { class: "label" }, label), h("label", { htmlFor: fieldname }, h("input", { id: fieldname, name: fieldname, type: "checkbox", checked: checked, disabled: readonly || disabled, required: required }), h("span", null), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
233
244
  e.stopPropagation();
234
245
  this.showingProperties = !this.showingProperties;
235
246
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -243,6 +254,9 @@ const VerdocsFieldCheckbox = class {
243
254
  }, helpText: 'Check boxes allow the user to select one or more (non-exclusive) options.' }))))))));
244
255
  }
245
256
  get el() { return getElement(this); }
257
+ static get watchers() { return {
258
+ "editable": ["onEditableChanged"]
259
+ }; }
246
260
  };
247
261
  VerdocsFieldCheckbox.style = verdocsFieldCheckboxCss;
248
262
 
@@ -325,12 +339,16 @@ const VerdocsFieldDate = class {
325
339
  });
326
340
  }
327
341
  }
328
- componentDidUpdate() {
329
- if (this.isPreview) {
342
+ onEditableChanged(newVal, oldVal) {
343
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
344
+ if (oldVal && !newVal) {
330
345
  interact(this.el).unset();
331
- return;
332
346
  }
333
347
  }
348
+ disconnectedCallback() {
349
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
350
+ interact(this.el).unset();
351
+ }
334
352
  componentDidRender() {
335
353
  interact.dynamicDrop(true);
336
354
  if (this.editable) {
@@ -422,9 +440,9 @@ const VerdocsFieldDate = class {
422
440
  const small = height < 20 || width < 74;
423
441
  const formattedValue = value ? dateFnsExports.format(new Date(value), FORMAT_DATE) : '';
424
442
  if (this.done) {
425
- return h(Host, { class: { done } }, formattedValue);
443
+ return h(Host, { class: { 'verdocs-field': true, done } }, formattedValue);
426
444
  }
427
- return (h(Host, { class: { required, disabled, done, focused, small, [signerClass]: true } }, editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), h("input", { name: fieldname, class: "input-el", type: "text", value: formattedValue, id: this.containerId, placeholder: placeholder, disabled: readonly || disabled, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
445
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, small, [signerClass]: true } }, editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), h("input", { name: fieldname, class: "input-el", type: "text", value: formattedValue, id: this.containerId, placeholder: placeholder, disabled: readonly || disabled, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
428
446
  e.stopPropagation();
429
447
  this.showingProperties = !this.showingProperties;
430
448
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -438,6 +456,9 @@ const VerdocsFieldDate = class {
438
456
  }, helpText: 'Date fields allow the user to select a date.' })))))));
439
457
  }
440
458
  get el() { return getElement(this); }
459
+ static get watchers() { return {
460
+ "editable": ["onEditableChanged"]
461
+ }; }
441
462
  };
442
463
  VerdocsFieldDate.style = verdocsFieldDateCss;
443
464
 
@@ -527,12 +548,16 @@ const VerdocsFieldDropdown = class {
527
548
  settingsPanel.hidePanel();
528
549
  }
529
550
  }
530
- componentDidUpdate() {
531
- if (this.isPreview) {
551
+ onEditableChanged(newVal, oldVal) {
552
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
553
+ if (oldVal && !newVal) {
532
554
  interact(this.el).unset();
533
- return;
534
555
  }
535
556
  }
557
+ disconnectedCallback() {
558
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
559
+ interact(this.el).unset();
560
+ }
536
561
  render() {
537
562
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
538
563
  const { index, field } = Store.getField(source, sourceid, fieldname, this.field);
@@ -543,12 +568,12 @@ const VerdocsFieldDropdown = class {
543
568
  value = field === null || field === void 0 ? void 0 : field.value;
544
569
  }
545
570
  if (done) {
546
- return h(Host, { class: { done } }, value);
571
+ return h(Host, { class: { 'verdocs-field': true, done } }, value);
547
572
  }
548
573
  // TODO: Look for other places this mistaken assumption was made.
549
574
  // Defaults only apply in destructuring if undefined. null doesn't trigger it.
550
575
  options || (options = []);
551
- return (h(Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("select", { disabled: readonly || disabled, onChange: e => this.handleChange(e), onFocus: () => (this.focused = true), ref: el => (this.selectEl = el) }, h("option", { value: "" }, "Select..."), options.map(option => (h("option", { value: option.id, selected: option.id === value }, option.label))), !options.length && (h("option", { value: "NA", selected: 'NA' === value }, "N/A"))), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
576
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("select", { disabled: readonly || disabled, onChange: e => this.handleChange(e), onFocus: () => (this.focused = true), ref: el => (this.selectEl = el) }, h("option", { value: "" }, "Select..."), options.map(option => (h("option", { value: option.id, selected: option.id === value }, option.label))), !options.length && (h("option", { value: "NA", selected: 'NA' === value }, "N/A"))), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
552
577
  e.stopPropagation();
553
578
  this.showingProperties = !this.showingProperties;
554
579
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -562,6 +587,9 @@ const VerdocsFieldDropdown = class {
562
587
  }, helpText: "Dropdowns are used to capture a recipient's selection of one of several options." })))))));
563
588
  }
564
589
  get el() { return getElement(this); }
590
+ static get watchers() { return {
591
+ "editable": ["onEditableChanged"]
592
+ }; }
565
593
  };
566
594
  VerdocsFieldDropdown.style = verdocsFieldDropdownCss;
567
595
 
@@ -677,11 +705,13 @@ const VerdocsFieldInitial = class {
677
705
  document.removeEventListener('pointerdown', this.outsideMenuHandler);
678
706
  this.outsideMenuHandler = null;
679
707
  }
708
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
709
+ interact(this.el).unset();
680
710
  }
681
- componentDidUpdate() {
682
- if (this.isPreview) {
711
+ onEditableChanged(newVal, oldVal) {
712
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
713
+ if (oldVal && !newVal) {
683
714
  interact(this.el).unset();
684
- return;
685
715
  }
686
716
  }
687
717
  componentDidRender() {
@@ -776,9 +806,9 @@ const VerdocsFieldInitial = class {
776
806
  const signerClass = `signer-${(index % 10) + 1}`;
777
807
  const { base64 } = settings;
778
808
  if (done) {
779
- return h(Host, { class: { done } }, value && h("img", { src: value, alt: "Initial" }));
809
+ return h(Host, { class: { 'verdocs-field': true, done } }, value && h("img", { src: value, alt: "Initial" }));
780
810
  }
781
- return (h(Host, { class: { required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), base64 ? (h("div", { class: { 'initial-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
811
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), base64 ? (h("div", { class: { 'initial-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
782
812
  e.stopPropagation();
783
813
  if (disabled)
784
814
  return;
@@ -824,6 +854,9 @@ const VerdocsFieldInitial = class {
824
854
  }, helpText: "initial fields capture the recipient's initials on a clause or page." })))))));
825
855
  }
826
856
  get el() { return getElement(this); }
857
+ static get watchers() { return {
858
+ "editable": ["onEditableChanged"]
859
+ }; }
827
860
  };
828
861
  VerdocsFieldInitial.style = verdocsFieldInitialCss;
829
862
 
@@ -908,12 +941,16 @@ const VerdocsFieldRadio = class {
908
941
  settingsPanel.hidePanel();
909
942
  }
910
943
  }
911
- componentDidUpdate() {
912
- if (this.isPreview) {
944
+ onEditableChanged(newVal, oldVal) {
945
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
946
+ if (oldVal && !newVal) {
913
947
  interact(this.el).unset();
914
- return;
915
948
  }
916
949
  }
950
+ disconnectedCallback() {
951
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
952
+ interact(this.el).unset();
953
+ }
917
954
  render() {
918
955
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
919
956
  const { index, field } = Store.getField(source, sourceid, fieldname, this.field);
@@ -921,9 +958,9 @@ const VerdocsFieldRadio = class {
921
958
  const signerClass = `signer-${(index % 10) + 1}`;
922
959
  const selected = value === 'true';
923
960
  if (done) {
924
- return (h(Host, { class: { done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: selected ? RadioIconSelected : RadioIconUnselected })));
961
+ return (h(Host, { class: { 'verdocs-field': true, done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: selected ? RadioIconSelected : RadioIconUnselected })));
925
962
  }
926
- return (h(Host, { class: { required: this.required || required, disabled, done, focused, [signerClass]: true } }, label && h("div", { class: "label" }, label), editable && group && h("div", { class: "group" }, group), h("input", { id: fieldname, type: "radio", name: group || fieldname, value: name, checked: !!selected, disabled: readonly || disabled, required: required }), h("label", { htmlFor: fieldname }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
963
+ return (h(Host, { class: { 'verdocs-field': true, required: this.required || required, disabled, done, focused, [signerClass]: true } }, label && h("div", { class: "label" }, label), editable && group && h("div", { class: "group" }, group), h("input", { id: fieldname, type: "radio", name: group || fieldname, value: name, checked: !!selected, disabled: readonly || disabled, required: required }), h("label", { htmlFor: fieldname }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
927
964
  e.stopPropagation();
928
965
  this.showingProperties = !this.showingProperties;
929
966
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -937,6 +974,9 @@ const VerdocsFieldRadio = class {
937
974
  }, helpText: "Radio buttons capture the recipient's selection of just one of several related (exclusive) options." })))))));
938
975
  }
939
976
  get el() { return getElement(this); }
977
+ static get watchers() { return {
978
+ "editable": ["onEditableChanged"]
979
+ }; }
940
980
  };
941
981
  VerdocsFieldRadio.style = verdocsFieldRadioCss;
942
982
 
@@ -1054,11 +1094,13 @@ const VerdocsFieldSignature = class {
1054
1094
  document.removeEventListener('pointerdown', this.outsideMenuHandler);
1055
1095
  this.outsideMenuHandler = null;
1056
1096
  }
1097
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
1098
+ interact(this.el).unset();
1057
1099
  }
1058
- componentDidUpdate() {
1059
- if (this.isPreview) {
1100
+ onEditableChanged(newVal, oldVal) {
1101
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
1102
+ if (oldVal && !newVal) {
1060
1103
  interact(this.el).unset();
1061
- return;
1062
1104
  }
1063
1105
  }
1064
1106
  componentDidRender() {
@@ -1154,9 +1196,9 @@ const VerdocsFieldSignature = class {
1154
1196
  const { base64 } = settings;
1155
1197
  const signerClass = `signer-${(index % 10) + 1}`;
1156
1198
  if (done) {
1157
- return h(Host, { class: { done } }, value && h("img", { src: base64, alt: "" }));
1199
+ return h(Host, { class: { 'verdocs-field': true, done } }, value && h("img", { src: base64, alt: "" }));
1158
1200
  }
1159
- return (h(Host, { class: { required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), base64 ? (h("div", { class: { 'signature-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
1201
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), base64 ? (h("div", { class: { 'signature-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
1160
1202
  e.stopPropagation();
1161
1203
  if (disabled)
1162
1204
  return;
@@ -1202,6 +1244,9 @@ const VerdocsFieldSignature = class {
1202
1244
  }, helpText: "Signature fields capture a recipient's signature on a document." })))))));
1203
1245
  }
1204
1246
  get el() { return getElement(this); }
1247
+ static get watchers() { return {
1248
+ "editable": ["onEditableChanged"]
1249
+ }; }
1205
1250
  };
1206
1251
  VerdocsFieldSignature.style = verdocsFieldSignatureCss;
1207
1252
 
@@ -1286,12 +1331,16 @@ const VerdocsFieldTextarea = class {
1286
1331
  handleBlur() {
1287
1332
  this.focused = false;
1288
1333
  }
1289
- componentDidUpdate() {
1290
- if (this.isPreview) {
1334
+ onEditableChanged(newVal, oldVal) {
1335
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
1336
+ if (oldVal && !newVal) {
1291
1337
  interact(this.el).unset();
1292
- return;
1293
1338
  }
1294
1339
  }
1340
+ disconnectedCallback() {
1341
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
1342
+ interact(this.el).unset();
1343
+ }
1295
1344
  componentDidRender() {
1296
1345
  interact.dynamicDrop(true);
1297
1346
  if (this.editable) {
@@ -1347,9 +1396,9 @@ const VerdocsFieldTextarea = class {
1347
1396
  const { required = false, placeholder = '', value = '', label = '', readonly = false } = field || {};
1348
1397
  const signerClass = `signer-${(index % 10) + 1}`;
1349
1398
  if (done) {
1350
- return h(Host, { class: { done } }, value);
1399
+ return h(Host, { class: { 'verdocs-field': true, done } }, value);
1351
1400
  }
1352
- return (h(Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("textarea", { name: fieldname, required: required, placeholder: placeholder, disabled: readonly || disabled, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }, value), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
1401
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("textarea", { name: fieldname, required: required, placeholder: placeholder, disabled: readonly || disabled, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }, value), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
1353
1402
  e.stopPropagation();
1354
1403
  this.showingProperties = !this.showingProperties;
1355
1404
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -1363,6 +1412,9 @@ const VerdocsFieldTextarea = class {
1363
1412
  }, helpText: 'Text areas may be used to create multi-line text fields.' })))))));
1364
1413
  }
1365
1414
  get el() { return getElement(this); }
1415
+ static get watchers() { return {
1416
+ "editable": ["onEditableChanged"]
1417
+ }; }
1366
1418
  };
1367
1419
  VerdocsFieldTextarea.style = verdocsFieldTextareaCss;
1368
1420
 
@@ -1446,12 +1498,16 @@ const VerdocsFieldTextbox = class {
1446
1498
  }
1447
1499
  this.showingProperties = false;
1448
1500
  }
1449
- componentDidUpdate() {
1450
- if (this.isPreview) {
1501
+ onEditableChanged(newVal, oldVal) {
1502
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
1503
+ if (oldVal && !newVal) {
1451
1504
  interact(this.el).unset();
1452
- return;
1453
1505
  }
1454
1506
  }
1507
+ disconnectedCallback() {
1508
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
1509
+ interact(this.el).unset();
1510
+ }
1455
1511
  componentDidRender() {
1456
1512
  interact.dynamicDrop(true);
1457
1513
  if (this.editable) {
@@ -1536,9 +1592,9 @@ const VerdocsFieldTextbox = class {
1536
1592
  // TODO: This is an outdated technique from the old system. We should compute it.
1537
1593
  const maxlength = width / 5;
1538
1594
  if (done) {
1539
- return h(Host, { class: { done } }, value);
1595
+ return h(Host, { class: { 'verdocs-field': true, done } }, value);
1540
1596
  }
1541
- return (h(Host, { class: { required, disabled, done, focused, small, [signerClass]: true } }, editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), multiline ? (h("textarea", { name: fieldname, required: required, placeholder: placeholder, disabled: readonly || disabled, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }, value)) : (h("input", { type: "text", value: value, name: fieldname, required: required, maxlength: maxlength, placeholder: placeholder, disabled: readonly || disabled, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) })), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
1597
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, small, [signerClass]: true } }, editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), multiline ? (h("textarea", { name: fieldname, required: required, placeholder: placeholder, disabled: readonly || disabled, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }, value)) : (h("input", { type: "text", value: value, name: fieldname, required: required, maxlength: maxlength, placeholder: placeholder, disabled: readonly || disabled, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) })), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
1542
1598
  e.stopPropagation();
1543
1599
  this.showingProperties = !this.showingProperties;
1544
1600
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => this.hideSettingsPanel(), onDelete: () => {
@@ -1552,6 +1608,9 @@ const VerdocsFieldTextbox = class {
1552
1608
  }, helpText: 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the "name" field.<br /><br />If marked required, the participant must complete the field before proceeding.' })))))));
1553
1609
  }
1554
1610
  get el() { return getElement(this); }
1611
+ static get watchers() { return {
1612
+ "editable": ["onEditableChanged"]
1613
+ }; }
1555
1614
  };
1556
1615
  VerdocsFieldTextbox.style = verdocsFieldTextboxCss;
1557
1616
 
@@ -1633,10 +1692,16 @@ const VerdocsFieldTimestamp = class {
1633
1692
  }
1634
1693
  this.showingProperties = false;
1635
1694
  }
1636
- componentDidUpdate() {
1637
- if (this.isPreview) {
1695
+ onEditableChanged(newVal, oldVal) {
1696
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
1697
+ if (oldVal && !newVal && this.el) {
1698
+ interact(this.el).unset();
1699
+ }
1700
+ }
1701
+ disconnectedCallback() {
1702
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
1703
+ if (this.el) {
1638
1704
  interact(this.el).unset();
1639
- return;
1640
1705
  }
1641
1706
  }
1642
1707
  render() {
@@ -1646,9 +1711,9 @@ const VerdocsFieldTimestamp = class {
1646
1711
  const signerClass = `signer-${(index % 10) + 1}`;
1647
1712
  const formatted = formatExports.format(new Date(value || new Date().toISOString()), FORMAT_TIMESTAMP);
1648
1713
  if (done) {
1649
- return h(Host, { class: { done } }, formatted);
1714
+ return h(Host, { class: { 'verdocs-field': true, done } }, formatted);
1650
1715
  }
1651
- return (h(Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("input", { type: "text", placeholder: placeholder, value: formatted, disabled: true, ref: el => (this.el = el), onFocus: () => (this.focused = true) }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
1716
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("input", { type: "text", placeholder: placeholder, value: formatted, disabled: true, ref: el => (this.el = el), onFocus: () => (this.focused = true) }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
1652
1717
  e.stopPropagation();
1653
1718
  this.showingProperties = !this.showingProperties;
1654
1719
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => this.hideSettingsPanel(), onDelete: () => {
@@ -1661,6 +1726,9 @@ const VerdocsFieldTimestamp = class {
1661
1726
  return this.hideSettingsPanel();
1662
1727
  }, helpText: 'Time stamps are automatically set when the recipient signs the document.' })))))));
1663
1728
  }
1729
+ static get watchers() { return {
1730
+ "editable": ["onEditableChanged"]
1731
+ }; }
1664
1732
  };
1665
1733
  VerdocsFieldTimestamp.style = verdocsFieldTimestampCss;
1666
1734
 
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-BIRwgFLv.js';
2
2
  import { i as interact } from './interact.min-BepJAdBZ.js';
3
3
  import { S as SettingsIcon } from './Icons-BU5rnXp2.js';
4
- import { S as Store } from './Datastore-bS8INhRF.js';
4
+ import { S as Store } from './Datastore-C7hFgM52.js';
5
5
  import './_commonjsHelpers-BFTU3MAI.js';
6
6
  import '@verdocs/js-sdk';
7
7
 
@@ -82,12 +82,6 @@ const VerdocsFieldPayment = class {
82
82
  }
83
83
  }
84
84
  }
85
- componentDidUpdate() {
86
- if (this.isPreview) {
87
- interact(this.el).unset();
88
- return;
89
- }
90
- }
91
85
  async focusField() {
92
86
  this.el.focus();
93
87
  this.focused = true;
@@ -104,6 +98,16 @@ const VerdocsFieldPayment = class {
104
98
  settingsPanel.hidePanel();
105
99
  }
106
100
  }
101
+ onEditableChanged(newVal, oldVal) {
102
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
103
+ if (oldVal && !newVal) {
104
+ interact(this.el).unset();
105
+ }
106
+ }
107
+ disconnectedCallback() {
108
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
109
+ interact(this.el).unset();
110
+ }
107
111
  render() {
108
112
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
109
113
  const { index, field } = Store.getField(source, sourceid, fieldname, this.field);
@@ -112,9 +116,9 @@ const VerdocsFieldPayment = class {
112
116
  return h(Fragment, null);
113
117
  }
114
118
  if (done) {
115
- return h(Host, { class: { done } }, "$\u2713");
119
+ return h(Host, { class: { 'verdocs-field': true, done } }, "$\u2713");
116
120
  }
117
- return (h(Host, { class: { focused, disabled, [signerClass]: true } }, h("button", { class: { hide: this.signed } }, "$"), this.signed ? h("div", { class: "frame" }) : h("div", { style: { display: 'none' } }), h("img", { width: "100%", height: "100%", src: this.signatureUrl, alt: "Payment Icon" }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
121
+ return (h(Host, { class: { 'verdocs-field': true, focused, disabled, [signerClass]: true } }, h("button", { class: { hide: this.signed } }, "$"), this.signed ? h("div", { class: "frame" }) : h("div", { style: { display: 'none' } }), h("img", { width: "100%", height: "100%", src: this.signatureUrl, alt: "Payment Icon" }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
118
122
  e.stopPropagation();
119
123
  this.showingProperties = !this.showingProperties;
120
124
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -128,6 +132,9 @@ const VerdocsFieldPayment = class {
128
132
  }, helpText: 'Check boxes allow the user to select one or more (non-exclusive) options.' })))))));
129
133
  }
130
134
  get el() { return getElement(this); }
135
+ static get watchers() { return {
136
+ "editable": ["onEditableChanged"]
137
+ }; }
131
138
  };
132
139
  VerdocsFieldPayment.style = verdocsFieldPaymentCss;
133
140
 
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-field-payment.entry.js","sources":["src/components/fields/verdocs-field-payment/verdocs-field-payment.scss?tag=verdocs-field-payment","src/components/fields/verdocs-field-payment/verdocs-field-payment.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-payment {\n font-family: $verdocs-primary-font;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n border: 1px solid #cfa;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n button,\n div {\n box-sizing: border-box;\n }\n\n button {\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n //background-color: rgba(225, 255, 255, 0.5);\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n input {\n float: left;\n font-family: Arial, sans-serif;\n }\n\n select {\n position: absolute;\n font-family: Arial, sans-serif;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 4px,\n calc(100% - 3px) 4px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n }\n\n .frame {\n width: 100%;\n height: 100%;\n background-size: contain;\n text-align: left;\n\n img {\n position: absolute;\n height: auto;\n width: 100%;\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n","import interact from 'interactjs';\nimport {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Method, Fragment, Element, Listen} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-payment',\n styleUrl: 'verdocs-field-payment.scss',\n shadow: false,\n})\nexport class VerdocsFieldPayment {\n @Element() el: HTMLElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set to true, it will force interact to unset the el, resulting in no dragging the field.\n */\n @Prop({reflect: true}) isPreview?: boolean;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused = false;\n\n @Listen('blur')\n handleBlur() {\n this.focused = false;\n }\n\n @Prop() fields: any[];\n @Prop() pageNum: number;\n @Prop() roleName: string;\n @Prop() fieldId: string;\n @Prop() recipients: any;\n @Prop() selectedRoleName: string;\n @Prop() pdfPages: any[];\n @Prop() currentSignature: string;\n @Prop() currentSignatureId: string;\n @Prop() currentInitial: string;\n @Prop() currentInitialId: string;\n @Prop() signed: boolean = false;\n\n @State() preparedMessage: string;\n @State() signatureUrl: string = '';\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n mode: string;\n\n componentWillLoad() {\n // Load validators\n // Load fields\n // Get role names\n if (this.recipients && this.recipients.length > 0) {\n const preparer = this.recipients.find((r: any) => r.type === 'preparer');\n console.log('Found preparer', preparer);\n if (preparer) {\n this.preparedMessage = `Prepared by ${preparer['full_name']}`;\n }\n }\n }\n\n componentDidUpdate() {\n if (this.isPreview) {\n interact(this.el).unset();\n return;\n }\n }\n\n @Method()\n async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const signerClass = `signer-${(index % 10) + 1}`;\n\n if (!field) {\n return <Fragment />;\n }\n\n if (done) {\n return <Host class={{done}}>$✓</Host>;\n }\n\n return (\n <Host class={{focused, disabled, [signerClass]: true}}>\n <button class={{hide: this.signed}}>$</button>\n {this.signed ? <div class=\"frame\" /> : <div style={{display: 'none'}} />}\n <img width=\"100%\" height=\"100%\" src={this.signatureUrl} alt=\"Payment Icon\" />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={field.name}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Check boxes allow the user to select one or more (non-exclusive) options.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,sBAAsB,GAAG,yjDAAyjD;;MCe3kD,mBAAmB,GAAA,MAAA;AALhC,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAQE;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAA4B,UAAU;AAEnE;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE;AAE5C;;AAEG;AACoB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE;AAE7C;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAsC,IAAI;AAOvD;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAI,CAAA,IAAA,GAAa,KAAK;AAE7C;;;AAGG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAAY,CAAC;AAE1C;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAAY,CAAC;AAE1C;;AAEG;AACoB,QAAA,IAAU,CAAA,UAAA,GAAY,CAAC;AAYrC,QAAA,IAAiB,CAAA,iBAAA,GAAa,KAAK;AACnC,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAkBhB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAGtB,QAAA,IAAY,CAAA,YAAA,GAAW,EAAE;AAElC;;AAEG;AACK,QAAA,IAAS,CAAA,SAAA,GAAY,CAAC;AAsG/B;IA7HC,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;IA0BtB,iBAAiB,GAAA;;;;AAIf,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AACxE,YAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC;YACvC,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,eAAe,GAAG,CAAA,YAAA,EAAe,QAAQ,CAAC,WAAW,CAAC,CAAA,CAAE;;;;IAKnE,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;YACzB;;;AAKJ,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;AAIrB,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAA0B,uBAAA,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,CAAQ;AAChG,QAAA,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE;YAC5C,aAAa,CAAC,SAAS,EAAE;;;AAK7B,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAA0B,uBAAA,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,CAAQ;AAChG,QAAA,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE;YAC5C,aAAa,CAAC,SAAS,EAAE;;;IAI7B,MAAM,GAAA;AACJ,QAAA,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAC,GAAG,IAAI;QAE7H,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;QAC9E,MAAM,WAAW,GAAG,CAAA,OAAA,EAAU,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,CAAA,CAAE;QAEhD,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,CAAA,CAAC,QAAQ,EAAA,IAAA,CAAG;;QAGrB,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,CAAA,CAAC,IAAI,EAAC,EAAA,KAAK,EAAE,EAAC,IAAI,EAAC,EAAA,EAAA,SAAA,CAAW;;AAGvC,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,KAAK,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,WAAW,GAAG,IAAI,EAAC,EAAA,EACnD,CAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAC,EAAY,EAAA,GAAA,CAAA,EAC7C,IAAI,CAAC,MAAM,GAAG,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,CAAG,GAAG,WAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,EAAI,CAAA,EACxE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,cAAc,EAAG,CAAA,EAE5E,QAAQ,KACP,CAAA,CAAC,QAAQ,EAAA,IAAA,EACP,CACE,CAAA,KAAA,EAAA,EAAA,EAAE,EAAE,CAAkC,+BAAA,EAAA,SAAS,CAAE,CAAA,EACjD,KAAK,EAAE,EAAC,SAAS,EAAE,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAK,EAAA,EAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAA,CAAA,CAAG,EAAC,EACjH,KAAK,EAAC,eAAe,EACrB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,CAAC,CAAM,KAAI;gBAClB,CAAC,CAAC,eAAe,EAAE;AACnB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB;AAClD,aAAC,EACD,CAAA,EAED,IAAI,CAAC,iBAAiB,KACrB,CAAA,CAAA,gBAAA,EAAA,EAAgB,MAAM,EAAE,CAAkC,+BAAA,EAAA,KAAK,CAAC,IAAI,CAAE,CAAA,EAAE,WAAW,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,EAAA,EACzH,CACE,CAAA,mCAAA,EAAA,EAAA,UAAU,EAAE,QAAQ,EACpB,SAAS,EAAE,KAAK,CAAC,IAAI,EACrB,OAAO,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,EAC/C,QAAQ,EAAE,MAAK;;AACb,gBAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC;AAC1C,gBAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;AACjC,aAAC,EACD,iBAAiB,EAAE,CAAC,IAAG;;AACrB,gBAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACpC,gBAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;AACjC,aAAC,EACD,QAAQ,EAAE,2EAA2E,EAAA,CACrF,CACa,CAClB,CACQ,CACZ,CACI;;;;;;;;"}
1
+ {"version":3,"file":"verdocs-field-payment.entry.js","sources":["src/components/fields/verdocs-field-payment/verdocs-field-payment.scss?tag=verdocs-field-payment","src/components/fields/verdocs-field-payment/verdocs-field-payment.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-payment {\n font-family: $verdocs-primary-font;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n border: 1px solid #cfa;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n button,\n div {\n box-sizing: border-box;\n }\n\n button {\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n //background-color: rgba(225, 255, 255, 0.5);\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n input {\n float: left;\n font-family: Arial, sans-serif;\n }\n\n select {\n position: absolute;\n font-family: Arial, sans-serif;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 4px,\n calc(100% - 3px) 4px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n }\n\n .frame {\n width: 100%;\n height: 100%;\n background-size: contain;\n text-align: left;\n\n img {\n position: absolute;\n height: auto;\n width: 100%;\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n","import interact from 'interactjs';\nimport {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Method, Fragment, Element, Listen, Watch} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-payment',\n styleUrl: 'verdocs-field-payment.scss',\n shadow: false,\n})\nexport class VerdocsFieldPayment {\n @Element() el: HTMLElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set to true, it will force interact to unset the el, resulting in no dragging the field.\n */\n @Prop({reflect: true}) isPreview?: boolean;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused = false;\n\n @Listen('blur')\n handleBlur() {\n this.focused = false;\n }\n\n @Prop() fields: any[];\n @Prop() pageNum: number;\n @Prop() roleName: string;\n @Prop() fieldId: string;\n @Prop() recipients: any;\n @Prop() selectedRoleName: string;\n @Prop() pdfPages: any[];\n @Prop() currentSignature: string;\n @Prop() currentSignatureId: string;\n @Prop() currentInitial: string;\n @Prop() currentInitialId: string;\n @Prop() signed: boolean = false;\n\n @State() preparedMessage: string;\n @State() signatureUrl: string = '';\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n mode: string;\n\n componentWillLoad() {\n // Load validators\n // Load fields\n // Get role names\n if (this.recipients && this.recipients.length > 0) {\n const preparer = this.recipients.find((r: any) => r.type === 'preparer');\n console.log('Found preparer', preparer);\n if (preparer) {\n this.preparedMessage = `Prepared by ${preparer['full_name']}`;\n }\n }\n }\n\n @Method()\n async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n @Watch('editable')\n onEditableChanged(newVal: boolean, oldVal: boolean) {\n // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings\n if (oldVal && !newVal) {\n interact(this.el).unset();\n }\n }\n\n disconnectedCallback() {\n // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere\n interact(this.el).unset();\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const signerClass = `signer-${(index % 10) + 1}`;\n\n if (!field) {\n return <Fragment />;\n }\n\n if (done) {\n return <Host class={{'verdocs-field': true,done}}>$✓</Host>;\n }\n\n return (\n <Host class={{'verdocs-field': true,focused, disabled, [signerClass]: true}}>\n <button class={{hide: this.signed}}>$</button>\n {this.signed ? <div class=\"frame\" /> : <div style={{display: 'none'}} />}\n <img width=\"100%\" height=\"100%\" src={this.signatureUrl} alt=\"Payment Icon\" />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={field.name}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Check boxes allow the user to select one or more (non-exclusive) options.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,sBAAsB,GAAG,yjDAAyjD;;MCe3kD,mBAAmB,GAAA,MAAA;AALhC,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAQE;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAA4B,UAAU;AAEnE;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE;AAE5C;;AAEG;AACoB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE;AAE7C;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAsC,IAAI;AAOvD;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAI,CAAA,IAAA,GAAa,KAAK;AAE7C;;;AAGG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAAY,CAAC;AAE1C;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAAY,CAAC;AAE1C;;AAEG;AACoB,QAAA,IAAU,CAAA,UAAA,GAAY,CAAC;AAYrC,QAAA,IAAiB,CAAA,iBAAA,GAAa,KAAK;AACnC,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAkBhB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAGtB,QAAA,IAAY,CAAA,YAAA,GAAW,EAAE;AAElC;;AAEG;AACK,QAAA,IAAS,CAAA,SAAA,GAAY,CAAC;AA4G/B;IAnIC,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;IA0BtB,iBAAiB,GAAA;;;;AAIf,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AACxE,YAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC;YACvC,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,eAAe,GAAG,CAAA,YAAA,EAAe,QAAQ,CAAC,WAAW,CAAC,CAAA,CAAE;;;;AAMnE,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;AAIrB,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAA0B,uBAAA,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,CAAQ;AAChG,QAAA,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE;YAC5C,aAAa,CAAC,SAAS,EAAE;;;AAK7B,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAA0B,uBAAA,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,CAAQ;AAChG,QAAA,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE;YAC5C,aAAa,CAAC,SAAS,EAAE;;;IAK7B,iBAAiB,CAAC,MAAe,EAAE,MAAe,EAAA;;AAEhD,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;;;IAI7B,oBAAoB,GAAA;;QAElB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;;IAG3B,MAAM,GAAA;AACJ,QAAA,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAC,GAAG,IAAI;QAE7H,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;QAC9E,MAAM,WAAW,GAAG,CAAA,OAAA,EAAU,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,CAAA,CAAE;QAEhD,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,CAAA,CAAC,QAAQ,EAAA,IAAA,CAAG;;QAGrB,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,CAAC,CAAA,IAAI,EAAC,EAAA,KAAK,EAAE,EAAC,eAAe,EAAE,IAAI,EAAC,IAAI,EAAC,cAAW;;AAG7D,QAAA,QACE,EAAC,IAAI,EAAA,EAAC,KAAK,EAAE,EAAC,eAAe,EAAE,IAAI,EAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,WAAW,GAAG,IAAI,EAAC,EAAA,EACzE,CAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAC,EAAY,EAAA,GAAA,CAAA,EAC7C,IAAI,CAAC,MAAM,GAAG,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,CAAG,GAAG,WAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,EAAI,CAAA,EACxE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,cAAc,EAAG,CAAA,EAE5E,QAAQ,KACP,CAAA,CAAC,QAAQ,EAAA,IAAA,EACP,CACE,CAAA,KAAA,EAAA,EAAA,EAAE,EAAE,CAAA,+BAAA,EAAkC,SAAS,CAAA,CAAE,EACjD,KAAK,EAAE,EAAC,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAA,EAAA,EAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAC,EACjH,KAAK,EAAC,eAAe,EACrB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,CAAC,CAAM,KAAI;gBAClB,CAAC,CAAC,eAAe,EAAE;AACnB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB;AAClD,aAAC,EACD,CAAA,EAED,IAAI,CAAC,iBAAiB,KACrB,CAAA,CAAA,gBAAA,EAAA,EAAgB,MAAM,EAAE,CAAkC,+BAAA,EAAA,KAAK,CAAC,IAAI,CAAE,CAAA,EAAE,WAAW,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,EAAA,EACzH,CACE,CAAA,mCAAA,EAAA,EAAA,UAAU,EAAE,QAAQ,EACpB,SAAS,EAAE,KAAK,CAAC,IAAI,EACrB,OAAO,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,EAC/C,QAAQ,EAAE,MAAK;;AACb,gBAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC;AAC1C,gBAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;AACjC,aAAC,EACD,iBAAiB,EAAE,CAAC,IAAG;;AACrB,gBAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACpC,gBAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;AACjC,aAAC,EACD,QAAQ,EAAE,2EAA2E,EAAA,CACrF,CACa,CAClB,CACQ,CACZ,CACI;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-BIRwgFLv.js';
2
2
  import { VerdocsEndpoint, getTemplate, updateTemplateRole, deleteTemplateRole, isValidEmail } from '@verdocs/js-sdk';
3
3
  import { S as SDKError } from './errors-C1sRVZWv.js';
4
- import { S as Store } from './Datastore-bS8INhRF.js';
4
+ import { S as Store } from './Datastore-C7hFgM52.js';
5
5
 
6
6
  const verdocsMenuPanelCss = "#verdocs-menu-panel-overlay{top:0;left:0;width:100%;height:100%;z-index:10000;position:fixed;background-color:rgba(0, 0, 0, 0.4980392157)}#verdocs-menu-panel{opacity:0;z-index:10001;position:fixed;overflow-y:scroll;background-color:#ffffff;font-family:var(--verdocs-primary-font, \"Inter\", \"Barlow\", sans-serif);-webkit-animation:showVerdocsMenuPanel 0.35s;-webkit-animation-fill-mode:forwards}@-webkit-keyframes showVerdocsMenuPanel{0%{opacity:0;right:-300px}100%{right:0;opacity:1}}";
7
7
 
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-BIRwgFLv.js';
2
2
  import { integerSequence } from '@verdocs/js-sdk';
3
- import { c as renderedTextWidth } from './utils-CerrMWqr.js';
3
+ import { c as renderedTextWidth } from './utils-CPSY5rft.js';
4
4
  import { c as createPopper } from './popper-BfP9ezJQ.js';
5
5
  import './index-dzBXqXlK.js';
6
6
  import './Types-BqoC0yeA.js';