@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
@@ -3,7 +3,7 @@
3
3
  var index = require('./index-CQ5bTnED.js');
4
4
  var interact_min = require('./interact.min-BAnZvLwr.js');
5
5
  var Icons = require('./Icons-TVvtZ5iL.js');
6
- var Datastore = require('./Datastore-B-sxWSPD.js');
6
+ var Datastore = require('./Datastore-C-Pojt3E.js');
7
7
  var index$1 = require('./index-CeUF44L9.js');
8
8
  var en = require('./en-DyXpAt1T.js');
9
9
  var jsSdk = require('@verdocs/js-sdk');
@@ -106,12 +106,16 @@ const VerdocsFieldAttachment = class {
106
106
  settingsPanel.hidePanel();
107
107
  }
108
108
  }
109
- componentDidUpdate() {
110
- if (this.isPreview) {
109
+ onEditableChanged(newVal, oldVal) {
110
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
111
+ if (oldVal && !newVal) {
111
112
  interact_min.interact(this.el).unset();
112
- return;
113
113
  }
114
114
  }
115
+ disconnectedCallback() {
116
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
117
+ interact_min.interact(this.el).unset();
118
+ }
115
119
  handleShow() {
116
120
  this.dialogOpen = true;
117
121
  }
@@ -122,9 +126,9 @@ const VerdocsFieldAttachment = class {
122
126
  const signerClass = `signer-${(index$1 % 10) + 1}`;
123
127
  const hasFile = value || !!this.selectedFile;
124
128
  if (done) {
125
- return (index.h(index.Host, { class: { done } }, index.h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon$1 })));
129
+ return (index.h(index.Host, { class: { 'verdocs-field': true, done } }, index.h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon$1 })));
126
130
  }
127
- return (index.h(index.Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && index.h("label", null, label), index.h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon$1, onClick: () => !disabled && !readonly && this.handleShow() }), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
131
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && index.h("label", null, label), index.h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon$1, onClick: () => !disabled && !readonly && this.handleShow() }), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
128
132
  e.stopPropagation();
129
133
  this.showingProperties = !this.showingProperties;
130
134
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -138,6 +142,9 @@ const VerdocsFieldAttachment = class {
138
142
  }, helpText: 'Attachments allow the user to attach their own documents (e.g. resumes or disclosures) to a signing flow.' }))))), this.dialogOpen && (index.h("verdocs-portal", null, index.h("verdocs-upload-dialog", { existingFile: settings, onNext: e => this.handleUploadNext(e), onRemove: e => this.handleUploadRemove(e), onExit: () => (this.dialogOpen = false) })))));
139
143
  }
140
144
  get el() { return index.getElement(this); }
145
+ static get watchers() { return {
146
+ "editable": ["onEditableChanged"]
147
+ }; }
141
148
  };
142
149
  VerdocsFieldAttachment.style = verdocsFieldAttachmentCss;
143
150
 
@@ -216,12 +223,16 @@ const VerdocsFieldCheckbox = class {
216
223
  settingsPanel.hidePanel();
217
224
  }
218
225
  }
219
- componentDidUpdate() {
220
- if (this.isPreview) {
226
+ onEditableChanged(newVal, oldVal) {
227
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
228
+ if (oldVal && !newVal) {
221
229
  interact_min.interact(this.el).unset();
222
- return;
223
230
  }
224
231
  }
232
+ disconnectedCallback() {
233
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
234
+ interact_min.interact(this.el).unset();
235
+ }
225
236
  render() {
226
237
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
227
238
  const { index: index$1, field } = Datastore.Store.getField(source, sourceid, fieldname, this.field);
@@ -229,9 +240,9 @@ const VerdocsFieldCheckbox = class {
229
240
  const signerClass = `signer-${(index$1 % 10) + 1}`;
230
241
  const checked = value === 'true';
231
242
  if (done) {
232
- return index.h(index.Host, { class: { done } }, checked ? '✓' : '☐');
243
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, checked ? '✓' : '☐');
233
244
  }
234
- return (index.h(index.Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && index.h("div", { class: "label" }, label), index.h("label", { htmlFor: fieldname }, index.h("input", { id: fieldname, name: fieldname, type: "checkbox", checked: checked, disabled: readonly || disabled, required: required }), index.h("span", null), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
245
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && index.h("div", { class: "label" }, label), index.h("label", { htmlFor: fieldname }, index.h("input", { id: fieldname, name: fieldname, type: "checkbox", checked: checked, disabled: readonly || disabled, required: required }), index.h("span", null), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
235
246
  e.stopPropagation();
236
247
  this.showingProperties = !this.showingProperties;
237
248
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -245,6 +256,9 @@ const VerdocsFieldCheckbox = class {
245
256
  }, helpText: 'Check boxes allow the user to select one or more (non-exclusive) options.' }))))))));
246
257
  }
247
258
  get el() { return index.getElement(this); }
259
+ static get watchers() { return {
260
+ "editable": ["onEditableChanged"]
261
+ }; }
248
262
  };
249
263
  VerdocsFieldCheckbox.style = verdocsFieldCheckboxCss;
250
264
 
@@ -327,12 +341,16 @@ const VerdocsFieldDate = class {
327
341
  });
328
342
  }
329
343
  }
330
- componentDidUpdate() {
331
- if (this.isPreview) {
344
+ onEditableChanged(newVal, oldVal) {
345
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
346
+ if (oldVal && !newVal) {
332
347
  interact_min.interact(this.el).unset();
333
- return;
334
348
  }
335
349
  }
350
+ disconnectedCallback() {
351
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
352
+ interact_min.interact(this.el).unset();
353
+ }
336
354
  componentDidRender() {
337
355
  interact_min.interact.dynamicDrop(true);
338
356
  if (this.editable) {
@@ -424,9 +442,9 @@ const VerdocsFieldDate = class {
424
442
  const small = height < 20 || width < 74;
425
443
  const formattedValue = value ? index$1.dateFnsExports.format(new Date(value), Types.FORMAT_DATE) : '';
426
444
  if (this.done) {
427
- return index.h(index.Host, { class: { done } }, formattedValue);
445
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, formattedValue);
428
446
  }
429
- return (index.h(index.Host, { class: { required, disabled, done, focused, small, [signerClass]: true } }, editable && index.h("div", { class: "edge-top" }), editable && index.h("div", { class: "edge-right" }), editable && index.h("div", { class: "edge-left" }), editable && index.h("div", { class: "edge-bottom" }), label && index.h("label", null, label), index.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 && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
447
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, small, [signerClass]: true } }, editable && index.h("div", { class: "edge-top" }), editable && index.h("div", { class: "edge-right" }), editable && index.h("div", { class: "edge-left" }), editable && index.h("div", { class: "edge-bottom" }), label && index.h("label", null, label), index.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 && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
430
448
  e.stopPropagation();
431
449
  this.showingProperties = !this.showingProperties;
432
450
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -440,6 +458,9 @@ const VerdocsFieldDate = class {
440
458
  }, helpText: 'Date fields allow the user to select a date.' })))))));
441
459
  }
442
460
  get el() { return index.getElement(this); }
461
+ static get watchers() { return {
462
+ "editable": ["onEditableChanged"]
463
+ }; }
443
464
  };
444
465
  VerdocsFieldDate.style = verdocsFieldDateCss;
445
466
 
@@ -529,12 +550,16 @@ const VerdocsFieldDropdown = class {
529
550
  settingsPanel.hidePanel();
530
551
  }
531
552
  }
532
- componentDidUpdate() {
533
- if (this.isPreview) {
553
+ onEditableChanged(newVal, oldVal) {
554
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
555
+ if (oldVal && !newVal) {
534
556
  interact_min.interact(this.el).unset();
535
- return;
536
557
  }
537
558
  }
559
+ disconnectedCallback() {
560
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
561
+ interact_min.interact(this.el).unset();
562
+ }
538
563
  render() {
539
564
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
540
565
  const { index: index$1, field } = Datastore.Store.getField(source, sourceid, fieldname, this.field);
@@ -545,12 +570,12 @@ const VerdocsFieldDropdown = class {
545
570
  value = field === null || field === void 0 ? void 0 : field.value;
546
571
  }
547
572
  if (done) {
548
- return index.h(index.Host, { class: { done } }, value);
573
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, value);
549
574
  }
550
575
  // TODO: Look for other places this mistaken assumption was made.
551
576
  // Defaults only apply in destructuring if undefined. null doesn't trigger it.
552
577
  options || (options = []);
553
- return (index.h(index.Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && index.h("label", null, label), index.h("select", { disabled: readonly || disabled, onChange: e => this.handleChange(e), onFocus: () => (this.focused = true), ref: el => (this.selectEl = el) }, index.h("option", { value: "" }, "Select..."), options.map(option => (index.h("option", { value: option.id, selected: option.id === value }, option.label))), !options.length && (index.h("option", { value: "NA", selected: 'NA' === value }, "N/A"))), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
578
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && index.h("label", null, label), index.h("select", { disabled: readonly || disabled, onChange: e => this.handleChange(e), onFocus: () => (this.focused = true), ref: el => (this.selectEl = el) }, index.h("option", { value: "" }, "Select..."), options.map(option => (index.h("option", { value: option.id, selected: option.id === value }, option.label))), !options.length && (index.h("option", { value: "NA", selected: 'NA' === value }, "N/A"))), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
554
579
  e.stopPropagation();
555
580
  this.showingProperties = !this.showingProperties;
556
581
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -564,6 +589,9 @@ const VerdocsFieldDropdown = class {
564
589
  }, helpText: "Dropdowns are used to capture a recipient's selection of one of several options." })))))));
565
590
  }
566
591
  get el() { return index.getElement(this); }
592
+ static get watchers() { return {
593
+ "editable": ["onEditableChanged"]
594
+ }; }
567
595
  };
568
596
  VerdocsFieldDropdown.style = verdocsFieldDropdownCss;
569
597
 
@@ -679,11 +707,13 @@ const VerdocsFieldInitial = class {
679
707
  document.removeEventListener('pointerdown', this.outsideMenuHandler);
680
708
  this.outsideMenuHandler = null;
681
709
  }
710
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
711
+ interact_min.interact(this.el).unset();
682
712
  }
683
- componentDidUpdate() {
684
- if (this.isPreview) {
713
+ onEditableChanged(newVal, oldVal) {
714
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
715
+ if (oldVal && !newVal) {
685
716
  interact_min.interact(this.el).unset();
686
- return;
687
717
  }
688
718
  }
689
719
  componentDidRender() {
@@ -778,9 +808,9 @@ const VerdocsFieldInitial = class {
778
808
  const signerClass = `signer-${(index$1 % 10) + 1}`;
779
809
  const { base64 } = settings;
780
810
  if (done) {
781
- return index.h(index.Host, { class: { done } }, value && index.h("img", { src: value, alt: "Initial" }));
811
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, value && index.h("img", { src: value, alt: "Initial" }));
782
812
  }
783
- return (index.h(index.Host, { class: { required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && index.h("div", { class: "edge-right" }), editable && index.h("div", { class: "edge-left" }), editable && index.h("div", { class: "edge-top" }), editable && index.h("div", { class: "edge-bottom" }), label && index.h("label", null, label), base64 ? (index.h("div", { class: { 'initial-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
813
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && index.h("div", { class: "edge-right" }), editable && index.h("div", { class: "edge-left" }), editable && index.h("div", { class: "edge-top" }), editable && index.h("div", { class: "edge-bottom" }), label && index.h("label", null, label), base64 ? (index.h("div", { class: { 'initial-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
784
814
  e.stopPropagation();
785
815
  if (disabled)
786
816
  return;
@@ -826,6 +856,9 @@ const VerdocsFieldInitial = class {
826
856
  }, helpText: "initial fields capture the recipient's initials on a clause or page." })))))));
827
857
  }
828
858
  get el() { return index.getElement(this); }
859
+ static get watchers() { return {
860
+ "editable": ["onEditableChanged"]
861
+ }; }
829
862
  };
830
863
  VerdocsFieldInitial.style = verdocsFieldInitialCss;
831
864
 
@@ -910,12 +943,16 @@ const VerdocsFieldRadio = class {
910
943
  settingsPanel.hidePanel();
911
944
  }
912
945
  }
913
- componentDidUpdate() {
914
- if (this.isPreview) {
946
+ onEditableChanged(newVal, oldVal) {
947
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
948
+ if (oldVal && !newVal) {
915
949
  interact_min.interact(this.el).unset();
916
- return;
917
950
  }
918
951
  }
952
+ disconnectedCallback() {
953
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
954
+ interact_min.interact(this.el).unset();
955
+ }
919
956
  render() {
920
957
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
921
958
  const { index: index$1, field } = Datastore.Store.getField(source, sourceid, fieldname, this.field);
@@ -923,9 +960,9 @@ const VerdocsFieldRadio = class {
923
960
  const signerClass = `signer-${(index$1 % 10) + 1}`;
924
961
  const selected = value === 'true';
925
962
  if (done) {
926
- return (index.h(index.Host, { class: { done }, style: { maxWidth: '10px' } }, index.h("span", { innerHTML: selected ? RadioIconSelected : RadioIconUnselected })));
963
+ return (index.h(index.Host, { class: { 'verdocs-field': true, done }, style: { maxWidth: '10px' } }, index.h("span", { innerHTML: selected ? RadioIconSelected : RadioIconUnselected })));
927
964
  }
928
- return (index.h(index.Host, { class: { required: this.required || required, disabled, done, focused, [signerClass]: true } }, label && index.h("div", { class: "label" }, label), editable && group && index.h("div", { class: "group" }, group), index.h("input", { id: fieldname, type: "radio", name: group || fieldname, value: name, checked: !!selected, disabled: readonly || disabled, required: required }), index.h("label", { htmlFor: fieldname }), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
965
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required: this.required || required, disabled, done, focused, [signerClass]: true } }, label && index.h("div", { class: "label" }, label), editable && group && index.h("div", { class: "group" }, group), index.h("input", { id: fieldname, type: "radio", name: group || fieldname, value: name, checked: !!selected, disabled: readonly || disabled, required: required }), index.h("label", { htmlFor: fieldname }), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
929
966
  e.stopPropagation();
930
967
  this.showingProperties = !this.showingProperties;
931
968
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -939,6 +976,9 @@ const VerdocsFieldRadio = class {
939
976
  }, helpText: "Radio buttons capture the recipient's selection of just one of several related (exclusive) options." })))))));
940
977
  }
941
978
  get el() { return index.getElement(this); }
979
+ static get watchers() { return {
980
+ "editable": ["onEditableChanged"]
981
+ }; }
942
982
  };
943
983
  VerdocsFieldRadio.style = verdocsFieldRadioCss;
944
984
 
@@ -1056,11 +1096,13 @@ const VerdocsFieldSignature = class {
1056
1096
  document.removeEventListener('pointerdown', this.outsideMenuHandler);
1057
1097
  this.outsideMenuHandler = null;
1058
1098
  }
1099
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
1100
+ interact_min.interact(this.el).unset();
1059
1101
  }
1060
- componentDidUpdate() {
1061
- if (this.isPreview) {
1102
+ onEditableChanged(newVal, oldVal) {
1103
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
1104
+ if (oldVal && !newVal) {
1062
1105
  interact_min.interact(this.el).unset();
1063
- return;
1064
1106
  }
1065
1107
  }
1066
1108
  componentDidRender() {
@@ -1156,9 +1198,9 @@ const VerdocsFieldSignature = class {
1156
1198
  const { base64 } = settings;
1157
1199
  const signerClass = `signer-${(index$1 % 10) + 1}`;
1158
1200
  if (done) {
1159
- return index.h(index.Host, { class: { done } }, value && index.h("img", { src: base64, alt: "" }));
1201
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, value && index.h("img", { src: base64, alt: "" }));
1160
1202
  }
1161
- return (index.h(index.Host, { class: { required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && index.h("div", { class: "edge-right" }), editable && index.h("div", { class: "edge-left" }), editable && index.h("div", { class: "edge-top" }), editable && index.h("div", { class: "edge-bottom" }), label && index.h("label", null, label), base64 ? (index.h("div", { class: { 'signature-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
1203
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && index.h("div", { class: "edge-right" }), editable && index.h("div", { class: "edge-left" }), editable && index.h("div", { class: "edge-top" }), editable && index.h("div", { class: "edge-bottom" }), label && index.h("label", null, label), base64 ? (index.h("div", { class: { 'signature-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
1162
1204
  e.stopPropagation();
1163
1205
  if (disabled)
1164
1206
  return;
@@ -1204,6 +1246,9 @@ const VerdocsFieldSignature = class {
1204
1246
  }, helpText: "Signature fields capture a recipient's signature on a document." })))))));
1205
1247
  }
1206
1248
  get el() { return index.getElement(this); }
1249
+ static get watchers() { return {
1250
+ "editable": ["onEditableChanged"]
1251
+ }; }
1207
1252
  };
1208
1253
  VerdocsFieldSignature.style = verdocsFieldSignatureCss;
1209
1254
 
@@ -1288,12 +1333,16 @@ const VerdocsFieldTextarea = class {
1288
1333
  handleBlur() {
1289
1334
  this.focused = false;
1290
1335
  }
1291
- componentDidUpdate() {
1292
- if (this.isPreview) {
1336
+ onEditableChanged(newVal, oldVal) {
1337
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
1338
+ if (oldVal && !newVal) {
1293
1339
  interact_min.interact(this.el).unset();
1294
- return;
1295
1340
  }
1296
1341
  }
1342
+ disconnectedCallback() {
1343
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
1344
+ interact_min.interact(this.el).unset();
1345
+ }
1297
1346
  componentDidRender() {
1298
1347
  interact_min.interact.dynamicDrop(true);
1299
1348
  if (this.editable) {
@@ -1349,9 +1398,9 @@ const VerdocsFieldTextarea = class {
1349
1398
  const { required = false, placeholder = '', value = '', label = '', readonly = false } = field || {};
1350
1399
  const signerClass = `signer-${(index$1 % 10) + 1}`;
1351
1400
  if (done) {
1352
- return index.h(index.Host, { class: { done } }, value);
1401
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, value);
1353
1402
  }
1354
- return (index.h(index.Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && index.h("label", null, label), index.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 && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
1403
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && index.h("label", null, label), index.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 && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
1355
1404
  e.stopPropagation();
1356
1405
  this.showingProperties = !this.showingProperties;
1357
1406
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -1365,6 +1414,9 @@ const VerdocsFieldTextarea = class {
1365
1414
  }, helpText: 'Text areas may be used to create multi-line text fields.' })))))));
1366
1415
  }
1367
1416
  get el() { return index.getElement(this); }
1417
+ static get watchers() { return {
1418
+ "editable": ["onEditableChanged"]
1419
+ }; }
1368
1420
  };
1369
1421
  VerdocsFieldTextarea.style = verdocsFieldTextareaCss;
1370
1422
 
@@ -1448,12 +1500,16 @@ const VerdocsFieldTextbox = class {
1448
1500
  }
1449
1501
  this.showingProperties = false;
1450
1502
  }
1451
- componentDidUpdate() {
1452
- if (this.isPreview) {
1503
+ onEditableChanged(newVal, oldVal) {
1504
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
1505
+ if (oldVal && !newVal) {
1453
1506
  interact_min.interact(this.el).unset();
1454
- return;
1455
1507
  }
1456
1508
  }
1509
+ disconnectedCallback() {
1510
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
1511
+ interact_min.interact(this.el).unset();
1512
+ }
1457
1513
  componentDidRender() {
1458
1514
  interact_min.interact.dynamicDrop(true);
1459
1515
  if (this.editable) {
@@ -1538,9 +1594,9 @@ const VerdocsFieldTextbox = class {
1538
1594
  // TODO: This is an outdated technique from the old system. We should compute it.
1539
1595
  const maxlength = width / 5;
1540
1596
  if (done) {
1541
- return index.h(index.Host, { class: { done } }, value);
1597
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, value);
1542
1598
  }
1543
- return (index.h(index.Host, { class: { required, disabled, done, focused, small, [signerClass]: true } }, editable && index.h("div", { class: "edge-top" }), editable && index.h("div", { class: "edge-right" }), editable && index.h("div", { class: "edge-left" }), editable && index.h("div", { class: "edge-bottom" }), label && index.h("label", null, label), multiline ? (index.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)) : (index.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 && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
1599
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, small, [signerClass]: true } }, editable && index.h("div", { class: "edge-top" }), editable && index.h("div", { class: "edge-right" }), editable && index.h("div", { class: "edge-left" }), editable && index.h("div", { class: "edge-bottom" }), label && index.h("label", null, label), multiline ? (index.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)) : (index.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 && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
1544
1600
  e.stopPropagation();
1545
1601
  this.showingProperties = !this.showingProperties;
1546
1602
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => this.hideSettingsPanel(), onDelete: () => {
@@ -1554,6 +1610,9 @@ const VerdocsFieldTextbox = class {
1554
1610
  }, 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.' })))))));
1555
1611
  }
1556
1612
  get el() { return index.getElement(this); }
1613
+ static get watchers() { return {
1614
+ "editable": ["onEditableChanged"]
1615
+ }; }
1557
1616
  };
1558
1617
  VerdocsFieldTextbox.style = verdocsFieldTextboxCss;
1559
1618
 
@@ -1635,10 +1694,16 @@ const VerdocsFieldTimestamp = class {
1635
1694
  }
1636
1695
  this.showingProperties = false;
1637
1696
  }
1638
- componentDidUpdate() {
1639
- if (this.isPreview) {
1697
+ onEditableChanged(newVal, oldVal) {
1698
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
1699
+ if (oldVal && !newVal && this.el) {
1700
+ interact_min.interact(this.el).unset();
1701
+ }
1702
+ }
1703
+ disconnectedCallback() {
1704
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
1705
+ if (this.el) {
1640
1706
  interact_min.interact(this.el).unset();
1641
- return;
1642
1707
  }
1643
1708
  }
1644
1709
  render() {
@@ -1648,9 +1713,9 @@ const VerdocsFieldTimestamp = class {
1648
1713
  const signerClass = `signer-${(index$1 % 10) + 1}`;
1649
1714
  const formatted = formatExports.format(new Date(value || new Date().toISOString()), Types.FORMAT_TIMESTAMP);
1650
1715
  if (done) {
1651
- return index.h(index.Host, { class: { done } }, formatted);
1716
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, formatted);
1652
1717
  }
1653
- return (index.h(index.Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && index.h("label", null, label), index.h("input", { type: "text", placeholder: placeholder, value: formatted, disabled: true, ref: el => (this.el = el), onFocus: () => (this.focused = true) }), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
1718
+ return (index.h(index.Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && index.h("label", null, label), index.h("input", { type: "text", placeholder: placeholder, value: formatted, disabled: true, ref: el => (this.el = el), onFocus: () => (this.focused = true) }), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
1654
1719
  e.stopPropagation();
1655
1720
  this.showingProperties = !this.showingProperties;
1656
1721
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => this.hideSettingsPanel(), onDelete: () => {
@@ -1663,6 +1728,9 @@ const VerdocsFieldTimestamp = class {
1663
1728
  return this.hideSettingsPanel();
1664
1729
  }, helpText: 'Time stamps are automatically set when the recipient signs the document.' })))))));
1665
1730
  }
1731
+ static get watchers() { return {
1732
+ "editable": ["onEditableChanged"]
1733
+ }; }
1666
1734
  };
1667
1735
  VerdocsFieldTimestamp.style = verdocsFieldTimestampCss;
1668
1736
 
@@ -3,7 +3,7 @@
3
3
  var index = require('./index-CQ5bTnED.js');
4
4
  var interact_min = require('./interact.min-BAnZvLwr.js');
5
5
  var Icons = require('./Icons-TVvtZ5iL.js');
6
- var Datastore = require('./Datastore-B-sxWSPD.js');
6
+ var Datastore = require('./Datastore-C-Pojt3E.js');
7
7
  require('./_commonjsHelpers-BJu3ubxk.js');
8
8
  require('@verdocs/js-sdk');
9
9
 
@@ -84,12 +84,6 @@ const VerdocsFieldPayment = class {
84
84
  }
85
85
  }
86
86
  }
87
- componentDidUpdate() {
88
- if (this.isPreview) {
89
- interact_min.interact(this.el).unset();
90
- return;
91
- }
92
- }
93
87
  async focusField() {
94
88
  this.el.focus();
95
89
  this.focused = true;
@@ -106,6 +100,16 @@ const VerdocsFieldPayment = class {
106
100
  settingsPanel.hidePanel();
107
101
  }
108
102
  }
103
+ onEditableChanged(newVal, oldVal) {
104
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
105
+ if (oldVal && !newVal) {
106
+ interact_min.interact(this.el).unset();
107
+ }
108
+ }
109
+ disconnectedCallback() {
110
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
111
+ interact_min.interact(this.el).unset();
112
+ }
109
113
  render() {
110
114
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
111
115
  const { index: index$1, field } = Datastore.Store.getField(source, sourceid, fieldname, this.field);
@@ -114,9 +118,9 @@ const VerdocsFieldPayment = class {
114
118
  return index.h(index.Fragment, null);
115
119
  }
116
120
  if (done) {
117
- return index.h(index.Host, { class: { done } }, "$\u2713");
121
+ return index.h(index.Host, { class: { 'verdocs-field': true, done } }, "$\u2713");
118
122
  }
119
- return (index.h(index.Host, { class: { focused, disabled, [signerClass]: true } }, index.h("button", { class: { hide: this.signed } }, "$"), this.signed ? index.h("div", { class: "frame" }) : index.h("div", { style: { display: 'none' } }), index.h("img", { width: "100%", height: "100%", src: this.signatureUrl, alt: "Payment Icon" }), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
123
+ return (index.h(index.Host, { class: { 'verdocs-field': true, focused, disabled, [signerClass]: true } }, index.h("button", { class: { hide: this.signed } }, "$"), this.signed ? index.h("div", { class: "frame" }) : index.h("div", { style: { display: 'none' } }), index.h("img", { width: "100%", height: "100%", src: this.signatureUrl, alt: "Payment Icon" }), editable && (index.h(index.Fragment, null, index.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: Icons.SettingsIcon, onClick: (e) => {
120
124
  e.stopPropagation();
121
125
  this.showingProperties = !this.showingProperties;
122
126
  } }), this.showingProperties && (index.h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, index.h("verdocs-template-field-properties", { templateId: sourceid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -130,6 +134,9 @@ const VerdocsFieldPayment = class {
130
134
  }, helpText: 'Check boxes allow the user to select one or more (non-exclusive) options.' })))))));
131
135
  }
132
136
  get el() { return index.getElement(this); }
137
+ static get watchers() { return {
138
+ "editable": ["onEditableChanged"]
139
+ }; }
133
140
  };
134
141
  VerdocsFieldPayment.style = verdocsFieldPaymentCss;
135
142
 
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-field-payment.entry.cjs.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":["interact","index","Store","h","Fragment","Host","SettingsIcon"],"mappings":"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"}
1
+ {"version":3,"file":"verdocs-field-payment.entry.cjs.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":["interact","index","Store","h","Fragment","Host","SettingsIcon"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  var index = require('./index-CQ5bTnED.js');
4
4
  var jsSdk = require('@verdocs/js-sdk');
5
5
  var errors = require('./errors-D1XRvnet.js');
6
- var Datastore = require('./Datastore-B-sxWSPD.js');
6
+ var Datastore = require('./Datastore-C-Pojt3E.js');
7
7
 
8
8
  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}}";
9
9
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-CQ5bTnED.js');
4
4
  var jsSdk = require('@verdocs/js-sdk');
5
- var utils = require('./utils-ecG41L2k.js');
5
+ var utils = require('./utils-kkGeJs-8.js');
6
6
  var popper = require('./popper-Dmp8OTYh.js');
7
7
  require('./index-CeUF44L9.js');
8
8
  require('./Types-YJQtg77a.js');