@verdocs/web-sdk 6.5.0-beta.12 → 6.5.0-beta.14

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 (363) hide show
  1. package/dist/cjs/{Icons-DTZAw6hQ.js → Icons-Dr02rZHd.js} +12 -2
  2. package/dist/cjs/Icons-Dr02rZHd.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.cjs.js.map +1 -1
  5. package/dist/cjs/verdocs-adopt-signature-dialog_8.cjs.entry.js +37 -18
  6. package/dist/cjs/verdocs-dialog.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-envelope-document-page_3.cjs.entry.js +3 -3
  8. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +6 -6
  9. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +26 -8
  10. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +7 -7
  14. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-preview_7.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  18. package/dist/cjs/verdocs-sign.cjs.entry.js +65 -129
  19. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  20. package/dist/cjs/verdocs-signature-dialog.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -2
  22. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  23. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
  25. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  26. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.css +71 -21
  27. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js +15 -10
  28. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js.map +1 -1
  29. package/dist/collection/components/dialogs/verdocs-delegate-dialog/verdocs-delegate-dialog.js +1 -1
  30. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +1 -1
  31. package/dist/collection/components/dialogs/verdocs-disclosure-dialog/verdocs-disclosure-dialog.js +1 -1
  32. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
  33. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
  34. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js +1 -1
  35. package/dist/collection/components/dialogs/verdocs-passcode-dialog/verdocs-passcode-dialog.js +1 -1
  36. package/dist/collection/components/dialogs/verdocs-question-dialog/verdocs-question-dialog.js +1 -1
  37. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
  38. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.css +6 -0
  39. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js +54 -3
  40. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js.map +1 -1
  41. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -1
  42. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
  43. package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
  44. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +90 -0
  45. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +87 -129
  46. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  47. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
  48. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
  49. package/dist/collection/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.js +1 -1
  50. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
  51. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.css +56 -4
  52. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +14 -5
  53. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  54. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.css +54 -2
  55. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +14 -5
  56. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  57. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
  58. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -7
  59. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  60. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  61. package/dist/collection/utils/Icons.js +6 -0
  62. package/dist/collection/utils/Icons.js.map +1 -1
  63. package/dist/components/{p-pVO-VTfs.js → p-9B3lpJpS.js} +4 -4
  64. package/dist/components/{p-pVO-VTfs.js.map → p-9B3lpJpS.js.map} +1 -1
  65. package/dist/components/{p-BzCNCMTQ.js → p-AGJ6yQYA.js} +15 -6
  66. package/dist/components/p-AGJ6yQYA.js.map +1 -0
  67. package/dist/components/{p-CEgQ37Hj.js → p-B41-gHzH.js} +4 -4
  68. package/dist/components/{p-CEgQ37Hj.js.map → p-B41-gHzH.js.map} +1 -1
  69. package/dist/components/{p-6RsbiMKu.js → p-BF8wEwc6.js} +6 -6
  70. package/dist/components/{p-6RsbiMKu.js.map → p-BF8wEwc6.js.map} +1 -1
  71. package/dist/components/{p-2Gjc6dqE.js → p-BKafdNur.js} +3 -3
  72. package/dist/components/{p-2Gjc6dqE.js.map → p-BKafdNur.js.map} +1 -1
  73. package/dist/components/{p-CaA92LBj.js → p-BWDPsXtq.js} +16 -16
  74. package/dist/components/{p-CaA92LBj.js.map → p-BWDPsXtq.js.map} +1 -1
  75. package/dist/components/{p-DsiE--AA.js → p-BZ-bfXyR.js} +4 -4
  76. package/dist/components/{p-DsiE--AA.js.map → p-BZ-bfXyR.js.map} +1 -1
  77. package/dist/components/{p-Da-_Dz3K.js → p-BetyIU8h.js} +7 -7
  78. package/dist/components/{p-Da-_Dz3K.js.map → p-BetyIU8h.js.map} +1 -1
  79. package/dist/components/{p-sPen031H.js → p-Bi2Tttn5.js} +9 -9
  80. package/dist/components/{p-sPen031H.js.map → p-Bi2Tttn5.js.map} +1 -1
  81. package/dist/components/{p-Bo9CzEQn.js → p-Bj6E-AE5.js} +19 -14
  82. package/dist/components/p-Bj6E-AE5.js.map +1 -0
  83. package/dist/components/{p-urGZIV9n.js → p-C1pxd86W.js} +4 -4
  84. package/dist/components/{p-urGZIV9n.js.map → p-C1pxd86W.js.map} +1 -1
  85. package/dist/components/{p-C5p7js7x.js → p-C4IGMdkB.js} +24 -7
  86. package/dist/components/p-C4IGMdkB.js.map +1 -0
  87. package/dist/components/{p-B4XIUesD.js → p-CG2TbLMA.js} +15 -15
  88. package/dist/components/{p-B4XIUesD.js.map → p-CG2TbLMA.js.map} +1 -1
  89. package/dist/components/{p-BFkUGfRw.js → p-CNjQH39R.js} +4 -4
  90. package/dist/components/{p-BFkUGfRw.js.map → p-CNjQH39R.js.map} +1 -1
  91. package/dist/components/{p-Ug9F8x3g.js → p-CVNQXtE_.js} +5 -5
  92. package/dist/components/{p-Ug9F8x3g.js.map → p-CVNQXtE_.js.map} +1 -1
  93. package/dist/components/{p-D3fWzYW-.js → p-CerPiVUe.js} +6 -6
  94. package/dist/components/{p-D3fWzYW-.js.map → p-CerPiVUe.js.map} +1 -1
  95. package/dist/components/{p-BT86k2Jd.js → p-CsQMKQ-U.js} +4 -4
  96. package/dist/components/{p-BT86k2Jd.js.map → p-CsQMKQ-U.js.map} +1 -1
  97. package/dist/components/{p-M72Hb6bh.js → p-CudTfFTS.js} +3 -3
  98. package/dist/components/{p-M72Hb6bh.js.map → p-CudTfFTS.js.map} +1 -1
  99. package/dist/components/{p-CmkiH3A9.js → p-D7HnTWEz.js} +5 -5
  100. package/dist/components/{p-CmkiH3A9.js.map → p-D7HnTWEz.js.map} +1 -1
  101. package/dist/components/{p-Bg4xDPiO.js → p-DB-avV4_.js} +3 -3
  102. package/dist/components/{p-Bg4xDPiO.js.map → p-DB-avV4_.js.map} +1 -1
  103. package/dist/components/{p-C7eJlR29.js → p-DGVgIkrO.js} +3 -3
  104. package/dist/components/{p-C7eJlR29.js.map → p-DGVgIkrO.js.map} +1 -1
  105. package/dist/components/{p-Cb7nTMhm.js → p-DUtw16Pw.js} +3 -3
  106. package/dist/components/{p-Cb7nTMhm.js.map → p-DUtw16Pw.js.map} +1 -1
  107. package/dist/components/{p-BdP0-Lom.js → p-Ddv42zlJ.js} +3 -3
  108. package/dist/components/{p-BdP0-Lom.js.map → p-Ddv42zlJ.js.map} +1 -1
  109. package/dist/components/{p-enoED4Zu.js → p-Dj5imT43.js} +3 -3
  110. package/dist/components/{p-enoED4Zu.js.map → p-Dj5imT43.js.map} +1 -1
  111. package/dist/components/{p-ouc74jun.js → p-DkDHStPa.js} +3 -3
  112. package/dist/components/{p-ouc74jun.js.map → p-DkDHStPa.js.map} +1 -1
  113. package/dist/components/{p-jbkmPUd-.js → p-DqoBcfqq.js} +3 -3
  114. package/dist/components/{p-jbkmPUd-.js.map → p-DqoBcfqq.js.map} +1 -1
  115. package/dist/components/{p-7LXbcjVz.js → p-Du758Jse.js} +9 -3
  116. package/dist/components/p-Du758Jse.js.map +1 -0
  117. package/dist/components/{p-DIRPK6bd.js → p-L03tyOvp.js} +3 -3
  118. package/dist/components/{p-DIRPK6bd.js.map → p-L03tyOvp.js.map} +1 -1
  119. package/dist/components/{p-B1dqyQbM.js → p-LfDLlp5r.js} +3 -3
  120. package/dist/components/{p-B1dqyQbM.js.map → p-LfDLlp5r.js.map} +1 -1
  121. package/dist/components/{p-Cm1MIPkG.js → p-UPW-U544.js} +3 -3
  122. package/dist/components/{p-Cm1MIPkG.js.map → p-UPW-U544.js.map} +1 -1
  123. package/dist/components/{p-BDrdwO_h.js → p-VWBgJs6D.js} +4 -4
  124. package/dist/components/{p-BDrdwO_h.js.map → p-VWBgJs6D.js.map} +1 -1
  125. package/dist/components/{p-DlWkjPea.js → p-Y0OyTFqS.js} +15 -6
  126. package/dist/components/p-Y0OyTFqS.js.map +1 -0
  127. package/dist/components/{p-BoIZ0eWm.js → p-ge5oE2oB.js} +16 -16
  128. package/dist/components/{p-BoIZ0eWm.js.map → p-ge5oE2oB.js.map} +1 -1
  129. package/dist/components/{p-D5_KiFFr.js → p-hkxIErJy.js} +3 -3
  130. package/dist/components/{p-D5_KiFFr.js.map → p-hkxIErJy.js.map} +1 -1
  131. package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
  132. package/dist/components/verdocs-build.js +20 -20
  133. package/dist/components/verdocs-delegate-dialog.js +1 -1
  134. package/dist/components/verdocs-dialog.js +1 -1
  135. package/dist/components/verdocs-disclosure-dialog.js +1 -1
  136. package/dist/components/verdocs-envelope-document-page.js +1 -1
  137. package/dist/components/verdocs-envelope-sidebar.js +2 -2
  138. package/dist/components/verdocs-envelopes-list.js +7 -7
  139. package/dist/components/verdocs-field-attachment.js +1 -1
  140. package/dist/components/verdocs-field-checkbox.js +1 -1
  141. package/dist/components/verdocs-field-date.js +1 -1
  142. package/dist/components/verdocs-field-dropdown.js +1 -1
  143. package/dist/components/verdocs-field-initial.js +1 -1
  144. package/dist/components/verdocs-field-payment.js +1 -1
  145. package/dist/components/verdocs-field-radio.js +1 -1
  146. package/dist/components/verdocs-field-signature.js +1 -1
  147. package/dist/components/verdocs-field-textarea.js +1 -1
  148. package/dist/components/verdocs-field-textbox.js +1 -1
  149. package/dist/components/verdocs-field-timestamp.js +1 -1
  150. package/dist/components/verdocs-file-chooser.js +1 -1
  151. package/dist/components/verdocs-initial-dialog.js +1 -1
  152. package/dist/components/verdocs-kba-dialog.js +1 -1
  153. package/dist/components/verdocs-ok-dialog.js +1 -1
  154. package/dist/components/verdocs-otp-dialog.js +1 -1
  155. package/dist/components/verdocs-passcode-dialog.js +1 -1
  156. package/dist/components/verdocs-preview.js +1 -1
  157. package/dist/components/verdocs-question-dialog.js +1 -1
  158. package/dist/components/verdocs-quick-functions.js +1 -1
  159. package/dist/components/verdocs-search-tabs.js +1 -1
  160. package/dist/components/verdocs-sign-footer.js +1 -1
  161. package/dist/components/verdocs-sign.js +82 -143
  162. package/dist/components/verdocs-sign.js.map +1 -1
  163. package/dist/components/verdocs-signature-dialog.js +2 -2
  164. package/dist/components/verdocs-signing-progress.js +1 -1
  165. package/dist/components/verdocs-status-indicator.js +1 -1
  166. package/dist/components/verdocs-template-attachments.js +1 -1
  167. package/dist/components/verdocs-template-card.js +1 -1
  168. package/dist/components/verdocs-template-document-page.js +1 -1
  169. package/dist/components/verdocs-template-fields.js +1 -1
  170. package/dist/components/verdocs-template-role-properties.js +1 -1
  171. package/dist/components/verdocs-template-roles.js +1 -1
  172. package/dist/components/verdocs-template-star.js +1 -1
  173. package/dist/components/verdocs-template-tags.js +1 -1
  174. package/dist/components/verdocs-templates-list.js +3 -3
  175. package/dist/components/verdocs-upload-dialog.js +1 -1
  176. package/dist/components/verdocs-view.js +1 -1
  177. package/dist/esm/{Icons-7LXbcjVz.js → Icons-COC8ZzcY.js} +9 -3
  178. package/dist/esm/Icons-COC8ZzcY.js.map +1 -0
  179. package/dist/esm/loader.js +1 -1
  180. package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -1
  181. package/dist/esm/verdocs-adopt-signature-dialog_8.entry.js +37 -18
  182. package/dist/esm/verdocs-dialog.entry.js +1 -1
  183. package/dist/esm/verdocs-envelope-document-page_3.entry.js +3 -3
  184. package/dist/esm/verdocs-envelopes-list.entry.js +6 -6
  185. package/dist/esm/verdocs-field-attachment_11.entry.js +26 -8
  186. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  187. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  188. package/dist/esm/verdocs-initial-dialog.entry.js +1 -1
  189. package/dist/esm/verdocs-menu-panel_2.entry.js +7 -7
  190. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  191. package/dist/esm/verdocs-preview_7.entry.js +1 -1
  192. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  193. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  194. package/dist/esm/verdocs-sign.entry.js +67 -131
  195. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  196. package/dist/esm/verdocs-signature-dialog.entry.js +1 -1
  197. package/dist/esm/verdocs-status-indicator.entry.js +2 -2
  198. package/dist/esm/verdocs-template-card.entry.js +1 -1
  199. package/dist/esm/verdocs-template-star.entry.js +1 -1
  200. package/dist/esm/verdocs-template-tags.entry.js +1 -1
  201. package/dist/esm/verdocs-web-sdk.js +1 -1
  202. package/dist/esm-es5/{Icons-7LXbcjVz.js → Icons-COC8ZzcY.js} +2 -2
  203. package/dist/esm-es5/Icons-COC8ZzcY.js.map +1 -0
  204. package/dist/esm-es5/loader.js +1 -1
  205. package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -1
  206. package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js +1 -1
  207. package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js.map +1 -1
  208. package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
  209. package/dist/esm-es5/verdocs-envelope-document-page_3.entry.js +1 -1
  210. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  211. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  212. package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
  213. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  214. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  215. package/dist/esm-es5/verdocs-initial-dialog.entry.js +1 -1
  216. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  217. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  218. package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
  219. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  220. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  221. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  222. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  223. package/dist/esm-es5/verdocs-signature-dialog.entry.js +1 -1
  224. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  225. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  226. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  227. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  228. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  229. package/dist/types/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.d.ts +2 -1
  230. package/dist/types/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.d.ts +17 -0
  231. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +8 -0
  232. package/dist/types/components.d.ts +38 -8
  233. package/dist/types/utils/Icons.d.ts +4 -0
  234. package/dist/verdocs-web-sdk/p-05aaa7ed.system.entry.js +2 -0
  235. package/dist/verdocs-web-sdk/p-05aaa7ed.system.entry.js.map +1 -0
  236. package/dist/verdocs-web-sdk/{p-da47ca82.entry.js → p-318a07e5.entry.js} +2 -2
  237. package/dist/verdocs-web-sdk/p-34e3dcef.system.entry.js +2 -0
  238. package/dist/verdocs-web-sdk/p-34e3dcef.system.entry.js.map +1 -0
  239. package/dist/verdocs-web-sdk/{p-5035f241.entry.js → p-38463205.entry.js} +2 -2
  240. package/dist/verdocs-web-sdk/{p-472f51fd.system.entry.js → p-387f49e3.system.entry.js} +2 -2
  241. package/dist/verdocs-web-sdk/{p-a5159055.entry.js → p-3e9b4932.entry.js} +2 -2
  242. package/dist/verdocs-web-sdk/{p-ba62b2b2.entry.js → p-40415af2.entry.js} +2 -2
  243. package/dist/verdocs-web-sdk/{p-f19f93ec.system.entry.js → p-43f5b924.system.entry.js} +2 -2
  244. package/dist/verdocs-web-sdk/{p-b4b43ffd.system.entry.js → p-445294c3.system.entry.js} +2 -2
  245. package/dist/verdocs-web-sdk/{p-c1532c13.entry.js → p-4a1b9398.entry.js} +2 -2
  246. package/dist/verdocs-web-sdk/{p-2ebb10a2.entry.js → p-57d9edf7.entry.js} +2 -2
  247. package/dist/verdocs-web-sdk/p-5a5c379c.entry.js +2 -0
  248. package/dist/verdocs-web-sdk/p-5a5c379c.entry.js.map +1 -0
  249. package/dist/verdocs-web-sdk/{p-074dcd6d.system.entry.js → p-5caf6125.system.entry.js} +3 -3
  250. package/dist/verdocs-web-sdk/p-5caf6125.system.entry.js.map +1 -0
  251. package/dist/verdocs-web-sdk/{p-a778e6d7.system.entry.js → p-64ed2c1e.system.entry.js} +2 -2
  252. package/dist/verdocs-web-sdk/{p-685f42ba.system.entry.js → p-67e2c85f.system.entry.js} +2 -2
  253. package/dist/verdocs-web-sdk/{p-48d217b4.system.entry.js → p-753524d6.system.entry.js} +2 -2
  254. package/dist/verdocs-web-sdk/{p-8052a9b8.system.entry.js → p-7b191400.system.entry.js} +2 -2
  255. package/dist/verdocs-web-sdk/{p-057f1b09.entry.js → p-8470ef05.entry.js} +2 -2
  256. package/dist/verdocs-web-sdk/{p-4d5f21de.system.entry.js → p-8bce7217.system.entry.js} +2 -2
  257. package/dist/verdocs-web-sdk/{p-Dd8QF2RK.system.js.map → p-AsAT1G33.system.js.map} +1 -1
  258. package/dist/verdocs-web-sdk/{p-D65FNjqW.system.js.map → p-B3HJKjHD.system.js.map} +1 -1
  259. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  260. package/dist/verdocs-web-sdk/{p-BwMM6yCQ.system.js.map → p-BQjkHwaZ.system.js.map} +1 -1
  261. package/dist/verdocs-web-sdk/{p-BSIeQh2n.system.js.map → p-BT_KTRbF.system.js.map} +1 -1
  262. package/dist/verdocs-web-sdk/{p-p9s9CkHa.system.js.map → p-BlhnYHRJ.system.js.map} +1 -1
  263. package/dist/verdocs-web-sdk/{p-CY9UqVhn.system.js.map → p-Bzd59d_Y.system.js.map} +1 -1
  264. package/dist/verdocs-web-sdk/p-CGZmAdCp.system.js.map +1 -0
  265. package/dist/verdocs-web-sdk/{p-C0F4Y0E0.system.js.map → p-CH_KOP0L.system.js.map} +1 -1
  266. package/dist/verdocs-web-sdk/{p-7LXbcjVz.js → p-COC8ZzcY.js} +2 -2
  267. package/dist/verdocs-web-sdk/p-COC8ZzcY.js.map +1 -0
  268. package/dist/verdocs-web-sdk/{p-C7iXSC_j.system.js.map → p-D5MJAI9R.system.js.map} +1 -1
  269. package/dist/verdocs-web-sdk/{p-C5juVGX2.system.js.map → p-D5RtYdwR.system.js.map} +1 -1
  270. package/dist/verdocs-web-sdk/{p-BZlq9EXN.system.js.map → p-DGgfjQ_t.system.js.map} +1 -1
  271. package/dist/verdocs-web-sdk/p-DKoXteUW.system.js.map +1 -0
  272. package/dist/verdocs-web-sdk/{p-D2FLn0Fu.system.js.map → p-DezspFxO.system.js.map} +1 -1
  273. package/dist/verdocs-web-sdk/p-DmVXPF0k.system.js.map +1 -0
  274. package/dist/verdocs-web-sdk/{p-B_fxHI4F.system.js.map → p-Doi8TK8T.system.js.map} +1 -1
  275. package/dist/verdocs-web-sdk/{p-Cb4o7DUm.system.js → p-DwOCgVjl.system.js} +2 -2
  276. package/dist/verdocs-web-sdk/p-DwOCgVjl.system.js.map +1 -0
  277. package/dist/verdocs-web-sdk/{p-ezMzklxq.system.js.map → p-MrbETESd.system.js.map} +1 -1
  278. package/dist/verdocs-web-sdk/{p-DVHfQt78.system.js.map → p-N2JGIGf0.system.js.map} +1 -1
  279. package/dist/verdocs-web-sdk/{p-CsiAXA6C.system.js.map → p-VrxIYnwk.system.js.map} +1 -1
  280. package/dist/verdocs-web-sdk/{p-BYyqNgjP.system.js.map → p-ZcTmgak2.system.js.map} +1 -1
  281. package/dist/verdocs-web-sdk/{p-4448b13d.system.entry.js → p-a8b8c846.system.entry.js} +2 -2
  282. package/dist/verdocs-web-sdk/{p-0fe8cbcc.entry.js → p-a9030363.entry.js} +3 -3
  283. package/dist/verdocs-web-sdk/{p-a022ff36.system.entry.js → p-ae0ec1d7.system.entry.js} +2 -2
  284. package/dist/verdocs-web-sdk/{p-6404ca23.system.entry.js → p-b088e156.system.entry.js} +2 -2
  285. package/dist/verdocs-web-sdk/{p-2f222ff9.entry.js → p-b4f520a6.entry.js} +2 -2
  286. package/dist/verdocs-web-sdk/{p-1bdf9ada.entry.js → p-bcd87ddc.entry.js} +2 -2
  287. package/dist/verdocs-web-sdk/{p-5d720de7.entry.js → p-c22d3f5e.entry.js} +2 -2
  288. package/dist/verdocs-web-sdk/{p-88c7ffc0.system.entry.js → p-c3bb84d8.system.entry.js} +2 -2
  289. package/dist/verdocs-web-sdk/{p-1743403f.system.entry.js → p-c4d9782a.system.entry.js} +2 -2
  290. package/dist/verdocs-web-sdk/p-caa58160.entry.js +2 -0
  291. package/dist/verdocs-web-sdk/p-caa58160.entry.js.map +1 -0
  292. package/dist/verdocs-web-sdk/{p-f0c0e64f.entry.js → p-cd4f320d.entry.js} +2 -2
  293. package/dist/verdocs-web-sdk/p-cdf6efa1.entry.js +2 -0
  294. package/dist/verdocs-web-sdk/p-cdf6efa1.entry.js.map +1 -0
  295. package/dist/verdocs-web-sdk/{p-7f64b70d.entry.js → p-d478a7ca.entry.js} +2 -2
  296. package/dist/verdocs-web-sdk/{p-a5183da7.system.entry.js → p-da6664e2.system.entry.js} +2 -2
  297. package/dist/verdocs-web-sdk/{p-7b6cdc9c.entry.js → p-da83a992.entry.js} +2 -2
  298. package/dist/verdocs-web-sdk/{p-14d76969.entry.js → p-f36a6630.entry.js} +2 -2
  299. package/dist/verdocs-web-sdk/p-f4436552.system.entry.js +2 -0
  300. package/dist/verdocs-web-sdk/p-f4436552.system.entry.js.map +1 -0
  301. package/dist/verdocs-web-sdk/{p-80e72abc.entry.js → p-f844ce09.entry.js} +2 -2
  302. package/dist/verdocs-web-sdk/{p-af4f6050.system.entry.js → p-ffd5303f.system.entry.js} +2 -2
  303. package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.esm.js.map +1 -1
  304. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  305. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  306. package/package.json +1 -1
  307. package/dist/cjs/Icons-DTZAw6hQ.js.map +0 -1
  308. package/dist/components/p-7LXbcjVz.js.map +0 -1
  309. package/dist/components/p-Bo9CzEQn.js.map +0 -1
  310. package/dist/components/p-BzCNCMTQ.js.map +0 -1
  311. package/dist/components/p-C5p7js7x.js.map +0 -1
  312. package/dist/components/p-DlWkjPea.js.map +0 -1
  313. package/dist/esm/Icons-7LXbcjVz.js.map +0 -1
  314. package/dist/esm-es5/Icons-7LXbcjVz.js.map +0 -1
  315. package/dist/verdocs-web-sdk/p-074dcd6d.system.entry.js.map +0 -1
  316. package/dist/verdocs-web-sdk/p-12422d5d.system.entry.js +0 -2
  317. package/dist/verdocs-web-sdk/p-12422d5d.system.entry.js.map +0 -1
  318. package/dist/verdocs-web-sdk/p-2fb3119a.entry.js +0 -2
  319. package/dist/verdocs-web-sdk/p-2fb3119a.entry.js.map +0 -1
  320. package/dist/verdocs-web-sdk/p-36659fcd.entry.js +0 -2
  321. package/dist/verdocs-web-sdk/p-36659fcd.entry.js.map +0 -1
  322. package/dist/verdocs-web-sdk/p-7LXbcjVz.js.map +0 -1
  323. package/dist/verdocs-web-sdk/p-8457be78.entry.js +0 -2
  324. package/dist/verdocs-web-sdk/p-8457be78.entry.js.map +0 -1
  325. package/dist/verdocs-web-sdk/p-Cb4o7DUm.system.js.map +0 -1
  326. package/dist/verdocs-web-sdk/p-CxfMT1L3.system.js.map +0 -1
  327. package/dist/verdocs-web-sdk/p-DQr2_l0b.system.js.map +0 -1
  328. package/dist/verdocs-web-sdk/p-c7243201.system.entry.js +0 -2
  329. package/dist/verdocs-web-sdk/p-c7243201.system.entry.js.map +0 -1
  330. package/dist/verdocs-web-sdk/p-feba757f.system.entry.js +0 -2
  331. package/dist/verdocs-web-sdk/p-feba757f.system.entry.js.map +0 -1
  332. package/dist/verdocs-web-sdk/p-u99GfztJ.system.js.map +0 -1
  333. /package/dist/verdocs-web-sdk/{p-da47ca82.entry.js.map → p-318a07e5.entry.js.map} +0 -0
  334. /package/dist/verdocs-web-sdk/{p-5035f241.entry.js.map → p-38463205.entry.js.map} +0 -0
  335. /package/dist/verdocs-web-sdk/{p-472f51fd.system.entry.js.map → p-387f49e3.system.entry.js.map} +0 -0
  336. /package/dist/verdocs-web-sdk/{p-a5159055.entry.js.map → p-3e9b4932.entry.js.map} +0 -0
  337. /package/dist/verdocs-web-sdk/{p-ba62b2b2.entry.js.map → p-40415af2.entry.js.map} +0 -0
  338. /package/dist/verdocs-web-sdk/{p-f19f93ec.system.entry.js.map → p-43f5b924.system.entry.js.map} +0 -0
  339. /package/dist/verdocs-web-sdk/{p-b4b43ffd.system.entry.js.map → p-445294c3.system.entry.js.map} +0 -0
  340. /package/dist/verdocs-web-sdk/{p-c1532c13.entry.js.map → p-4a1b9398.entry.js.map} +0 -0
  341. /package/dist/verdocs-web-sdk/{p-2ebb10a2.entry.js.map → p-57d9edf7.entry.js.map} +0 -0
  342. /package/dist/verdocs-web-sdk/{p-a778e6d7.system.entry.js.map → p-64ed2c1e.system.entry.js.map} +0 -0
  343. /package/dist/verdocs-web-sdk/{p-685f42ba.system.entry.js.map → p-67e2c85f.system.entry.js.map} +0 -0
  344. /package/dist/verdocs-web-sdk/{p-48d217b4.system.entry.js.map → p-753524d6.system.entry.js.map} +0 -0
  345. /package/dist/verdocs-web-sdk/{p-8052a9b8.system.entry.js.map → p-7b191400.system.entry.js.map} +0 -0
  346. /package/dist/verdocs-web-sdk/{p-057f1b09.entry.js.map → p-8470ef05.entry.js.map} +0 -0
  347. /package/dist/verdocs-web-sdk/{p-4d5f21de.system.entry.js.map → p-8bce7217.system.entry.js.map} +0 -0
  348. /package/dist/verdocs-web-sdk/{p-4448b13d.system.entry.js.map → p-a8b8c846.system.entry.js.map} +0 -0
  349. /package/dist/verdocs-web-sdk/{p-0fe8cbcc.entry.js.map → p-a9030363.entry.js.map} +0 -0
  350. /package/dist/verdocs-web-sdk/{p-a022ff36.system.entry.js.map → p-ae0ec1d7.system.entry.js.map} +0 -0
  351. /package/dist/verdocs-web-sdk/{p-6404ca23.system.entry.js.map → p-b088e156.system.entry.js.map} +0 -0
  352. /package/dist/verdocs-web-sdk/{p-2f222ff9.entry.js.map → p-b4f520a6.entry.js.map} +0 -0
  353. /package/dist/verdocs-web-sdk/{p-1bdf9ada.entry.js.map → p-bcd87ddc.entry.js.map} +0 -0
  354. /package/dist/verdocs-web-sdk/{p-5d720de7.entry.js.map → p-c22d3f5e.entry.js.map} +0 -0
  355. /package/dist/verdocs-web-sdk/{p-88c7ffc0.system.entry.js.map → p-c3bb84d8.system.entry.js.map} +0 -0
  356. /package/dist/verdocs-web-sdk/{p-1743403f.system.entry.js.map → p-c4d9782a.system.entry.js.map} +0 -0
  357. /package/dist/verdocs-web-sdk/{p-f0c0e64f.entry.js.map → p-cd4f320d.entry.js.map} +0 -0
  358. /package/dist/verdocs-web-sdk/{p-7f64b70d.entry.js.map → p-d478a7ca.entry.js.map} +0 -0
  359. /package/dist/verdocs-web-sdk/{p-a5183da7.system.entry.js.map → p-da6664e2.system.entry.js.map} +0 -0
  360. /package/dist/verdocs-web-sdk/{p-7b6cdc9c.entry.js.map → p-da83a992.entry.js.map} +0 -0
  361. /package/dist/verdocs-web-sdk/{p-14d76969.entry.js.map → p-f36a6630.entry.js.map} +0 -0
  362. /package/dist/verdocs-web-sdk/{p-80e72abc.entry.js.map → p-f844ce09.entry.js.map} +0 -0
  363. /package/dist/verdocs-web-sdk/{p-af4f6050.system.entry.js.map → p-ffd5303f.system.entry.js.map} +0 -0
@@ -241,11 +241,11 @@ export class VerdocsStatusIndicator {
241
241
  }
242
242
  const icon = this.getStatusIcon(status);
243
243
  const statusMessage = this.getStatusMessage(status);
244
- return (h(Host, { key: '0c9e7af87de1796de3adc77d61255fe16f8897b8', ref: el => (this.summaryComponent = el), class: `${this.theme} ${this.size} ${this.envelope ? 'has-document' : ''}`, "aria-label": "Click to View Details", onClick: e => {
244
+ return (h(Host, { key: '8675982612515a2cd82b4c2d73078287ccee5964', ref: el => (this.summaryComponent = el), class: `${this.theme} ${this.size} ${this.envelope ? 'has-document' : ''}`, "aria-label": "Click to View Details", onClick: e => {
245
245
  e.stopPropagation();
246
246
  e.preventDefault();
247
247
  this.envelope && this.toggleDropdown();
248
- }, onBlur: e => this.envelope && this.handleHideDropdown(e) }, h("span", { key: 'a0477dd6ff6a808b731aa552208f687ed16019e0', class: "icon", innerHTML: icon }), h("span", { key: '58036044ee41239ac65c83cbc72314315c788909', class: "content" }, statusMessage), h("div", { key: 'c1a34956a6021149d0e8174be2c9e60d2eeb1123', class: "detail-panel", ref: el => (this.detailPanel = el) }, h("div", { key: '5f304dc837cac83ae5e500f2812067e7c101b28b', id: `${this.containerId}` }), this.recipientStatusIcons.map(icon => (h("span", { innerHTML: icon.icon, style: { position: 'absolute', top: `${icon.y}px`, left: `${icon.x}px` } }))))));
248
+ }, onBlur: e => this.envelope && this.handleHideDropdown(e) }, h("span", { key: 'd0c8b947093d6cfbb9b0f568871c016bc4e2efde', class: "icon", innerHTML: icon }), h("span", { key: '0c90d64835b07a0e67b40ee54ca693dd9569d5d0', class: "content" }, statusMessage), h("div", { key: 'd84ecd94f6483be6aa58bba782bf512be3459750', class: "detail-panel", ref: el => (this.detailPanel = el) }, h("div", { key: 'ae8111f369b9e2dc9206edf2b5d99174b91ea5f8', id: `${this.containerId}` }), this.recipientStatusIcons.map(icon => (h("span", { innerHTML: icon.icon, style: { position: 'absolute', top: `${icon.y}px`, left: `${icon.x}px` } }))))));
249
249
  }
250
250
  static get is() { return "verdocs-status-indicator"; }
251
251
  static get originalStyleUrls() {
@@ -18,10 +18,10 @@ verdocs-field-initial {
18
18
  position: relative;
19
19
  letter-spacing: 0.3px;
20
20
  scroll-margin: 20px 0;
21
- background-color: var(--verdocs-field-background, transparent);
22
21
  transform-origin: bottom left;
23
- border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));
24
22
  border-radius: var(--verdocs-field-radius);
23
+ background-color: var(--verdocs-field-background, transparent);
24
+ border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));
25
25
  }
26
26
  verdocs-field-initial label {
27
27
  top: -14px;
@@ -40,13 +40,65 @@ verdocs-field-initial.done {
40
40
  border: none;
41
41
  opacity: 1;
42
42
  }
43
- verdocs-field-initial img {
43
+ verdocs-field-initial .initial-container {
44
+ width: 100%;
45
+ height: 100%;
46
+ position: relative;
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ }
51
+ verdocs-field-initial .initial-container img {
44
52
  display: block;
45
53
  max-width: 100%;
46
54
  max-height: 100%;
55
+ object-fit: contain;
56
+ }
57
+ verdocs-field-initial .initial-container .overlay {
58
+ position: absolute;
59
+ top: 0;
60
+ left: 0;
61
+ width: 100%;
62
+ height: 100%;
63
+ background-color: rgba(220, 220, 220, 0.85);
64
+ display: none;
65
+ align-items: center;
66
+ justify-content: center;
67
+ gap: 8px;
68
+ border-radius: var(--verdocs-field-radius);
69
+ backdrop-filter: blur(1px);
70
+ }
71
+ verdocs-field-initial .initial-container .overlay .icon-button {
72
+ background: white;
73
+ border: 1px solid rgba(0, 0, 0, 0.1);
74
+ cursor: pointer;
75
+ padding: 4px;
76
+ border-radius: 6px;
77
+ color: #444;
78
+ display: flex;
79
+ align-items: center;
80
+ justify-content: center;
81
+ transition: all 0.2s ease;
82
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
83
+ width: auto;
84
+ height: auto;
85
+ }
86
+ verdocs-field-initial .initial-container .overlay .icon-button:hover {
87
+ background-color: #fafafa;
88
+ transform: translateY(-1px);
89
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
90
+ color: #000;
91
+ }
92
+ verdocs-field-initial .initial-container .overlay .icon-button svg {
93
+ width: 14px;
94
+ height: 14px;
95
+ }
96
+ verdocs-field-initial .initial-container:hover .overlay {
97
+ display: flex;
47
98
  }
48
- verdocs-field-initial.disabled img {
99
+ verdocs-field-initial.disabled .initial-container {
49
100
  opacity: 0.5;
101
+ pointer-events: none;
50
102
  }
51
103
  verdocs-field-initial button {
52
104
  cursor: inherit;
@@ -1,7 +1,7 @@
1
1
  import interact from "interactjs";
2
2
  import { VerdocsEndpoint, updateField } from "@verdocs/js-sdk";
3
3
  import { h, Host, Fragment } from "@stencil/core";
4
- import { SettingsIcon } from "../../../utils/Icons";
4
+ import { SettingsIcon, PencilIcon, EraserIcon } from "../../../utils/Icons";
5
5
  import { Store } from "../../../utils/Datastore";
6
6
  /**
7
7
  * Displays an initial field. If an initial already exists, it will be displayed and the field
@@ -166,13 +166,22 @@ export class VerdocsFieldInitial {
166
166
  if (done) {
167
167
  return h(Host, { class: { done } }, value && h("img", { src: value, alt: "Initial" }));
168
168
  }
169
- return (h(Host, { class: { required, disabled, done, focused, filled: !!base64, [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("img", { src: base64, alt: "Initial", onClick: () => {
169
+ return (h(Host, { class: { required, disabled, done, focused, filled: !!base64, [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" }, h("img", { src: base64, alt: "Initial" }), h("div", { class: "overlay" }, h("button", { class: "icon-button", innerHTML: PencilIcon, onClick: e => {
170
+ e.stopPropagation();
171
+ if (disabled)
172
+ return;
173
+ // EDIT action: always open dialog
174
+ console.log('[INITIAL] Editing initials');
175
+ this.adopt.emit();
176
+ } }), h("button", { class: "icon-button", innerHTML: EraserIcon, onClick: e => {
170
177
  var _a;
178
+ e.stopPropagation();
171
179
  if (disabled)
172
180
  return;
181
+ // CLEAR action
173
182
  console.log('[INITIAL] Clearing initials');
174
183
  (_a = this.fieldChange) === null || _a === void 0 ? void 0 : _a.emit(null);
175
- } })) : (h("button", { onClick: () => {
184
+ } })))) : (h("button", { onClick: () => {
176
185
  var _a;
177
186
  if (disabled)
178
187
  return;
@@ -539,7 +548,7 @@ export class VerdocsFieldInitial {
539
548
  "text": "Event fired when the field's settings are changed."
540
549
  },
541
550
  "complexType": {
542
- "original": "{ fieldName: string; field: ITemplateField }",
551
+ "original": "{fieldName: string; field: ITemplateField}",
543
552
  "resolved": "{ fieldName: string; field: ITemplateField; }",
544
553
  "references": {
545
554
  "ITemplateField": {
@@ -575,7 +584,7 @@ export class VerdocsFieldInitial {
575
584
  "text": "Event fired when the field is deleted."
576
585
  },
577
586
  "complexType": {
578
- "original": "{ fieldName: string }",
587
+ "original": "{fieldName: string}",
579
588
  "resolved": "{ fieldName: string; }",
580
589
  "references": {}
581
590
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-field-initial.js","sourceRoot":"","sources":["../../../../src/components/fields/verdocs-field-initial/verdocs-field-initial.tsx"],"names":[],"mappings":"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","sourcesContent":["import interact from 'interactjs';\nimport { ResizeEvent } from '@interactjs/actions/resize/plugin';\nimport { ITemplateField, IEnvelopeField, VerdocsEndpoint, updateField, ITemplate } from '@verdocs/js-sdk';\nimport { Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State, Element, Listen } from '@stencil/core';\nimport { SettingsIcon } from '../../../utils/Icons';\nimport { Store } from '../../../utils/Datastore';\n\n/**\n * Displays an initial field. If an initial already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt an initial.\n *\n * NOTE: When initial fields are completed they will be filled with an initial \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-initial',\n styleUrl: 'verdocs-field-initial.scss',\n shadow: false,\n})\nexport class VerdocsFieldInitial {\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, 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 * The document or template field to display.\n */\n @Prop({ reflect: true }) initials: string = '';\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 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, 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 * If set, provides the ID of already-adopted initials. If present, clicking the field (when empty)\n * will immediately use these initials instead of showing the adoption dialog.\n */\n @Prop({ reflect: true }) initialid?: string;\n\n /**\n * Event emitted when an initial block is adopted by the user. The event detail will contain the base64 string of the initial image.\n */\n @Event({ composed: true }) adopt: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({ composed: true }) exit: EventEmitter;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({ composed: true }) fieldChange: EventEmitter<string>;\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 on every character entered into / deleted from the field.\n */\n @Event({ composed: true }) settingsPress: EventEmitter;\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?: boolean = false;\n\n @Method() async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempInitials: string = '';\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: { width: 71, height: 36 },\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n @Listen('blur')\n onBlur() {\n this.focused = false;\n }\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let { width, height } = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const { sourceid, fieldname } = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? newBottom / this.yscale : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, { width, height, y })\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({ fieldName: fieldname, field: updatedField });\n Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });\n })\n .catch(e => console.log('Field update failed', e));\n }\n\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 { required = false, value = '', label = '', settings = {} } = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n const { base64 } = settings;\n\n if (done) {\n return <Host class={{ done }}>{value && <img src={value} alt=\"Initial\" />}</Host>;\n }\n\n return (\n <Host class={{ required, disabled, done, focused, filled: !!base64, [signerClass]: true }}>\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {base64 ? (\n <img\n src={base64}\n alt=\"Initial\"\n onClick={() => {\n if (disabled) return;\n console.log('[INITIAL] Clearing initials');\n this.fieldChange?.emit(null);\n }}\n />\n ) : (\n <button\n onClick={() => {\n if (disabled) return;\n // If we already have an initial ID, use it immediately\n if (this.initialid) {\n console.log('[INITIAL] Reusing existing initials', this.initialid);\n this.fieldChange?.emit(this.initialid);\n } else {\n this.adopt.emit();\n }\n }}\n >\n Initial\n </button>\n )}\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-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({ fieldName: field.name });\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"initial fields capture the recipient's initials on a clause or page.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-field-initial.js","sourceRoot":"","sources":["../../../../src/components/fields/verdocs-field-initial/verdocs-field-initial.tsx"],"names":[],"mappings":"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","sourcesContent":["import interact from 'interactjs';\nimport {ResizeEvent} from '@interactjs/actions/resize/plugin';\nimport {ITemplateField, IEnvelopeField, VerdocsEndpoint, updateField, ITemplate} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State, Element, Listen} from '@stencil/core';\nimport {SettingsIcon, PencilIcon, EraserIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays an initial field. If an initial already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt an initial.\n *\n * NOTE: When initial fields are completed they will be filled with an initial \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-initial',\n styleUrl: 'verdocs-field-initial.scss',\n shadow: false,\n})\nexport class VerdocsFieldInitial {\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, 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 * The document or template field to display.\n */\n @Prop({reflect: true}) initials: string = '';\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 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, 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 * If set, provides the ID of already-adopted initials. If present, clicking the field (when empty)\n * will immediately use these initials instead of showing the adoption dialog.\n */\n @Prop({reflect: true}) initialid?: string;\n\n /**\n * Event emitted when an initial block is adopted by the user. The event detail will contain the base64 string of the initial image.\n */\n @Event({composed: true}) adopt: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\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 on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\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?: boolean = false;\n\n @Method() async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempInitials: string = '';\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 71, height: 36},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n @Listen('blur')\n onBlur() {\n this.focused = false;\n }\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? newBottom / this.yscale : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, y})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\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 {required = false, value = '', label = '', settings = {}} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n const {base64} = settings;\n\n if (done) {\n return <Host class={{done}}>{value && <img src={value} alt=\"Initial\" />}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused, filled: !!base64, [signerClass]: true}}>\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {base64 ? (\n <div class=\"initial-container\">\n <img src={base64} alt=\"Initial\" />\n <div class=\"overlay\">\n <button\n class=\"icon-button\"\n innerHTML={PencilIcon}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n // EDIT action: always open dialog\n console.log('[INITIAL] Editing initials');\n this.adopt.emit();\n }}\n />\n <button\n class=\"icon-button\"\n innerHTML={EraserIcon}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n // CLEAR action\n console.log('[INITIAL] Clearing initials');\n this.fieldChange?.emit(null);\n }}\n />\n </div>\n </div>\n ) : (\n <button\n onClick={() => {\n if (disabled) return;\n // If we already have an initial ID, use it immediately\n if (this.initialid) {\n console.log('[INITIAL] Reusing existing initials', this.initialid);\n this.fieldChange?.emit(this.initialid);\n } else {\n this.adopt.emit();\n }\n }}\n >\n Initial\n </button>\n )}\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-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: field.name});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"initial fields capture the recipient's initials on a clause or page.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -40,13 +40,65 @@ verdocs-field-signature.done {
40
40
  border: none;
41
41
  opacity: 1;
42
42
  }
43
- verdocs-field-signature img {
43
+ verdocs-field-signature .signature-container {
44
+ width: 100%;
45
+ height: 100%;
46
+ position: relative;
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ }
51
+ verdocs-field-signature .signature-container img {
44
52
  display: block;
45
53
  max-width: 100%;
46
54
  max-height: 100%;
55
+ object-fit: contain;
56
+ }
57
+ verdocs-field-signature .signature-container .overlay {
58
+ position: absolute;
59
+ top: 0;
60
+ left: 0;
61
+ width: 100%;
62
+ height: 100%;
63
+ background-color: rgba(220, 220, 220, 0.85);
64
+ display: none;
65
+ align-items: center;
66
+ justify-content: center;
67
+ gap: 8px;
68
+ border-radius: var(--verdocs-field-radius);
69
+ backdrop-filter: blur(1px);
70
+ }
71
+ verdocs-field-signature .signature-container .overlay .icon-button {
72
+ background: white;
73
+ border: 1px solid rgba(0, 0, 0, 0.1);
74
+ cursor: pointer;
75
+ padding: 4px;
76
+ border-radius: 6px;
77
+ color: #444;
78
+ display: flex;
79
+ align-items: center;
80
+ justify-content: center;
81
+ transition: all 0.2s ease;
82
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
83
+ width: auto;
84
+ height: auto;
85
+ }
86
+ verdocs-field-signature .signature-container .overlay .icon-button:hover {
87
+ background-color: #fafafa;
88
+ transform: translateY(-1px);
89
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
90
+ color: #000;
91
+ }
92
+ verdocs-field-signature .signature-container .overlay .icon-button svg {
93
+ width: 14px;
94
+ height: 14px;
95
+ }
96
+ verdocs-field-signature .signature-container:hover .overlay {
97
+ display: flex;
47
98
  }
48
- verdocs-field-signature.disabled img {
99
+ verdocs-field-signature.disabled .signature-container {
49
100
  opacity: 0.5;
101
+ pointer-events: none;
50
102
  }
51
103
  verdocs-field-signature button {
52
104
  cursor: inherit;
@@ -1,7 +1,7 @@
1
1
  import interact from "interactjs";
2
2
  import { VerdocsEndpoint, updateField } from "@verdocs/js-sdk";
3
3
  import { h, Host, Fragment } from "@stencil/core";
4
- import { SettingsIcon } from "../../../utils/Icons";
4
+ import { SettingsIcon, PencilIcon, EraserIcon } from "../../../utils/Icons";
5
5
  import { Store } from "../../../utils/Datastore";
6
6
  /**
7
7
  * Displays a signature field. If a signature already exists, it will be displayed and the field
@@ -168,13 +168,22 @@ export class VerdocsFieldSignature {
168
168
  return h(Host, { class: { done } }, value && h("img", { src: base64, alt: "" }));
169
169
  }
170
170
  console.log('sid', this.signatureid);
171
- return (h(Host, { class: { required, disabled, done, focused, filled: !!base64, [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("img", { src: base64, alt: "", onClick: () => {
171
+ return (h(Host, { class: { required, disabled, done, focused, filled: !!base64, [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" }, h("img", { src: base64, alt: "Signature" }), h("div", { class: "overlay" }, h("button", { class: "icon-button", innerHTML: PencilIcon, onClick: e => {
172
+ e.stopPropagation();
173
+ if (disabled)
174
+ return;
175
+ // EDIT action: always open dialog
176
+ console.log('[SIGNATURE] Editing signature');
177
+ this.adopt.emit();
178
+ } }), h("button", { class: "icon-button", innerHTML: EraserIcon, onClick: e => {
172
179
  var _a;
180
+ e.stopPropagation();
173
181
  if (disabled)
174
182
  return;
183
+ // CLEAR action
175
184
  console.log('[SIGNATURE] Clearing signature');
176
185
  (_a = this.fieldChange) === null || _a === void 0 ? void 0 : _a.emit(null);
177
- } })) : (h("button", { onClick: () => {
186
+ } })))) : (h("button", { onClick: () => {
178
187
  var _a;
179
188
  if (disabled)
180
189
  return;
@@ -526,7 +535,7 @@ export class VerdocsFieldSignature {
526
535
  "text": "Event fired when the field's settings are changed."
527
536
  },
528
537
  "complexType": {
529
- "original": "{ fieldName: string; field: ITemplateField }",
538
+ "original": "{fieldName: string; field: ITemplateField}",
530
539
  "resolved": "{ fieldName: string; field: ITemplateField; }",
531
540
  "references": {
532
541
  "ITemplateField": {
@@ -547,7 +556,7 @@ export class VerdocsFieldSignature {
547
556
  "text": "Event fired when the field is deleted."
548
557
  },
549
558
  "complexType": {
550
- "original": "{ fieldName: string }",
559
+ "original": "{fieldName: string}",
551
560
  "resolved": "{ fieldName: string; }",
552
561
  "references": {}
553
562
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-field-signature.js","sourceRoot":"","sources":["../../../../src/components/fields/verdocs-field-signature/verdocs-field-signature.tsx"],"names":[],"mappings":"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","sourcesContent":["import interact from 'interactjs';\nimport { ResizeEvent } from '@interactjs/actions/resize/plugin';\nimport { ITemplateField, IEnvelopeField, VerdocsEndpoint, updateField, ITemplate } from '@verdocs/js-sdk';\nimport { Component, h, Host, Prop, Event, EventEmitter, Method, Fragment, State, Element, Listen } from '@stencil/core';\nimport { SettingsIcon } from '../../../utils/Icons';\nimport { Store } from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. If a signature already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt a signature.\n *\n * NOTE: When signature fields are completed they will be filled with a signature \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-signature',\n styleUrl: 'verdocs-field-signature.scss',\n shadow: false,\n})\nexport class VerdocsFieldSignature {\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, the signature creation dialog will be initialized with this text.\n */\n @Prop({ reflect: true }) name?: string = '';\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, 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 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, 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 * If set, provides the ID of an already-adopted signature. If present, clicking the field (when empty)\n * will immediately use this signature instead of showing the adoption dialog.\n */\n @Prop({ reflect: true }) signatureid?: string;\n\n /**\n * Event emitted when the field has changed.\n */\n @Event({ composed: true }) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({ composed: true }) settingsPress: EventEmitter;\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?: boolean = false;\n\n @Event({ composed: true }) adopt: EventEmitter;\n\n @Method() async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempSignature: string = '';\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: { width: 71, height: 36 },\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n @Listen('blur')\n onBlur() {\n this.focused = false;\n }\n\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let { width, height } = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const { sourceid, fieldname } = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? newBottom / this.yscale : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, { width, height, y })\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({ fieldName: fieldname, field: updatedField });\n Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });\n })\n .catch(e => console.log('Field update failed', e));\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 this.showingProperties = false;\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 { required = false, value = '', label = '', settings = {} } = field || {};\n const { base64 } = settings;\n const signerClass = `signer-${(index % 10) + 1}`;\n\n if (done) {\n return <Host class={{ done }}>{value && <img src={base64} alt=\"\" />}</Host>;\n }\n\n console.log('sid', this.signatureid);\n return (\n <Host class={{ required, disabled, done, focused, filled: !!base64, [signerClass]: true }}>\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {base64 ? (\n <img\n src={base64}\n alt=\"\"\n onClick={() => {\n if (disabled) return;\n console.log('[SIGNATURE] Clearing signature');\n this.fieldChange?.emit(null);\n }}\n />\n ) : (\n <button\n onClick={() => {\n if (disabled) return;\n // If we already have a signature ID, use it immediately\n if (this.signatureid) {\n console.log('[SIGNATURE] Reusing existing signature', this.signatureid);\n this.fieldChange?.emit(this.signatureid);\n } else {\n this.adopt.emit();\n }\n }}\n >\n Signature\n </button>\n )}\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-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => this.hideSettingsPanel()}\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={\"Signature fields capture a recipient's signature on a document.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-field-signature.js","sourceRoot":"","sources":["../../../../src/components/fields/verdocs-field-signature/verdocs-field-signature.tsx"],"names":[],"mappings":"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","sourcesContent":["import interact from 'interactjs';\nimport {ResizeEvent} from '@interactjs/actions/resize/plugin';\nimport {ITemplateField, IEnvelopeField, VerdocsEndpoint, updateField, ITemplate} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, Method, Fragment, State, Element, Listen} from '@stencil/core';\nimport {SettingsIcon, PencilIcon, EraserIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. If a signature already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt a signature.\n *\n * NOTE: When signature fields are completed they will be filled with a signature \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-signature',\n styleUrl: 'verdocs-field-signature.scss',\n shadow: false,\n})\nexport class VerdocsFieldSignature {\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, the signature creation dialog will be initialized with this text.\n */\n @Prop({reflect: true}) name?: string = '';\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, 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 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, 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 * If set, provides the ID of an already-adopted signature. If present, clicking the field (when empty)\n * will immediately use this signature instead of showing the adoption dialog.\n */\n @Prop({reflect: true}) signatureid?: string;\n\n /**\n * Event emitted when the field has changed.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\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?: boolean = false;\n\n @Event({composed: true}) adopt: EventEmitter;\n\n @Method() async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempSignature: string = '';\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 71, height: 36},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n @Listen('blur')\n onBlur() {\n this.focused = false;\n }\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? newBottom / this.yscale : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, y})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\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 this.showingProperties = false;\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 {required = false, value = '', label = '', settings = {}} = field || {};\n const {base64} = settings;\n const signerClass = `signer-${(index % 10) + 1}`;\n\n if (done) {\n return <Host class={{done}}>{value && <img src={base64} alt=\"\" />}</Host>;\n }\n\n console.log('sid', this.signatureid);\n return (\n <Host class={{required, disabled, done, focused, filled: !!base64, [signerClass]: true}}>\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {base64 ? (\n <div class=\"signature-container\">\n <img src={base64} alt=\"Signature\" />\n <div class=\"overlay\">\n <button\n class=\"icon-button\"\n innerHTML={PencilIcon}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n // EDIT action: always open dialog\n console.log('[SIGNATURE] Editing signature');\n this.adopt.emit();\n }}\n />\n <button\n class=\"icon-button\"\n innerHTML={EraserIcon}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n // CLEAR action\n console.log('[SIGNATURE] Clearing signature');\n this.fieldChange?.emit(null);\n }}\n />\n </div>\n </div>\n ) : (\n <button\n onClick={() => {\n if (disabled) return;\n // If we already have a signature ID, use it immediately\n if (this.signatureid) {\n console.log('[SIGNATURE] Reusing existing signature', this.signatureid);\n this.fieldChange?.emit(this.signatureid);\n } else {\n this.adopt.emit();\n }\n }}\n >\n Signature\n </button>\n )}\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-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => this.hideSettingsPanel()}\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={\"Signature fields capture a recipient's signature on a document.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -9,7 +9,7 @@ const StarIcon = `<svg width="31" height="29" viewBox="0 0 31 29" fill="none" xm
9
9
  export class VerdocsTemplateCard {
10
10
  render() {
11
11
  var _a, _b, _c, _d;
12
- return (h(Host, { key: '7b0a1bdf3a36be3dd789bff578d8cde160598a8a' }, h("span", { key: '311df250e28c11e57723b240d036681d59c403e7', class: "name" }, this.template.name), h("span", { key: '20d879bc5fc38e1390c6c83829176988d2b2474e', class: "org-name" }, ((_a = this.template.organization) === null || _a === void 0 ? void 0 : _a.name) || 'Public'), h("hr", { key: '9b9298a144437c82a15b1b3d0b06e104dc41cf2d' }), h("div", { key: '006b2852c585893a53acbc35e432e5b59aa4752c', class: "controls" }, h("div", { key: '71e39f680984afa69988f55280d7a8a6263ff6d7', class: "control" }, h("span", { key: '68dfeebe55584dcf370e7b311b930a46bbefb14b', class: "icon", innerHTML: StarIcon }), h("span", { key: 'cf32ab06c4c179391350169bf09e4c7307d95628', class: "value" }, this.template.star_counter)), h("div", { key: '45f4a0e29fafb36f9730806b411121c1a908d37c', class: "control secondary" }, h("span", { key: '882367bbf429c9110b1e1e7923e7096923905158', class: "icon", innerHTML: PagesIcon }), h("span", { key: '03d44e6e34fa106dd36ff75c0538c53a722f9bce', class: "value" }, ((_d = (_c = (_b = this.template) === null || _b === void 0 ? void 0 : _b.documents) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.pages) || 1)), h("div", { key: '4cfc7137481d3faeaa7a7e7f18cdf016dfa503b9', class: "control secondary" }, h("span", { key: '158ce6a855a90780e4f6b1b9f87fda81bbd362c7', class: "icon", innerHTML: EmailIcon }), h("span", { key: '5f6d4869ad82dfdc29e602465c71a86d97b7b644', class: "value" }, this.template.counter)), h("span", { key: '1d6a589f472b4d55812b76057fbcea3bad06aa69', class: "additional-controls", innerHTML: ActionsIcon }))));
12
+ return (h(Host, { key: '46bcd42cd0951710f16f9956ec6cc27223cb060c' }, h("span", { key: '496bc1dc24bdef9aa721d7975ca6fd877f55e850', class: "name" }, this.template.name), h("span", { key: 'fd5681436680218e9f292b52e2359b261d807541', class: "org-name" }, ((_a = this.template.organization) === null || _a === void 0 ? void 0 : _a.name) || 'Public'), h("hr", { key: '88c0a02874448062ff4b4eb66c4b12222ffb866a' }), h("div", { key: '982ae5884c02e267d38c3a37385125db80ee544e', class: "controls" }, h("div", { key: '442f0e820c6f1ec6725ecff98abbf6e1e85ed224', class: "control" }, h("span", { key: '939d4c022805c2fb642cb8b90e0c0d534465b33c', class: "icon", innerHTML: StarIcon }), h("span", { key: '1cfad9661b545b0e8af3ec4bab2597c276e54a1a', class: "value" }, this.template.star_counter)), h("div", { key: '37a6c78742b8dd2347e81bc490339d97b4dbc1bc', class: "control secondary" }, h("span", { key: '931be9556b0716139a4580ee1bf269b33d688e53', class: "icon", innerHTML: PagesIcon }), h("span", { key: '7d57c54f07934423a6eecbc0937241a41e3e64d0', class: "value" }, ((_d = (_c = (_b = this.template) === null || _b === void 0 ? void 0 : _b.documents) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.pages) || 1)), h("div", { key: '77ae1f46bd421ec4c3c63c178cf37e0e77e4a5b5', class: "control secondary" }, h("span", { key: '1d8eaae98521b8734e45840dbc88f9e470ac5e57', class: "icon", innerHTML: EmailIcon }), h("span", { key: 'f3e66396922789a271d644903265573be2c4e3aa', class: "value" }, this.template.counter)), h("span", { key: '999c15a3b084558ddbebe38c47abd938b9e5479d', class: "additional-controls", innerHTML: ActionsIcon }))));
13
13
  }
14
14
  static get is() { return "verdocs-template-card"; }
15
15
  static get originalStyleUrls() {
@@ -151,31 +151,31 @@ export class VerdocsTemplateRoleProperties {
151
151
  const hasFields = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).some(field => field.role_name === this.roleName);
152
152
  // Either all three should be empty, or all three need to be filled
153
153
  const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);
154
- return (h(Host, { key: '482250b62aedab7cebe5d2b6dc22e1fcbfe5e9ec' }, h("form", { key: '3c3f53a26278d0cf8fcb5d469c13282ebf689da6', onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { key: '8b4af0dbb215738d5cce7cd7964623460fcccfd9' }, h("verdocs-text-input", { key: 'e1e15457e05de814982e7c00eaf154382dee6cbd', id: "verdocs-role-name", label: "Role Name (Must be unique)", value: this.name, autocomplete: "off", disabled: hasFields, placeholder: "Role Name...", onInput: (e) => {
154
+ return (h(Host, { key: '7d59047d10b7ee91567d2b826df721a1712f77bd' }, h("form", { key: 'd8880522a899c41e3c64721b139860748671721e', onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { key: '439991a28157232f4156d307d8ba955444021bff' }, h("verdocs-text-input", { key: 'e65464c8a65112e18adc421c9845a3977f5d560b', id: "verdocs-role-name", label: "Role Name (Must be unique)", value: this.name, autocomplete: "off", disabled: hasFields, placeholder: "Role Name...", onInput: (e) => {
155
155
  this.name = e.target.value;
156
156
  this.dirty = true;
157
- } }), hasFields && h("div", { key: '69c8ed86df1b952a2552300f1156e415b1bc7f9b', class: "instructions" }, "This role has fields assigned and can no longer be renamed.")), h("div", { key: '87e82c49552cffc729bbb6dee6ee30fe976e82f7' }, h("div", { key: '5a55ffb179841a7c24ca8380f4384a99b6f44f61', class: "input-label" }, "Type:"), h("verdocs-select-input", { key: 'f0891f1524372ce1f6d9abef473bb4a529a63758', value: this.type, options: [
157
+ } }), hasFields && h("div", { key: '059a3d261dd207f21d75240a7bd63e115c38df55', class: "instructions" }, "This role has fields assigned and can no longer be renamed.")), h("div", { key: '5a109a0b1b6eeab8513fc811f82d0ee0e83b90d1' }, h("div", { key: '6b1ccac29df7a8585cc053b7104af2f84d08231a', class: "input-label" }, "Type:"), h("verdocs-select-input", { key: '4dd94a39ed79163a516f29cdca7dd96be4e822fa', value: this.type, options: [
158
158
  { label: 'Signer', value: 'signer' },
159
159
  { label: 'CC', value: 'cc' },
160
160
  { label: 'Approver', value: 'approver' },
161
161
  ], onInput: (e) => {
162
162
  this.type = e.target.value;
163
163
  this.dirty = true;
164
- } })), h("div", { key: 'cde1f4723675826f02cb361470718e16d27ea6ea' }, h("div", { key: '210e45a8584426bb07e96efab6446b33d43b3c38', class: "input-label" }, "Default Contact Info:"), h("div", { key: 'a187f09ece0c38af7ebd704c0c094284065efe54', class: "first-last" }, h("verdocs-text-input", { key: '3ce10f33409c8b5c24cfae8d5dc4331e46c904f4', id: "verdocs-recipient-first", value: this.first_name, autocomplete: "off", placeholder: "First...", onInput: (e) => {
164
+ } })), h("div", { key: '7581f7dfd10371fcc0fb6b04317931e3098b4107' }, h("div", { key: '0573cae6ecb3a57dcb661223bc07ddd58c2aa0db', class: "input-label" }, "Default Contact Info:"), h("div", { key: 'eb984652cf774cb80f4bf18957038bec25f3df76', class: "first-last" }, h("verdocs-text-input", { key: 'b38c4c1833b9e52c2a4883675dec604509917896', id: "verdocs-recipient-first", value: this.first_name, autocomplete: "off", placeholder: "First...", onInput: (e) => {
165
165
  this.first_name = e.target.value;
166
166
  this.dirty = true;
167
- } }), h("verdocs-text-input", { key: '03a3d0fea92dde8cad951020985d35d0777ee30d', id: "verdocs-recipient-first", value: this.last_name, autocomplete: "off", placeholder: "Last...", onInput: (e) => {
167
+ } }), h("verdocs-text-input", { key: 'a54ac8d0910a7111c8bed7e9482ed5605c3be02b', id: "verdocs-recipient-first", value: this.last_name, autocomplete: "off", placeholder: "Last...", onInput: (e) => {
168
168
  this.last_name = e.target.value;
169
169
  this.dirty = true;
170
- } }))), h("div", { key: '33c95e31183dfd6dc9d4c7d1000c1fb7025d8699' }, h("verdocs-text-input", { key: '9a30a8a4647abf6bd5b80be1033816e3ad2f20a2', id: "verdocs-recipient-email", value: this.email, autocomplete: "off", placeholder: "Email Address...", onInput: (e) => {
170
+ } }))), h("div", { key: 'cc784404cf389a87b6178726dbce7ba274d74d1c' }, h("verdocs-text-input", { key: 'bf4eb21b976a489c1860e003653ccb456248fd76', id: "verdocs-recipient-email", value: this.email, autocomplete: "off", placeholder: "Email Address...", onInput: (e) => {
171
171
  this.email = e.target.value;
172
172
  this.dirty = true;
173
- } }), h("div", { key: '45947e626491071b750ed21a0b720483cd3d31b3', style: { height: '15px' } }), h("div", { key: 'df9f84f68ddcd26306185efbf3559a7c998a7348' }, h("verdocs-text-input", { key: 'a7de28a3d33add44a32345cf8ec2261f585cd908', id: "verdocs-recipient-phone", value: this.phone, autocomplete: "off",
173
+ } }), h("div", { key: 'e7af50ddd7c298ad597323f70a92c03980123484', style: { height: '15px' } }), h("div", { key: '24214d48b1920e66256128d831162c8691e61b56' }, h("verdocs-text-input", { key: '791320db13bf0d6f1e5483f1d699c261e99c5e70', id: "verdocs-recipient-phone", value: this.phone, autocomplete: "off",
174
174
  // helpText="The recipient's phone number, if it will always stay the same. Leave blank to supply this value later, when each new envelope is created from the template."
175
175
  placeholder: "Phone Number...", onInput: (e) => {
176
176
  this.phone = e.target.value;
177
177
  this.dirty = true;
178
- } }))), h("div", { key: 'acd5e9b6a5fd5a43245f37e5e36d12a2c669e3bd', class: "buttons" }, h("button", { key: '60cb726d1dd1e7ae1439a092c4f0df1768cafec5', class: "delete-button", disabled: this.dirty, onClick: e => this.handleDelete(e), innerHTML: TrashIcon }), h("div", { key: '663e6abad86c52c4e4412326dc3dde548c3ddc0c', style: { flex: '1' } }), h("verdocs-button", { key: '5ccaa4758c7ae1f615639d947b138b9f649322e5', size: "small", label: "Save", disabled: !this.dirty || !isValid, onClick: e => this.handleSave(e) })))));
178
+ } }))), h("div", { key: '6ed7f3100e8bf765ae6c8f78f06d512c3a3ff0ea', class: "buttons" }, h("button", { key: 'd696c3765c7e3cee1b5ede37aeb31f94335bb124', class: "delete-button", disabled: this.dirty, onClick: e => this.handleDelete(e), innerHTML: TrashIcon }), h("div", { key: '8a90c22fe4e5fcb613e0446b1288f42a5e040769', style: { flex: '1' } }), h("verdocs-button", { key: 'ce3d2d905061414aaca6c167a7480f62a8ee37e4', size: "small", label: "Save", disabled: !this.dirty || !isValid, onClick: e => this.handleSave(e) })))));
179
179
  }
180
180
  static get is() { return "verdocs-template-role-properties"; }
181
181
  static get originalStyleUrls() {
@@ -40,7 +40,7 @@ export class VerdocsTemplateStar {
40
40
  });
41
41
  }
42
42
  render() {
43
- return (h(Host, { key: '1af270825a43cd7168a85fdeb732cb8ee4ab440a' }, h("div", { key: '44421bf2ffe139f90df605fcb44be61f87dd0a23', class: `star ${this.updating ? 'updating' : ''}`, innerHTML: this.template.star_counter ? SolidStarIcon : OutlineStarIcon, onClick: e => this.toggle(e) }), h("div", { key: 'a47eb6772635d2a34070b281e7b8b9ec02a6ea40', class: "count" }, this.template.star_counter || '--')));
43
+ return (h(Host, { key: '1edddec1d948a03db3acadb286b26471ebb86fc8' }, h("div", { key: '9bc79779033dca60ed8bedd7acc0649047d84c8d', class: `star ${this.updating ? 'updating' : ''}`, innerHTML: this.template.star_counter ? SolidStarIcon : OutlineStarIcon, onClick: e => this.toggle(e) }), h("div", { key: '3fbba9a6338c0f34c7ee91d6b3f796d08935338b', class: "count" }, this.template.star_counter || '--')));
44
44
  }
45
45
  static get is() { return "verdocs-template-star"; }
46
46
  static get originalStyleUrls() {
@@ -5,7 +5,7 @@ import { h, Host } from "@stencil/core";
5
5
  export class VerdocsTemplateTags {
6
6
  render() {
7
7
  var _a;
8
- return (h(Host, { key: 'bd4ab22ef14ddabca5317e9788a32bb059d4db7b' }, (_a = this.tags) === null || _a === void 0 ? void 0 : _a.map(tag => (h("span", null, tag)))));
8
+ return (h(Host, { key: 'dc182e08656459fe48b18f6d6556192d85982244' }, (_a = this.tags) === null || _a === void 0 ? void 0 : _a.map(tag => (h("span", null, tag)))));
9
9
  }
10
10
  static get is() { return "verdocs-template-tags"; }
11
11
  static get originalStyleUrls() {
@@ -1,3 +1,5 @@
1
+ // TODO: Refactor all icons to this file. But expose them in a global icons object
2
+ // to make it easier to override them.
1
3
  export const unicodeNBSP = ' ';
2
4
  export const FileIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"></path></svg>';
3
5
  export const TrashIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#eeeeee"><path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" /></svg>`;
@@ -72,4 +74,8 @@ export const PageCountIcon = `<svg width="19" height="24" viewBox="0 0 19 24" fi
72
74
  </svg>
73
75
  `;
74
76
  export const SettingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54A6.992 6.992 0 0 1 7.51 3.456l.33-1.652ZM10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" clip-rule="evenodd" /></svg>';
77
+ export const PencilIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L6.832 19.82a4.5 4.5 0 01-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 011.13-1.897L16.863 4.487zm0 0L19.5 7.125" /></svg>`;
78
+ export const EraserIcon = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21"/><path d="m5.082 11.09 8.828 8.828"/></svg>`;
79
+ export const SignatureXIcon = `<svg width="25" height="28" viewBox="0 0 25 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24.0625 28.0078H18.4961L12.7539 17.7344C12.5846 17.4219 12.3958 16.9792 12.1875 16.4062H12.1094C11.9922 16.6927 11.7969 17.1354 11.5234 17.7344L5.60547 28.0078H0L9.17969 13.9258L0.742188 0H6.42578L11.4844 9.45312C11.8099 10.0781 12.1029 10.7031 12.3633 11.3281H12.4219C12.7995 10.5078 13.125 9.85677 13.3984 9.375L18.6523 0H23.8867L15.2539 13.8867L24.0625 28.0078Z" fill="#E0E0E0"/></svg>`;
80
+ export const DocumentPageIcon = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"/><path d="M14 2v5a1 1 0 0 0 1 1h5"/><path d="M10 9H8"/><path d="M16 13H8"/><path d="M16 17H8"/></svg>`;
75
81
  //# sourceMappingURL=Icons.js.map