@verdocs/web-sdk 6.3.2 → 6.5.0-beta.1

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 (347) hide show
  1. package/dist/cjs/index-CQ5bTnED.js +6 -6
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.cjs.js.map +1 -0
  4. package/dist/cjs/{verdocs-delegate-dialog_5.cjs.entry.js → verdocs-adopt-signature-dialog_6.cjs.entry.js} +443 -4
  5. package/dist/cjs/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.cjs.js.map +1 -1
  6. package/dist/cjs/verdocs-button_3.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-dialog.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-dialog.entry.cjs.js.map +1 -1
  9. package/dist/cjs/verdocs-envelope-document-page_3.cjs.entry.js +3 -3
  10. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +6 -6
  11. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +3 -3
  12. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +7 -7
  13. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-sign.cjs.entry.js +42 -4
  17. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  18. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -2
  19. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
  22. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  23. package/dist/collection/collection-manifest.json +1 -0
  24. package/dist/collection/components/controls/verdocs-button/verdocs-button.css +2 -2
  25. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.css +225 -0
  26. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js +515 -0
  27. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js.map +1 -0
  28. package/dist/collection/components/dialogs/verdocs-delegate-dialog/verdocs-delegate-dialog.js +1 -1
  29. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +1 -1
  30. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js.map +1 -1
  31. package/dist/collection/components/dialogs/verdocs-disclosure-dialog/verdocs-disclosure-dialog.js +1 -1
  32. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
  33. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
  34. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js +1 -1
  35. package/dist/collection/components/dialogs/verdocs-question-dialog/verdocs-question-dialog.js +1 -1
  36. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
  37. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -1
  38. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
  39. package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
  40. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +11 -0
  41. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +43 -3
  42. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  43. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
  44. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
  45. package/dist/collection/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.js +1 -1
  46. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
  47. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
  48. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -7
  49. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  50. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  51. package/dist/components/index.js +2 -0
  52. package/dist/components/index.js.map +1 -1
  53. package/dist/components/p--22mTpQu.js +492 -0
  54. package/dist/components/p--22mTpQu.js.map +1 -0
  55. package/dist/components/{p-xtoLmSCb.js → p--MAFwnYi.js} +4 -4
  56. package/dist/components/{p-xtoLmSCb.js.map → p--MAFwnYi.js.map} +1 -1
  57. package/dist/components/{p-DQZV5DpX.js → p-03-0JktC.js} +6 -6
  58. package/dist/components/{p-DQZV5DpX.js.map → p-03-0JktC.js.map} +1 -1
  59. package/dist/components/{p-5Fek5Wy9.js → p-B-Dy5ZZg.js} +3 -3
  60. package/dist/components/{p-5Fek5Wy9.js.map → p-B-Dy5ZZg.js.map} +1 -1
  61. package/dist/components/{p-ShTRLp1e.js → p-B2kqp9s3.js} +3 -3
  62. package/dist/components/{p-ShTRLp1e.js.map → p-B2kqp9s3.js.map} +1 -1
  63. package/dist/components/{p-BBgYkz_p.js → p-B8ZrxzPu.js} +4 -4
  64. package/dist/components/{p-BBgYkz_p.js.map → p-B8ZrxzPu.js.map} +1 -1
  65. package/dist/components/{p-ewRI_6tO.js → p-B9UsTlmn.js} +4 -4
  66. package/dist/components/{p-ewRI_6tO.js.map → p-B9UsTlmn.js.map} +1 -1
  67. package/dist/components/{p-tXZcbV3w.js → p-BL-JaC6f.js} +4 -4
  68. package/dist/components/{p-tXZcbV3w.js.map → p-BL-JaC6f.js.map} +1 -1
  69. package/dist/components/{p-foP05GI4.js → p-BMuFgZcf.js} +20 -20
  70. package/dist/components/{p-foP05GI4.js.map → p-BMuFgZcf.js.map} +1 -1
  71. package/dist/components/{p-DQ5Kf869.js → p-BPl-hwhm.js} +5 -5
  72. package/dist/components/{p-DQ5Kf869.js.map → p-BPl-hwhm.js.map} +1 -1
  73. package/dist/components/{p-DzDB_SyD.js → p-BRnBGYE7.js} +4 -4
  74. package/dist/components/{p-DzDB_SyD.js.map → p-BRnBGYE7.js.map} +1 -1
  75. package/dist/components/{p-DYfrJ4GD.js → p-BeOs-_Hc.js} +4 -4
  76. package/dist/components/{p-DYfrJ4GD.js.map → p-BeOs-_Hc.js.map} +1 -1
  77. package/dist/components/{p-DLRzhboq.js → p-BgdorSdl.js} +4 -4
  78. package/dist/components/{p-DLRzhboq.js.map → p-BgdorSdl.js.map} +1 -1
  79. package/dist/components/{p-Cxr-iSrc.js → p-ByN2xw3g.js} +3 -3
  80. package/dist/components/{p-Cxr-iSrc.js.map → p-ByN2xw3g.js.map} +1 -1
  81. package/dist/components/{p-DHYsT4bg.js → p-CAAXnAJc.js} +19 -19
  82. package/dist/components/{p-DHYsT4bg.js.map → p-CAAXnAJc.js.map} +1 -1
  83. package/dist/components/{p-D90w1eGV.js → p-CAXnLTMU.js} +6 -6
  84. package/dist/components/{p-D90w1eGV.js.map → p-CAXnLTMU.js.map} +1 -1
  85. package/dist/components/{p-B1xA5_lE.js → p-CGEus5vb.js} +4 -4
  86. package/dist/components/{p-B1xA5_lE.js.map → p-CGEus5vb.js.map} +1 -1
  87. package/dist/components/{p-D9PE4xz7.js → p-CVw3uIMa.js} +3 -3
  88. package/dist/components/{p-D9PE4xz7.js.map → p-CVw3uIMa.js.map} +1 -1
  89. package/dist/components/{p-CSxSI_ON.js → p-CWyDvAhW.js} +20 -20
  90. package/dist/components/{p-CSxSI_ON.js.map → p-CWyDvAhW.js.map} +1 -1
  91. package/dist/components/{p-DaISePSz.js → p-Cb2BVlCf.js} +3 -3
  92. package/dist/components/p-Cb2BVlCf.js.map +1 -0
  93. package/dist/components/{p-C74Z96Hx.js → p-CfteiEu5.js} +3 -3
  94. package/dist/components/{p-C74Z96Hx.js.map → p-CfteiEu5.js.map} +1 -1
  95. package/dist/components/{p-_8VAlOYF.js → p-CmNkNw68.js} +4 -4
  96. package/dist/components/{p-_8VAlOYF.js.map → p-CmNkNw68.js.map} +1 -1
  97. package/dist/components/{p-D-o8QR0Y.js → p-Crvz6jDy.js} +3 -3
  98. package/dist/components/{p-D-o8QR0Y.js.map → p-Crvz6jDy.js.map} +1 -1
  99. package/dist/components/{p-MbNTNztz.js → p-CvzTGqMO.js} +4 -4
  100. package/dist/components/{p-MbNTNztz.js.map → p-CvzTGqMO.js.map} +1 -1
  101. package/dist/components/{p-s5aulRbG.js → p-CxLl7FNM.js} +4 -4
  102. package/dist/components/{p-s5aulRbG.js.map → p-CxLl7FNM.js.map} +1 -1
  103. package/dist/components/{p-DMN-w8Ma.js → p-D-H-9KY8.js} +4 -4
  104. package/dist/components/{p-DMN-w8Ma.js.map → p-D-H-9KY8.js.map} +1 -1
  105. package/dist/components/{p-Dj0PabuK.js → p-D7__Pp00.js} +6 -6
  106. package/dist/components/{p-Dj0PabuK.js.map → p-D7__Pp00.js.map} +1 -1
  107. package/dist/components/{p-CmOvVqbw.js → p-D7a2wzo5.js} +4 -4
  108. package/dist/components/{p-CmOvVqbw.js.map → p-D7a2wzo5.js.map} +1 -1
  109. package/dist/components/{p-BQVsyF2B.js → p-DBAtkaK6.js} +4 -4
  110. package/dist/components/{p-BQVsyF2B.js.map → p-DBAtkaK6.js.map} +1 -1
  111. package/dist/components/{p-CcVkCmQi.js → p-DE0Pffxj.js} +4 -4
  112. package/dist/components/{p-CcVkCmQi.js.map → p-DE0Pffxj.js.map} +1 -1
  113. package/dist/components/p-DNljqkuf.js +55 -0
  114. package/dist/components/p-DNljqkuf.js.map +1 -0
  115. package/dist/components/{p-Be40bZ4S.js → p-DR2UE0Os.js} +7 -7
  116. package/dist/components/{p-Be40bZ4S.js.map → p-DR2UE0Os.js.map} +1 -1
  117. package/dist/components/{p-zln1sHDr.js → p-DaIaz1c1.js} +4 -4
  118. package/dist/components/{p-zln1sHDr.js.map → p-DaIaz1c1.js.map} +1 -1
  119. package/dist/components/{p-qGaFgS8W.js → p-DdW2wHj_.js} +4 -4
  120. package/dist/components/{p-qGaFgS8W.js.map → p-DdW2wHj_.js.map} +1 -1
  121. package/dist/components/{p-5cFBOeAO.js → p-DkrVyv_Q.js} +3 -3
  122. package/dist/components/{p-5cFBOeAO.js.map → p-DkrVyv_Q.js.map} +1 -1
  123. package/dist/components/{p-DZonUNfY.js → p-DngKAB2o.js} +10 -10
  124. package/dist/components/{p-DZonUNfY.js.map → p-DngKAB2o.js.map} +1 -1
  125. package/dist/components/{p-BJmkJ4bg.js → p-DsYzavXP.js} +3 -3
  126. package/dist/components/{p-BJmkJ4bg.js.map → p-DsYzavXP.js.map} +1 -1
  127. package/dist/components/{p-BjnLxewv.js → p-GiBzmfuf.js} +4 -4
  128. package/dist/components/{p-BjnLxewv.js.map → p-GiBzmfuf.js.map} +1 -1
  129. package/dist/components/{p-8N-Q0mJE.js → p-LWshb-T0.js} +5 -5
  130. package/dist/components/{p-8N-Q0mJE.js.map → p-LWshb-T0.js.map} +1 -1
  131. package/dist/components/{p-BukckV1k.js → p-YdjsfZWX.js} +7 -7
  132. package/dist/components/{p-BukckV1k.js.map → p-YdjsfZWX.js.map} +1 -1
  133. package/dist/components/p-j_Tq7bTq.js +66 -0
  134. package/dist/components/p-j_Tq7bTq.js.map +1 -0
  135. package/dist/components/verdocs-adopt-signature-dialog.d.ts +11 -0
  136. package/dist/components/verdocs-adopt-signature-dialog.js +9 -0
  137. package/dist/components/verdocs-adopt-signature-dialog.js.map +1 -0
  138. package/dist/components/verdocs-auth.js +1 -1
  139. package/dist/components/verdocs-build.js +27 -27
  140. package/dist/components/verdocs-button.js +1 -1
  141. package/dist/components/verdocs-contact-picker.js +1 -1
  142. package/dist/components/verdocs-delegate-dialog.js +1 -1
  143. package/dist/components/verdocs-dialog.js +1 -1
  144. package/dist/components/verdocs-disclosure-dialog.js +1 -1
  145. package/dist/components/verdocs-envelope-document-page.js +1 -1
  146. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  147. package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
  148. package/dist/components/verdocs-envelope-sidebar.js +5 -5
  149. package/dist/components/verdocs-envelope-update-recipient.js +1 -1
  150. package/dist/components/verdocs-envelopes-list.js +8 -8
  151. package/dist/components/verdocs-field-attachment.js +1 -1
  152. package/dist/components/verdocs-field-checkbox.js +1 -1
  153. package/dist/components/verdocs-field-date.js +1 -1
  154. package/dist/components/verdocs-field-dropdown.js +1 -1
  155. package/dist/components/verdocs-field-initial.js +1 -1
  156. package/dist/components/verdocs-field-payment.js +2 -2
  157. package/dist/components/verdocs-field-radio.js +1 -1
  158. package/dist/components/verdocs-field-signature.js +1 -1
  159. package/dist/components/verdocs-field-textarea.js +1 -1
  160. package/dist/components/verdocs-field-textbox.js +1 -1
  161. package/dist/components/verdocs-field-timestamp.js +1 -1
  162. package/dist/components/verdocs-file-chooser.js +1 -1
  163. package/dist/components/verdocs-initial-dialog.js +1 -1
  164. package/dist/components/verdocs-kba-dialog.js +1 -1
  165. package/dist/components/verdocs-ok-dialog.js +1 -1
  166. package/dist/components/verdocs-otp-dialog.js +1 -1
  167. package/dist/components/verdocs-preview.js +1 -1
  168. package/dist/components/verdocs-question-dialog.js +1 -1
  169. package/dist/components/verdocs-quick-functions.js +1 -1
  170. package/dist/components/verdocs-radio-button.js +1 -50
  171. package/dist/components/verdocs-radio-button.js.map +1 -1
  172. package/dist/components/verdocs-search-tabs.js +1 -1
  173. package/dist/components/verdocs-send.js +1 -1
  174. package/dist/components/verdocs-sign-footer.js +1 -1
  175. package/dist/components/verdocs-sign.js +86 -34
  176. package/dist/components/verdocs-sign.js.map +1 -1
  177. package/dist/components/verdocs-signature-dialog.js +1 -1
  178. package/dist/components/verdocs-status-indicator.js +1 -1
  179. package/dist/components/verdocs-template-attachments.js +1 -1
  180. package/dist/components/verdocs-template-card.js +1 -1
  181. package/dist/components/verdocs-template-create.js +1 -1
  182. package/dist/components/verdocs-template-document-page.js +1 -1
  183. package/dist/components/verdocs-template-field-properties.js +1 -1
  184. package/dist/components/verdocs-template-fields.js +1 -1
  185. package/dist/components/verdocs-template-role-properties.js +1 -1
  186. package/dist/components/verdocs-template-roles.js +1 -1
  187. package/dist/components/verdocs-template-settings.js +1 -1
  188. package/dist/components/verdocs-template-star.js +1 -1
  189. package/dist/components/verdocs-template-tags.js +1 -1
  190. package/dist/components/verdocs-templates-list.js +3 -3
  191. package/dist/components/verdocs-upload-dialog.js +1 -1
  192. package/dist/components/verdocs-view.js +1 -1
  193. package/dist/esm/index-BIRwgFLv.js +6 -6
  194. package/dist/esm/loader.js +1 -1
  195. package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.js.map +1 -0
  196. package/dist/esm/{verdocs-delegate-dialog_5.entry.js → verdocs-adopt-signature-dialog_6.entry.js} +443 -5
  197. package/dist/esm/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.js.map +1 -1
  198. package/dist/esm/verdocs-button_3.entry.js +1 -1
  199. package/dist/esm/verdocs-dialog.entry.js +1 -1
  200. package/dist/esm/verdocs-dialog.entry.js.map +1 -1
  201. package/dist/esm/verdocs-envelope-document-page_3.entry.js +3 -3
  202. package/dist/esm/verdocs-envelopes-list.entry.js +6 -6
  203. package/dist/esm/verdocs-field-attachment_13.entry.js +3 -3
  204. package/dist/esm/verdocs-menu-panel_2.entry.js +7 -7
  205. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  206. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  207. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  208. package/dist/esm/verdocs-sign.entry.js +42 -4
  209. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  210. package/dist/esm/verdocs-status-indicator.entry.js +2 -2
  211. package/dist/esm/verdocs-template-card.entry.js +1 -1
  212. package/dist/esm/verdocs-template-star.entry.js +1 -1
  213. package/dist/esm/verdocs-template-tags.entry.js +1 -1
  214. package/dist/esm/verdocs-web-sdk.js +1 -1
  215. package/dist/esm-es5/index-BIRwgFLv.js +1 -1
  216. package/dist/esm-es5/loader.js +1 -1
  217. package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.js.map +1 -0
  218. package/dist/esm-es5/verdocs-adopt-signature-dialog_6.entry.js +2 -0
  219. package/dist/esm-es5/verdocs-adopt-signature-dialog_6.entry.js.map +1 -0
  220. package/dist/esm-es5/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.js.map +1 -1
  221. package/dist/esm-es5/verdocs-button_3.entry.js +1 -1
  222. package/dist/esm-es5/verdocs-button_3.entry.js.map +1 -1
  223. package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
  224. package/dist/esm-es5/verdocs-dialog.entry.js.map +1 -1
  225. package/dist/esm-es5/verdocs-envelope-document-page_3.entry.js +1 -1
  226. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  227. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  228. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  229. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  230. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  231. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  232. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  233. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  234. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  235. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  236. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  237. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  238. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  239. package/dist/types/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.d.ts +72 -0
  240. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +6 -0
  241. package/dist/types/components.d.ts +63 -0
  242. package/dist/verdocs-web-sdk/{p-314eebba.system.entry.js → p-00a4e7bb.system.entry.js} +2 -2
  243. package/dist/verdocs-web-sdk/{p-0c0bc455.system.entry.js → p-04d12736.system.entry.js} +2 -2
  244. package/dist/verdocs-web-sdk/{p-1deb700a.entry.js → p-08cc95f2.entry.js} +2 -2
  245. package/dist/verdocs-web-sdk/{p-a59be807.system.entry.js → p-119a435b.system.entry.js} +2 -2
  246. package/dist/verdocs-web-sdk/p-11b7417a.system.entry.js +2 -0
  247. package/dist/verdocs-web-sdk/p-11b7417a.system.entry.js.map +1 -0
  248. package/dist/verdocs-web-sdk/p-18f123b0.entry.js +2 -0
  249. package/dist/verdocs-web-sdk/p-18f123b0.entry.js.map +1 -0
  250. package/dist/verdocs-web-sdk/{p-f40ab4f5.entry.js → p-1a24cb02.entry.js} +2 -2
  251. package/dist/verdocs-web-sdk/{p-57a4694c.system.entry.js → p-1b6e12fd.system.entry.js} +2 -2
  252. package/dist/verdocs-web-sdk/{p-228e230f.entry.js → p-2b3b18d9.entry.js} +2 -2
  253. package/dist/verdocs-web-sdk/p-32fbbfa8.system.entry.js +2 -0
  254. package/dist/verdocs-web-sdk/p-33daf816.entry.js +2 -0
  255. package/dist/verdocs-web-sdk/p-33daf816.entry.js.map +1 -0
  256. package/dist/verdocs-web-sdk/{p-e4f0949d.system.entry.js → p-35bff3e8.system.entry.js} +2 -2
  257. package/dist/verdocs-web-sdk/{p-ac9343dd.system.entry.js → p-360b6fe2.system.entry.js} +2 -2
  258. package/dist/verdocs-web-sdk/{p-ac9343dd.system.entry.js.map → p-360b6fe2.system.entry.js.map} +1 -1
  259. package/dist/verdocs-web-sdk/{p-06063fe6.entry.js → p-40da805a.entry.js} +2 -2
  260. package/dist/verdocs-web-sdk/{p-b976781d.system.entry.js → p-4c34cce1.system.entry.js} +2 -2
  261. package/dist/verdocs-web-sdk/{p-no56iQU4.system.js.map → p-5QBnJPzZ.system.js.map} +1 -1
  262. package/dist/verdocs-web-sdk/{p-c061d0f7.system.entry.js → p-5b6a5423.system.entry.js} +2 -2
  263. package/dist/verdocs-web-sdk/{p-63ab6794.entry.js → p-5caf5e89.entry.js} +2 -2
  264. package/dist/verdocs-web-sdk/{p-ce3e9ace.entry.js → p-63a1cdc4.entry.js} +2 -2
  265. package/dist/verdocs-web-sdk/p-645ecdf2.system.entry.js +2 -0
  266. package/dist/verdocs-web-sdk/p-645ecdf2.system.entry.js.map +1 -0
  267. package/dist/verdocs-web-sdk/{p-ed353630.entry.js → p-67f9303c.entry.js} +2 -2
  268. package/dist/verdocs-web-sdk/{p-ed353630.entry.js.map → p-67f9303c.entry.js.map} +1 -1
  269. package/dist/verdocs-web-sdk/{p-59190e63.system.entry.js → p-76d415d8.system.entry.js} +2 -2
  270. package/dist/verdocs-web-sdk/p-7d0ad091.entry.js +2 -0
  271. package/dist/verdocs-web-sdk/{p-79dba586.entry.js.map → p-7d0ad091.entry.js.map} +1 -1
  272. package/dist/verdocs-web-sdk/{p-ea69720d.entry.js → p-8198f626.entry.js} +2 -2
  273. package/dist/verdocs-web-sdk/{p-ffb4ee7b.system.entry.js → p-89253f22.system.entry.js} +2 -2
  274. package/dist/verdocs-web-sdk/{p-6ac24714.entry.js → p-96c615c4.entry.js} +2 -2
  275. package/dist/verdocs-web-sdk/{p-f51c7617.system.entry.js → p-9c6794e2.system.entry.js} +2 -2
  276. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  277. package/dist/verdocs-web-sdk/{p-BK1P8OnR.system.js.map → p-BPADFnIx.system.js.map} +1 -1
  278. package/dist/verdocs-web-sdk/p-BXWpJq0l.system.js.map +1 -0
  279. package/dist/verdocs-web-sdk/{p-DjEDnCUT.system.js.map → p-BzzCPrH6.system.js.map} +1 -1
  280. package/dist/verdocs-web-sdk/{p-FCFl6lCt.system.js.map → p-C3zDhjUw.system.js.map} +1 -1
  281. package/dist/verdocs-web-sdk/{p-CjbrW449.system.js.map → p-CIBNz0ch.system.js.map} +1 -1
  282. package/dist/verdocs-web-sdk/{p-RthJMgT5.system.js.map → p-CObV00Q6.system.js.map} +1 -1
  283. package/dist/verdocs-web-sdk/{p-0YtsUAM2.system.js.map → p-CxMoZjwF.system.js.map} +1 -1
  284. package/dist/verdocs-web-sdk/p-D-tqfMW2.system.js.map +1 -0
  285. package/dist/verdocs-web-sdk/{p-CzugWljc.system.js.map → p-DYzIpql-.system.js.map} +1 -1
  286. package/dist/verdocs-web-sdk/{p-BOIq74fd.system.js.map → p-Db51eGCN.system.js.map} +1 -1
  287. package/dist/verdocs-web-sdk/{p-6cRdX3ws.system.js.map → p-DbIrKAuV.system.js.map} +1 -1
  288. package/dist/verdocs-web-sdk/{p-CD1Gqdjg.system.js.map → p-Dm8o0wRd.system.js.map} +1 -1
  289. package/dist/verdocs-web-sdk/{p-CPejf19w.system.js.map → p-U8PkMVAC.system.js.map} +1 -1
  290. package/dist/verdocs-web-sdk/p-aadc0955.system.entry.js +2 -0
  291. package/dist/verdocs-web-sdk/{p-9fcc54f8.system.entry.js.map → p-aadc0955.system.entry.js.map} +1 -1
  292. package/dist/verdocs-web-sdk/{p-eee0e96c.entry.js → p-b6b216b2.entry.js} +2 -2
  293. package/dist/verdocs-web-sdk/{p-a8582158.entry.js → p-c0a10c67.entry.js} +2 -2
  294. package/dist/verdocs-web-sdk/{p-aa1f6673.entry.js → p-e4e3b8ce.entry.js} +2 -2
  295. package/dist/verdocs-web-sdk/p-ipStHMZx.system.js.map +1 -0
  296. package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.esm.js.map +1 -0
  297. package/dist/verdocs-web-sdk/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.esm.js.map +1 -1
  298. package/dist/verdocs-web-sdk/verdocs-dialog.entry.esm.js.map +1 -1
  299. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  300. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  301. package/package.json +4 -4
  302. package/dist/cjs/verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.cjs.js.map +0 -1
  303. package/dist/components/p-BLnFOrAj.js +0 -66
  304. package/dist/components/p-BLnFOrAj.js.map +0 -1
  305. package/dist/components/p-DaISePSz.js.map +0 -1
  306. package/dist/custom-elements.json +0 -2332
  307. package/dist/esm/verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.js.map +0 -1
  308. package/dist/esm-es5/verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.js.map +0 -1
  309. package/dist/esm-es5/verdocs-delegate-dialog_5.entry.js +0 -2
  310. package/dist/esm-es5/verdocs-delegate-dialog_5.entry.js.map +0 -1
  311. package/dist/verdocs-web-sdk/p-0c77bf48.entry.js +0 -2
  312. package/dist/verdocs-web-sdk/p-0c77bf48.entry.js.map +0 -1
  313. package/dist/verdocs-web-sdk/p-11efcb36.system.entry.js +0 -2
  314. package/dist/verdocs-web-sdk/p-11efcb36.system.entry.js.map +0 -1
  315. package/dist/verdocs-web-sdk/p-2xwvEc_F.system.js.map +0 -1
  316. package/dist/verdocs-web-sdk/p-49122faa.entry.js +0 -2
  317. package/dist/verdocs-web-sdk/p-49122faa.entry.js.map +0 -1
  318. package/dist/verdocs-web-sdk/p-4bd8b685.system.entry.js +0 -2
  319. package/dist/verdocs-web-sdk/p-79dba586.entry.js +0 -2
  320. package/dist/verdocs-web-sdk/p-7ab4a24b.system.entry.js +0 -2
  321. package/dist/verdocs-web-sdk/p-7ab4a24b.system.entry.js.map +0 -1
  322. package/dist/verdocs-web-sdk/p-9fcc54f8.system.entry.js +0 -2
  323. package/dist/verdocs-web-sdk/p-CTxgqZQn.system.js.map +0 -1
  324. package/dist/verdocs-web-sdk/p-D_YsBkfv.system.js.map +0 -1
  325. package/dist/verdocs-web-sdk/verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.esm.js.map +0 -1
  326. /package/dist/verdocs-web-sdk/{p-314eebba.system.entry.js.map → p-00a4e7bb.system.entry.js.map} +0 -0
  327. /package/dist/verdocs-web-sdk/{p-0c0bc455.system.entry.js.map → p-04d12736.system.entry.js.map} +0 -0
  328. /package/dist/verdocs-web-sdk/{p-1deb700a.entry.js.map → p-08cc95f2.entry.js.map} +0 -0
  329. /package/dist/verdocs-web-sdk/{p-a59be807.system.entry.js.map → p-119a435b.system.entry.js.map} +0 -0
  330. /package/dist/verdocs-web-sdk/{p-f40ab4f5.entry.js.map → p-1a24cb02.entry.js.map} +0 -0
  331. /package/dist/verdocs-web-sdk/{p-57a4694c.system.entry.js.map → p-1b6e12fd.system.entry.js.map} +0 -0
  332. /package/dist/verdocs-web-sdk/{p-228e230f.entry.js.map → p-2b3b18d9.entry.js.map} +0 -0
  333. /package/dist/verdocs-web-sdk/{p-4bd8b685.system.entry.js.map → p-32fbbfa8.system.entry.js.map} +0 -0
  334. /package/dist/verdocs-web-sdk/{p-e4f0949d.system.entry.js.map → p-35bff3e8.system.entry.js.map} +0 -0
  335. /package/dist/verdocs-web-sdk/{p-06063fe6.entry.js.map → p-40da805a.entry.js.map} +0 -0
  336. /package/dist/verdocs-web-sdk/{p-b976781d.system.entry.js.map → p-4c34cce1.system.entry.js.map} +0 -0
  337. /package/dist/verdocs-web-sdk/{p-c061d0f7.system.entry.js.map → p-5b6a5423.system.entry.js.map} +0 -0
  338. /package/dist/verdocs-web-sdk/{p-63ab6794.entry.js.map → p-5caf5e89.entry.js.map} +0 -0
  339. /package/dist/verdocs-web-sdk/{p-ce3e9ace.entry.js.map → p-63a1cdc4.entry.js.map} +0 -0
  340. /package/dist/verdocs-web-sdk/{p-59190e63.system.entry.js.map → p-76d415d8.system.entry.js.map} +0 -0
  341. /package/dist/verdocs-web-sdk/{p-ea69720d.entry.js.map → p-8198f626.entry.js.map} +0 -0
  342. /package/dist/verdocs-web-sdk/{p-ffb4ee7b.system.entry.js.map → p-89253f22.system.entry.js.map} +0 -0
  343. /package/dist/verdocs-web-sdk/{p-6ac24714.entry.js.map → p-96c615c4.entry.js.map} +0 -0
  344. /package/dist/verdocs-web-sdk/{p-f51c7617.system.entry.js.map → p-9c6794e2.system.entry.js.map} +0 -0
  345. /package/dist/verdocs-web-sdk/{p-eee0e96c.entry.js.map → p-b6b216b2.entry.js.map} +0 -0
  346. /package/dist/verdocs-web-sdk/{p-a8582158.entry.js.map → p-c0a10c67.entry.js.map} +0 -0
  347. /package/dist/verdocs-web-sdk/{p-aa1f6673.entry.js.map → p-e4e3b8ce.entry.js.map} +0 -0
@@ -0,0 +1,515 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image
4
+ * based on their full name, or by hand-drawing their signature with a mouse or tablet.
5
+ */
6
+ export class VerdocsAdoptSignatureDialog {
7
+ constructor() {
8
+ /**
9
+ * Initial signature text
10
+ */
11
+ this.name = '';
12
+ this.fontLoaded = false;
13
+ this.enteredName = '';
14
+ this.enteredInitials = '';
15
+ this.mode = 'type';
16
+ this.isDrawing = false;
17
+ this.hasDrawnSignature = false;
18
+ this.currentSigStroke = [];
19
+ this.allSigStrokes = [];
20
+ this.lastSigPoint = null;
21
+ this.currentInitialsStroke = [];
22
+ this.allInitialsStrokes = [];
23
+ this.lastInitialsPoint = null;
24
+ this.handleSigPointerDown = (e) => {
25
+ e.preventDefault();
26
+ if (!this.signatureElement || !this.sigDrawingContext) {
27
+ return;
28
+ }
29
+ this.isDrawing = true;
30
+ this.hasDrawnSignature = true;
31
+ const point = this.getSigCanvasCoordinates(e);
32
+ this.currentSigStroke = [point];
33
+ this.lastSigPoint = point;
34
+ // Start a new path
35
+ this.sigDrawingContext.beginPath();
36
+ this.sigDrawingContext.moveTo(point.x, point.y);
37
+ // Capture pointer to ensure we get all events even if pointer leaves canvas
38
+ this.signatureElement.setPointerCapture(e.pointerId);
39
+ };
40
+ this.handleSigPointerMove = (e) => {
41
+ e.preventDefault();
42
+ if (!this.isDrawing || !this.sigDrawingContext || !this.lastSigPoint) {
43
+ return;
44
+ }
45
+ const point = this.getSigCanvasCoordinates(e);
46
+ this.currentSigStroke.push(point);
47
+ // Use quadratic curves for smooth drawing
48
+ // The control point is the last point, and we draw to the midpoint
49
+ const midPoint = {
50
+ x: (this.lastSigPoint.x + point.x) / 2,
51
+ y: (this.lastSigPoint.y + point.y) / 2,
52
+ };
53
+ this.sigDrawingContext.quadraticCurveTo(this.lastSigPoint.x, this.lastSigPoint.y, midPoint.x, midPoint.y);
54
+ this.sigDrawingContext.stroke();
55
+ this.lastSigPoint = point;
56
+ };
57
+ this.handleSigPointerUp = (e) => {
58
+ e.preventDefault();
59
+ if (!this.isDrawing || !this.sigDrawingContext) {
60
+ return;
61
+ }
62
+ // Complete the stroke
63
+ if (this.lastSigPoint && this.currentSigStroke.length > 0) {
64
+ this.sigDrawingContext.lineTo(this.lastSigPoint.x, this.lastSigPoint.y);
65
+ this.sigDrawingContext.stroke();
66
+ }
67
+ // Save the completed stroke
68
+ if (this.currentSigStroke.length > 0) {
69
+ this.allSigStrokes.push([...this.currentSigStroke]);
70
+ }
71
+ this.isDrawing = false;
72
+ this.currentSigStroke = [];
73
+ this.lastSigPoint = null;
74
+ // Release pointer capture
75
+ if (this.signatureElement) {
76
+ this.signatureElement.releasePointerCapture(e.pointerId);
77
+ }
78
+ };
79
+ this.handleSigPointerCancel = (e) => {
80
+ // Handle cases where drawing is interrupted (e.g., phone call, notification)
81
+ this.isDrawing = false;
82
+ this.currentSigStroke = [];
83
+ this.lastSigPoint = null;
84
+ if (this.signatureElement) {
85
+ this.signatureElement.releasePointerCapture(e.pointerId);
86
+ }
87
+ };
88
+ this.handleInitialsPointerDown = (e) => {
89
+ e.preventDefault();
90
+ if (!this.initialsElement || !this.initialsDrawingContext) {
91
+ return;
92
+ }
93
+ this.isDrawing = true;
94
+ this.hasDrawnSignature = true;
95
+ const point = this.getInitialsCanvasCoordinates(e);
96
+ this.currentInitialsStroke = [point];
97
+ this.lastInitialsPoint = point;
98
+ // Start a new path
99
+ this.initialsDrawingContext.beginPath();
100
+ this.initialsDrawingContext.moveTo(point.x, point.y);
101
+ // Capture pointer to ensure we get all events even if pointer leaves canvas
102
+ this.initialsElement.setPointerCapture(e.pointerId);
103
+ };
104
+ this.handleInitialsPointerMove = (e) => {
105
+ e.preventDefault();
106
+ if (!this.isDrawing || !this.initialsDrawingContext || !this.lastInitialsPoint) {
107
+ return;
108
+ }
109
+ const point = this.getInitialsCanvasCoordinates(e);
110
+ this.currentInitialsStroke.push(point);
111
+ // Use quadratic curves for smooth drawing
112
+ // The control point is the last point, and we draw to the midpoint
113
+ const midPoint = {
114
+ x: (this.lastInitialsPoint.x + point.x) / 2,
115
+ y: (this.lastInitialsPoint.y + point.y) / 2,
116
+ };
117
+ this.initialsDrawingContext.quadraticCurveTo(this.lastInitialsPoint.x, this.lastInitialsPoint.y, midPoint.x, midPoint.y);
118
+ this.initialsDrawingContext.stroke();
119
+ this.lastInitialsPoint = point;
120
+ };
121
+ this.handleInitialsPointerUp = (e) => {
122
+ e.preventDefault();
123
+ if (!this.isDrawing || !this.initialsDrawingContext) {
124
+ return;
125
+ }
126
+ // Complete the stroke
127
+ if (this.lastInitialsPoint && this.currentInitialsStroke.length > 0) {
128
+ this.initialsDrawingContext.lineTo(this.lastInitialsPoint.x, this.lastInitialsPoint.y);
129
+ this.initialsDrawingContext.stroke();
130
+ }
131
+ // Save the completed stroke
132
+ if (this.currentInitialsStroke.length > 0) {
133
+ this.allInitialsStrokes.push([...this.currentInitialsStroke]);
134
+ }
135
+ this.isDrawing = false;
136
+ this.currentInitialsStroke = [];
137
+ this.lastInitialsPoint = null;
138
+ // Release pointer capture
139
+ if (this.initialsElement) {
140
+ this.initialsElement.releasePointerCapture(e.pointerId);
141
+ }
142
+ };
143
+ this.handleInitialsPointerCancel = (e) => {
144
+ // Handle cases where drawing is interrupted (e.g., phone call, notification)
145
+ this.isDrawing = false;
146
+ this.currentInitialsStroke = [];
147
+ this.lastInitialsPoint = null;
148
+ if (this.initialsElement) {
149
+ this.initialsElement.releasePointerCapture(e.pointerId);
150
+ }
151
+ };
152
+ }
153
+ componentWillLoad() {
154
+ this.enteredName = this.name;
155
+ this.enteredInitials = this.name
156
+ .split(' ')
157
+ .map(word => word.charAt(0).toUpperCase())
158
+ .join('');
159
+ const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');
160
+ ds.load().then(font => {
161
+ document.fonts.add(font);
162
+ this.fontLoaded = true;
163
+ });
164
+ }
165
+ componentDidLoad() {
166
+ this.drawSignatureText();
167
+ this.drawInitialsText();
168
+ this.setupSignatureCanvas();
169
+ this.setupInitialsCanvas();
170
+ }
171
+ componentDidUpdate() {
172
+ this.drawSignatureText();
173
+ this.drawInitialsText();
174
+ this.setupSignatureCanvas();
175
+ this.setupInitialsCanvas();
176
+ // Redraw drawn signature when in draw mode
177
+ if (this.mode === 'draw' && this.allSigStrokes.length > 0) {
178
+ this.redrawDrawnSignature();
179
+ }
180
+ if (this.mode === 'draw' && this.allInitialsStrokes.length > 0) {
181
+ this.redrawDrawnInitials();
182
+ }
183
+ }
184
+ drawSignatureText() {
185
+ if (!this.signatureElement || this.mode !== 'type') {
186
+ return;
187
+ }
188
+ const sigCanvasWidth = this.signatureElement.width;
189
+ const sigCanvasHeight = this.signatureElement.height;
190
+ const sigContext = this.signatureElement.getContext('2d');
191
+ sigContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);
192
+ let fontSize = 100;
193
+ let metrics = sigContext.measureText(this.enteredName);
194
+ do {
195
+ fontSize -= 2;
196
+ sigContext.font = `${fontSize}px Dancing Script`;
197
+ metrics = sigContext.measureText(this.enteredName);
198
+ } while (metrics.width > sigCanvasWidth - 32 && metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent > sigCanvasHeight - 24);
199
+ sigContext.textAlign = 'center';
200
+ sigContext.textBaseline = 'middle';
201
+ sigContext.font = `${fontSize}px Dancing Script`;
202
+ sigContext.fillText(this.enteredName, this.signatureElement.width / 2, this.signatureElement.height / 2);
203
+ }
204
+ drawInitialsText() {
205
+ if (!this.initialsElement || this.mode !== 'type') {
206
+ return;
207
+ }
208
+ const initialsCanvasWidth = this.initialsElement.width;
209
+ const initialsCanvasHeight = this.initialsElement.height;
210
+ const context = this.initialsElement.getContext('2d');
211
+ context.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);
212
+ let fontSize = 100;
213
+ let metrics = context.measureText(this.enteredInitials);
214
+ do {
215
+ fontSize -= 2;
216
+ context.font = `${fontSize}px Dancing Script`;
217
+ metrics = context.measureText(this.enteredInitials);
218
+ } while (metrics.width > initialsCanvasWidth - 32 && metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent > initialsCanvasHeight - 24);
219
+ context.textAlign = 'center';
220
+ context.textBaseline = 'middle';
221
+ context.font = `${fontSize}px Dancing Script`;
222
+ context.fillText(this.enteredInitials, this.initialsElement.width / 2, this.initialsElement.height / 2);
223
+ }
224
+ redrawDrawnSignature() {
225
+ if (!this.signatureElement || !this.sigDrawingContext || this.allSigStrokes.length === 0) {
226
+ return;
227
+ }
228
+ // Clear the canvas first
229
+ this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);
230
+ // Redraw all strokes
231
+ for (const stroke of this.allSigStrokes) {
232
+ if (stroke.length === 0) {
233
+ continue;
234
+ }
235
+ // Start the path at the first point
236
+ this.sigDrawingContext.beginPath();
237
+ this.sigDrawingContext.moveTo(stroke[0].x, stroke[0].y);
238
+ // Draw smooth curves through all points in the stroke
239
+ for (let i = 1; i < stroke.length; i++) {
240
+ const currentPoint = stroke[i];
241
+ const previousPoint = stroke[i - 1];
242
+ // Use quadratic curves for smooth lines
243
+ const midPoint = {
244
+ x: (previousPoint.x + currentPoint.x) / 2,
245
+ y: (previousPoint.y + currentPoint.y) / 2,
246
+ };
247
+ this.sigDrawingContext.quadraticCurveTo(previousPoint.x, previousPoint.y, midPoint.x, midPoint.y);
248
+ }
249
+ // Draw to the last point
250
+ if (stroke.length > 1) {
251
+ const lastPoint = stroke[stroke.length - 1];
252
+ this.sigDrawingContext.lineTo(lastPoint.x, lastPoint.y);
253
+ }
254
+ this.sigDrawingContext.stroke();
255
+ }
256
+ }
257
+ redrawDrawnInitials() {
258
+ if (!this.initialsElement || !this.initialsDrawingContext || this.allInitialsStrokes.length === 0) {
259
+ return;
260
+ }
261
+ // Clear the canvas first
262
+ this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);
263
+ // Redraw all strokes
264
+ for (const stroke of this.allInitialsStrokes) {
265
+ if (stroke.length === 0) {
266
+ continue;
267
+ }
268
+ // Start the path at the first point
269
+ this.initialsDrawingContext.beginPath();
270
+ this.initialsDrawingContext.moveTo(stroke[0].x, stroke[0].y);
271
+ // Draw smooth curves through all points in the stroke
272
+ for (let i = 1; i < stroke.length; i++) {
273
+ const currentPoint = stroke[i];
274
+ const previousPoint = stroke[i - 1];
275
+ // Use quadratic curves for smooth lines
276
+ const midPoint = {
277
+ x: (previousPoint.x + currentPoint.x) / 2,
278
+ y: (previousPoint.y + currentPoint.y) / 2,
279
+ };
280
+ this.initialsDrawingContext.quadraticCurveTo(previousPoint.x, previousPoint.y, midPoint.x, midPoint.y);
281
+ }
282
+ // Draw to the last point
283
+ if (stroke.length > 1) {
284
+ const lastPoint = stroke[stroke.length - 1];
285
+ this.initialsDrawingContext.lineTo(lastPoint.x, lastPoint.y);
286
+ }
287
+ this.initialsDrawingContext.stroke();
288
+ }
289
+ }
290
+ handleNameChange(e) {
291
+ this.enteredName = e.target.value;
292
+ this.enteredInitials = e.target.value
293
+ .split(' ')
294
+ .map(word => word.charAt(0).toUpperCase())
295
+ .join('');
296
+ }
297
+ handleCancel(e) {
298
+ e.stopPropagation();
299
+ e.preventDefault();
300
+ this.exit.emit();
301
+ }
302
+ handleAdopt(e) {
303
+ e.stopPropagation();
304
+ e.preventDefault();
305
+ const signature = this.signatureElement.toDataURL('image/png');
306
+ const initials = this.initialsElement.toDataURL('image/png');
307
+ this.next.emit({ signature, initials });
308
+ }
309
+ isAdoptButtonDisabled() {
310
+ switch (this.mode) {
311
+ case 'type':
312
+ // Disable if no name has been entered
313
+ return !this.enteredName || this.enteredName.trim().length === 0;
314
+ case 'draw':
315
+ // Disable if nothing has been drawn
316
+ return !this.hasDrawnSignature || this.allSigStrokes.length === 0 || this.allInitialsStrokes.length === 0;
317
+ default:
318
+ return true;
319
+ }
320
+ }
321
+ setupSignatureCanvas() {
322
+ if (!this.signatureElement) {
323
+ return;
324
+ }
325
+ // Set up drawing context when in draw mode
326
+ if (this.mode === 'draw') {
327
+ // Always get fresh context from the current canvas element
328
+ const sigContext = this.signatureElement.getContext('2d');
329
+ // Only initialize if we don't have a context or it's different
330
+ if (sigContext && sigContext !== this.sigDrawingContext) {
331
+ this.sigDrawingContext = sigContext;
332
+ // Configure drawing style for smooth signatures
333
+ this.sigDrawingContext.strokeStyle = '#000000';
334
+ this.sigDrawingContext.lineWidth = 2;
335
+ this.sigDrawingContext.lineCap = 'round';
336
+ this.sigDrawingContext.lineJoin = 'round';
337
+ // Clear canvas only if there are no existing strokes
338
+ if (this.allSigStrokes.length === 0) {
339
+ this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);
340
+ }
341
+ }
342
+ }
343
+ // Reset drawing context when switching away from draw mode
344
+ // NOTE: We don't clear allStrokes here so drawing persists when returning to draw mode
345
+ if (this.mode !== 'draw' && this.sigDrawingContext) {
346
+ this.sigDrawingContext = null;
347
+ this.currentSigStroke = [];
348
+ this.lastSigPoint = null;
349
+ }
350
+ }
351
+ setupInitialsCanvas() {
352
+ if (!this.initialsElement) {
353
+ return;
354
+ }
355
+ // Set up drawing context when in draw mode
356
+ if (this.mode === 'draw') {
357
+ // Always get fresh context from the current canvas element
358
+ const initialsContext = this.initialsElement.getContext('2d');
359
+ // Only initialize if we don't have a context or it's different
360
+ if (initialsContext && initialsContext !== this.initialsDrawingContext) {
361
+ this.initialsDrawingContext = initialsContext;
362
+ // Configure drawing style for smooth signatures
363
+ this.initialsDrawingContext.strokeStyle = '#000000';
364
+ this.initialsDrawingContext.lineWidth = 2;
365
+ this.initialsDrawingContext.lineCap = 'round';
366
+ this.initialsDrawingContext.lineJoin = 'round';
367
+ // Clear canvas only if there are no existing strokes
368
+ if (this.allInitialsStrokes.length === 0) {
369
+ this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);
370
+ }
371
+ }
372
+ }
373
+ // Reset drawing context when switching away from draw mode
374
+ // NOTE: We don't clear allStrokes here so drawing persists when returning to draw mode
375
+ if (this.mode !== 'draw' && this.initialsDrawingContext) {
376
+ this.initialsDrawingContext = null;
377
+ this.currentInitialsStroke = [];
378
+ this.lastInitialsPoint = null;
379
+ }
380
+ }
381
+ clearSignatureCanvas() {
382
+ if (!this.signatureElement || !this.sigDrawingContext) {
383
+ return;
384
+ }
385
+ this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);
386
+ this.currentSigStroke = [];
387
+ this.allSigStrokes = [];
388
+ this.lastSigPoint = null;
389
+ this.hasDrawnSignature = false;
390
+ }
391
+ clearInitialsCanvas() {
392
+ if (!this.initialsElement || !this.initialsDrawingContext) {
393
+ return;
394
+ }
395
+ this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);
396
+ this.currentInitialsStroke = [];
397
+ this.allInitialsStrokes = [];
398
+ this.lastInitialsPoint = null;
399
+ this.hasDrawnSignature = false;
400
+ }
401
+ handleClearDrawing(e) {
402
+ e.stopPropagation();
403
+ e.preventDefault();
404
+ this.clearSignatureCanvas();
405
+ this.clearInitialsCanvas();
406
+ }
407
+ getSigCanvasCoordinates(e) {
408
+ if (!this.signatureElement) {
409
+ return { x: 0, y: 0 };
410
+ }
411
+ const rect = this.signatureElement.getBoundingClientRect();
412
+ // Calculate the scale factor between canvas size and display size
413
+ const scaleX = this.signatureElement.width / rect.width;
414
+ const scaleY = this.signatureElement.height / rect.height;
415
+ return {
416
+ x: (e.clientX - rect.left) * scaleX,
417
+ y: (e.clientY - rect.top) * scaleY,
418
+ };
419
+ }
420
+ getInitialsCanvasCoordinates(e) {
421
+ if (!this.initialsElement) {
422
+ return { x: 0, y: 0 };
423
+ }
424
+ const rect = this.initialsElement.getBoundingClientRect();
425
+ // Calculate the scale factor between canvas size and display size
426
+ const scaleX = this.initialsElement.width / rect.width;
427
+ const scaleY = this.initialsElement.height / rect.height;
428
+ return {
429
+ x: (e.clientX - rect.left) * scaleX,
430
+ y: (e.clientY - rect.top) * scaleY,
431
+ };
432
+ }
433
+ render() {
434
+ return (h("verdocs-dialog", { key: 'e0e6f91846971ced0a1110d70575d0328d1df7f2' }, h("div", { key: 'c43c511d79afa5fcdb8dc0e2f2c1b3c475dbb24c', slot: "heading", class: "heading" }, "Adopt Your Signature"), h("div", { key: '4d41a510e27c7ecf47015c5c78f12e3ace24dfe0', slot: "content", class: "content" }, h("div", { key: 'cbb0bb88d87d07a84eeb0f3c5889aa9191d1db46', style: { fontWeight: '300', color: '#242424', fontSize: '13px' } }, "Confirm your name, initials, and signature."), h("div", { key: '153019386dbce3681ca90a5878e8062d5ebd629f', class: { type: true, active: this.mode === 'type' } }, h("verdocs-text-input", { key: '21997a21554a74bf5f6664e18962e151b696977e', label: "Full Name", value: this.enteredName, onInput: e => this.handleNameChange(e), onClick: e => e.stopPropagation() })), h("div", { key: '74f5a84db5ae90e063f85a80e86d4b995e516a0c', style: { fontWeight: '400', color: '#242424', fontSize: '13px' } }, "Select a signature style"), h("div", { key: '05a83923186b180cc32a7060ddcf30e8f78aaeae', style: { display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px' } }, h("verdocs-radio-button", { key: '2475dd5c213b45339996799282a1b650cd9f4416', checked: this.mode === 'type', value: "type", name: "mode", onClick: () => (this.mode = 'type') }), h("label", { key: '84426bebb6184f146a82ca3df75afb377d57dc1e' }, "Typed with a keyboard")), h("div", { key: '299feecf4b50ffaeb6bbac8349adc90872acb3d0', style: { display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px' } }, h("verdocs-radio-button", { key: '7fc2262551d100b509065e3e61cb2606c3ee3ce4', checked: this.mode === 'draw', value: "draw", name: "mode", onClick: () => (this.mode = 'draw') }), h("label", { key: '6f6c89fedb6fdbef092dd0300945bc0ba723ecc9' }, "Drawn with touch, mouse, or stylus")), h("div", { key: 'd46dfe69a754bb9db55798af1918426ee1ed41d0', style: { fontSize: '13px', fontWeight: '400', marginTop: '8px' } }, "Signature Preview"), h("canvas", { key: 'b32ad9debae275905b188f50c747fb9100dc6915', ref: el => (this.signatureElement = el), width: "300", height: "79", onPointerDown: this.handleSigPointerDown, onPointerMove: this.handleSigPointerMove, onPointerUp: this.handleSigPointerUp, onPointerCancel: this.handleSigPointerCancel, style: { touchAction: 'none', cursor: 'crosshair' } }), h("div", { key: 'f86ac5d3273319bc6dbd573e8fe203819c4b2f47', style: { fontSize: '13px', fontWeight: '400', marginTop: '8px' } }, "Initials Preview"), h("canvas", { key: 'e989b879e932fe17ef4263b887841fb57bbc2307', ref: el => (this.initialsElement = el), width: "300", height: "79", onPointerDown: this.handleInitialsPointerDown, onPointerMove: this.handleInitialsPointerMove, onPointerUp: this.handleInitialsPointerUp, onPointerCancel: this.handleInitialsPointerCancel, style: { touchAction: 'none', cursor: 'crosshair' } }), h("div", { key: 'a5245a28f5d9c2b75e8a6033ae0f43935af3d8ab', class: "disclaimer" }, "By clicking \u00ABAdopt Signature\u00BB, I agree that the signature and initials above will be the electronic representation of my signature and initials for all purposes when I use them to sign documents. Applying them to a document is legally equivalent to signing with a pen on paper.")), h("div", { key: 'ca0a22af2bcac343af88ccc2a1bac7785ee26213', class: "footer", slot: "footer" }, h("div", { key: '4aa605c10723fff6cc5589f4a602d89e9ecd4ec6', class: "buttons" }, h("button", { key: '18fff440c52c241cb6c17cb095ee7fdb805172a0', class: "cancel", onClick: e => this.handleCancel(e) }, "Cancel"), h("button", { key: '1375add10925435c0ad870e3eea330edc202fb24', class: "proceed", onClick: e => this.handleAdopt(e), disabled: this.isAdoptButtonDisabled() }, "Adopt & Sign")))));
435
+ }
436
+ static get is() { return "verdocs-adopt-signature-dialog"; }
437
+ static get originalStyleUrls() {
438
+ return {
439
+ "$": ["verdocs-adopt-signature-dialog.scss"]
440
+ };
441
+ }
442
+ static get styleUrls() {
443
+ return {
444
+ "$": ["verdocs-adopt-signature-dialog.css"]
445
+ };
446
+ }
447
+ static get properties() {
448
+ return {
449
+ "name": {
450
+ "type": "string",
451
+ "mutable": false,
452
+ "complexType": {
453
+ "original": "string",
454
+ "resolved": "string",
455
+ "references": {}
456
+ },
457
+ "required": false,
458
+ "optional": false,
459
+ "docs": {
460
+ "tags": [],
461
+ "text": "Initial signature text"
462
+ },
463
+ "getter": false,
464
+ "setter": false,
465
+ "reflect": false,
466
+ "attribute": "name",
467
+ "defaultValue": "''"
468
+ }
469
+ };
470
+ }
471
+ static get states() {
472
+ return {
473
+ "fontLoaded": {},
474
+ "enteredName": {},
475
+ "enteredInitials": {},
476
+ "mode": {},
477
+ "isDrawing": {},
478
+ "hasDrawnSignature": {}
479
+ };
480
+ }
481
+ static get events() {
482
+ return [{
483
+ "method": "next",
484
+ "name": "next",
485
+ "bubbles": true,
486
+ "cancelable": true,
487
+ "composed": true,
488
+ "docs": {
489
+ "tags": [],
490
+ "text": "Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\nrepresentation of the signature adopted."
491
+ },
492
+ "complexType": {
493
+ "original": "{signature: string; initials: string}",
494
+ "resolved": "{ signature: string; initials: string; }",
495
+ "references": {}
496
+ }
497
+ }, {
498
+ "method": "exit",
499
+ "name": "exit",
500
+ "bubbles": true,
501
+ "cancelable": true,
502
+ "composed": true,
503
+ "docs": {
504
+ "tags": [],
505
+ "text": "Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name."
506
+ },
507
+ "complexType": {
508
+ "original": "any",
509
+ "resolved": "any",
510
+ "references": {}
511
+ }
512
+ }];
513
+ }
514
+ }
515
+ //# sourceMappingURL=verdocs-adopt-signature-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verdocs-adopt-signature-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Prop, h, Event, EventEmitter, State} 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-adopt-signature-dialog',\n styleUrl: 'verdocs-adopt-signature-dialog.scss',\n})\nexport class VerdocsAdoptSignatureDialog {\n private signatureElement?: HTMLCanvasElement;\n private initialsElement?: HTMLCanvasElement;\n private sigDrawingContext?: CanvasRenderingContext2D;\n private initialsDrawingContext?: CanvasRenderingContext2D;\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<{signature: string; initials: 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 @State() enteredName: string = '';\n @State() enteredInitials: string = '';\n @State() mode: 'type' | 'draw' = 'type';\n @State() isDrawing = false;\n @State() hasDrawnSignature = false;\n\n private currentSigStroke: Array<{x: number; y: number}> = [];\n private allSigStrokes: Array<Array<{x: number; y: number}>> = [];\n private lastSigPoint: {x: number; y: number} | null = null;\n\n private currentInitialsStroke: Array<{x: number; y: number}> = [];\n private allInitialsStrokes: Array<Array<{x: number; y: number}>> = [];\n private lastInitialsPoint: {x: number; y: number} | null = null;\n\n componentWillLoad() {\n this.enteredName = this.name;\n this.enteredInitials = this.name\n .split(' ')\n .map(word => word.charAt(0).toUpperCase())\n .join('');\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.drawSignatureText();\n this.drawInitialsText();\n this.setupSignatureCanvas();\n this.setupInitialsCanvas();\n }\n\n componentDidUpdate() {\n this.drawSignatureText();\n this.drawInitialsText();\n this.setupSignatureCanvas();\n this.setupInitialsCanvas();\n\n // Redraw drawn signature when in draw mode\n if (this.mode === 'draw' && this.allSigStrokes.length > 0) {\n this.redrawDrawnSignature();\n }\n if (this.mode === 'draw' && this.allInitialsStrokes.length > 0) {\n this.redrawDrawnInitials();\n }\n }\n\n drawSignatureText() {\n if (!this.signatureElement || this.mode !== 'type') {\n return;\n }\n\n const sigCanvasWidth = this.signatureElement.width;\n const sigCanvasHeight = this.signatureElement.height;\n const sigContext = this.signatureElement.getContext('2d');\n sigContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);\n\n let fontSize = 100;\n let metrics: TextMetrics = sigContext.measureText(this.enteredName);\n do {\n fontSize -= 2;\n sigContext.font = `${fontSize}px Dancing Script`;\n metrics = sigContext.measureText(this.enteredName);\n } while (metrics.width > sigCanvasWidth - 32 && metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent > sigCanvasHeight - 24);\n\n sigContext.textAlign = 'center';\n sigContext.textBaseline = 'middle';\n sigContext.font = `${fontSize}px Dancing Script`;\n sigContext.fillText(this.enteredName, this.signatureElement.width / 2, this.signatureElement.height / 2);\n }\n\n drawInitialsText() {\n if (!this.initialsElement || this.mode !== 'type') {\n return;\n }\n\n const initialsCanvasWidth = this.initialsElement.width;\n const initialsCanvasHeight = this.initialsElement.height;\n const context = this.initialsElement.getContext('2d');\n context.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);\n\n let fontSize = 100;\n let metrics: TextMetrics = context.measureText(this.enteredInitials);\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n metrics = context.measureText(this.enteredInitials);\n } while (metrics.width > initialsCanvasWidth - 32 && metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent > initialsCanvasHeight - 24);\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredInitials, this.initialsElement.width / 2, this.initialsElement.height / 2);\n }\n\n redrawDrawnSignature() {\n if (!this.signatureElement || !this.sigDrawingContext || this.allSigStrokes.length === 0) {\n return;\n }\n\n // Clear the canvas first\n this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);\n\n // Redraw all strokes\n for (const stroke of this.allSigStrokes) {\n if (stroke.length === 0) {\n continue;\n }\n\n // Start the path at the first point\n this.sigDrawingContext.beginPath();\n this.sigDrawingContext.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.sigDrawingContext.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.sigDrawingContext.lineTo(lastPoint.x, lastPoint.y);\n }\n\n this.sigDrawingContext.stroke();\n }\n }\n\n redrawDrawnInitials() {\n if (!this.initialsElement || !this.initialsDrawingContext || this.allInitialsStrokes.length === 0) {\n return;\n }\n\n // Clear the canvas first\n this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);\n\n // Redraw all strokes\n for (const stroke of this.allInitialsStrokes) {\n if (stroke.length === 0) {\n continue;\n }\n\n // Start the path at the first point\n this.initialsDrawingContext.beginPath();\n this.initialsDrawingContext.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.initialsDrawingContext.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.initialsDrawingContext.lineTo(lastPoint.x, lastPoint.y);\n }\n\n this.initialsDrawingContext.stroke();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n this.enteredInitials = e.target.value\n .split(' ')\n .map(word => word.charAt(0).toUpperCase())\n .join('');\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 signature = this.signatureElement.toDataURL('image/png');\n const initials = this.initialsElement.toDataURL('image/png');\n this.next.emit({signature, initials});\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.allSigStrokes.length === 0 || this.allInitialsStrokes.length === 0;\n default:\n return true;\n }\n }\n\n setupSignatureCanvas() {\n if (!this.signatureElement) {\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 sigContext = this.signatureElement.getContext('2d');\n\n // Only initialize if we don't have a context or it's different\n if (sigContext && sigContext !== this.sigDrawingContext) {\n this.sigDrawingContext = sigContext;\n\n // Configure drawing style for smooth signatures\n this.sigDrawingContext.strokeStyle = '#000000';\n this.sigDrawingContext.lineWidth = 2;\n this.sigDrawingContext.lineCap = 'round';\n this.sigDrawingContext.lineJoin = 'round';\n\n // Clear canvas only if there are no existing strokes\n if (this.allSigStrokes.length === 0) {\n this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.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.sigDrawingContext) {\n this.sigDrawingContext = null;\n this.currentSigStroke = [];\n this.lastSigPoint = null;\n }\n }\n\n setupInitialsCanvas() {\n if (!this.initialsElement) {\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 initialsContext = this.initialsElement.getContext('2d');\n\n // Only initialize if we don't have a context or it's different\n if (initialsContext && initialsContext !== this.initialsDrawingContext) {\n this.initialsDrawingContext = initialsContext;\n\n // Configure drawing style for smooth signatures\n this.initialsDrawingContext.strokeStyle = '#000000';\n this.initialsDrawingContext.lineWidth = 2;\n this.initialsDrawingContext.lineCap = 'round';\n this.initialsDrawingContext.lineJoin = 'round';\n\n // Clear canvas only if there are no existing strokes\n if (this.allInitialsStrokes.length === 0) {\n this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.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.initialsDrawingContext) {\n this.initialsDrawingContext = null;\n this.currentInitialsStroke = [];\n this.lastInitialsPoint = null;\n }\n }\n\n clearSignatureCanvas() {\n if (!this.signatureElement || !this.sigDrawingContext) {\n return;\n }\n\n this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);\n this.currentSigStroke = [];\n this.allSigStrokes = [];\n this.lastSigPoint = null;\n this.hasDrawnSignature = false;\n }\n\n clearInitialsCanvas() {\n if (!this.initialsElement || !this.initialsDrawingContext) {\n return;\n }\n\n this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);\n this.currentInitialsStroke = [];\n this.allInitialsStrokes = [];\n this.lastInitialsPoint = null;\n this.hasDrawnSignature = false;\n }\n\n handleClearDrawing(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.clearSignatureCanvas();\n this.clearInitialsCanvas();\n }\n\n getSigCanvasCoordinates(e: PointerEvent): {x: number; y: number} {\n if (!this.signatureElement) {\n return {x: 0, y: 0};\n }\n\n const rect = this.signatureElement.getBoundingClientRect();\n\n // Calculate the scale factor between canvas size and display size\n const scaleX = this.signatureElement.width / rect.width;\n const scaleY = this.signatureElement.height / rect.height;\n\n return {\n x: (e.clientX - rect.left) * scaleX,\n y: (e.clientY - rect.top) * scaleY,\n };\n }\n\n getInitialsCanvasCoordinates(e: PointerEvent): {x: number; y: number} {\n if (!this.initialsElement) {\n return {x: 0, y: 0};\n }\n\n const rect = this.initialsElement.getBoundingClientRect();\n\n // Calculate the scale factor between canvas size and display size\n const scaleX = this.initialsElement.width / rect.width;\n const scaleY = this.initialsElement.height / rect.height;\n\n return {\n x: (e.clientX - rect.left) * scaleX,\n y: (e.clientY - rect.top) * scaleY,\n };\n }\n\n handleSigPointerDown = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.signatureElement || !this.sigDrawingContext) {\n return;\n }\n\n this.isDrawing = true;\n this.hasDrawnSignature = true;\n\n const point = this.getSigCanvasCoordinates(e);\n this.currentSigStroke = [point];\n this.lastSigPoint = point;\n\n // Start a new path\n this.sigDrawingContext.beginPath();\n this.sigDrawingContext.moveTo(point.x, point.y);\n\n // Capture pointer to ensure we get all events even if pointer leaves canvas\n this.signatureElement.setPointerCapture(e.pointerId);\n };\n\n handleSigPointerMove = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.sigDrawingContext || !this.lastSigPoint) {\n return;\n }\n\n const point = this.getSigCanvasCoordinates(e);\n this.currentSigStroke.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.lastSigPoint.x + point.x) / 2,\n y: (this.lastSigPoint.y + point.y) / 2,\n };\n\n this.sigDrawingContext.quadraticCurveTo(this.lastSigPoint.x, this.lastSigPoint.y, midPoint.x, midPoint.y);\n this.sigDrawingContext.stroke();\n\n this.lastSigPoint = point;\n };\n\n handleSigPointerUp = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.sigDrawingContext) {\n return;\n }\n\n // Complete the stroke\n if (this.lastSigPoint && this.currentSigStroke.length > 0) {\n this.sigDrawingContext.lineTo(this.lastSigPoint.x, this.lastSigPoint.y);\n this.sigDrawingContext.stroke();\n }\n\n // Save the completed stroke\n if (this.currentSigStroke.length > 0) {\n this.allSigStrokes.push([...this.currentSigStroke]);\n }\n\n this.isDrawing = false;\n this.currentSigStroke = [];\n this.lastSigPoint = null;\n\n // Release pointer capture\n if (this.signatureElement) {\n this.signatureElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleSigPointerCancel = (e: PointerEvent) => {\n // Handle cases where drawing is interrupted (e.g., phone call, notification)\n this.isDrawing = false;\n this.currentSigStroke = [];\n this.lastSigPoint = null;\n\n if (this.signatureElement) {\n this.signatureElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleInitialsPointerDown = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.initialsElement || !this.initialsDrawingContext) {\n return;\n }\n\n this.isDrawing = true;\n this.hasDrawnSignature = true;\n\n const point = this.getInitialsCanvasCoordinates(e);\n this.currentInitialsStroke = [point];\n this.lastInitialsPoint = point;\n\n // Start a new path\n this.initialsDrawingContext.beginPath();\n this.initialsDrawingContext.moveTo(point.x, point.y);\n\n // Capture pointer to ensure we get all events even if pointer leaves canvas\n this.initialsElement.setPointerCapture(e.pointerId);\n };\n\n handleInitialsPointerMove = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.initialsDrawingContext || !this.lastInitialsPoint) {\n return;\n }\n\n const point = this.getInitialsCanvasCoordinates(e);\n this.currentInitialsStroke.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.lastInitialsPoint.x + point.x) / 2,\n y: (this.lastInitialsPoint.y + point.y) / 2,\n };\n\n this.initialsDrawingContext.quadraticCurveTo(this.lastInitialsPoint.x, this.lastInitialsPoint.y, midPoint.x, midPoint.y);\n this.initialsDrawingContext.stroke();\n\n this.lastInitialsPoint = point;\n };\n\n handleInitialsPointerUp = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.initialsDrawingContext) {\n return;\n }\n\n // Complete the stroke\n if (this.lastInitialsPoint && this.currentInitialsStroke.length > 0) {\n this.initialsDrawingContext.lineTo(this.lastInitialsPoint.x, this.lastInitialsPoint.y);\n this.initialsDrawingContext.stroke();\n }\n\n // Save the completed stroke\n if (this.currentInitialsStroke.length > 0) {\n this.allInitialsStrokes.push([...this.currentInitialsStroke]);\n }\n\n this.isDrawing = false;\n this.currentInitialsStroke = [];\n this.lastInitialsPoint = null;\n\n // Release pointer capture\n if (this.initialsElement) {\n this.initialsElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleInitialsPointerCancel = (e: PointerEvent) => {\n // Handle cases where drawing is interrupted (e.g., phone call, notification)\n this.isDrawing = false;\n this.currentInitialsStroke = [];\n this.lastInitialsPoint = null;\n\n if (this.initialsElement) {\n this.initialsElement.releasePointerCapture(e.pointerId);\n }\n };\n\n render() {\n return (\n <verdocs-dialog>\n <div slot=\"heading\" class=\"heading\">\n Adopt Your Signature\n </div>\n\n <div slot=\"content\" class=\"content\">\n <div style={{fontWeight: '300', color: '#242424', fontSize: '13px'}}>Confirm your name, initials, and signature.</div>\n\n <div class={{type: true, active: this.mode === 'type'}}>\n <verdocs-text-input label=\"Full Name\" value={this.enteredName} onInput={e => this.handleNameChange(e)} onClick={e => e.stopPropagation()} />\n </div>\n\n <div style={{fontWeight: '400', color: '#242424', fontSize: '13px'}}>Select a signature style</div>\n\n <div style={{display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px'}}>\n <verdocs-radio-button checked={this.mode === 'type'} value=\"type\" name=\"mode\" onClick={() => (this.mode = 'type')} />\n <label>Typed with a keyboard</label>\n </div>\n <div style={{display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px'}}>\n <verdocs-radio-button checked={this.mode === 'draw'} value=\"draw\" name=\"mode\" onClick={() => (this.mode = 'draw')} />\n <label>Drawn with touch, mouse, or stylus</label>\n </div>\n\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\n <div style={{fontSize: '13px', fontWeight: '400', marginTop: '8px'}}>Signature Preview</div>\n <canvas\n ref={el => (this.signatureElement = el as HTMLCanvasElement)}\n width=\"300\"\n height=\"79\"\n onPointerDown={this.handleSigPointerDown}\n onPointerMove={this.handleSigPointerMove}\n onPointerUp={this.handleSigPointerUp}\n onPointerCancel={this.handleSigPointerCancel}\n style={{touchAction: 'none', cursor: 'crosshair'}}\n />\n\n <div style={{fontSize: '13px', fontWeight: '400', marginTop: '8px'}}>Initials Preview</div>\n <canvas\n ref={el => (this.initialsElement = el as HTMLCanvasElement)}\n width=\"300\"\n height=\"79\"\n onPointerDown={this.handleInitialsPointerDown}\n onPointerMove={this.handleInitialsPointerMove}\n onPointerUp={this.handleInitialsPointerUp}\n onPointerCancel={this.handleInitialsPointerCancel}\n style={{touchAction: 'none', cursor: 'crosshair'}}\n />\n\n <div class=\"disclaimer\">\n By clicking «Adopt Signature», I agree that the signature and initials above will be the electronic representation of my signature and initials for all purposes when I\n use them to sign documents. Applying them to a document is legally equivalent to signing with a pen on paper.\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"]}
@@ -40,7 +40,7 @@ export class VerdocsDelegateDialog {
40
40
  });
41
41
  }
42
42
  render() {
43
- return (h("verdocs-dialog", { key: 'e7d2e18522508c33fdcd2d8ffd2596d7ef0f4703' }, h("div", { key: '6e6d4438e8d36dc50e150d0cf67826cf12b3c181', slot: "heading", class: "heading" }, h("div", { key: '15b9ffde2bb3d31b054b3f5b8818d50360080035', class: "icon" }, h("svg", { key: 'ae9862f069d3157bf56683c39762d043203098df', width: "22", height: "19", viewBox: "0 0 22 19", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("g", { key: '93460d7cf7ac57c11c89f9eaf0e67b148af5ff3f', "clip-path": "url(#clip0_34208_4881)" }, h("path", { key: '156bf323b132a3d1cc3831e3f59142072caabc6b', 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: '4e8e0ed7b87613084f85264f5100793bdadc9682' }, h("clipPath", { key: '8441dd4b8f3fd32e43a1389c93d1e4676b1207d0', id: "clip0_34208_4881" }, h("path", { key: 'fc50b4dd2d8e138ed025a1c5f90756fcdbb9e96e', d: "M0.875 0.75H21.125V18.75H0.875V0.75Z", fill: "white" }))))), h("div", { key: '444700955fb177f60fd0d5ac32b976c238073664', class: "title" }, "Delegate \"", this.envelope.name, "\"")), h("div", { key: '926abc297800db8d18945a4f1b3a54eec1bb35f0', slot: "content", class: "content" }, h("div", { key: '93ea4eaa76ecefeec198741295c16e34eb6e00b5', class: "input names" }, h("label", { key: '1f01beb189bb336cf3e632eaada5690832424a26', htmlFor: "verdocs-delegate-email" }, "New Recipient:"), h("input", { key: '0828c4548d08d771e0396d0a5b1473165d9eb3c4', type: "text", id: "verdocs-delegate-first", name: "verdocs-delegate-first", autocomplete: "blocked", placeholder: "First name...", value: this.first_name, onInput: (e) => (this.first_name = e.target.value) }), h("input", { key: 'ca438ec4a4f95a7b331b118923ca1eff0e59e010', type: "text", id: "verdocs-delegate-last", name: "verdocs-delegate-last", autocomplete: "blocked", placeholder: "Last name...", value: this.last_name, onInput: (e) => (this.last_name = e.target.value) })), h("div", { key: 'f59c0091cc6551354136402b759ef57051abd63b', class: "input" }, h("label", { key: '1c56dfa95af9c42ac80a2c5cbe1e3a7c16f68d8a', htmlFor: "verdocs-delegate-email" }, "Email Address:"), h("input", { key: '21d98764ba0183a2cb5aee91ff6a1fc53af48f7c', type: "text", id: "verdocs-delegate-email", name: "verdocs-delegate-email", autocomplete: "blocked", placeholder: "New recipient email address...", value: this.email, onInput: (e) => (this.email = e.target.value) })), h("div", { key: 'da6021b3bd86de0fd8f83a36afd7e9386cbd611f', class: "input" }, h("label", { key: '5b08bd78b0efdbc2c0e313d73483c5c724f12271', htmlFor: "verdocs-delegate-phone" }, "Phone:"), h("input", { key: '236eaf54d27c25969960d87f4ba90e2b36d4cd77', type: "text", id: "verdocs-delegate-phone", name: "verdocs-delegate-phone", autocomplete: "blocked", placeholder: "Optional phone number...", value: this.phone, onInput: (e) => (this.phone = e.target.value) })), h("div", { key: 'bdad60ac6cafb9d4685b4c64d1caafdfbbd5ba6d', class: "input" }, h("label", { key: '39d2e6eab4dc1eab225e47eeae6faf56e9c26091', htmlFor: "verdocs-delegate-email" }, "Message:"), h("textarea", { key: '595ca9034a51ba18bedf275278c9b9b8f4a69e8f', id: "verdocs-delegate-message", name: "verdocs-delegate-message", rows: 3, autocomplete: "blocked", placeholder: "Optional message to include in the invitation...", onInput: (e) => (this.message = e.target.value) }, this.message))), h("div", { key: '15734a676c249b4e25ad0fb609bd64ba6b86fde8', class: "footer", slot: "footer" }, h("div", { key: '5abb8a2d42122e509dec55ff3ec8b8b42d2f4585', class: "buttons" }, h("button", { key: '8bd30ede37fc0c9aab85833d92f1067ffaafa250', class: "cancel", onClick: () => this.handleCancel() }, "Cancel"), h("button", { key: '6a08b2646a66a8324dd3b19b36dd10142f0a40c0', class: "proceed", onClick: () => this.handleDelegate(), disabled: !this.first_name || !this.last_name || !this.email }, "Proceed")))));
43
+ return (h("verdocs-dialog", { key: '3328c89a822e9da2717c024cbeb91b8342997975' }, h("div", { key: 'a5aa76bcc513d754d7ffed6367709926cb091d0d', slot: "heading", class: "heading" }, h("div", { key: '72f3af2e0fddef24046b5ee982fef0476f90b999', class: "icon" }, h("svg", { key: '7ec6730440063fb1e688af7d827d2118a4633a38', width: "22", height: "19", viewBox: "0 0 22 19", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("g", { key: '99f067a358fb9b320f7edc5243037ffb16ccb183', "clip-path": "url(#clip0_34208_4881)" }, h("path", { key: '79d97113c574b10a26b92b098246c9cdff08f5e9', 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: '94509d6fa3844ec32dbd8b56f4ddf4a11afe4f63' }, h("clipPath", { key: '5f743336778d38082fd115e74dcd9f5ea3cf71d8', id: "clip0_34208_4881" }, h("path", { key: '970770328892624bde9e84575dafd82433e4ccff', d: "M0.875 0.75H21.125V18.75H0.875V0.75Z", fill: "white" }))))), h("div", { key: 'e685e5c8f56fae78158731c506a7fcb0302ddad4', class: "title" }, "Delegate \"", this.envelope.name, "\"")), h("div", { key: '43132cd8f62cac8d11661a93c82539006fcae4b3', slot: "content", class: "content" }, h("div", { key: '4fee7e46e5c610b183d257314af95630f036293e', class: "input names" }, h("label", { key: '1ee5d5a3225823b715ba93bc355d30370568733b', htmlFor: "verdocs-delegate-email" }, "New Recipient:"), h("input", { key: '4c81a854693de1df96883d7f9645a67ffa4808f4', type: "text", id: "verdocs-delegate-first", name: "verdocs-delegate-first", autocomplete: "blocked", placeholder: "First name...", value: this.first_name, onInput: (e) => (this.first_name = e.target.value) }), h("input", { key: 'b54b7b799e83167a40ae7d11425f86cb42e2b079', type: "text", id: "verdocs-delegate-last", name: "verdocs-delegate-last", autocomplete: "blocked", placeholder: "Last name...", value: this.last_name, onInput: (e) => (this.last_name = e.target.value) })), h("div", { key: '624732fa9a0644835db65588796ca624b0782e54', class: "input" }, h("label", { key: 'f43b8cb976c1401d88cf2e0280b18c60b0498f5e', htmlFor: "verdocs-delegate-email" }, "Email Address:"), h("input", { key: 'fa58d7704b3fc564c254647b01d45aa776f27c4a', type: "text", id: "verdocs-delegate-email", name: "verdocs-delegate-email", autocomplete: "blocked", placeholder: "New recipient email address...", value: this.email, onInput: (e) => (this.email = e.target.value) })), h("div", { key: 'e9671d105f1cc7e5ec1a883ccf3a88ca292479a4', class: "input" }, h("label", { key: '58970725efa4b5343ad9e6cd69c2e31f154334d9', htmlFor: "verdocs-delegate-phone" }, "Phone:"), h("input", { key: '45487a1386f79d326ae5498c2a03c63d3423e3f6', type: "text", id: "verdocs-delegate-phone", name: "verdocs-delegate-phone", autocomplete: "blocked", placeholder: "Optional phone number...", value: this.phone, onInput: (e) => (this.phone = e.target.value) })), h("div", { key: '15d95458921e3044e553d6df4fdf79863fa97a57', class: "input" }, h("label", { key: 'b24618ddfabb8792201d44002dbd27d18086bb7b', htmlFor: "verdocs-delegate-email" }, "Message:"), h("textarea", { key: '6f695d63955392c8e7af36c43b359b4ac26c6df8', id: "verdocs-delegate-message", name: "verdocs-delegate-message", rows: 3, autocomplete: "blocked", placeholder: "Optional message to include in the invitation...", onInput: (e) => (this.message = e.target.value) }, this.message))), h("div", { key: '0de8db55b0c724b4827c400cb710f36c7233c635', class: "footer", slot: "footer" }, h("div", { key: '8989a50706302829188145b7e0ce7bcfbb39b5ce', class: "buttons" }, h("button", { key: '3501cc234ab27a243bdef1ff1fece6c70da7111e', class: "cancel", onClick: () => this.handleCancel() }, "Cancel"), h("button", { key: '1de686e768e9720050db90d10e7330458ffefbf6', class: "proceed", onClick: () => this.handleDelegate(), disabled: !this.first_name || !this.last_name || !this.email }, "Proceed")))));
44
44
  }
45
45
  static get is() { return "verdocs-delegate-dialog"; }
46
46
  static get originalStyleUrls() {