@verdocs/web-sdk 6.2.1 → 6.2.4

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 (631) hide show
  1. package/dist/cjs/{index-DftYQmBd.js → index-BSi_QTIT.js} +7 -4
  2. package/dist/cjs/{index-DftYQmBd.js.map → index-BSi_QTIT.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -10
  5. package/dist/cjs/verdocs-auth.entry.cjs.js.map +1 -1
  6. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.cjs.js.map +1 -1
  9. package/dist/cjs/verdocs-button_3.cjs.entry.js +10 -6
  10. package/dist/cjs/verdocs-checkbox_5.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +127 -58
  12. package/dist/cjs/verdocs-contact-picker.entry.cjs.js.map +1 -1
  13. package/dist/cjs/verdocs-date-input.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-delegate-dialog_5.cjs.entry.js +4 -4
  15. package/dist/cjs/verdocs-dialog_2.cjs.entry.js +3 -3
  16. package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +2 -2
  18. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
  19. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +7 -7
  22. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +280 -154
  23. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  25. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +8 -8
  26. package/dist/cjs/verdocs-multiselect.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +1 -1
  28. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-preview_7.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +2 -2
  31. package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -1
  32. package/dist/cjs/verdocs-search-box.cjs.entry.js +1 -1
  33. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +2 -2
  34. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  35. package/dist/cjs/verdocs-spinner.cjs.entry.js +1 -1
  36. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +3 -3
  37. package/dist/cjs/verdocs-switch.cjs.entry.js +1 -1
  38. package/dist/cjs/verdocs-table.cjs.entry.js +1 -1
  39. package/dist/cjs/verdocs-template-card.cjs.entry.js +2 -2
  40. package/dist/cjs/verdocs-template-create.cjs.entry.js +1 -1
  41. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +2 -2
  42. package/dist/cjs/verdocs-template-star.cjs.entry.js +2 -2
  43. package/dist/cjs/verdocs-template-tags.cjs.entry.js +2 -2
  44. package/dist/cjs/verdocs-templates-list.cjs.entry.js +1 -1
  45. package/dist/cjs/verdocs-toggle-button.cjs.entry.js +2 -2
  46. package/dist/cjs/verdocs-toggle.cjs.entry.js +1 -1
  47. package/dist/cjs/verdocs-web-sdk.cjs.js +3 -3
  48. package/dist/cjs/verdocs-web-sdk.cjs.js.map +1 -1
  49. package/dist/collection/collection-manifest.json +2 -2
  50. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.css +8 -3
  51. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +28 -4
  52. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js.map +1 -1
  53. package/dist/collection/components/controls/verdocs-toggle-button/verdocs-toggle-button.js +1 -1
  54. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +1 -1
  55. package/dist/collection/components/dialogs/verdocs-delegate-dialog/verdocs-delegate-dialog.js +1 -1
  56. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +1 -1
  57. package/dist/collection/components/dialogs/verdocs-disclosure-dialog/verdocs-disclosure-dialog.js +1 -1
  58. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
  59. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
  60. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js +1 -1
  61. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.css +163 -47
  62. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +282 -152
  63. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js.map +1 -1
  64. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -1
  65. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
  66. package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
  67. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +0 -9
  68. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
  69. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
  70. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
  71. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
  72. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
  73. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -7
  74. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  75. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  76. package/dist/components/index.js +1 -1
  77. package/dist/components/{p-DD7puHOD.js → p-6s2A2xbN.js} +29 -29
  78. package/dist/components/{p-DD7puHOD.js.map → p-6s2A2xbN.js.map} +1 -1
  79. package/dist/components/{p-DcWPdEq3.js → p-9Csbf-tN.js} +7 -7
  80. package/dist/components/{p-DcWPdEq3.js.map → p-9Csbf-tN.js.map} +1 -1
  81. package/dist/components/{p-Clw7inRP.js → p-9up2BmHp.js} +7 -4
  82. package/dist/components/p-9up2BmHp.js.map +1 -0
  83. package/dist/components/{p-DqU6EOrq.js → p-AVxZpgsX.js} +132 -63
  84. package/dist/components/p-AVxZpgsX.js.map +1 -0
  85. package/dist/components/{p-ZnrDtTZt.js → p-B0MvlQO2.js} +13 -13
  86. package/dist/components/{p-ZnrDtTZt.js.map → p-B0MvlQO2.js.map} +1 -1
  87. package/dist/components/{p-DpEBcKDj.js → p-B4UtR_2c.js} +12 -12
  88. package/dist/components/{p-DpEBcKDj.js.map → p-B4UtR_2c.js.map} +1 -1
  89. package/dist/components/{p-C4FQgN27.js → p-BL3Ul9SN.js} +3 -3
  90. package/dist/components/{p-C4FQgN27.js.map → p-BL3Ul9SN.js.map} +1 -1
  91. package/dist/components/{p-CQCFJea3.js → p-BUDGHfvB.js} +5 -5
  92. package/dist/components/{p-CQCFJea3.js.map → p-BUDGHfvB.js.map} +1 -1
  93. package/dist/components/{p-H5nk-La8.js → p-BVuTqQTL.js} +12 -12
  94. package/dist/components/{p-H5nk-La8.js.map → p-BVuTqQTL.js.map} +1 -1
  95. package/dist/components/{p-B7K8lTsJ.js → p-BW3GsUj9.js} +4 -4
  96. package/dist/components/{p-B7K8lTsJ.js.map → p-BW3GsUj9.js.map} +1 -1
  97. package/dist/components/{p-D3et9AL5.js → p-BXFf3Lpk.js} +12 -12
  98. package/dist/components/{p-D3et9AL5.js.map → p-BXFf3Lpk.js.map} +1 -1
  99. package/dist/components/{p-EPmbbAEf.js → p-Bba-t7GY.js} +5 -5
  100. package/dist/components/{p-EPmbbAEf.js.map → p-Bba-t7GY.js.map} +1 -1
  101. package/dist/components/{p-CRwSFWzI.js → p-Bf5ceLBh.js} +4 -4
  102. package/dist/components/{p-CRwSFWzI.js.map → p-Bf5ceLBh.js.map} +1 -1
  103. package/dist/components/{p-BuubyFAZ.js → p-BhqIuhDg.js} +3 -3
  104. package/dist/components/{p-BuubyFAZ.js.map → p-BhqIuhDg.js.map} +1 -1
  105. package/dist/components/{p-BdJ3dzrK.js → p-Bq8xEv_t.js} +10 -10
  106. package/dist/components/{p-BdJ3dzrK.js.map → p-Bq8xEv_t.js.map} +1 -1
  107. package/dist/components/{p-B9Ea7YKs.js → p-BvDqCFDj.js} +14 -9
  108. package/dist/components/p-BvDqCFDj.js.map +1 -0
  109. package/dist/components/{p-KBnlWGyn.js → p-C2Dmo84A.js} +3 -3
  110. package/dist/components/{p-KBnlWGyn.js.map → p-C2Dmo84A.js.map} +1 -1
  111. package/dist/components/{p-CQobV491.js → p-C2cseLAY.js} +3 -3
  112. package/dist/components/{p-CQobV491.js.map → p-C2cseLAY.js.map} +1 -1
  113. package/dist/components/{p-ChYa_oDl.js → p-C3iwT41e.js} +3 -3
  114. package/dist/components/{p-ChYa_oDl.js.map → p-C3iwT41e.js.map} +1 -1
  115. package/dist/components/{p-Bsj4gHYP.js → p-C4lOZS20.js} +12 -12
  116. package/dist/components/{p-Bsj4gHYP.js.map → p-C4lOZS20.js.map} +1 -1
  117. package/dist/components/{p-B5eQd9Mt.js → p-CBRYaKLM.js} +4 -4
  118. package/dist/components/{p-B5eQd9Mt.js.map → p-CBRYaKLM.js.map} +1 -1
  119. package/dist/components/{p-WzOFvlsv.js → p-CBfSBOmz.js} +7 -7
  120. package/dist/components/{p-WzOFvlsv.js.map → p-CBfSBOmz.js.map} +1 -1
  121. package/dist/components/{p-DIPvUaAv.js → p-CDYnBmu_.js} +14 -14
  122. package/dist/components/{p-DIPvUaAv.js.map → p-CDYnBmu_.js.map} +1 -1
  123. package/dist/components/{p-DMzzevWO.js → p-CPvyHpp6.js} +4 -4
  124. package/dist/components/{p-DMzzevWO.js.map → p-CPvyHpp6.js.map} +1 -1
  125. package/dist/components/{p-BRPzK8Xw.js → p-CcIaiNEM.js} +15 -15
  126. package/dist/components/{p-BRPzK8Xw.js.map → p-CcIaiNEM.js.map} +1 -1
  127. package/dist/components/{p-DLmnuCRM.js → p-CkxqbZql.js} +11 -11
  128. package/dist/components/{p-DLmnuCRM.js.map → p-CkxqbZql.js.map} +1 -1
  129. package/dist/components/{p-Driek-y5.js → p-Cm3Ns2TB.js} +4 -4
  130. package/dist/components/{p-Driek-y5.js.map → p-Cm3Ns2TB.js.map} +1 -1
  131. package/dist/components/{p-65TlZcx6.js → p-CrZquwr4.js} +6 -6
  132. package/dist/components/{p-65TlZcx6.js.map → p-CrZquwr4.js.map} +1 -1
  133. package/dist/components/{p-BaE2j0VJ.js → p-CtbvYEGE.js} +12 -12
  134. package/dist/components/{p-BaE2j0VJ.js.map → p-CtbvYEGE.js.map} +1 -1
  135. package/dist/components/{p-BLj6y0dz.js → p-Ctqad2FQ.js} +3 -3
  136. package/dist/components/{p-BLj6y0dz.js.map → p-Ctqad2FQ.js.map} +1 -1
  137. package/dist/components/{p-BoCrjpQu.js → p-CwgpN7A7.js} +6 -6
  138. package/dist/components/{p-BoCrjpQu.js.map → p-CwgpN7A7.js.map} +1 -1
  139. package/dist/components/{p-DvtzYG5e.js → p-DDxQuWAZ.js} +10 -10
  140. package/dist/components/{p-DvtzYG5e.js.map → p-DDxQuWAZ.js.map} +1 -1
  141. package/dist/components/{p-C-4fLUhc.js → p-DGJlf5J_.js} +3 -3
  142. package/dist/components/{p-C-4fLUhc.js.map → p-DGJlf5J_.js.map} +1 -1
  143. package/dist/components/{p-CO6oIgzX.js → p-DIl7zlTd.js} +3 -3
  144. package/dist/components/{p-CO6oIgzX.js.map → p-DIl7zlTd.js.map} +1 -1
  145. package/dist/components/{p-CKVx4yr2.js → p-DK8_N2Na.js} +28 -28
  146. package/dist/components/{p-CKVx4yr2.js.map → p-DK8_N2Na.js.map} +1 -1
  147. package/dist/components/{p-Bbme0kV0.js → p-DPBSrcaG.js} +7 -7
  148. package/dist/components/{p-Bbme0kV0.js.map → p-DPBSrcaG.js.map} +1 -1
  149. package/dist/components/{p-DlAdADTD.js → p-DSO1_d48.js} +12 -12
  150. package/dist/components/{p-DlAdADTD.js.map → p-DSO1_d48.js.map} +1 -1
  151. package/dist/components/{p-DnaGcy-V.js → p-D_QT5uZk.js} +3 -3
  152. package/dist/components/{p-DnaGcy-V.js.map → p-D_QT5uZk.js.map} +1 -1
  153. package/dist/components/{p-DesdkBUb.js → p-DaDjn3gR.js} +5 -5
  154. package/dist/components/{p-DesdkBUb.js.map → p-DaDjn3gR.js.map} +1 -1
  155. package/dist/components/{p-CI5cVahE.js → p-DfTz53m-.js} +12 -12
  156. package/dist/components/{p-CI5cVahE.js.map → p-DfTz53m-.js.map} +1 -1
  157. package/dist/components/{p-wBFmVUNi.js → p-Dwu1JL0y.js} +9 -9
  158. package/dist/components/{p-wBFmVUNi.js.map → p-Dwu1JL0y.js.map} +1 -1
  159. package/dist/components/{p-8YJmijSd.js → p-KqTfG8Kf.js} +3 -3
  160. package/dist/components/{p-8YJmijSd.js.map → p-KqTfG8Kf.js.map} +1 -1
  161. package/dist/components/{p-CXSpP5Gm.js → p-L3HpKTaM.js} +22 -16
  162. package/dist/components/p-L3HpKTaM.js.map +1 -0
  163. package/dist/components/p-LeCnrgBv.js +398 -0
  164. package/dist/components/p-LeCnrgBv.js.map +1 -0
  165. package/dist/components/{p-De55cjKE.js → p-Opf3i5hz.js} +3 -3
  166. package/dist/components/{p-De55cjKE.js.map → p-Opf3i5hz.js.map} +1 -1
  167. package/dist/components/{p-B9v-iqos.js → p-Q6w_Yld9.js} +10 -10
  168. package/dist/components/{p-B9v-iqos.js.map → p-Q6w_Yld9.js.map} +1 -1
  169. package/dist/components/{p-BEuU1xX4.js → p-RQJ9uyyW.js} +3 -3
  170. package/dist/components/{p-BEuU1xX4.js.map → p-RQJ9uyyW.js.map} +1 -1
  171. package/dist/components/{p-18h9UMkx.js → p-TkHAxPB_.js} +10 -10
  172. package/dist/components/{p-18h9UMkx.js.map → p-TkHAxPB_.js.map} +1 -1
  173. package/dist/components/{p-B7mqZJ5f.js → p-_BQ9q2MT.js} +4 -4
  174. package/dist/components/{p-B7mqZJ5f.js.map → p-_BQ9q2MT.js.map} +1 -1
  175. package/dist/components/{p-FVg7B0fh.js → p-fnInzV73.js} +4 -4
  176. package/dist/components/{p-FVg7B0fh.js.map → p-fnInzV73.js.map} +1 -1
  177. package/dist/components/{p-BD-wJn_A.js → p-icGdbhUU.js} +3 -3
  178. package/dist/components/{p-BD-wJn_A.js.map → p-icGdbhUU.js.map} +1 -1
  179. package/dist/components/{p-Clx6y9zn.js → p-kvTSiSQ0.js} +3 -3
  180. package/dist/components/{p-Clx6y9zn.js.map → p-kvTSiSQ0.js.map} +1 -1
  181. package/dist/components/{p-BUjb-w39.js → p-mjn4Ftey.js} +27 -27
  182. package/dist/components/{p-BUjb-w39.js.map → p-mjn4Ftey.js.map} +1 -1
  183. package/dist/components/{p-CzXYz3XY.js → p-mrJQukV3.js} +5 -5
  184. package/dist/components/{p-CzXYz3XY.js.map → p-mrJQukV3.js.map} +1 -1
  185. package/dist/components/{p-DU0M0izE.js → p-tGg7lt4q.js} +6 -6
  186. package/dist/components/{p-DU0M0izE.js.map → p-tGg7lt4q.js.map} +1 -1
  187. package/dist/components/{p-BTA1be7y.js → p-wj1u5UNC.js} +3 -3
  188. package/dist/components/{p-BTA1be7y.js.map → p-wj1u5UNC.js.map} +1 -1
  189. package/dist/components/verdocs-auth.js +4 -13
  190. package/dist/components/verdocs-auth.js.map +1 -1
  191. package/dist/components/verdocs-build.js +43 -43
  192. package/dist/components/verdocs-button-panel.js +1 -1
  193. package/dist/components/verdocs-button.js +1 -1
  194. package/dist/components/verdocs-checkbox.js +1 -1
  195. package/dist/components/verdocs-component-error.js +1 -1
  196. package/dist/components/verdocs-contact-picker.js +1 -1
  197. package/dist/components/verdocs-date-input.js +2 -2
  198. package/dist/components/verdocs-delegate-dialog.js +1 -1
  199. package/dist/components/verdocs-dialog.js +1 -1
  200. package/dist/components/verdocs-disclosure-dialog.js +1 -1
  201. package/dist/components/verdocs-dropdown.js +1 -1
  202. package/dist/components/verdocs-envelope-document-page.js +1 -1
  203. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  204. package/dist/components/verdocs-envelope-recipient-summary.js +2 -2
  205. package/dist/components/verdocs-envelope-sidebar.js +11 -11
  206. package/dist/components/verdocs-envelope-update-recipient.js +1 -1
  207. package/dist/components/verdocs-envelopes-list.js +17 -17
  208. package/dist/components/verdocs-field-attachment.js +1 -1
  209. package/dist/components/verdocs-field-checkbox.js +1 -1
  210. package/dist/components/verdocs-field-date.js +1 -1
  211. package/dist/components/verdocs-field-dropdown.js +1 -1
  212. package/dist/components/verdocs-field-initial.js +1 -1
  213. package/dist/components/verdocs-field-payment.js +10 -10
  214. package/dist/components/verdocs-field-radio.js +1 -1
  215. package/dist/components/verdocs-field-signature.js +1 -1
  216. package/dist/components/verdocs-field-textarea.js +1 -1
  217. package/dist/components/verdocs-field-textbox.js +1 -1
  218. package/dist/components/verdocs-field-timestamp.js +1 -1
  219. package/dist/components/verdocs-file-chooser.js +1 -1
  220. package/dist/components/verdocs-help-icon.js +1 -1
  221. package/dist/components/verdocs-initial-dialog.js +1 -1
  222. package/dist/components/verdocs-kba-dialog.js +1 -1
  223. package/dist/components/verdocs-loader.js +1 -1
  224. package/dist/components/verdocs-menu-panel.js +1 -1
  225. package/dist/components/verdocs-multiselect.js +2 -2
  226. package/dist/components/verdocs-ok-dialog.js +1 -1
  227. package/dist/components/verdocs-organization-card.js +2 -2
  228. package/dist/components/verdocs-otp-dialog.js +1 -1
  229. package/dist/components/verdocs-pagination.js +1 -1
  230. package/dist/components/verdocs-portal.js +1 -1
  231. package/dist/components/verdocs-preview.js +1 -1
  232. package/dist/components/verdocs-progress-bar.js +1 -1
  233. package/dist/components/verdocs-quick-filter.js +1 -1
  234. package/dist/components/verdocs-quick-functions.js +2 -2
  235. package/dist/components/verdocs-radio-button.js +1 -1
  236. package/dist/components/verdocs-search-box.js +1 -1
  237. package/dist/components/verdocs-search-tabs.js +2 -2
  238. package/dist/components/verdocs-select-input.js +1 -1
  239. package/dist/components/verdocs-send.js +1 -1
  240. package/dist/components/verdocs-sign.js +16 -16
  241. package/dist/components/verdocs-signature-dialog.js +1 -1
  242. package/dist/components/verdocs-spinner.js +1 -1
  243. package/dist/components/verdocs-status-indicator.js +1 -1
  244. package/dist/components/verdocs-switch.js +1 -1
  245. package/dist/components/verdocs-table.js +1 -1
  246. package/dist/components/verdocs-tabs.js +1 -1
  247. package/dist/components/verdocs-template-attachments.js +1 -1
  248. package/dist/components/verdocs-template-build-tabs.js +1 -1
  249. package/dist/components/verdocs-template-card.js +2 -2
  250. package/dist/components/verdocs-template-create.js +5 -5
  251. package/dist/components/verdocs-template-document-page.js +1 -1
  252. package/dist/components/verdocs-template-field-properties.js +1 -1
  253. package/dist/components/verdocs-template-fields.js +1 -1
  254. package/dist/components/verdocs-template-role-properties.js +1 -1
  255. package/dist/components/verdocs-template-roles.js +1 -1
  256. package/dist/components/verdocs-template-settings.js +1 -1
  257. package/dist/components/verdocs-template-star.js +1 -1
  258. package/dist/components/verdocs-template-tags.js +2 -2
  259. package/dist/components/verdocs-templates-list.js +11 -11
  260. package/dist/components/verdocs-text-input.js +1 -1
  261. package/dist/components/verdocs-toggle-button.js +2 -2
  262. package/dist/components/verdocs-toggle.js +1 -1
  263. package/dist/components/verdocs-toolbar-icon.js +1 -1
  264. package/dist/components/verdocs-upload-dialog.js +1 -1
  265. package/dist/components/verdocs-view.js +1 -1
  266. package/dist/custom-elements.json +2302 -0
  267. package/dist/esm/{index-C05sDUVN.js → index-DjAHH4ih.js} +7 -4
  268. package/dist/{esm-es5/index-C05sDUVN.js.map → esm/index-DjAHH4ih.js.map} +1 -1
  269. package/dist/esm/loader.js +3 -3
  270. package/dist/esm/verdocs-auth.entry.js +1 -10
  271. package/dist/esm/verdocs-auth.entry.js.map +1 -1
  272. package/dist/esm/verdocs-build.entry.js +1 -1
  273. package/dist/esm/verdocs-button-panel_2.entry.js +1 -1
  274. package/dist/esm/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.js.map +1 -1
  275. package/dist/esm/verdocs-button_3.entry.js +10 -6
  276. package/dist/esm/verdocs-checkbox_5.entry.js +1 -1
  277. package/dist/esm/verdocs-contact-picker.entry.js +127 -58
  278. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
  279. package/dist/esm/verdocs-date-input.entry.js +1 -1
  280. package/dist/esm/verdocs-delegate-dialog_5.entry.js +4 -4
  281. package/dist/esm/verdocs-dialog_2.entry.js +3 -3
  282. package/dist/esm/verdocs-dropdown.entry.js +1 -1
  283. package/dist/esm/verdocs-envelope-document-page.entry.js +2 -2
  284. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  285. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  286. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  287. package/dist/esm/verdocs-envelopes-list.entry.js +7 -7
  288. package/dist/esm/verdocs-field-attachment_13.entry.js +280 -154
  289. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  290. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  291. package/dist/esm/verdocs-menu-panel_2.entry.js +8 -8
  292. package/dist/esm/verdocs-multiselect.entry.js +1 -1
  293. package/dist/esm/verdocs-organization-card_2.entry.js +1 -1
  294. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  295. package/dist/esm/verdocs-preview_7.entry.js +1 -1
  296. package/dist/esm/verdocs-quick-functions.entry.js +2 -2
  297. package/dist/esm/verdocs-radio-button.entry.js +1 -1
  298. package/dist/esm/verdocs-search-box.entry.js +1 -1
  299. package/dist/esm/verdocs-search-tabs.entry.js +2 -2
  300. package/dist/esm/verdocs-sign.entry.js +1 -1
  301. package/dist/esm/verdocs-spinner.entry.js +1 -1
  302. package/dist/esm/verdocs-status-indicator.entry.js +3 -3
  303. package/dist/esm/verdocs-switch.entry.js +1 -1
  304. package/dist/esm/verdocs-table.entry.js +1 -1
  305. package/dist/esm/verdocs-template-card.entry.js +2 -2
  306. package/dist/esm/verdocs-template-create.entry.js +1 -1
  307. package/dist/esm/verdocs-template-document-page_2.entry.js +2 -2
  308. package/dist/esm/verdocs-template-star.entry.js +2 -2
  309. package/dist/esm/verdocs-template-tags.entry.js +2 -2
  310. package/dist/esm/verdocs-templates-list.entry.js +1 -1
  311. package/dist/esm/verdocs-toggle-button.entry.js +2 -2
  312. package/dist/esm/verdocs-toggle.entry.js +1 -1
  313. package/dist/esm/verdocs-web-sdk.js +4 -4
  314. package/dist/esm/verdocs-web-sdk.js.map +1 -1
  315. package/dist/esm-es5/index-DjAHH4ih.js +2 -0
  316. package/dist/{esm/index-C05sDUVN.js.map → esm-es5/index-DjAHH4ih.js.map} +1 -1
  317. package/dist/esm-es5/loader.js +1 -1
  318. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  319. package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
  320. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  321. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  322. package/dist/esm-es5/verdocs-button-panel_2.entry.js.map +1 -1
  323. package/dist/esm-es5/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.js.map +1 -1
  324. package/dist/esm-es5/verdocs-button_3.entry.js +1 -1
  325. package/dist/esm-es5/verdocs-button_3.entry.js.map +1 -1
  326. package/dist/esm-es5/verdocs-checkbox_5.entry.js +1 -1
  327. package/dist/esm-es5/verdocs-checkbox_5.entry.js.map +1 -1
  328. package/dist/esm-es5/verdocs-contact-picker.entry.js +2 -2
  329. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
  330. package/dist/esm-es5/verdocs-date-input.entry.js +1 -1
  331. package/dist/esm-es5/verdocs-delegate-dialog_5.entry.js +1 -1
  332. package/dist/esm-es5/verdocs-delegate-dialog_5.entry.js.map +1 -1
  333. package/dist/esm-es5/verdocs-dialog_2.entry.js +1 -1
  334. package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
  335. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  336. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  337. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js.map +1 -1
  338. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  339. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  340. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  341. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  342. package/dist/esm-es5/verdocs-field-attachment_13.entry.js.map +1 -1
  343. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  344. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  345. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  346. package/dist/esm-es5/verdocs-menu-panel_2.entry.js.map +1 -1
  347. package/dist/esm-es5/verdocs-multiselect.entry.js +1 -1
  348. package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
  349. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  350. package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
  351. package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -1
  352. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  353. package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
  354. package/dist/esm-es5/verdocs-search-box.entry.js +1 -1
  355. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  356. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  357. package/dist/esm-es5/verdocs-spinner.entry.js +1 -1
  358. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  359. package/dist/esm-es5/verdocs-switch.entry.js +1 -1
  360. package/dist/esm-es5/verdocs-table.entry.js +1 -1
  361. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  362. package/dist/esm-es5/verdocs-template-create.entry.js +1 -1
  363. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  364. package/dist/esm-es5/verdocs-template-document-page_2.entry.js.map +1 -1
  365. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  366. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  367. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  368. package/dist/esm-es5/verdocs-toggle-button.entry.js +1 -1
  369. package/dist/esm-es5/verdocs-toggle.entry.js +1 -1
  370. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  371. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  372. package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.d.ts +4 -0
  373. package/dist/types/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.d.ts +27 -0
  374. package/dist/types/components.d.ts +10 -0
  375. package/dist/types/stencil-public-runtime.d.ts +20 -10
  376. package/dist/verdocs-web-sdk/{p-0426bfc1.system.entry.js → p-03a6ee37.system.entry.js} +2 -2
  377. package/dist/verdocs-web-sdk/p-05b5f6a8.system.entry.js +2 -0
  378. package/dist/verdocs-web-sdk/{p-d4d86106.system.entry.js.map → p-05b5f6a8.system.entry.js.map} +1 -1
  379. package/dist/verdocs-web-sdk/p-072cf3bf.system.entry.js +4 -0
  380. package/dist/verdocs-web-sdk/p-072cf3bf.system.entry.js.map +1 -0
  381. package/dist/verdocs-web-sdk/{p-1ff272f6.entry.js → p-095f01ea.entry.js} +2 -2
  382. package/dist/verdocs-web-sdk/p-0c2b17b8.system.entry.js +2 -0
  383. package/dist/verdocs-web-sdk/{p-52c5c5eb.system.entry.js.map → p-0c2b17b8.system.entry.js.map} +1 -1
  384. package/dist/verdocs-web-sdk/{p-cf8ee113.entry.js → p-0c895013.entry.js} +2 -2
  385. package/dist/verdocs-web-sdk/{p-08e3aed6.system.entry.js → p-0d3060d5.system.entry.js} +2 -2
  386. package/dist/verdocs-web-sdk/{p-b2df2093.entry.js → p-10496565.entry.js} +2 -2
  387. package/dist/verdocs-web-sdk/p-16c12330.system.entry.js +2 -0
  388. package/dist/verdocs-web-sdk/{p-b5df6697.system.entry.js.map → p-16c12330.system.entry.js.map} +1 -1
  389. package/dist/verdocs-web-sdk/{p-ff032e47.entry.js → p-198505d1.entry.js} +2 -2
  390. package/dist/verdocs-web-sdk/p-1Cwi_bnK.system.js.map +1 -0
  391. package/dist/verdocs-web-sdk/{p-ab95e032.entry.js → p-1b86055f.entry.js} +2 -2
  392. package/dist/verdocs-web-sdk/{p-5889c99f.entry.js → p-1bc8a67b.entry.js} +2 -2
  393. package/dist/verdocs-web-sdk/{p-513e5b8a.system.entry.js → p-2083a0b5.system.entry.js} +2 -2
  394. package/dist/verdocs-web-sdk/{p-9a109fed.entry.js → p-22d7fd99.entry.js} +2 -2
  395. package/dist/verdocs-web-sdk/p-24a5020f.system.entry.js +2 -0
  396. package/dist/verdocs-web-sdk/{p-f6b28e39.system.entry.js.map → p-24a5020f.system.entry.js.map} +1 -1
  397. package/dist/verdocs-web-sdk/{p-851bd188.entry.js → p-262e6ed3.entry.js} +2 -2
  398. package/dist/verdocs-web-sdk/p-296df8e6.system.entry.js +2 -0
  399. package/dist/verdocs-web-sdk/{p-61310d21.system.entry.js.map → p-296df8e6.system.entry.js.map} +1 -1
  400. package/dist/verdocs-web-sdk/{p-3c6db111.entry.js → p-2ab55e7e.entry.js} +2 -2
  401. package/dist/verdocs-web-sdk/p-2ab55e7e.entry.js.map +1 -0
  402. package/dist/verdocs-web-sdk/{p-76f93877.entry.js → p-331b0a01.entry.js} +2 -2
  403. package/dist/verdocs-web-sdk/p-3f18c552.system.entry.js +2 -0
  404. package/dist/verdocs-web-sdk/{p-f60868c7.system.entry.js.map → p-3f18c552.system.entry.js.map} +1 -1
  405. package/dist/verdocs-web-sdk/{p-b0d3e996.entry.js → p-408204b5.entry.js} +2 -2
  406. package/dist/verdocs-web-sdk/{p-c9f807d7.system.entry.js → p-424acea6.system.entry.js} +2 -2
  407. package/dist/verdocs-web-sdk/{p-5f01fbeb.system.entry.js → p-4251e17b.system.entry.js} +2 -2
  408. package/dist/verdocs-web-sdk/p-474ac411.entry.js +3 -0
  409. package/dist/verdocs-web-sdk/p-474ac411.entry.js.map +1 -0
  410. package/dist/verdocs-web-sdk/p-54089f3f.system.entry.js +2 -0
  411. package/dist/verdocs-web-sdk/{p-4ce49ea8.system.entry.js.map → p-54089f3f.system.entry.js.map} +1 -1
  412. package/dist/verdocs-web-sdk/{p-771f2a9e.entry.js → p-56cd489c.entry.js} +2 -2
  413. package/dist/verdocs-web-sdk/p-5808c4ab.system.entry.js +2 -0
  414. package/dist/verdocs-web-sdk/{p-c70f32bc.system.entry.js.map → p-5808c4ab.system.entry.js.map} +1 -1
  415. package/dist/verdocs-web-sdk/{p-dec943d5.entry.js → p-68dc5809.entry.js} +2 -2
  416. package/dist/verdocs-web-sdk/{p-a5d53c9f.system.entry.js → p-6ec49614.system.entry.js} +2 -2
  417. package/dist/verdocs-web-sdk/p-6ec9a626.system.entry.js +2 -0
  418. package/dist/verdocs-web-sdk/{p-dbd65627.system.entry.js.map → p-6ec9a626.system.entry.js.map} +1 -1
  419. package/dist/verdocs-web-sdk/{p-a2f95711.entry.js → p-7032e5ee.entry.js} +2 -2
  420. package/dist/verdocs-web-sdk/{p-759f13e2.entry.js → p-74f1369b.entry.js} +2 -2
  421. package/dist/verdocs-web-sdk/{p-5b7212dc.entry.js → p-74f5a0bd.entry.js} +2 -2
  422. package/dist/verdocs-web-sdk/p-75154f85.system.entry.js +2 -0
  423. package/dist/verdocs-web-sdk/{p-e6836f65.system.entry.js.map → p-75154f85.system.entry.js.map} +1 -1
  424. package/dist/verdocs-web-sdk/{p-74b6c738.system.entry.js → p-7787a0e4.system.entry.js} +2 -2
  425. package/dist/verdocs-web-sdk/{p-9086941d.entry.js → p-778aa621.entry.js} +2 -2
  426. package/dist/verdocs-web-sdk/p-778aa621.entry.js.map +1 -0
  427. package/dist/verdocs-web-sdk/{p-381bb0d2.system.entry.js → p-77a495cb.system.entry.js} +2 -2
  428. package/dist/verdocs-web-sdk/{p-55ee046d.system.entry.js → p-79a57db4.system.entry.js} +2 -2
  429. package/dist/verdocs-web-sdk/{p-879c16ae.entry.js → p-7c552800.entry.js} +2 -2
  430. package/dist/verdocs-web-sdk/p-7e1ae321.system.entry.js +2 -0
  431. package/dist/verdocs-web-sdk/{p-14f07a32.system.entry.js.map → p-7e1ae321.system.entry.js.map} +1 -1
  432. package/dist/verdocs-web-sdk/{p-0d45a7bb.entry.js → p-83057e79.entry.js} +2 -2
  433. package/dist/verdocs-web-sdk/{p-305de09c.entry.js → p-84ef045b.entry.js} +2 -2
  434. package/dist/verdocs-web-sdk/{p-f8104621.system.entry.js → p-85a01930.system.entry.js} +2 -2
  435. package/dist/verdocs-web-sdk/{p-e08baa24.system.entry.js → p-8697ea44.system.entry.js} +2 -2
  436. package/dist/verdocs-web-sdk/p-8697ea44.system.entry.js.map +1 -0
  437. package/dist/verdocs-web-sdk/{p-217db764.system.entry.js → p-89675355.system.entry.js} +2 -2
  438. package/dist/verdocs-web-sdk/{p-f215d74d.system.entry.js → p-899a183a.system.entry.js} +2 -2
  439. package/dist/verdocs-web-sdk/{p-715b1538.entry.js → p-8ae75311.entry.js} +2 -2
  440. package/dist/verdocs-web-sdk/{p-fae894d6.system.entry.js → p-8daa82ec.system.entry.js} +2 -2
  441. package/dist/verdocs-web-sdk/{p-4040ff25.entry.js → p-8f615cf8.entry.js} +2 -2
  442. package/dist/verdocs-web-sdk/{p-36b211e9.system.entry.js → p-91455dc1.system.entry.js} +2 -2
  443. package/dist/verdocs-web-sdk/p-94805e3a.system.entry.js +2 -0
  444. package/dist/verdocs-web-sdk/{p-221da740.system.entry.js.map → p-94805e3a.system.entry.js.map} +1 -1
  445. package/dist/verdocs-web-sdk/{p-83369b59.entry.js → p-95098523.entry.js} +2 -2
  446. package/dist/verdocs-web-sdk/{p-0361b7f5.entry.js → p-9a614582.entry.js} +2 -2
  447. package/dist/verdocs-web-sdk/{p-Diy5Q9-6.system.js.map → p-B6BNgFvR.system.js.map} +1 -1
  448. package/dist/verdocs-web-sdk/{p-B6Yr6dLH.system.js.map → p-BAjoE0hn.system.js.map} +1 -1
  449. package/dist/verdocs-web-sdk/{p-DQiE2MRY.system.js.map → p-BDfCyBqE.system.js.map} +1 -1
  450. package/dist/verdocs-web-sdk/{p-DVZN96Di.system.js.map → p-BFiBadxx.system.js.map} +1 -1
  451. package/dist/verdocs-web-sdk/{p-BvruBF8p.system.js.map → p-BLUIpLYQ.system.js.map} +1 -1
  452. package/dist/verdocs-web-sdk/{p-BteDuaoR.system.js.map → p-BR93bjYo.system.js.map} +1 -1
  453. package/dist/verdocs-web-sdk/p-BSxnvcXp.system.js +2 -0
  454. package/dist/verdocs-web-sdk/{p-B2ZTJRF1.system.js.map → p-BSxnvcXp.system.js.map} +1 -1
  455. package/dist/verdocs-web-sdk/{p-BT4iau8_.system.js.map → p-BTH3kXDy.system.js.map} +1 -1
  456. package/dist/verdocs-web-sdk/{p-Di6KD3hm.system.js.map → p-BYcAVzPM.system.js.map} +1 -1
  457. package/dist/verdocs-web-sdk/{p-BwAcNrO8.system.js.map → p-Bf1JxkHa.system.js.map} +1 -1
  458. package/dist/verdocs-web-sdk/{p-DjDnOHB1.system.js.map → p-Bfjmk6kM.system.js.map} +1 -1
  459. package/dist/verdocs-web-sdk/{p-CYdphBFp.system.js.map → p-C-KROPlf.system.js.map} +1 -1
  460. package/dist/verdocs-web-sdk/{p-DpwXyQ7Z.system.js.map → p-C-Q0RpYH.system.js.map} +1 -1
  461. package/dist/verdocs-web-sdk/{p-DoFYKh5S.system.js.map → p-CJgSdGDZ.system.js.map} +1 -1
  462. package/dist/verdocs-web-sdk/{p-BP6QzunY.system.js.map → p-Cdv-0jBY.system.js.map} +1 -1
  463. package/dist/verdocs-web-sdk/{p-Cp0lpB6k.system.js.map → p-CgYIryaO.system.js.map} +1 -1
  464. package/dist/verdocs-web-sdk/{p-BVgRWHdx.system.js.map → p-CoMELZur.system.js.map} +1 -1
  465. package/dist/verdocs-web-sdk/{p-BpVWw6cq.system.js.map → p-CqY4YwuC.system.js.map} +1 -1
  466. package/dist/verdocs-web-sdk/p-Cs7NUoKG.system.js.map +1 -0
  467. package/dist/verdocs-web-sdk/{p-B4Jok9g8.system.js.map → p-CuZVPC43.system.js.map} +1 -1
  468. package/dist/verdocs-web-sdk/{p-BswU_7jl.system.js.map → p-Cw8YN0pQ.system.js.map} +1 -1
  469. package/dist/verdocs-web-sdk/{p-TeE_49wp.system.js.map → p-D-jNdMbp.system.js.map} +1 -1
  470. package/dist/verdocs-web-sdk/{p-4OWnEogw.system.js.map → p-D2J4BqZ5.system.js.map} +1 -1
  471. package/dist/verdocs-web-sdk/{p-D8jwiOjp.system.js.map → p-D5jBjbqb.system.js.map} +1 -1
  472. package/dist/verdocs-web-sdk/{p-qSIndqRC.system.js.map → p-D6lkIXxV.system.js.map} +1 -1
  473. package/dist/verdocs-web-sdk/{p-CEj4NLjk.system.js.map → p-DC4mn44e.system.js.map} +1 -1
  474. package/dist/verdocs-web-sdk/{p-CLugYiKe.system.js.map → p-DIFMCsR8.system.js.map} +1 -1
  475. package/dist/verdocs-web-sdk/{p-C3FrKBlJ.system.js.map → p-DN26hbJo.system.js.map} +1 -1
  476. package/dist/verdocs-web-sdk/{p-C05sDUVN.js → p-DjAHH4ih.js} +3 -3
  477. package/dist/verdocs-web-sdk/{p-C05sDUVN.js.map → p-DjAHH4ih.js.map} +1 -1
  478. package/dist/verdocs-web-sdk/{p-CJgSjfS3.system.js.map → p-DjReAtE4.system.js.map} +1 -1
  479. package/dist/verdocs-web-sdk/{p-BwvJ8lkq.system.js.map → p-DmidtinD.system.js.map} +1 -1
  480. package/dist/verdocs-web-sdk/{p-iOk-QRhr.system.js.map → p-DnpXTA0c.system.js.map} +1 -1
  481. package/dist/verdocs-web-sdk/p-DpcvJtUM.system.js.map +1 -0
  482. package/dist/verdocs-web-sdk/{p-BZ9rCFg-.system.js.map → p-DqN8pWd6.system.js.map} +1 -1
  483. package/dist/verdocs-web-sdk/{p-CxfpQzDf.system.js.map → p-DrJsQShN.system.js.map} +1 -1
  484. package/dist/verdocs-web-sdk/{p-gMXuliDq.system.js → p-IELtlxxf.system.js} +3 -3
  485. package/dist/verdocs-web-sdk/{p-gMXuliDq.system.js.map → p-IELtlxxf.system.js.map} +1 -1
  486. package/dist/verdocs-web-sdk/{p-BRiHRj-G.system.js.map → p-WL8pZ5_5.system.js.map} +1 -1
  487. package/dist/verdocs-web-sdk/{p-DRLUgxAz.system.js.map → p-YdG8FzTN.system.js.map} +1 -1
  488. package/dist/verdocs-web-sdk/p-a4af0218.system.entry.js +8 -0
  489. package/dist/verdocs-web-sdk/{p-ab3fcfa6.system.entry.js.map → p-a4af0218.system.entry.js.map} +1 -1
  490. package/dist/verdocs-web-sdk/p-a4b4356a.entry.js +2 -0
  491. package/dist/verdocs-web-sdk/p-a4b4356a.entry.js.map +1 -0
  492. package/dist/verdocs-web-sdk/p-a5c1783e.system.entry.js +2 -0
  493. package/dist/verdocs-web-sdk/p-a5c1783e.system.entry.js.map +1 -0
  494. package/dist/verdocs-web-sdk/{p-b35f630c.entry.js → p-a7b796c9.entry.js} +2 -2
  495. package/dist/verdocs-web-sdk/{p-7627b523.entry.js → p-a8ccb0e1.entry.js} +2 -2
  496. package/dist/verdocs-web-sdk/p-b0e8639b.system.entry.js +2 -0
  497. package/dist/verdocs-web-sdk/{p-9c719a1e.system.entry.js.map → p-b0e8639b.system.entry.js.map} +1 -1
  498. package/dist/verdocs-web-sdk/{p-dca0ee01.system.entry.js → p-b2598797.system.entry.js} +2 -2
  499. package/dist/verdocs-web-sdk/p-b2d5d57c.system.entry.js +2 -0
  500. package/dist/verdocs-web-sdk/{p-d28f8173.system.entry.js.map → p-b2d5d57c.system.entry.js.map} +1 -1
  501. package/dist/verdocs-web-sdk/{p-4fc7fb57.entry.js → p-b81c87a9.entry.js} +2 -2
  502. package/dist/verdocs-web-sdk/p-b954399f.system.entry.js +2 -0
  503. package/dist/verdocs-web-sdk/{p-66a34894.system.entry.js.map → p-b954399f.system.entry.js.map} +1 -1
  504. package/dist/verdocs-web-sdk/{p-af444549.system.entry.js → p-ba37926e.system.entry.js} +2 -2
  505. package/dist/verdocs-web-sdk/p-bcad2169.system.entry.js +2 -0
  506. package/dist/verdocs-web-sdk/{p-2642cf9a.system.entry.js.map → p-bcad2169.system.entry.js.map} +1 -1
  507. package/dist/verdocs-web-sdk/{p-29b12c84.entry.js → p-c137b66c.entry.js} +2 -2
  508. package/dist/verdocs-web-sdk/{p-0eab8901.entry.js → p-c636caf4.entry.js} +2 -2
  509. package/dist/verdocs-web-sdk/{p-8dfd4098.entry.js → p-d0cdb769.entry.js} +2 -2
  510. package/dist/verdocs-web-sdk/{p-3c4ae778.entry.js → p-d68d286d.entry.js} +2 -2
  511. package/dist/verdocs-web-sdk/{p-6c0c5157.entry.js → p-d995bf66.entry.js} +2 -2
  512. package/dist/verdocs-web-sdk/{p-f35d0bb1.system.entry.js → p-dc64588a.system.entry.js} +2 -2
  513. package/dist/verdocs-web-sdk/p-df9a63c8.system.entry.js +2 -0
  514. package/dist/verdocs-web-sdk/{p-c53bba5b.system.entry.js.map → p-df9a63c8.system.entry.js.map} +1 -1
  515. package/dist/verdocs-web-sdk/{p-fd41f58d.entry.js → p-e1010b5e.entry.js} +2 -2
  516. package/dist/verdocs-web-sdk/{p-ce79c107.entry.js → p-e251a7f7.entry.js} +2 -2
  517. package/dist/verdocs-web-sdk/{p-1563ebea.entry.js → p-e612587a.entry.js} +2 -2
  518. package/dist/verdocs-web-sdk/p-e6c86704.system.entry.js +2 -0
  519. package/dist/verdocs-web-sdk/{p-f45dd2e7.system.entry.js.map → p-e6c86704.system.entry.js.map} +1 -1
  520. package/dist/verdocs-web-sdk/{p-2d879f01.entry.js → p-e9be55a9.entry.js} +2 -2
  521. package/dist/verdocs-web-sdk/{p-bcff9d82.entry.js → p-f4d573b8.entry.js} +2 -2
  522. package/dist/verdocs-web-sdk/p-f706a680.system.entry.js +2 -0
  523. package/dist/verdocs-web-sdk/{p-0e597594.system.entry.js.map → p-f706a680.system.entry.js.map} +1 -1
  524. package/dist/verdocs-web-sdk/{p-dcf8f80f.entry.js → p-fbb5d382.entry.js} +2 -2
  525. package/dist/verdocs-web-sdk/{p-CDc0NxA9.system.js.map → p-jGm3fIdS.system.js.map} +1 -1
  526. package/dist/verdocs-web-sdk/{p-eTl5b3_e.system.js.map → p-mV1PT3tZ.system.js.map} +1 -1
  527. package/dist/verdocs-web-sdk/{p-DyL8qWVe.system.js.map → p-pcmVRVX-.system.js.map} +1 -1
  528. package/dist/verdocs-web-sdk/{p-BlMT1vy_.system.js.map → p-qmFLckgf.system.js.map} +1 -1
  529. package/dist/verdocs-web-sdk/{p-X4iTgaqa.system.js.map → p-tlNLqVnV.system.js.map} +1 -1
  530. package/dist/verdocs-web-sdk/verdocs-auth.entry.esm.js.map +1 -1
  531. package/dist/verdocs-web-sdk/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.esm.js.map +1 -1
  532. package/dist/verdocs-web-sdk/verdocs-contact-picker.entry.esm.js.map +1 -1
  533. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  534. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  535. package/dist/verdocs-web-sdk/verdocs-web-sdk.js +1 -1
  536. package/package.json +5 -5
  537. package/dist/components/p-B9Ea7YKs.js.map +0 -1
  538. package/dist/components/p-CXSpP5Gm.js.map +0 -1
  539. package/dist/components/p-Clw7inRP.js.map +0 -1
  540. package/dist/components/p-D5p6S1bi.js +0 -268
  541. package/dist/components/p-D5p6S1bi.js.map +0 -1
  542. package/dist/components/p-DqU6EOrq.js.map +0 -1
  543. package/dist/esm-es5/index-C05sDUVN.js +0 -2
  544. package/dist/verdocs-web-sdk/p-0e597594.system.entry.js +0 -2
  545. package/dist/verdocs-web-sdk/p-14f07a32.system.entry.js +0 -2
  546. package/dist/verdocs-web-sdk/p-221da740.system.entry.js +0 -2
  547. package/dist/verdocs-web-sdk/p-2642cf9a.system.entry.js +0 -2
  548. package/dist/verdocs-web-sdk/p-3c6db111.entry.js.map +0 -1
  549. package/dist/verdocs-web-sdk/p-4ce49ea8.system.entry.js +0 -2
  550. package/dist/verdocs-web-sdk/p-52c5c5eb.system.entry.js +0 -2
  551. package/dist/verdocs-web-sdk/p-61310d21.system.entry.js +0 -2
  552. package/dist/verdocs-web-sdk/p-66a34894.system.entry.js +0 -2
  553. package/dist/verdocs-web-sdk/p-87b0aa15.entry.js +0 -2
  554. package/dist/verdocs-web-sdk/p-87b0aa15.entry.js.map +0 -1
  555. package/dist/verdocs-web-sdk/p-9086941d.entry.js.map +0 -1
  556. package/dist/verdocs-web-sdk/p-929c6dcb.system.entry.js +0 -4
  557. package/dist/verdocs-web-sdk/p-929c6dcb.system.entry.js.map +0 -1
  558. package/dist/verdocs-web-sdk/p-9c719a1e.system.entry.js +0 -2
  559. package/dist/verdocs-web-sdk/p-B2ZTJRF1.system.js +0 -2
  560. package/dist/verdocs-web-sdk/p-BDT8VDnV.system.js.map +0 -1
  561. package/dist/verdocs-web-sdk/p-BVYtr8jX.system.js.map +0 -1
  562. package/dist/verdocs-web-sdk/p-Gi6iS8bX.system.js.map +0 -1
  563. package/dist/verdocs-web-sdk/p-ab3fcfa6.system.entry.js +0 -8
  564. package/dist/verdocs-web-sdk/p-b5df6697.system.entry.js +0 -2
  565. package/dist/verdocs-web-sdk/p-c53bba5b.system.entry.js +0 -2
  566. package/dist/verdocs-web-sdk/p-c70f32bc.system.entry.js +0 -2
  567. package/dist/verdocs-web-sdk/p-d28f8173.system.entry.js +0 -2
  568. package/dist/verdocs-web-sdk/p-d4d86106.system.entry.js +0 -2
  569. package/dist/verdocs-web-sdk/p-d65600c4.entry.js +0 -3
  570. package/dist/verdocs-web-sdk/p-d65600c4.entry.js.map +0 -1
  571. package/dist/verdocs-web-sdk/p-dbd65627.system.entry.js +0 -2
  572. package/dist/verdocs-web-sdk/p-e08baa24.system.entry.js.map +0 -1
  573. package/dist/verdocs-web-sdk/p-e6836f65.system.entry.js +0 -2
  574. package/dist/verdocs-web-sdk/p-f45dd2e7.system.entry.js +0 -2
  575. package/dist/verdocs-web-sdk/p-f6016dfb.system.entry.js +0 -2
  576. package/dist/verdocs-web-sdk/p-f6016dfb.system.entry.js.map +0 -1
  577. package/dist/verdocs-web-sdk/p-f60868c7.system.entry.js +0 -2
  578. package/dist/verdocs-web-sdk/p-f6b28e39.system.entry.js +0 -2
  579. /package/dist/verdocs-web-sdk/{p-0426bfc1.system.entry.js.map → p-03a6ee37.system.entry.js.map} +0 -0
  580. /package/dist/verdocs-web-sdk/{p-1ff272f6.entry.js.map → p-095f01ea.entry.js.map} +0 -0
  581. /package/dist/verdocs-web-sdk/{p-cf8ee113.entry.js.map → p-0c895013.entry.js.map} +0 -0
  582. /package/dist/verdocs-web-sdk/{p-08e3aed6.system.entry.js.map → p-0d3060d5.system.entry.js.map} +0 -0
  583. /package/dist/verdocs-web-sdk/{p-b2df2093.entry.js.map → p-10496565.entry.js.map} +0 -0
  584. /package/dist/verdocs-web-sdk/{p-ff032e47.entry.js.map → p-198505d1.entry.js.map} +0 -0
  585. /package/dist/verdocs-web-sdk/{p-ab95e032.entry.js.map → p-1b86055f.entry.js.map} +0 -0
  586. /package/dist/verdocs-web-sdk/{p-5889c99f.entry.js.map → p-1bc8a67b.entry.js.map} +0 -0
  587. /package/dist/verdocs-web-sdk/{p-513e5b8a.system.entry.js.map → p-2083a0b5.system.entry.js.map} +0 -0
  588. /package/dist/verdocs-web-sdk/{p-9a109fed.entry.js.map → p-22d7fd99.entry.js.map} +0 -0
  589. /package/dist/verdocs-web-sdk/{p-851bd188.entry.js.map → p-262e6ed3.entry.js.map} +0 -0
  590. /package/dist/verdocs-web-sdk/{p-76f93877.entry.js.map → p-331b0a01.entry.js.map} +0 -0
  591. /package/dist/verdocs-web-sdk/{p-b0d3e996.entry.js.map → p-408204b5.entry.js.map} +0 -0
  592. /package/dist/verdocs-web-sdk/{p-c9f807d7.system.entry.js.map → p-424acea6.system.entry.js.map} +0 -0
  593. /package/dist/verdocs-web-sdk/{p-5f01fbeb.system.entry.js.map → p-4251e17b.system.entry.js.map} +0 -0
  594. /package/dist/verdocs-web-sdk/{p-771f2a9e.entry.js.map → p-56cd489c.entry.js.map} +0 -0
  595. /package/dist/verdocs-web-sdk/{p-dec943d5.entry.js.map → p-68dc5809.entry.js.map} +0 -0
  596. /package/dist/verdocs-web-sdk/{p-a5d53c9f.system.entry.js.map → p-6ec49614.system.entry.js.map} +0 -0
  597. /package/dist/verdocs-web-sdk/{p-a2f95711.entry.js.map → p-7032e5ee.entry.js.map} +0 -0
  598. /package/dist/verdocs-web-sdk/{p-759f13e2.entry.js.map → p-74f1369b.entry.js.map} +0 -0
  599. /package/dist/verdocs-web-sdk/{p-5b7212dc.entry.js.map → p-74f5a0bd.entry.js.map} +0 -0
  600. /package/dist/verdocs-web-sdk/{p-74b6c738.system.entry.js.map → p-7787a0e4.system.entry.js.map} +0 -0
  601. /package/dist/verdocs-web-sdk/{p-381bb0d2.system.entry.js.map → p-77a495cb.system.entry.js.map} +0 -0
  602. /package/dist/verdocs-web-sdk/{p-55ee046d.system.entry.js.map → p-79a57db4.system.entry.js.map} +0 -0
  603. /package/dist/verdocs-web-sdk/{p-879c16ae.entry.js.map → p-7c552800.entry.js.map} +0 -0
  604. /package/dist/verdocs-web-sdk/{p-0d45a7bb.entry.js.map → p-83057e79.entry.js.map} +0 -0
  605. /package/dist/verdocs-web-sdk/{p-305de09c.entry.js.map → p-84ef045b.entry.js.map} +0 -0
  606. /package/dist/verdocs-web-sdk/{p-f8104621.system.entry.js.map → p-85a01930.system.entry.js.map} +0 -0
  607. /package/dist/verdocs-web-sdk/{p-217db764.system.entry.js.map → p-89675355.system.entry.js.map} +0 -0
  608. /package/dist/verdocs-web-sdk/{p-f215d74d.system.entry.js.map → p-899a183a.system.entry.js.map} +0 -0
  609. /package/dist/verdocs-web-sdk/{p-715b1538.entry.js.map → p-8ae75311.entry.js.map} +0 -0
  610. /package/dist/verdocs-web-sdk/{p-fae894d6.system.entry.js.map → p-8daa82ec.system.entry.js.map} +0 -0
  611. /package/dist/verdocs-web-sdk/{p-4040ff25.entry.js.map → p-8f615cf8.entry.js.map} +0 -0
  612. /package/dist/verdocs-web-sdk/{p-36b211e9.system.entry.js.map → p-91455dc1.system.entry.js.map} +0 -0
  613. /package/dist/verdocs-web-sdk/{p-83369b59.entry.js.map → p-95098523.entry.js.map} +0 -0
  614. /package/dist/verdocs-web-sdk/{p-0361b7f5.entry.js.map → p-9a614582.entry.js.map} +0 -0
  615. /package/dist/verdocs-web-sdk/{p-b35f630c.entry.js.map → p-a7b796c9.entry.js.map} +0 -0
  616. /package/dist/verdocs-web-sdk/{p-7627b523.entry.js.map → p-a8ccb0e1.entry.js.map} +0 -0
  617. /package/dist/verdocs-web-sdk/{p-dca0ee01.system.entry.js.map → p-b2598797.system.entry.js.map} +0 -0
  618. /package/dist/verdocs-web-sdk/{p-4fc7fb57.entry.js.map → p-b81c87a9.entry.js.map} +0 -0
  619. /package/dist/verdocs-web-sdk/{p-af444549.system.entry.js.map → p-ba37926e.system.entry.js.map} +0 -0
  620. /package/dist/verdocs-web-sdk/{p-29b12c84.entry.js.map → p-c137b66c.entry.js.map} +0 -0
  621. /package/dist/verdocs-web-sdk/{p-0eab8901.entry.js.map → p-c636caf4.entry.js.map} +0 -0
  622. /package/dist/verdocs-web-sdk/{p-8dfd4098.entry.js.map → p-d0cdb769.entry.js.map} +0 -0
  623. /package/dist/verdocs-web-sdk/{p-3c4ae778.entry.js.map → p-d68d286d.entry.js.map} +0 -0
  624. /package/dist/verdocs-web-sdk/{p-6c0c5157.entry.js.map → p-d995bf66.entry.js.map} +0 -0
  625. /package/dist/verdocs-web-sdk/{p-f35d0bb1.system.entry.js.map → p-dc64588a.system.entry.js.map} +0 -0
  626. /package/dist/verdocs-web-sdk/{p-fd41f58d.entry.js.map → p-e1010b5e.entry.js.map} +0 -0
  627. /package/dist/verdocs-web-sdk/{p-ce79c107.entry.js.map → p-e251a7f7.entry.js.map} +0 -0
  628. /package/dist/verdocs-web-sdk/{p-1563ebea.entry.js.map → p-e612587a.entry.js.map} +0 -0
  629. /package/dist/verdocs-web-sdk/{p-2d879f01.entry.js.map → p-e9be55a9.entry.js.map} +0 -0
  630. /package/dist/verdocs-web-sdk/{p-bcff9d82.entry.js.map → p-f4d573b8.entry.js.map} +0 -0
  631. /package/dist/verdocs-web-sdk/{p-dcf8f80f.entry.js.map → p-fbb5d382.entry.js.map} +0 -0
@@ -1,4 +1,7 @@
1
- import { h, Host } from "@stencil/core";
1
+ import { h } from "@stencil/core";
2
+ const Keyboard = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 8h.01"/><path d="M12 12h.01"/><path d="M14 8h.01"/><path d="M16 12h.01"/><path d="M18 8h.01"/><path d="M6 8h.01"/><path d="M7 16h10"/><path d="M8 12h.01"/><rect width="20" height="16" x="2" y="4" rx="2"/></svg>`;
3
+ const Pencil = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/></svg>`;
4
+ const Upload = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"/><path d="m14 19.5 3-3 3 3"/><path d="M17 22v-5.5"/><circle cx="9" cy="9" r="2"/></svg>`;
2
5
  /**
3
6
  * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image
4
7
  * based on their full name, or by hand-drawing their signature with a mouse or tablet.
@@ -12,6 +15,140 @@ export class VerdocsSignatureDialog {
12
15
  this.fontLoaded = false;
13
16
  this.enteredName = '';
14
17
  this.mode = 'type';
18
+ // Drawing state
19
+ this.isDrawing = false;
20
+ this.hasDrawnSignature = false;
21
+ // Upload state
22
+ this.hasUploadedImage = false;
23
+ this.uploadedFileName = '';
24
+ this.currentStroke = [];
25
+ this.allStrokes = [];
26
+ this.lastPoint = null;
27
+ this.uploadedImage = null;
28
+ this.handlePointerDown = (e) => {
29
+ e.preventDefault();
30
+ if (!this.canvasElement || !this.drawingContext) {
31
+ return;
32
+ }
33
+ this.isDrawing = true;
34
+ this.hasDrawnSignature = true;
35
+ const point = this.getCanvasCoordinates(e);
36
+ this.currentStroke = [point];
37
+ this.lastPoint = point;
38
+ // Start a new path
39
+ this.drawingContext.beginPath();
40
+ this.drawingContext.moveTo(point.x, point.y);
41
+ // Capture pointer to ensure we get all events even if pointer leaves canvas
42
+ this.canvasElement.setPointerCapture(e.pointerId);
43
+ };
44
+ this.handlePointerMove = (e) => {
45
+ e.preventDefault();
46
+ if (!this.isDrawing || !this.drawingContext || !this.lastPoint) {
47
+ return;
48
+ }
49
+ const point = this.getCanvasCoordinates(e);
50
+ this.currentStroke.push(point);
51
+ // Use quadratic curves for smooth drawing
52
+ // The control point is the last point, and we draw to the midpoint
53
+ const midPoint = {
54
+ x: (this.lastPoint.x + point.x) / 2,
55
+ y: (this.lastPoint.y + point.y) / 2,
56
+ };
57
+ this.drawingContext.quadraticCurveTo(this.lastPoint.x, this.lastPoint.y, midPoint.x, midPoint.y);
58
+ this.drawingContext.stroke();
59
+ this.lastPoint = point;
60
+ };
61
+ this.handlePointerUp = (e) => {
62
+ e.preventDefault();
63
+ if (!this.isDrawing || !this.drawingContext) {
64
+ return;
65
+ }
66
+ // Complete the stroke
67
+ if (this.lastPoint && this.currentStroke.length > 0) {
68
+ this.drawingContext.lineTo(this.lastPoint.x, this.lastPoint.y);
69
+ this.drawingContext.stroke();
70
+ }
71
+ // Save the completed stroke
72
+ if (this.currentStroke.length > 0) {
73
+ this.allStrokes.push([...this.currentStroke]);
74
+ }
75
+ this.isDrawing = false;
76
+ this.currentStroke = [];
77
+ this.lastPoint = null;
78
+ // Release pointer capture
79
+ if (this.canvasElement) {
80
+ this.canvasElement.releasePointerCapture(e.pointerId);
81
+ }
82
+ };
83
+ this.handlePointerCancel = (e) => {
84
+ // Handle cases where drawing is interrupted (e.g., phone call, notification)
85
+ this.isDrawing = false;
86
+ this.currentStroke = [];
87
+ this.lastPoint = null;
88
+ if (this.canvasElement) {
89
+ this.canvasElement.releasePointerCapture(e.pointerId);
90
+ }
91
+ };
92
+ this.handleSelectFile = (e) => {
93
+ var _a;
94
+ e.stopPropagation();
95
+ e.preventDefault();
96
+ (_a = this.fileInputElement) === null || _a === void 0 ? void 0 : _a.click();
97
+ };
98
+ this.handleFileChange = (e) => {
99
+ var _a;
100
+ const input = e.target;
101
+ const file = (_a = input.files) === null || _a === void 0 ? void 0 : _a[0];
102
+ if (!file) {
103
+ return;
104
+ }
105
+ // Validate file type
106
+ if (!file.type.startsWith('image/png')) {
107
+ alert('Please select a PNG image file.');
108
+ input.value = '';
109
+ return;
110
+ }
111
+ // Load and display the image
112
+ const reader = new FileReader();
113
+ reader.onload = (event) => {
114
+ var _a;
115
+ const img = new Image();
116
+ img.onload = () => {
117
+ this.uploadedImage = img;
118
+ this.uploadedFileName = file.name;
119
+ this.hasUploadedImage = true;
120
+ this.drawUploadedImage();
121
+ };
122
+ img.onerror = () => {
123
+ alert('Failed to load image. Please try a different file.');
124
+ input.value = '';
125
+ };
126
+ img.src = (_a = event.target) === null || _a === void 0 ? void 0 : _a.result;
127
+ };
128
+ reader.onerror = () => {
129
+ alert('Failed to read file. Please try again.');
130
+ input.value = '';
131
+ };
132
+ reader.readAsDataURL(file);
133
+ };
134
+ this.handleClearUpload = (e) => {
135
+ e.stopPropagation();
136
+ e.preventDefault();
137
+ this.uploadedImage = null;
138
+ this.uploadedFileName = '';
139
+ this.hasUploadedImage = false;
140
+ // Clear the file input
141
+ if (this.fileInputElement) {
142
+ this.fileInputElement.value = '';
143
+ }
144
+ // Clear the canvas
145
+ if (this.canvasElement) {
146
+ const ctx = this.canvasElement.getContext('2d');
147
+ if (ctx) {
148
+ ctx.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);
149
+ }
150
+ }
151
+ };
15
152
  }
16
153
  componentWillLoad() {
17
154
  this.enteredName = this.name;
@@ -23,12 +160,22 @@ export class VerdocsSignatureDialog {
23
160
  }
24
161
  componentDidLoad() {
25
162
  this.redrawSignature();
163
+ this.setupDrawingCanvas();
26
164
  }
27
165
  componentDidUpdate() {
28
166
  this.redrawSignature();
167
+ this.setupDrawingCanvas();
168
+ // Redraw uploaded image when in upload mode
169
+ if (this.mode === 'upload' && this.hasUploadedImage) {
170
+ this.drawUploadedImage();
171
+ }
172
+ // Redraw drawn signature when in draw mode
173
+ if (this.mode === 'draw' && this.allStrokes.length > 0) {
174
+ this.redrawDrawnSignature();
175
+ }
29
176
  }
30
177
  redrawSignature() {
31
- if (!this.canvasElement) {
178
+ if (!this.canvasElement || this.mode !== 'type') {
32
179
  return;
33
180
  }
34
181
  const canvasWidth = this.canvasElement.width;
@@ -44,6 +191,39 @@ export class VerdocsSignatureDialog {
44
191
  context.font = `${fontSize}px Dancing Script`;
45
192
  context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);
46
193
  }
194
+ redrawDrawnSignature() {
195
+ if (!this.canvasElement || !this.drawingContext || this.allStrokes.length === 0) {
196
+ return;
197
+ }
198
+ // Clear the canvas first
199
+ this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);
200
+ // Redraw all strokes
201
+ for (const stroke of this.allStrokes) {
202
+ if (stroke.length === 0) {
203
+ continue;
204
+ }
205
+ // Start the path at the first point
206
+ this.drawingContext.beginPath();
207
+ this.drawingContext.moveTo(stroke[0].x, stroke[0].y);
208
+ // Draw smooth curves through all points in the stroke
209
+ for (let i = 1; i < stroke.length; i++) {
210
+ const currentPoint = stroke[i];
211
+ const previousPoint = stroke[i - 1];
212
+ // Use quadratic curves for smooth lines
213
+ const midPoint = {
214
+ x: (previousPoint.x + currentPoint.x) / 2,
215
+ y: (previousPoint.y + currentPoint.y) / 2,
216
+ };
217
+ this.drawingContext.quadraticCurveTo(previousPoint.x, previousPoint.y, midPoint.x, midPoint.y);
218
+ }
219
+ // Draw to the last point
220
+ if (stroke.length > 1) {
221
+ const lastPoint = stroke[stroke.length - 1];
222
+ this.drawingContext.lineTo(lastPoint.x, lastPoint.y);
223
+ }
224
+ this.drawingContext.stroke();
225
+ }
226
+ }
47
227
  handleNameChange(e) {
48
228
  this.enteredName = e.target.value;
49
229
  }
@@ -58,165 +238,111 @@ export class VerdocsSignatureDialog {
58
238
  const data = this.canvasElement.toDataURL('image/png');
59
239
  this.next.emit(data);
60
240
  }
61
- /*
62
- selColor(hex: string) {
63
- this.color = hex;
64
- this.animateDraw();
241
+ isAdoptButtonDisabled() {
242
+ switch (this.mode) {
243
+ case 'type':
244
+ // Disable if no name has been entered
245
+ return !this.enteredName || this.enteredName.trim().length === 0;
246
+ case 'draw':
247
+ // Disable if nothing has been drawn
248
+ return !this.hasDrawnSignature || this.allStrokes.length === 0;
249
+ case 'upload':
250
+ // Disable if no file has been uploaded
251
+ return !this.hasUploadedImage;
252
+ default:
253
+ return true;
254
+ }
65
255
  }
66
-
67
- stopDraw() {
68
- this.paint = false;
69
- this.adoptedAndSigned = !this.hasSignature();
256
+ setupDrawingCanvas() {
257
+ if (!this.canvasElement) {
258
+ return;
259
+ }
260
+ // Set up drawing context when in draw mode
261
+ if (this.mode === 'draw') {
262
+ // Always get fresh context from the current canvas element
263
+ const ctx = this.canvasElement.getContext('2d');
264
+ // Only initialize if we don't have a context or it's different
265
+ if (ctx && ctx !== this.drawingContext) {
266
+ this.drawingContext = ctx;
267
+ // Configure drawing style for smooth signatures
268
+ this.drawingContext.strokeStyle = '#000000';
269
+ this.drawingContext.lineWidth = 2;
270
+ this.drawingContext.lineCap = 'round';
271
+ this.drawingContext.lineJoin = 'round';
272
+ // Clear canvas only if there are no existing strokes
273
+ if (this.allStrokes.length === 0) {
274
+ this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);
275
+ }
276
+ }
277
+ }
278
+ // Reset drawing context when switching away from draw mode
279
+ // NOTE: We don't clear allStrokes here so drawing persists when returning to draw mode
280
+ if (this.mode !== 'draw' && this.drawingContext) {
281
+ this.drawingContext = null;
282
+ this.currentStroke = [];
283
+ this.lastPoint = null;
284
+ }
70
285
  }
71
-
72
- draw(e) {
73
- this.paint = true;
74
- this.addPoints(e, false);
75
- this.animateDraw();
286
+ clearDrawingCanvas() {
287
+ if (!this.canvasElement || !this.drawingContext) {
288
+ return;
289
+ }
290
+ this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);
291
+ this.currentStroke = [];
292
+ this.allStrokes = [];
293
+ this.lastPoint = null;
294
+ this.hasDrawnSignature = false;
76
295
  }
77
-
78
- recordPoints(e) {
79
- if (this.paint) {
80
- this.addPoints(e, true);
81
- this.animateDraw();
82
- }
296
+ handleClearDrawing(e) {
297
+ e.stopPropagation();
298
+ e.preventDefault();
299
+ this.clearDrawingCanvas();
83
300
  }
84
-
85
- animateDraw() {
86
- this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);
87
-
88
- this.canvas.strokeStyle = this.color || '#000000';
89
- this.canvas.lineJoin = 'round';
90
- this.canvas.lineWidth = 3;
91
-
92
- for (let i = 0; i < this.points.length; i++) {
93
- this.canvas.beginPath();
94
- if (this.points[i].drag && i) {
95
- this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);
96
- // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);
97
- } else {
98
- this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);
99
- // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);
301
+ getCanvasCoordinates(e) {
302
+ if (!this.canvasElement) {
303
+ return { x: 0, y: 0 };
100
304
  }
101
-
102
- this.canvas.lineTo(this.points[i].x, this.points[i].y);
103
- this.canvas.closePath();
104
- this.canvas.stroke();
105
- }
106
- }
107
-
108
- drawCurve(color: string, curve: number) {
109
- this.canvas.beginPath();
305
+ const rect = this.canvasElement.getBoundingClientRect();
306
+ // Calculate the scale factor between canvas size and display size
307
+ const scaleX = this.canvasElement.width / rect.width;
308
+ const scaleY = this.canvasElement.height / rect.height;
309
+ return {
310
+ x: (e.clientX - rect.left) * scaleX,
311
+ y: (e.clientY - rect.top) * scaleY,
312
+ };
110
313
  }
111
-
112
-
113
-
114
- addPoints(e, drag: boolean) {
115
- if (window) {
116
- let x;
117
- let y;
118
- e.preventDefault();
119
- if (e.touches && e.touches.length > 0) {
120
- x = e.touches[0].clientX;
121
- } else {
122
- x = e.clientX;
314
+ drawUploadedImage() {
315
+ if (!this.canvasElement || !this.uploadedImage) {
316
+ return;
123
317
  }
124
-
125
- if (e.touches && e.touches.length > 0) {
126
- y = e.touches[0].clientY;
127
- } else {
128
- y = e.clientY;
318
+ const ctx = this.canvasElement.getContext('2d');
319
+ if (!ctx) {
320
+ return;
129
321
  }
130
- const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();
131
- this.points.push({
132
- x: x - rect.left,
133
- y: y - rect.top,
134
- drag: drag
135
- });
136
- }
137
- }
138
-
139
- clearPad() {
140
- this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);
141
- this.points = [];
142
- this.adoptedAndSigned = !this.hasSignature();
143
- }
144
-
145
- async adoptAndSign() {
146
- try {
147
- this.adoptedAndSigned = true;
148
- await this.updateFullName();
149
- await this.captureSignatureFromCanvas();
150
- const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';
151
- this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));
152
- this.handleMode();
153
- } catch (err) {
154
- this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));
155
- }
156
- }
157
-
158
- handleMode() {
159
- let currentField;
160
- switch (this.mode) {
161
- case 'signerview':
162
- if (this.signatureMode === 'Signature') {
163
- this.signatureService.postSignatureBlob().then(result => {
164
- if (result && result.id && result.url) {
165
- currentField = this.signatureService.currField;
166
- this.signatureService.updateSigned(currentField.fName, true);
167
- this.signatureService.toggleSig(false);
168
- this.signatureService.setSignatureId(result.id);
169
- this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {
170
- this.eventTracker.createEvent({
171
- category: 'verdoc',
172
- action: 'verdoc signed',
173
- label: `verdoc id: ${this.envelopeId}`
174
- })
175
- if (res && res.settings) {
176
- this.signatureService.setSignatureData(res.settings.base64);
177
- this.signatureService.setSignatureId(res.settings.signature_id);
178
- }
179
- this.snackbarService.dismiss();
180
- this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });
181
- }).catch(err => {
182
- this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {
183
- duration: 3000
184
- });
185
- this.adoptedAndSigned = false;
186
- return err;
187
- });
188
- }
189
- });
190
- } else {
191
- this.signatureService.postInitialBlob().then(result => {
192
- if (result && result.id && result.url) {
193
- currentField = this.signatureService.currField;
194
- this.signatureService.updateInitialed(currentField.fName, true);
195
- this.signatureService.setInitialId(result.id);
196
- this.signatureService.toggleSig(false);
197
- this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {
198
- if (res && res.settings) {
199
- this.signatureService.setInitialData(res.settings.base64);
200
- this.signatureService.setInitialId(res.settings.initial_id);
201
- }
202
- this.snackbarService.dismiss();
203
- this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });
204
- }).catch(err => {
205
- this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {
206
- duration: 3000
207
- });
208
- this.adoptedAndSigned = false;
209
- return err;
210
- });
211
- }
212
- });
213
- }
214
- break;
215
- }
322
+ // Clear the canvas
323
+ ctx.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);
324
+ // Calculate scaling to fit image within canvas while maintaining aspect ratio
325
+ const canvasWidth = this.canvasElement.width;
326
+ const canvasHeight = this.canvasElement.height;
327
+ const imageWidth = this.uploadedImage.width;
328
+ const imageHeight = this.uploadedImage.height;
329
+ // Calculate scale to fit within canvas (with some padding)
330
+ const padding = 10;
331
+ const availableWidth = canvasWidth - padding * 2;
332
+ const availableHeight = canvasHeight - padding * 2;
333
+ const scaleX = availableWidth / imageWidth;
334
+ const scaleY = availableHeight / imageHeight;
335
+ const scale = Math.min(scaleX, scaleY);
336
+ // Calculate dimensions and position to center the image
337
+ const scaledWidth = imageWidth * scale;
338
+ const scaledHeight = imageHeight * scale;
339
+ const x = (canvasWidth - scaledWidth) / 2;
340
+ const y = (canvasHeight - scaledHeight) / 2;
341
+ // Draw the image centered and scaled
342
+ ctx.drawImage(this.uploadedImage, x, y, scaledWidth, scaledHeight);
216
343
  }
217
- */
218
344
  render() {
219
- return (h(Host, { key: '87f6af042c40379b21c1de9d29753140daf94788', onClick: e => this.handleCancel(e) }, h("div", { key: 'c0e1e109b53ae83f7d6516fb8b88710e2619fe40', class: "dialog" }, h("div", { key: 'af89e9807ef17cedf52328012c60fe2a4872e432', class: "heading" }, "Create Your Signature"), h("div", { key: '18e70aa0fd6157e670f418096142f948db0e442e', class: "content" }, h("verdocs-text-input", { key: '7b95be25c6c8de2b1f958be5627a63a3bbc37d79', placeholder: "Full Name...", label: "Full Name", value: this.enteredName, onInput: e => this.handleNameChange(e), onClick: e => e.stopPropagation() }), h("div", { key: 'e4319c1bada144f426727a0fb0415c54420459fd', class: "as-shown" }, "As shown on driver's license or govt. ID card."), this.fontLoaded ? h("canvas", { ref: el => (this.canvasElement = el) }) : h("div", { style: { display: 'none' } }), h("div", { key: 'a5254d368cff539a01307b39098f27e7ead0fe45', class: "disclaimer" }, "By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents, including legally binding contracts \u2014 just the same as a pen-and-paper signature or initial."), h("div", { key: 'bac062586d6bb1ca58f32edd27a2c8265cb13587', class: "buttons" }, h("verdocs-button", { key: 'ed52d8bad4d8771a1cd188edafbd50861a7f7a3d', label: "CANCEL", size: "normal", variant: "outline", onClick: e => this.handleCancel(e) }), h("verdocs-button", { key: '34203550fef66ae6c542e8ac9327314b607a26f1', label: "Adopt & Sign", size: "normal", onClick: e => this.handleAdopt(e) }))))));
345
+ return (h("verdocs-dialog", { key: '3f430f01f262602d17310430e449202c94cf1ab3' }, h("div", { key: '54bbb48492a51d0df780718d073f10c72e296692', slot: "heading", class: "heading" }, h("div", { key: '4d3ffe6e51b7ae75807889809b7b2b0540be1346', class: "icon" }, h("svg", { key: '154d11d792485ea4f04208151ee60d5de76f3488', width: "22", height: "19", viewBox: "0 0 22 19", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("g", { key: '1322052875ab581c02935a11aa28d7ff70c11a46', "clip-path": "url(#clip0_34208_4881)" }, h("path", { key: '65c28f7668aca08ad8c9a36e85ac7453ef1f6f6b', d: "M3.125 0.75C1.88398 0.75 0.875 1.75898 0.875 3V16.5C0.875 17.741 1.88398 18.75 3.125 18.75H12.125C13.366 18.75 14.375 17.741 14.375 16.5V15.8215C14.2801 15.8602 14.1852 15.8918 14.0867 15.9164L11.9738 16.4437C11.8684 16.4684 11.7629 16.4859 11.6574 16.493C11.6258 16.4965 11.5941 16.5 11.5625 16.5H9.3125C9.09805 16.5 8.90469 16.3805 8.80977 16.1906L8.50039 15.5684C8.44062 15.4488 8.32109 15.375 8.19102 15.375C8.06094 15.375 7.93789 15.4488 7.88164 15.5684L7.57227 16.1906C7.47031 16.398 7.24883 16.5211 7.02031 16.5C6.7918 16.4789 6.59492 16.3207 6.53164 16.1027L5.9375 14.1445L5.59297 15.2977C5.37852 16.0113 4.72109 16.5 3.97578 16.5H3.6875C3.37812 16.5 3.125 16.2469 3.125 15.9375C3.125 15.6281 3.37812 15.375 3.6875 15.375H3.97578C4.22539 15.375 4.44336 15.2133 4.51367 14.9742L5.0375 13.234C5.15703 12.8367 5.52266 12.5625 5.9375 12.5625C6.35234 12.5625 6.71797 12.8367 6.8375 13.234L7.24531 14.591C7.50547 14.373 7.83594 14.25 8.1875 14.25C8.74648 14.25 9.25625 14.5664 9.50586 15.0656L9.66055 15.375H9.97344C9.86445 15.0656 9.84336 14.7281 9.92422 14.3977L10.4516 12.2848C10.55 11.8875 10.7539 11.5289 11.0422 11.2406L14.375 7.90781V6.375H9.875C9.25273 6.375 8.75 5.87227 8.75 5.25V0.75H3.125ZM9.875 0.75V5.25H14.375L9.875 0.75ZM20.2039 5.66133C19.6555 5.11289 18.766 5.11289 18.2141 5.66133L17.1805 6.69492L19.6766 9.19102L20.7102 8.15742C21.2586 7.60898 21.2586 6.71953 20.7102 6.16758L20.2039 5.66133ZM11.8402 12.0352C11.6961 12.1793 11.5941 12.3586 11.5449 12.559L11.0176 14.6719C10.9684 14.8652 11.0246 15.0656 11.1652 15.2063C11.3059 15.3469 11.5062 15.4031 11.6996 15.3539L13.8125 14.8266C14.0094 14.7773 14.1922 14.6754 14.3363 14.5312L18.8785 9.98555L16.3824 7.48945L11.8402 12.0352Z", fill: "white" })), h("defs", { key: '3c2df74f2c2deb281cb33778697d77acf4a21608' }, h("clipPath", { key: 'e860a2db8ed93ef9d537f66e30648c0500b9fd86', id: "clip0_34208_4881" }, h("path", { key: 'b23b74cec80dd2eee94bbdb919ee5df217ec8ae6', d: "M0.875 0.75H21.125V18.75H0.875V0.75Z", fill: "white" }))))), h("div", { key: '1ca6d5040d50aded90b453de6e02bc2426bf9ba3', class: "title" }, "Adopt Signature")), h("div", { key: '7a408784b8bf830a516ec62d55b9764ddba4c71b', slot: "content", class: "content" }, h("div", { key: '2d7711ce452f9dc41443b7b3752618876cfd78a1', class: "tabs" }, h("div", { key: 'f0e5ae829763195955c1d76934f97eec92021d5f', class: { tab: true, active: this.mode === 'type' }, onClick: () => (this.mode = 'type') }, h("div", { key: 'dbb1650b9418f7efbb03039a0f16364f95c65530', innerHTML: Keyboard, class: "icon" }), h("div", { key: 'c45575ef060d7b8b11ff710d6c231f6f5b6a7e58' }, "Type")), h("div", { key: '3325ff9c90537dbbe39ddba44db09e7e12d8b136', class: { tab: true, active: this.mode === 'draw' }, onClick: () => (this.mode = 'draw') }, h("div", { key: '1371f9abc08703f993aa3904f926fc01fda8d3b2', innerHTML: Pencil, class: "icon" }), h("div", { key: '46c3cf880ea975c9b3e9a4af2702a27a47417785' }, "Draw")), h("div", { key: '49d31d80bda45d88c0a18fad732e6ab8e7389c44', class: { tab: true, active: this.mode === 'upload' }, onClick: () => (this.mode = 'upload') }, h("div", { key: 'b83ae054abeaea89abc5555454e176f10d977234', innerHTML: Upload, class: "icon" }), h("div", { key: 'dc552445552cfe477dbd00cc09f9f5620f64b297' }, "Upload"))), h("div", { key: '973f5e4c6e54ea64358cb1b05b9d890926a0a64c', class: { type: true, active: this.mode === 'type' } }, h("verdocs-text-input", { key: '31def95bb39e2281bab20df8400c936703af1b67', label: "Full Name", value: this.enteredName, placeholder: "Full Name...", description: "As shown on driver's license or govt. ID card.", onInput: e => this.handleNameChange(e), onClick: e => e.stopPropagation() })), h("div", { key: 'bde401bfbfc6f84a6590d4d75aeafc55599c13b8', class: { draw: true, active: this.mode === 'draw' } }, h("div", { key: '02cc3d9aaf969df48a83e933ecf6163f53b0293d', class: "draw-instructions" }, "Draw your signature below using your mouse or finger"), h("div", { key: 'fe1978aa0bec496a631caaf4a019e4d3b3695afb', class: "draw-actions" }, h("button", { key: '200d6e499341dd9c422878c9d477b01142001ace', class: "clear-button", onClick: e => this.handleClearDrawing(e), disabled: !this.hasDrawnSignature }, "Clear"))), h("div", { key: '5106b48076676726279d2d55c299e052dabcca12', class: { upload: true, active: this.mode === 'upload' } }, h("div", { key: '1f976078b156c1dcdd2bcd9ddea0be92953716a1', class: "upload-instructions" }, "Upload a PNG image of your signature"), h("input", { key: 'c37462cfbe3639d8aad25301a62cbbfce099da1e', ref: el => (this.fileInputElement = el), type: "file", accept: "image/png", onChange: this.handleFileChange, style: { display: 'none' } }), h("div", { key: '4df4435e40abed7440687619b163b4507a188ab9', class: "upload-actions" }, h("button", { key: 'e652deb3abfdd4b595ddfd8b2cba6d7ab75cec6d', class: "upload-button", onClick: this.handleSelectFile }, this.hasUploadedImage ? 'Change Image' : 'Select PNG File'), this.hasUploadedImage && (h("button", { key: '4ef0692fbc4a0d723c19ecd7ba370b3c61309da4', class: "clear-button", onClick: this.handleClearUpload }, "Clear"))), this.uploadedFileName && h("div", { key: '07a9788ade452561919b9f2f4dba8ce92a0dc5dd', class: "upload-filename" }, this.uploadedFileName)), h("canvas", { key: '864fd1d369c021a5a4debda88fe4a2924218f04d', ref: el => (this.canvasElement = el), width: "300", height: "79", onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerCancel, style: { touchAction: 'none', cursor: 'crosshair' } }), h("div", { key: '5149aad6565bc17d485a366a84f0bdad9bcb12cb', class: "disclaimer" }, "By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents, including legally binding contracts \u2014 just the same as a pen-and-paper signature or initial.")), h("div", { key: '5e257d6e8aabbcc0dc84d0506412cba78929a887', class: "footer", slot: "footer" }, h("div", { key: 'e66a8f119471f65cdf7db382c6b420b16245b933', class: "buttons" }, h("button", { key: '45643f5b7a7e9fcd1e932629913f315f4c8030d3', class: "cancel", onClick: e => this.handleCancel(e) }, "Cancel"), h("button", { key: '59f9ab972b61ca4e664196db9aab46a0ae78e619', class: "proceed", onClick: e => this.handleAdopt(e), disabled: this.isAdoptButtonDisabled() }, "Adopt & Sign")))));
220
346
  }
221
347
  static get is() { return "verdocs-signature-dialog"; }
222
348
  static get originalStyleUrls() {
@@ -257,7 +383,11 @@ export class VerdocsSignatureDialog {
257
383
  return {
258
384
  "fontLoaded": {},
259
385
  "enteredName": {},
260
- "mode": {}
386
+ "mode": {},
387
+ "isDrawing": {},
388
+ "hasDrawnSignature": {},
389
+ "hasUploadedImage": {},
390
+ "uploadedFileName": {}
261
391
  };
262
392
  }
263
393
  static get events() {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-signature-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Prop, h, Event, EventEmitter, State, Host} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: 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 @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredName = this.name;\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n if (!this.canvasElement) {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredName).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.exit.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host onClick={e => this.handleCancel(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Signature</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Full Name...\" label=\"Full Name\" value={this.enteredName} onInput={e => this.handleNameChange(e)} onClick={e => e.stopPropagation()} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n {/*<div class=\"tabs\">*/}\n {/* <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>*/}\n {/* Type*/}\n {/* </div>*/}\n {/*<div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>*/}\n {/* Draw*/}\n {/*</div>*/}\n {/*</div>*/}\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" size=\"normal\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onClick={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-signature-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Prop, h, Event, EventEmitter, State} from '@stencil/core';\n\nconst Keyboard = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 8h.01\"/><path d=\"M12 12h.01\"/><path d=\"M14 8h.01\"/><path d=\"M16 12h.01\"/><path d=\"M18 8h.01\"/><path d=\"M6 8h.01\"/><path d=\"M7 16h10\"/><path d=\"M8 12h.01\"/><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"/></svg>`;\nconst Pencil = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\"/><path d=\"m15 5 4 4\"/></svg>`;\nconst Upload = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21\"/><path d=\"m14 19.5 3-3 3 3\"/><path d=\"M17 22v-5.5\"/><circle cx=\"9\" cy=\"9\" r=\"2\"/></svg>`;\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n private drawingContext?: CanvasRenderingContext2D;\n private fileInputElement?: HTMLInputElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: 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 @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n // Drawing state\n @State() isDrawing = false;\n\n @State() hasDrawnSignature = false;\n\n // Upload state\n @State() hasUploadedImage = false;\n\n @State() uploadedFileName: string = '';\n\n private currentStroke: Array<{x: number; y: number}> = [];\n private allStrokes: Array<Array<{x: number; y: number}>> = [];\n private lastPoint: {x: number; y: number} | null = null;\n private uploadedImage: HTMLImageElement | null = null;\n\n componentWillLoad() {\n this.enteredName = this.name;\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n this.setupDrawingCanvas();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n this.setupDrawingCanvas();\n\n // Redraw uploaded image when in upload mode\n if (this.mode === 'upload' && this.hasUploadedImage) {\n this.drawUploadedImage();\n }\n\n // Redraw drawn signature when in draw mode\n if (this.mode === 'draw' && this.allStrokes.length > 0) {\n this.redrawDrawnSignature();\n }\n }\n\n redrawSignature() {\n if (!this.canvasElement || this.mode !== 'type') {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredName).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n redrawDrawnSignature() {\n if (!this.canvasElement || !this.drawingContext || this.allStrokes.length === 0) {\n return;\n }\n\n // Clear the canvas first\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n // Redraw all strokes\n for (const stroke of this.allStrokes) {\n if (stroke.length === 0) {\n continue;\n }\n\n // Start the path at the first point\n this.drawingContext.beginPath();\n this.drawingContext.moveTo(stroke[0].x, stroke[0].y);\n\n // Draw smooth curves through all points in the stroke\n for (let i = 1; i < stroke.length; i++) {\n const currentPoint = stroke[i];\n const previousPoint = stroke[i - 1];\n\n // Use quadratic curves for smooth lines\n const midPoint = {\n x: (previousPoint.x + currentPoint.x) / 2,\n y: (previousPoint.y + currentPoint.y) / 2,\n };\n\n this.drawingContext.quadraticCurveTo(previousPoint.x, previousPoint.y, midPoint.x, midPoint.y);\n }\n\n // Draw to the last point\n if (stroke.length > 1) {\n const lastPoint = stroke[stroke.length - 1];\n this.drawingContext.lineTo(lastPoint.x, lastPoint.y);\n }\n\n this.drawingContext.stroke();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.exit.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n isAdoptButtonDisabled(): boolean {\n switch (this.mode) {\n case 'type':\n // Disable if no name has been entered\n return !this.enteredName || this.enteredName.trim().length === 0;\n case 'draw':\n // Disable if nothing has been drawn\n return !this.hasDrawnSignature || this.allStrokes.length === 0;\n case 'upload':\n // Disable if no file has been uploaded\n return !this.hasUploadedImage;\n default:\n return true;\n }\n }\n\n setupDrawingCanvas() {\n if (!this.canvasElement) {\n return;\n }\n\n // Set up drawing context when in draw mode\n if (this.mode === 'draw') {\n // Always get fresh context from the current canvas element\n const ctx = this.canvasElement.getContext('2d');\n\n // Only initialize if we don't have a context or it's different\n if (ctx && ctx !== this.drawingContext) {\n this.drawingContext = ctx;\n\n // Configure drawing style for smooth signatures\n this.drawingContext.strokeStyle = '#000000';\n this.drawingContext.lineWidth = 2;\n this.drawingContext.lineCap = 'round';\n this.drawingContext.lineJoin = 'round';\n\n // Clear canvas only if there are no existing strokes\n if (this.allStrokes.length === 0) {\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n }\n }\n }\n\n // Reset drawing context when switching away from draw mode\n // NOTE: We don't clear allStrokes here so drawing persists when returning to draw mode\n if (this.mode !== 'draw' && this.drawingContext) {\n this.drawingContext = null;\n this.currentStroke = [];\n this.lastPoint = null;\n }\n }\n\n clearDrawingCanvas() {\n if (!this.canvasElement || !this.drawingContext) {\n return;\n }\n\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n this.currentStroke = [];\n this.allStrokes = [];\n this.lastPoint = null;\n this.hasDrawnSignature = false;\n }\n\n handleClearDrawing(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.clearDrawingCanvas();\n }\n\n getCanvasCoordinates(e: PointerEvent): {x: number; y: number} {\n if (!this.canvasElement) {\n return {x: 0, y: 0};\n }\n\n const rect = this.canvasElement.getBoundingClientRect();\n\n // Calculate the scale factor between canvas size and display size\n const scaleX = this.canvasElement.width / rect.width;\n const scaleY = this.canvasElement.height / rect.height;\n\n return {\n x: (e.clientX - rect.left) * scaleX,\n y: (e.clientY - rect.top) * scaleY,\n };\n }\n\n handlePointerDown = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.canvasElement || !this.drawingContext) {\n return;\n }\n\n this.isDrawing = true;\n this.hasDrawnSignature = true;\n\n const point = this.getCanvasCoordinates(e);\n this.currentStroke = [point];\n this.lastPoint = point;\n\n // Start a new path\n this.drawingContext.beginPath();\n this.drawingContext.moveTo(point.x, point.y);\n\n // Capture pointer to ensure we get all events even if pointer leaves canvas\n this.canvasElement.setPointerCapture(e.pointerId);\n };\n\n handlePointerMove = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.drawingContext || !this.lastPoint) {\n return;\n }\n\n const point = this.getCanvasCoordinates(e);\n this.currentStroke.push(point);\n\n // Use quadratic curves for smooth drawing\n // The control point is the last point, and we draw to the midpoint\n const midPoint = {\n x: (this.lastPoint.x + point.x) / 2,\n y: (this.lastPoint.y + point.y) / 2,\n };\n\n this.drawingContext.quadraticCurveTo(this.lastPoint.x, this.lastPoint.y, midPoint.x, midPoint.y);\n this.drawingContext.stroke();\n\n this.lastPoint = point;\n };\n\n handlePointerUp = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.drawingContext) {\n return;\n }\n\n // Complete the stroke\n if (this.lastPoint && this.currentStroke.length > 0) {\n this.drawingContext.lineTo(this.lastPoint.x, this.lastPoint.y);\n this.drawingContext.stroke();\n }\n\n // Save the completed stroke\n if (this.currentStroke.length > 0) {\n this.allStrokes.push([...this.currentStroke]);\n }\n\n this.isDrawing = false;\n this.currentStroke = [];\n this.lastPoint = null;\n\n // Release pointer capture\n if (this.canvasElement) {\n this.canvasElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handlePointerCancel = (e: PointerEvent) => {\n // Handle cases where drawing is interrupted (e.g., phone call, notification)\n this.isDrawing = false;\n this.currentStroke = [];\n this.lastPoint = null;\n\n if (this.canvasElement) {\n this.canvasElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleSelectFile = (e: any) => {\n e.stopPropagation();\n e.preventDefault();\n this.fileInputElement?.click();\n };\n\n handleFileChange = (e: Event) => {\n const input = e.target as HTMLInputElement;\n const file = input.files?.[0];\n\n if (!file) {\n return;\n }\n\n // Validate file type\n if (!file.type.startsWith('image/png')) {\n alert('Please select a PNG image file.');\n input.value = '';\n return;\n }\n\n // Load and display the image\n const reader = new FileReader();\n reader.onload = (event: ProgressEvent<FileReader>) => {\n const img = new Image();\n img.onload = () => {\n this.uploadedImage = img;\n this.uploadedFileName = file.name;\n this.hasUploadedImage = true;\n this.drawUploadedImage();\n };\n img.onerror = () => {\n alert('Failed to load image. Please try a different file.');\n input.value = '';\n };\n img.src = event.target?.result as string;\n };\n reader.onerror = () => {\n alert('Failed to read file. Please try again.');\n input.value = '';\n };\n reader.readAsDataURL(file);\n };\n\n drawUploadedImage() {\n if (!this.canvasElement || !this.uploadedImage) {\n return;\n }\n\n const ctx = this.canvasElement.getContext('2d');\n if (!ctx) {\n return;\n }\n\n // Clear the canvas\n ctx.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n // Calculate scaling to fit image within canvas while maintaining aspect ratio\n const canvasWidth = this.canvasElement.width;\n const canvasHeight = this.canvasElement.height;\n const imageWidth = this.uploadedImage.width;\n const imageHeight = this.uploadedImage.height;\n\n // Calculate scale to fit within canvas (with some padding)\n const padding = 10;\n const availableWidth = canvasWidth - padding * 2;\n const availableHeight = canvasHeight - padding * 2;\n\n const scaleX = availableWidth / imageWidth;\n const scaleY = availableHeight / imageHeight;\n const scale = Math.min(scaleX, scaleY);\n\n // Calculate dimensions and position to center the image\n const scaledWidth = imageWidth * scale;\n const scaledHeight = imageHeight * scale;\n const x = (canvasWidth - scaledWidth) / 2;\n const y = (canvasHeight - scaledHeight) / 2;\n\n // Draw the image centered and scaled\n ctx.drawImage(this.uploadedImage, x, y, scaledWidth, scaledHeight);\n }\n\n handleClearUpload = (e: any) => {\n e.stopPropagation();\n e.preventDefault();\n\n this.uploadedImage = null;\n this.uploadedFileName = '';\n this.hasUploadedImage = false;\n\n // Clear the file input\n if (this.fileInputElement) {\n this.fileInputElement.value = '';\n }\n\n // Clear the canvas\n if (this.canvasElement) {\n const ctx = this.canvasElement.getContext('2d');\n if (ctx) {\n ctx.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n }\n }\n };\n\n render() {\n return (\n <verdocs-dialog>\n <div slot=\"heading\" class=\"heading\">\n <div class=\"icon\">\n <svg width=\"22\" height=\"19\" viewBox=\"0 0 22 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_34208_4881)\">\n <path\n d=\"M3.125 0.75C1.88398 0.75 0.875 1.75898 0.875 3V16.5C0.875 17.741 1.88398 18.75 3.125 18.75H12.125C13.366 18.75 14.375 17.741 14.375 16.5V15.8215C14.2801 15.8602 14.1852 15.8918 14.0867 15.9164L11.9738 16.4437C11.8684 16.4684 11.7629 16.4859 11.6574 16.493C11.6258 16.4965 11.5941 16.5 11.5625 16.5H9.3125C9.09805 16.5 8.90469 16.3805 8.80977 16.1906L8.50039 15.5684C8.44062 15.4488 8.32109 15.375 8.19102 15.375C8.06094 15.375 7.93789 15.4488 7.88164 15.5684L7.57227 16.1906C7.47031 16.398 7.24883 16.5211 7.02031 16.5C6.7918 16.4789 6.59492 16.3207 6.53164 16.1027L5.9375 14.1445L5.59297 15.2977C5.37852 16.0113 4.72109 16.5 3.97578 16.5H3.6875C3.37812 16.5 3.125 16.2469 3.125 15.9375C3.125 15.6281 3.37812 15.375 3.6875 15.375H3.97578C4.22539 15.375 4.44336 15.2133 4.51367 14.9742L5.0375 13.234C5.15703 12.8367 5.52266 12.5625 5.9375 12.5625C6.35234 12.5625 6.71797 12.8367 6.8375 13.234L7.24531 14.591C7.50547 14.373 7.83594 14.25 8.1875 14.25C8.74648 14.25 9.25625 14.5664 9.50586 15.0656L9.66055 15.375H9.97344C9.86445 15.0656 9.84336 14.7281 9.92422 14.3977L10.4516 12.2848C10.55 11.8875 10.7539 11.5289 11.0422 11.2406L14.375 7.90781V6.375H9.875C9.25273 6.375 8.75 5.87227 8.75 5.25V0.75H3.125ZM9.875 0.75V5.25H14.375L9.875 0.75ZM20.2039 5.66133C19.6555 5.11289 18.766 5.11289 18.2141 5.66133L17.1805 6.69492L19.6766 9.19102L20.7102 8.15742C21.2586 7.60898 21.2586 6.71953 20.7102 6.16758L20.2039 5.66133ZM11.8402 12.0352C11.6961 12.1793 11.5941 12.3586 11.5449 12.559L11.0176 14.6719C10.9684 14.8652 11.0246 15.0656 11.1652 15.2063C11.3059 15.3469 11.5062 15.4031 11.6996 15.3539L13.8125 14.8266C14.0094 14.7773 14.1922 14.6754 14.3363 14.5312L18.8785 9.98555L16.3824 7.48945L11.8402 12.0352Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_34208_4881\">\n <path d=\"M0.875 0.75H21.125V18.75H0.875V0.75Z\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n\n <div class=\"title\">Adopt Signature</div>\n </div>\n\n <div slot=\"content\" class=\"content\">\n <div class=\"tabs\">\n <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>\n <div innerHTML={Keyboard} class=\"icon\" />\n <div>Type</div>\n </div>\n <div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>\n <div innerHTML={Pencil} class=\"icon\" />\n <div>Draw</div>\n </div>\n <div class={{tab: true, active: this.mode === 'upload'}} onClick={() => (this.mode = 'upload')}>\n <div innerHTML={Upload} class=\"icon\" />\n <div>Upload</div>\n </div>\n </div>\n\n <div class={{type: true, active: this.mode === 'type'}}>\n <verdocs-text-input\n label=\"Full Name\"\n value={this.enteredName}\n placeholder=\"Full Name...\"\n description=\"As shown on driver's license or govt. ID card.\"\n onInput={e => this.handleNameChange(e)}\n onClick={e => e.stopPropagation()}\n />\n </div>\n\n <div class={{draw: true, active: this.mode === 'draw'}}>\n <div class=\"draw-instructions\">Draw your signature below using your mouse or finger</div>\n <div class=\"draw-actions\">\n <button class=\"clear-button\" onClick={e => this.handleClearDrawing(e)} disabled={!this.hasDrawnSignature}>\n Clear\n </button>\n </div>\n </div>\n\n <div class={{upload: true, active: this.mode === 'upload'}}>\n <div class=\"upload-instructions\">Upload a PNG image of your signature</div>\n <input ref={el => (this.fileInputElement = el as HTMLInputElement)} type=\"file\" accept=\"image/png\" onChange={this.handleFileChange} style={{display: 'none'}} />\n <div class=\"upload-actions\">\n <button class=\"upload-button\" onClick={this.handleSelectFile}>\n {this.hasUploadedImage ? 'Change Image' : 'Select PNG File'}\n </button>\n {this.hasUploadedImage && (\n <button class=\"clear-button\" onClick={this.handleClearUpload}>\n Clear\n </button>\n )}\n </div>\n {this.uploadedFileName && <div class=\"upload-filename\">{this.uploadedFileName}</div>}\n </div>\n\n <canvas\n ref={el => (this.canvasElement = el as HTMLCanvasElement)}\n width=\"300\"\n height=\"79\"\n onPointerDown={this.handlePointerDown}\n onPointerMove={this.handlePointerMove}\n onPointerUp={this.handlePointerUp}\n onPointerCancel={this.handlePointerCancel}\n style={{touchAction: 'none', cursor: 'crosshair'}}\n />\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n </div>\n\n <div class=\"footer\" slot=\"footer\">\n <div class=\"buttons\">\n <button class=\"cancel\" onClick={e => this.handleCancel(e)}>\n Cancel\n </button>\n <button class=\"proceed\" onClick={e => this.handleAdopt(e)} disabled={this.isAdoptButtonDisabled()}>\n Adopt & Sign\n </button>\n </div>\n </div>\n </verdocs-dialog>\n );\n }\n}\n"]}