@verdocs/web-sdk 5.0.68 → 5.0.70

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 (313) hide show
  1. package/dist/cjs/{Datastore-BfoLNIYQ.js → Datastore-Dn_pL6x4.js} +95 -70
  2. package/dist/cjs/Datastore-Dn_pL6x4.js.map +1 -0
  3. package/dist/cjs/en-DyXpAt1T.js +58 -0
  4. package/dist/cjs/en-DyXpAt1T.js.map +1 -0
  5. package/dist/cjs/index-Be9PlTB7.js +6 -2
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-checkbox_6.cjs.entry.js +1 -1
  9. package/dist/cjs/{verdocs-contact-picker_2.cjs.entry.js → verdocs-contact-picker.cjs.entry.js} +42 -59
  10. package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -0
  11. package/dist/cjs/verdocs-contact-picker.entry.cjs.js.map +1 -0
  12. package/dist/cjs/verdocs-date-input.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-envelope-recipient-link.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +2 -2
  17. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  18. package/dist/cjs/verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.cjs.js.map +1 -1
  19. package/dist/cjs/verdocs-kba-dialog_3.cjs.entry.js +8 -7
  20. package/dist/cjs/verdocs-kba-dialog_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +1 -1
  22. package/dist/cjs/verdocs-multiselect.cjs.entry.js +48 -0
  23. package/dist/cjs/verdocs-multiselect.cjs.entry.js.map +1 -0
  24. package/dist/cjs/verdocs-multiselect.entry.cjs.js.map +1 -0
  25. package/dist/cjs/verdocs-preview_7.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-sign.cjs.entry.js +2 -2
  27. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  28. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  29. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  31. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js +7 -6
  32. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js.map +1 -1
  33. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +1 -1
  34. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  35. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.css +8 -0
  36. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +9 -4
  37. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
  38. package/dist/components/{p-6sqLWJCf.js → p-03kDzdlZ.js} +3 -3
  39. package/dist/components/{p-6sqLWJCf.js.map → p-03kDzdlZ.js.map} +1 -1
  40. package/dist/components/{p-cJMs8iXW.js → p-B3KdiIa6.js} +46 -29
  41. package/dist/components/p-B3KdiIa6.js.map +1 -0
  42. package/dist/components/{p-C-l2dmJo.js → p-B6IuryK-.js} +4 -4
  43. package/dist/components/{p-C-l2dmJo.js.map → p-B6IuryK-.js.map} +1 -1
  44. package/dist/components/{p-CdqJfcwh.js → p-B6hVXdpp.js} +3 -3
  45. package/dist/components/{p-CdqJfcwh.js.map → p-B6hVXdpp.js.map} +1 -1
  46. package/dist/components/{p-B8e6Hb7a.js → p-B8HdsDVX.js} +3 -3
  47. package/dist/components/{p-B8e6Hb7a.js.map → p-B8HdsDVX.js.map} +1 -1
  48. package/dist/components/{p-CsnQa5sQ.js → p-BFgewNxB.js} +3 -3
  49. package/dist/components/{p-CsnQa5sQ.js.map → p-BFgewNxB.js.map} +1 -1
  50. package/dist/components/{p-BSopvRgr.js → p-BPEZpcEQ.js} +4 -4
  51. package/dist/components/{p-BSopvRgr.js.map → p-BPEZpcEQ.js.map} +1 -1
  52. package/dist/components/{p-DwHrFqEp.js → p-BWvY2aag.js} +9 -8
  53. package/dist/components/p-BWvY2aag.js.map +1 -0
  54. package/dist/components/{p-r_GHGV6q.js → p-Br5R2YNb.js} +14 -14
  55. package/dist/components/{p-r_GHGV6q.js.map → p-Br5R2YNb.js.map} +1 -1
  56. package/dist/components/{p-tmA3GCaL.js → p-C3_yeGdH.js} +3 -3
  57. package/dist/components/{p-tmA3GCaL.js.map → p-C3_yeGdH.js.map} +1 -1
  58. package/dist/components/{p-B8oLX6-0.js → p-CDTU_UJD.js} +4 -4
  59. package/dist/components/{p-B8oLX6-0.js.map → p-CDTU_UJD.js.map} +1 -1
  60. package/dist/components/{p-C4213J9Q.js → p-CNJfehtH.js} +4 -4
  61. package/dist/components/{p-C4213J9Q.js.map → p-CNJfehtH.js.map} +1 -1
  62. package/dist/components/{p-BqQxZHHz.js → p-CYRrJEue.js} +4 -4
  63. package/dist/components/{p-BqQxZHHz.js.map → p-CYRrJEue.js.map} +1 -1
  64. package/dist/{esm/Datastore-DoY8Nb0Y.js → components/p-C_IIZj49.js} +95 -70
  65. package/dist/components/p-C_IIZj49.js.map +1 -0
  66. package/dist/components/p-CjPsvAbb.js +55 -0
  67. package/dist/components/p-CjPsvAbb.js.map +1 -0
  68. package/dist/components/{p-eXVwQFzY.js → p-Cn4wVEX4.js} +5 -5
  69. package/dist/components/{p-eXVwQFzY.js.map → p-Cn4wVEX4.js.map} +1 -1
  70. package/dist/components/{p-DhrRkOUi.js → p-CqQzEyUV.js} +4 -4
  71. package/dist/components/{p-DhrRkOUi.js.map → p-CqQzEyUV.js.map} +1 -1
  72. package/dist/components/{p-BC9E1lIr.js → p-CsZh6ttH.js} +15 -15
  73. package/dist/components/{p-BC9E1lIr.js.map → p-CsZh6ttH.js.map} +1 -1
  74. package/dist/components/{p-V_QHhgqx.js → p-Cue-TDgY.js} +3 -3
  75. package/dist/components/{p-V_QHhgqx.js.map → p-Cue-TDgY.js.map} +1 -1
  76. package/dist/components/{p-DC--nyvW.js → p-D-4uVyuT.js} +13 -19
  77. package/dist/components/p-D-4uVyuT.js.map +1 -0
  78. package/dist/components/{p-Ch6Kdfra.js → p-DgfjnZPa.js} +4 -4
  79. package/dist/components/{p-Ch6Kdfra.js.map → p-DgfjnZPa.js.map} +1 -1
  80. package/dist/components/{p-CkX7jHYc.js → p-Dh8F4jIe.js} +15 -15
  81. package/dist/components/{p-CkX7jHYc.js.map → p-Dh8F4jIe.js.map} +1 -1
  82. package/dist/components/{p-BVwBJvZX.js → p-Dw5jTBu3.js} +4 -4
  83. package/dist/components/{p-BVwBJvZX.js.map → p-Dw5jTBu3.js.map} +1 -1
  84. package/dist/components/{p-D-T2R8F1.js → p-IcjPGPO7.js} +3 -3
  85. package/dist/components/{p-D-T2R8F1.js.map → p-IcjPGPO7.js.map} +1 -1
  86. package/dist/components/{p-Bd_tIPj6.js → p-iwNYe5a0.js} +4 -4
  87. package/dist/components/{p-Bd_tIPj6.js.map → p-iwNYe5a0.js.map} +1 -1
  88. package/dist/components/{p-BXnjauAt.js → p-z0ZD30Bi.js} +4 -4
  89. package/dist/components/{p-BXnjauAt.js.map → p-z0ZD30Bi.js.map} +1 -1
  90. package/dist/components/verdocs-build.js +51 -57
  91. package/dist/components/verdocs-build.js.map +1 -1
  92. package/dist/components/verdocs-contact-picker.js +1 -1
  93. package/dist/components/verdocs-date-input.js +1 -1
  94. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  95. package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
  96. package/dist/components/verdocs-envelope-sidebar.js +2 -2
  97. package/dist/components/verdocs-field-attachment.js +1 -1
  98. package/dist/components/verdocs-field-checkbox.js +1 -1
  99. package/dist/components/verdocs-field-date.js +1 -1
  100. package/dist/components/verdocs-field-dropdown.js +1 -1
  101. package/dist/components/verdocs-field-initial.js +1 -1
  102. package/dist/components/verdocs-field-payment.js +2 -2
  103. package/dist/components/verdocs-field-radio.js +1 -1
  104. package/dist/components/verdocs-field-signature.js +1 -1
  105. package/dist/components/verdocs-field-textarea.js +1 -1
  106. package/dist/components/verdocs-field-textbox.js +1 -1
  107. package/dist/components/verdocs-field-timestamp.js +1 -1
  108. package/dist/components/verdocs-kba-dialog.js +1 -1
  109. package/dist/components/verdocs-multiselect.js +67 -1
  110. package/dist/components/verdocs-multiselect.js.map +1 -1
  111. package/dist/components/verdocs-preview.js +1 -1
  112. package/dist/components/verdocs-send.js +1 -1
  113. package/dist/components/verdocs-sign.js +4 -4
  114. package/dist/components/verdocs-sign.js.map +1 -1
  115. package/dist/components/verdocs-template-attachments.js +1 -1
  116. package/dist/components/verdocs-template-build-tabs.js +1 -1
  117. package/dist/components/verdocs-template-document-page.js +1 -1
  118. package/dist/components/verdocs-template-field-properties.js +1 -1
  119. package/dist/components/verdocs-template-fields.js +1 -1
  120. package/dist/components/verdocs-template-role-properties.js +1 -1
  121. package/dist/components/verdocs-template-roles.js +1 -1
  122. package/dist/components/verdocs-template-settings.js +1 -1
  123. package/dist/components/verdocs-view.js +1 -1
  124. package/dist/{components/p-DoY8Nb0Y.js → esm/Datastore-C_IIZj49.js} +95 -70
  125. package/dist/esm/Datastore-C_IIZj49.js.map +1 -0
  126. package/dist/esm/en-bsV5YfOZ.js +55 -0
  127. package/dist/esm/en-bsV5YfOZ.js.map +1 -0
  128. package/dist/esm/index-CF7i8guW.js +6 -2
  129. package/dist/esm/loader.js +1 -1
  130. package/dist/esm/verdocs-build.entry.js +1 -1
  131. package/dist/esm/verdocs-checkbox_6.entry.js +1 -1
  132. package/dist/esm/{verdocs-contact-picker_2.entry.js → verdocs-contact-picker.entry.js} +45 -61
  133. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -0
  134. package/dist/esm/verdocs-date-input.entry.js +1 -1
  135. package/dist/esm/verdocs-envelope-recipient-link.entry.js +1 -1
  136. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  137. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  138. package/dist/esm/verdocs-field-attachment_13.entry.js +2 -2
  139. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  140. package/dist/esm/verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.js.map +1 -1
  141. package/dist/esm/verdocs-kba-dialog_3.entry.js +8 -7
  142. package/dist/esm/verdocs-kba-dialog_3.entry.js.map +1 -1
  143. package/dist/esm/verdocs-menu-panel_2.entry.js +1 -1
  144. package/dist/{components/p-DpbDLSke.js → esm/verdocs-multiselect.entry.js} +9 -35
  145. package/dist/esm/verdocs-multiselect.entry.js.map +1 -0
  146. package/dist/esm/verdocs-preview_7.entry.js +1 -1
  147. package/dist/esm/verdocs-sign.entry.js +2 -2
  148. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  149. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  150. package/dist/esm/verdocs-web-sdk.js +1 -1
  151. package/dist/esm-es5/Datastore-C_IIZj49.js +2 -0
  152. package/dist/esm-es5/Datastore-C_IIZj49.js.map +1 -0
  153. package/dist/esm-es5/en-bsV5YfOZ.js +2 -0
  154. package/dist/esm-es5/en-bsV5YfOZ.js.map +1 -0
  155. package/dist/esm-es5/index-CF7i8guW.js +1 -1
  156. package/dist/esm-es5/loader.js +1 -1
  157. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  158. package/dist/esm-es5/verdocs-checkbox_6.entry.js +1 -1
  159. package/dist/esm-es5/verdocs-contact-picker.entry.js +3 -0
  160. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -0
  161. package/dist/esm-es5/verdocs-date-input.entry.js +1 -1
  162. package/dist/esm-es5/verdocs-envelope-recipient-link.entry.js +1 -1
  163. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  164. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  165. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  166. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  167. package/dist/esm-es5/verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.js.map +1 -1
  168. package/dist/esm-es5/verdocs-kba-dialog_3.entry.js +1 -1
  169. package/dist/esm-es5/verdocs-kba-dialog_3.entry.js.map +1 -1
  170. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  171. package/dist/esm-es5/verdocs-multiselect.entry.js +2 -0
  172. package/dist/esm-es5/verdocs-multiselect.entry.js.map +1 -0
  173. package/dist/esm-es5/verdocs-preview_7.entry.js +2 -2
  174. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  175. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  176. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  177. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  178. package/dist/verdocs-web-sdk/{p-e6f5cbbe.system.entry.js → p-00c62312.system.entry.js} +2 -2
  179. package/dist/verdocs-web-sdk/p-193b964f.system.entry.js +2 -0
  180. package/dist/verdocs-web-sdk/p-193b964f.system.entry.js.map +1 -0
  181. package/dist/verdocs-web-sdk/{p-2d0c05c1.system.entry.js → p-1d0463ad.system.entry.js} +2 -2
  182. package/dist/verdocs-web-sdk/{p-88b0232b.entry.js → p-1d4a39c2.entry.js} +2 -2
  183. package/dist/verdocs-web-sdk/p-218440e6.entry.js +2 -0
  184. package/dist/verdocs-web-sdk/p-218440e6.entry.js.map +1 -0
  185. package/dist/verdocs-web-sdk/{p-0ceb7cd4.entry.js → p-255c74a9.entry.js} +2 -2
  186. package/dist/verdocs-web-sdk/{p-d0241754.entry.js → p-2d5f5512.entry.js} +2 -2
  187. package/dist/verdocs-web-sdk/p-2d5f5512.entry.js.map +1 -0
  188. package/dist/verdocs-web-sdk/p-344a038b.system.entry.js +2 -0
  189. package/dist/verdocs-web-sdk/p-344a038b.system.entry.js.map +1 -0
  190. package/dist/verdocs-web-sdk/{p-bc6e84b9.system.entry.js → p-3bf5dfcb.system.entry.js} +2 -2
  191. package/dist/verdocs-web-sdk/p-3e4a6587.system.entry.js +4 -0
  192. package/dist/verdocs-web-sdk/p-3e4a6587.system.entry.js.map +1 -0
  193. package/dist/verdocs-web-sdk/{p-78df8d91.system.entry.js → p-3fc4da27.system.entry.js} +2 -2
  194. package/dist/verdocs-web-sdk/{p-16906b7a.entry.js → p-5355587b.entry.js} +2 -2
  195. package/dist/verdocs-web-sdk/{p-7d2ab3db.entry.js → p-5f2740be.entry.js} +2 -2
  196. package/dist/verdocs-web-sdk/{p-bdc67903.entry.js → p-6331769c.entry.js} +2 -2
  197. package/dist/verdocs-web-sdk/{p-c9af5cf9.entry.js → p-7926e0ed.entry.js} +3 -3
  198. package/dist/verdocs-web-sdk/p-7e91292a.entry.js +3 -0
  199. package/dist/verdocs-web-sdk/p-7e91292a.entry.js.map +1 -0
  200. package/dist/verdocs-web-sdk/{p-dee55b42.system.entry.js → p-821becae.system.entry.js} +2 -2
  201. package/dist/verdocs-web-sdk/{p-d47f4d23.entry.js → p-894e2058.entry.js} +2 -2
  202. package/dist/verdocs-web-sdk/{p-859d52e2.system.entry.js → p-9bb9f4e6.system.entry.js} +2 -2
  203. package/dist/verdocs-web-sdk/p-9bb9f4e6.system.entry.js.map +1 -0
  204. package/dist/verdocs-web-sdk/{p-DSTAw9l4.system.js.map → p-BQeD2Uzl.system.js.map} +1 -1
  205. package/dist/verdocs-web-sdk/{p-DQ1Zj0_z.system.js.map → p-BZkYMpVF.system.js.map} +1 -1
  206. package/dist/verdocs-web-sdk/{p-CzmLBKRk.system.js.map → p-BhRjT9GK.system.js.map} +1 -1
  207. package/dist/verdocs-web-sdk/p-C06jLDFm.system.js +2 -0
  208. package/dist/verdocs-web-sdk/p-C06jLDFm.system.js.map +1 -0
  209. package/dist/verdocs-web-sdk/p-CMiFaQiI.system.js +2 -0
  210. package/dist/verdocs-web-sdk/p-CMiFaQiI.system.js.map +1 -0
  211. package/dist/verdocs-web-sdk/{p-BJDbn5Ed.system.js.map → p-CTKsneFq.system.js.map} +1 -1
  212. package/dist/verdocs-web-sdk/p-C_IIZj49.js +2 -0
  213. package/dist/verdocs-web-sdk/p-C_IIZj49.js.map +1 -0
  214. package/dist/verdocs-web-sdk/p-ChsPMrfV.system.js.map +1 -0
  215. package/dist/verdocs-web-sdk/p-CjPsvAbb.js +2 -0
  216. package/dist/verdocs-web-sdk/p-CjPsvAbb.js.map +1 -0
  217. package/dist/verdocs-web-sdk/{p-C2cdldyg.system.js.map → p-CuaH0Jft.system.js.map} +1 -1
  218. package/dist/verdocs-web-sdk/p-CwXSduhy.system.js +1 -1
  219. package/dist/verdocs-web-sdk/{p-DhaSvwdv.system.js.map → p-D-adB9Pb.system.js.map} +1 -1
  220. package/dist/verdocs-web-sdk/p-DFxwv7XE.system.js.map +1 -0
  221. package/dist/verdocs-web-sdk/{p-DDS4V5ZK.system.js.map → p-DG0Ibgqe.system.js.map} +1 -1
  222. package/dist/verdocs-web-sdk/{p-CNa6mh_8.system.js.map → p-DKkhksIM.system.js.map} +1 -1
  223. package/dist/verdocs-web-sdk/{p-BrqmuN9l.system.js.map → p-DZurf5no.system.js.map} +1 -1
  224. package/dist/verdocs-web-sdk/{p-DWMXHuqC.system.js.map → p-DjtXr8Iv.system.js.map} +1 -1
  225. package/dist/verdocs-web-sdk/p-Do6RqOUO.system.js.map +1 -0
  226. package/dist/verdocs-web-sdk/p-DwPw01KR.system.js.map +1 -0
  227. package/dist/verdocs-web-sdk/{p-BiZ1leAS.system.js.map → p-SFqGy6JR.system.js.map} +1 -1
  228. package/dist/verdocs-web-sdk/{p-3b89252b.system.entry.js → p-a231248c.system.entry.js} +2 -2
  229. package/dist/verdocs-web-sdk/p-aa6faf0b.entry.js +2 -0
  230. package/dist/verdocs-web-sdk/p-aa6faf0b.entry.js.map +1 -0
  231. package/dist/verdocs-web-sdk/{p-1d54970e.entry.js → p-b720bffc.entry.js} +2 -2
  232. package/dist/verdocs-web-sdk/{p-81dddc8a.entry.js → p-c8369ea0.entry.js} +2 -2
  233. package/dist/verdocs-web-sdk/{p-051e37bd.entry.js → p-caf258c9.entry.js} +2 -2
  234. package/dist/verdocs-web-sdk/{p-12c72957.system.entry.js → p-cfbef482.system.entry.js} +2 -2
  235. package/dist/verdocs-web-sdk/{p-4fd77f5f.entry.js → p-d0bc16f9.entry.js} +2 -2
  236. package/dist/verdocs-web-sdk/{p-be1f9f8d.system.entry.js → p-d16c03d8.system.entry.js} +2 -2
  237. package/dist/verdocs-web-sdk/{p-863008ff.system.entry.js → p-db22e373.system.entry.js} +2 -2
  238. package/dist/verdocs-web-sdk/{p-6b6597e9.system.entry.js → p-eb539d8f.system.entry.js} +2 -2
  239. package/dist/verdocs-web-sdk/{p-442f07c0.system.entry.js → p-ecefb50c.system.entry.js} +2 -2
  240. package/dist/verdocs-web-sdk/verdocs-contact-picker.entry.esm.js.map +1 -0
  241. package/dist/verdocs-web-sdk/verdocs-kba-dialog.verdocs-otp-dialog.verdocs-view.entry.esm.js.map +1 -1
  242. package/dist/verdocs-web-sdk/verdocs-multiselect.entry.esm.js.map +1 -0
  243. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  244. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  245. package/package.json +4 -4
  246. package/dist/cjs/Datastore-BfoLNIYQ.js.map +0 -1
  247. package/dist/cjs/en-Bst8Ux93.js +0 -58
  248. package/dist/cjs/en-Bst8Ux93.js.map +0 -1
  249. package/dist/cjs/verdocs-contact-picker.verdocs-multiselect.entry.cjs.js.map +0 -1
  250. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js.map +0 -1
  251. package/dist/components/p-CcnD3LWl.js +0 -55
  252. package/dist/components/p-CcnD3LWl.js.map +0 -1
  253. package/dist/components/p-DC--nyvW.js.map +0 -1
  254. package/dist/components/p-DoY8Nb0Y.js.map +0 -1
  255. package/dist/components/p-DpbDLSke.js.map +0 -1
  256. package/dist/components/p-DwHrFqEp.js.map +0 -1
  257. package/dist/components/p-cJMs8iXW.js.map +0 -1
  258. package/dist/esm/Datastore-DoY8Nb0Y.js.map +0 -1
  259. package/dist/esm/en-XchZmzEI.js +0 -55
  260. package/dist/esm/en-XchZmzEI.js.map +0 -1
  261. package/dist/esm/verdocs-contact-picker.verdocs-multiselect.entry.js.map +0 -1
  262. package/dist/esm/verdocs-contact-picker_2.entry.js.map +0 -1
  263. package/dist/esm-es5/Datastore-DoY8Nb0Y.js +0 -2
  264. package/dist/esm-es5/Datastore-DoY8Nb0Y.js.map +0 -1
  265. package/dist/esm-es5/en-XchZmzEI.js +0 -2
  266. package/dist/esm-es5/en-XchZmzEI.js.map +0 -1
  267. package/dist/esm-es5/verdocs-contact-picker.verdocs-multiselect.entry.js.map +0 -1
  268. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +0 -3
  269. package/dist/esm-es5/verdocs-contact-picker_2.entry.js.map +0 -1
  270. package/dist/verdocs-web-sdk/p-22539b25.system.entry.js +0 -4
  271. package/dist/verdocs-web-sdk/p-22539b25.system.entry.js.map +0 -1
  272. package/dist/verdocs-web-sdk/p-5badc484.entry.js +0 -3
  273. package/dist/verdocs-web-sdk/p-5badc484.entry.js.map +0 -1
  274. package/dist/verdocs-web-sdk/p-77c06e74.system.entry.js +0 -2
  275. package/dist/verdocs-web-sdk/p-77c06e74.system.entry.js.map +0 -1
  276. package/dist/verdocs-web-sdk/p-859d52e2.system.entry.js.map +0 -1
  277. package/dist/verdocs-web-sdk/p-BRa25llh.system.js +0 -2
  278. package/dist/verdocs-web-sdk/p-BRa25llh.system.js.map +0 -1
  279. package/dist/verdocs-web-sdk/p-BlaEjWtc.system.js.map +0 -1
  280. package/dist/verdocs-web-sdk/p-CVsPzFQE.system.js.map +0 -1
  281. package/dist/verdocs-web-sdk/p-CcnD3LWl.js +0 -2
  282. package/dist/verdocs-web-sdk/p-CcnD3LWl.js.map +0 -1
  283. package/dist/verdocs-web-sdk/p-CuPoNgC8.system.js.map +0 -1
  284. package/dist/verdocs-web-sdk/p-DoY8Nb0Y.js +0 -2
  285. package/dist/verdocs-web-sdk/p-DoY8Nb0Y.js.map +0 -1
  286. package/dist/verdocs-web-sdk/p-DxhKOFVd.system.js +0 -2
  287. package/dist/verdocs-web-sdk/p-DxhKOFVd.system.js.map +0 -1
  288. package/dist/verdocs-web-sdk/p-a508dd16.entry.js +0 -2
  289. package/dist/verdocs-web-sdk/p-a508dd16.entry.js.map +0 -1
  290. package/dist/verdocs-web-sdk/p-d0241754.entry.js.map +0 -1
  291. package/dist/verdocs-web-sdk/verdocs-contact-picker.verdocs-multiselect.entry.esm.js.map +0 -1
  292. /package/dist/verdocs-web-sdk/{p-e6f5cbbe.system.entry.js.map → p-00c62312.system.entry.js.map} +0 -0
  293. /package/dist/verdocs-web-sdk/{p-2d0c05c1.system.entry.js.map → p-1d0463ad.system.entry.js.map} +0 -0
  294. /package/dist/verdocs-web-sdk/{p-88b0232b.entry.js.map → p-1d4a39c2.entry.js.map} +0 -0
  295. /package/dist/verdocs-web-sdk/{p-0ceb7cd4.entry.js.map → p-255c74a9.entry.js.map} +0 -0
  296. /package/dist/verdocs-web-sdk/{p-bc6e84b9.system.entry.js.map → p-3bf5dfcb.system.entry.js.map} +0 -0
  297. /package/dist/verdocs-web-sdk/{p-78df8d91.system.entry.js.map → p-3fc4da27.system.entry.js.map} +0 -0
  298. /package/dist/verdocs-web-sdk/{p-16906b7a.entry.js.map → p-5355587b.entry.js.map} +0 -0
  299. /package/dist/verdocs-web-sdk/{p-7d2ab3db.entry.js.map → p-5f2740be.entry.js.map} +0 -0
  300. /package/dist/verdocs-web-sdk/{p-bdc67903.entry.js.map → p-6331769c.entry.js.map} +0 -0
  301. /package/dist/verdocs-web-sdk/{p-c9af5cf9.entry.js.map → p-7926e0ed.entry.js.map} +0 -0
  302. /package/dist/verdocs-web-sdk/{p-dee55b42.system.entry.js.map → p-821becae.system.entry.js.map} +0 -0
  303. /package/dist/verdocs-web-sdk/{p-d47f4d23.entry.js.map → p-894e2058.entry.js.map} +0 -0
  304. /package/dist/verdocs-web-sdk/{p-3b89252b.system.entry.js.map → p-a231248c.system.entry.js.map} +0 -0
  305. /package/dist/verdocs-web-sdk/{p-1d54970e.entry.js.map → p-b720bffc.entry.js.map} +0 -0
  306. /package/dist/verdocs-web-sdk/{p-81dddc8a.entry.js.map → p-c8369ea0.entry.js.map} +0 -0
  307. /package/dist/verdocs-web-sdk/{p-051e37bd.entry.js.map → p-caf258c9.entry.js.map} +0 -0
  308. /package/dist/verdocs-web-sdk/{p-12c72957.system.entry.js.map → p-cfbef482.system.entry.js.map} +0 -0
  309. /package/dist/verdocs-web-sdk/{p-4fd77f5f.entry.js.map → p-d0bc16f9.entry.js.map} +0 -0
  310. /package/dist/verdocs-web-sdk/{p-be1f9f8d.system.entry.js.map → p-d16c03d8.system.entry.js.map} +0 -0
  311. /package/dist/verdocs-web-sdk/{p-863008ff.system.entry.js.map → p-db22e373.system.entry.js.map} +0 -0
  312. /package/dist/verdocs-web-sdk/{p-6b6597e9.system.entry.js.map → p-eb539d8f.system.entry.js.map} +0 -0
  313. /package/dist/verdocs-web-sdk/{p-442f07c0.system.entry.js.map → p-ecefb50c.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"p-DDS4V5ZK.system.js","sources":["src/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.scss?tag=verdocs-envelope-recipient-link","src/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-recipient-link {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 100000;\n position: fixed;\n align-items: center;\n justify-content: center;\n font-family: $primary-font;\n background-color: #0000007f;\n\n .summary-content {\n width: 600px;\n display: flex;\n max-width: 90%;\n font-size: 18px;\n flex: 0 0 600px;\n border-radius: 6px;\n background: #ffffff;\n flex-direction: column;\n padding: 30px 20px 20px;\n\n .summary-title {\n font-size: 20px;\n font-weight: 700;\n margin: 0 0 10px 0;\n color: $verdocs-dark-blue;\n }\n }\n\n .summary-recipient {\n display: flex;\n color: $verdocs-grey-1;\n margin: 8px 0 24px 0;\n flex-direction: column;\n\n .role-name {\n flex: 1;\n display: flex;\n font-size: 14px;\n font-weight: 600;\n margin: 0 0 8px 0;\n color: $verdocs-grey-0;\n }\n\n .role-details {\n }\n\n .role-info {\n gap: 5px;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n }\n\n .role-full-name {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 16px;\n padding: 0 12px;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #cccccc;\n background: rgb(249, 250, 251);\n }\n\n .recipient-link {\n width: 120px;\n padding: 0 16px;\n font-weight: 500;\n margin: 0 0 0 8px;\n text-align: center;\n font-size: 0.875rem;\n border-radius: 100%;\n color: rgb(55, 65, 81);\n line-height: 1.25rem;\n background-color: #d8d8d8;\n border: 2px solid rgb(156, 163, 175);\n }\n\n .link-wrapper {\n gap: 5px;\n display: flex;\n margin: 4px 0 0 0;\n flex-direction: row;\n\n .link {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 16px;\n padding: 0 12px;\n overflow: hidden;\n margin: 0 6px 0 0;\n border-radius: 4px;\n white-space: nowrap;\n align-items: center;\n text-overflow: ellipsis;\n border: 1px solid #cccccc;\n background: rgb(249, 250, 251);\n }\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 15px;\n margin: 10px 0 0 0;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n verdocs-button {\n flex: 0 0 120px;\n margin-left: 10px;\n white-space: nowrap;\n\n button {\n width: 100%;\n }\n }\n }\n}\n","import {Component, Prop, Host, h, State, Event, EventEmitter} from '@stencil/core';\nimport {formatFullName, getEnvelope, getInPersonLink, IEnvelope, IRecipient, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a single recipient from an envelope, with the opportunity to copy an in-person\n * signing link for that recipient to use.\n */\n@Component({\n tag: 'verdocs-envelope-recipient-link',\n styleUrl: 'verdocs-envelope-recipient-link.scss',\n})\nexport class VerdocsEnvelopeRecipientLink {\n private envelopeListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to edit.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The role to load.\n */\n @Prop() roleName: string = '';\n\n /**\n * Event fired when the user clicks Done to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) next: EventEmitter<{envelope: IEnvelope}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() isOpen: boolean;\n @State() gettingLink = true;\n @State() link = '';\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n @State() recipient: IRecipient | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.envelopeId) {\n console.log(`[RECIPIENT_LINK] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[RECIPIENT_LINK] Unable to start session, must be authenticated');\n return;\n }\n\n this.listenToEnvelope();\n } catch (e) {\n console.log('[RECIPIENT_LINK] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToEnvelope();\n }\n\n async listenToEnvelope() {\n console.log('[SIDEBAR] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n false,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n this.loading = false;\n\n this.recipient = (this.envelope?.recipients || []).find(r => r.role_name === this.roleName);\n this.getLink(this.recipient);\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n handleDone(e: any) {\n e.preventDefault();\n this.next?.emit({envelope: this.envelope});\n }\n\n copyLink(link: string) {\n navigator.clipboard\n .writeText(link)\n .then(() => VerdocsToast('Link copied to clipboard!', {style: 'success', duration: 3000}))\n .catch(e => {\n console.warn('[RECIPIENT_LINK] Error copying to clipboard', e);\n VerdocsToast(`Unable to copy to clipboard: ${e.message}`, {style: 'error'});\n });\n }\n\n getLink(recipient: IRecipient) {\n this.gettingLink = true;\n getInPersonLink(this.endpoint, recipient.envelope_id, recipient.role_name)\n .then(response => {\n this.gettingLink = false;\n this.link = response.link;\n // NOTE: Left here for documentation purposes. We don't auto-copy the link because many browsers now\n // error on that because we aren't the focus/gesture-initiator since we're a new component just being\n // drawn in the DOM. So we let the user click to trigger that.\n // this.copyLink(response.link);\n })\n .catch(e => {\n this.gettingLink = false;\n console.log('[RECIPIENT_LINK] Error getting link', e);\n VerdocsToast('Unable to get link: ' + e.message, {style: 'error'});\n });\n }\n\n render() {\n if (this.loading || !this.recipient) {\n return <Host />;\n }\n\n // const recipientsWithActions = getRecipientsWithActions(this.store.state); const showLinkButton = recipientCanAct(recipient, recipientsWithActions); const link =\n // this.links[recipient.role_name]; const gettingLink = this.gettingLinks[recipient.role_name]; return (\n\n const fullName = formatFullName(this.recipient);\n return (\n <Host>\n <div class=\"summary-content\">\n <h1 class=\"summary-title\">In-Person Signing Link</h1>\n <div class=\"summary-rows\">\n <div class=\"summary-recipient\">\n <div class=\"role-name\">{this.recipient.role_name}</div>\n <div class=\"role-details\">\n <div class=\"role-info\">\n <div class=\"role-full-name\">\n {fullName} ({this.recipient.email || this.recipient.phone})\n </div>\n {!this.link && (\n <verdocs-button\n size=\"small\"\n variant=\"outline\"\n label={this.gettingLink ? 'Loading...' : 'Get Link'}\n disabled={this.gettingLink}\n onClick={() => this.getLink(this.recipient)}\n />\n )}\n </div>\n\n {this.link && (\n <div class=\"link-wrapper\">\n <div class=\"link\">{this.link}</div>\n <verdocs-button size=\"small\" variant=\"outline\" label=\"Copy\" onClick={() => this.copyLink(this.link)} />\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button size=\"small\" label=\"Done\" onClick={e => this.handleDone(e)} />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-DG0Ibgqe.system.js","sources":["src/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.scss?tag=verdocs-envelope-recipient-link","src/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-recipient-link {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 100000;\n position: fixed;\n align-items: center;\n justify-content: center;\n font-family: $primary-font;\n background-color: #0000007f;\n\n .summary-content {\n width: 600px;\n display: flex;\n max-width: 90%;\n font-size: 18px;\n flex: 0 0 600px;\n border-radius: 6px;\n background: #ffffff;\n flex-direction: column;\n padding: 30px 20px 20px;\n\n .summary-title {\n font-size: 20px;\n font-weight: 700;\n margin: 0 0 10px 0;\n color: $verdocs-dark-blue;\n }\n }\n\n .summary-recipient {\n display: flex;\n color: $verdocs-grey-1;\n margin: 8px 0 24px 0;\n flex-direction: column;\n\n .role-name {\n flex: 1;\n display: flex;\n font-size: 14px;\n font-weight: 600;\n margin: 0 0 8px 0;\n color: $verdocs-grey-0;\n }\n\n .role-details {\n }\n\n .role-info {\n gap: 5px;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n }\n\n .role-full-name {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 16px;\n padding: 0 12px;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #cccccc;\n background: rgb(249, 250, 251);\n }\n\n .recipient-link {\n width: 120px;\n padding: 0 16px;\n font-weight: 500;\n margin: 0 0 0 8px;\n text-align: center;\n font-size: 0.875rem;\n border-radius: 100%;\n color: rgb(55, 65, 81);\n line-height: 1.25rem;\n background-color: #d8d8d8;\n border: 2px solid rgb(156, 163, 175);\n }\n\n .link-wrapper {\n gap: 5px;\n display: flex;\n margin: 4px 0 0 0;\n flex-direction: row;\n\n .link {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 16px;\n padding: 0 12px;\n overflow: hidden;\n margin: 0 6px 0 0;\n border-radius: 4px;\n white-space: nowrap;\n align-items: center;\n text-overflow: ellipsis;\n border: 1px solid #cccccc;\n background: rgb(249, 250, 251);\n }\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 15px;\n margin: 10px 0 0 0;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n verdocs-button {\n flex: 0 0 120px;\n margin-left: 10px;\n white-space: nowrap;\n\n button {\n width: 100%;\n }\n }\n }\n}\n","import {Component, Prop, Host, h, State, Event, EventEmitter} from '@stencil/core';\nimport {formatFullName, getEnvelope, getInPersonLink, IEnvelope, IRecipient, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a single recipient from an envelope, with the opportunity to copy an in-person\n * signing link for that recipient to use.\n */\n@Component({\n tag: 'verdocs-envelope-recipient-link',\n styleUrl: 'verdocs-envelope-recipient-link.scss',\n})\nexport class VerdocsEnvelopeRecipientLink {\n private envelopeListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to edit.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The role to load.\n */\n @Prop() roleName: string = '';\n\n /**\n * Event fired when the user clicks Done to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) next: EventEmitter<{envelope: IEnvelope}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() isOpen: boolean;\n @State() gettingLink = true;\n @State() link = '';\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n @State() recipient: IRecipient | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.envelopeId) {\n console.log(`[RECIPIENT_LINK] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[RECIPIENT_LINK] Unable to start session, must be authenticated');\n return;\n }\n\n this.listenToEnvelope();\n } catch (e) {\n console.log('[RECIPIENT_LINK] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToEnvelope();\n }\n\n async listenToEnvelope() {\n console.log('[SIDEBAR] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n false,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n this.loading = false;\n\n this.recipient = (this.envelope?.recipients || []).find(r => r.role_name === this.roleName);\n this.getLink(this.recipient);\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n handleDone(e: any) {\n e.preventDefault();\n this.next?.emit({envelope: this.envelope});\n }\n\n copyLink(link: string) {\n navigator.clipboard\n .writeText(link)\n .then(() => VerdocsToast('Link copied to clipboard!', {style: 'success', duration: 3000}))\n .catch(e => {\n console.warn('[RECIPIENT_LINK] Error copying to clipboard', e);\n VerdocsToast(`Unable to copy to clipboard: ${e.message}`, {style: 'error'});\n });\n }\n\n getLink(recipient: IRecipient) {\n this.gettingLink = true;\n getInPersonLink(this.endpoint, recipient.envelope_id, recipient.role_name)\n .then(response => {\n this.gettingLink = false;\n this.link = response.link;\n // NOTE: Left here for documentation purposes. We don't auto-copy the link because many browsers now\n // error on that because we aren't the focus/gesture-initiator since we're a new component just being\n // drawn in the DOM. So we let the user click to trigger that.\n // this.copyLink(response.link);\n })\n .catch(e => {\n this.gettingLink = false;\n console.log('[RECIPIENT_LINK] Error getting link', e);\n VerdocsToast('Unable to get link: ' + e.message, {style: 'error'});\n });\n }\n\n render() {\n if (this.loading || !this.recipient) {\n return <Host />;\n }\n\n // const recipientsWithActions = getRecipientsWithActions(this.store.state); const showLinkButton = recipientCanAct(recipient, recipientsWithActions); const link =\n // this.links[recipient.role_name]; const gettingLink = this.gettingLinks[recipient.role_name]; return (\n\n const fullName = formatFullName(this.recipient);\n return (\n <Host>\n <div class=\"summary-content\">\n <h1 class=\"summary-title\">In-Person Signing Link</h1>\n <div class=\"summary-rows\">\n <div class=\"summary-recipient\">\n <div class=\"role-name\">{this.recipient.role_name}</div>\n <div class=\"role-details\">\n <div class=\"role-info\">\n <div class=\"role-full-name\">\n {fullName} ({this.recipient.email || this.recipient.phone})\n </div>\n {!this.link && (\n <verdocs-button\n size=\"small\"\n variant=\"outline\"\n label={this.gettingLink ? 'Loading...' : 'Get Link'}\n disabled={this.gettingLink}\n onClick={() => this.getLink(this.recipient)}\n />\n )}\n </div>\n\n {this.link && (\n <div class=\"link-wrapper\">\n <div class=\"link\">{this.link}</div>\n <verdocs-button size=\"small\" variant=\"outline\" label=\"Copy\" onClick={() => this.copyLink(this.link)} />\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button size=\"small\" label=\"Done\" onClick={e => this.handleDone(e)} />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-CNa6mh_8.system.js","sources":["src/components/controls/verdocs-menu-panel/verdocs-menu-panel.scss?tag=verdocs-menu-panel","src/components/controls/verdocs-menu-panel/verdocs-menu-panel.tsx","src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.scss?tag=verdocs-template-role-properties","src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\n#verdocs-menu-panel-overlay {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 10000;\n position: fixed;\n background-color: #0000007f;\n}\n\n#verdocs-menu-panel {\n opacity: 0;\n z-index: 10001;\n position: fixed;\n overflow-y: scroll;\n background-color: #ffffff;\n font-family: $verdocs-primary-font;\n\n -webkit-animation: showVerdocsMenuPanel 0.35s;\n -webkit-animation-fill-mode: forwards;\n}\n\n// TODO: Parameterize the width\n@-webkit-keyframes showVerdocsMenuPanel {\n 0% {\n opacity: 0;\n right: -300px;\n }\n\n 100% {\n right: 0;\n opacity: 1;\n }\n}\n","import {Component, EventEmitter, h, Host, Listen, Prop, Event} from '@stencil/core';\n\n/**\n * Display a menu panel in a left or right sidebar. The panel will animate (slide)\n * as it appears, and an background will be shown over the rest of the page. If\n * the background overlay is present, it can be clicked to dismiss the panel.\n *\n * ```ts\n * <verdocs-menu-panel>\n * <div style=\"padding: 20px;\">Menu Panel</div>\n * </verdocs-menu-panel>\n * ```\n */\n@Component({\n tag: 'verdocs-menu-panel',\n styleUrl: 'verdocs-menu-panel.scss',\n shadow: false,\n})\nexport class VerdocsMenuPanel {\n private portal: HTMLElement;\n private element: HTMLElement;\n private moved: boolean = false;\n private overlayId = `verdocs-menu-panel-overlay`;\n private panelId = `verdocs-menu-panel`;\n\n /**\n * Which side of the screen to place the panel.\n */\n @Prop() side: 'left' | 'right' = 'right';\n\n /**\n * Whether to show an overlay over the rest of the page.\n */\n @Prop() overlay = true;\n\n /**\n * The width of the panel.\n */\n @Prop() width = 300;\n\n @Event() close: EventEmitter<void>;\n\n @Listen('click', {target: 'document'})\n handleClick(e: any) {\n if (!this.element.contains(e.target)) {\n this.hide();\n this.close?.emit();\n }\n }\n\n componentWillLoad() {\n this.hide();\n\n if (this.overlay) {\n this.portal = document.createElement('div');\n this.portal.setAttribute('id', this.overlayId);\n document.body.append(this.portal);\n }\n\n this.portal = document.createElement('div');\n this.portal.setAttribute('id', this.panelId);\n this.portal.style.top = `0px`;\n this.portal.style.bottom = `0px`;\n this.portal.style.width = `${this.width}px`;\n\n if (this.side === 'left') {\n this.portal.style.left = `0px`;\n } else {\n this.portal.style.right = `0px`;\n }\n\n document.body.append(this.portal);\n }\n\n componentDidLoad() {\n this.portal.appendChild(this.element);\n }\n\n disconnectedCallback() {\n this.moved ? this.portal.remove() : (this.moved = true);\n }\n\n hide() {\n document.getElementById(this.overlayId)?.remove();\n document.getElementById(this.panelId)?.remove();\n }\n\n render() {\n return (\n <Host ref={el => (this.element = el)}>\n <slot />\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-template-role-properties {\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n form {\n gap: 15px;\n padding: 20px;\n display: flex;\n flex-direction: column;\n\n .instructions {\n margin: 7px 0 0 0;\n font-size: 12px;\n font-style: italic;\n }\n\n .input-label {\n display: block;\n font-size: 14px;\n flex: 0 0 100px;\n font-weight: 700;\n margin: 0 0 4px 0;\n color: $label-color-light;\n }\n\n .first-last {\n gap: 15px;\n display: flex;\n flex-direction: row;\n }\n }\n\n form verdocs-help-icon {\n transform: scale(0.8);\n }\n\n verdocs-select-input {\n //flex: 1;\n //margin: 0;\n\n label {\n display: block;\n }\n }\n\n verdocs-text-input {\n margin: 0;\n\n label {\n display: block;\n }\n\n .input-label {\n flex: 0 0 100px;\n }\n\n input {\n flex: 1;\n display: flex;\n }\n\n verdocs-text-input {\n margin: 0;\n }\n }\n\n .checkbox-wrapper {\n flex: 1;\n display: flex;\n }\n\n .delete-button {\n height: 34px;\n display: flex;\n padding: 0 6px;\n cursor: pointer;\n background: none;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #999;\n justify-content: center;\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n &:active {\n background: #f3f3f3;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\nimport {deleteTemplateRole, getTemplate, isValidEmail, ITemplate, TRecipientType, updateTemplateRole, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#a50021\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0\" /></svg>`;\n\n/**\n * Present an editing form suitable for adjusting template-role properties.\n */\n@Component({\n tag: 'verdocs-template-role-properties',\n styleUrl: 'verdocs-template-role-properties.scss',\n})\nexport class VerdocsTemplateRoleProperties {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to edit.\n */\n @Prop() templateId: string = '';\n\n /**\n * The role name to edit.\n */\n @Prop() roleName: string = '';\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) close: EventEmitter;\n\n /**\n * Event fired when the user deletes the role. The parent should update its UI to reflect the removal. When this event is emitted,\n * the role will have already been deleted server-side.\n */\n @Event({composed: true}) delete: EventEmitter<{templateId: string; roleName: string}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() dirty = false;\n @State() saving = false;\n @State() name = '';\n @State() type: TRecipientType = 'signer';\n @State() first_name = '';\n @State() last_name = '';\n @State() email = '';\n @State() phone = '';\n @State() delegator = false;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[ROLES] Missing required template ID ${this.templateId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[ROLES] Unable to start builder session, must be authenticated');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[ROLES Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[ROLES] Loading tempate', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n console.log('[BUILD] Template Updated', template);\n this.template = template;\n this.loading = false;\n\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n console.log('[ROLES] Editing role', editingRole);\n }\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n handleCancel(e) {\n e.stopPropagation();\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n }\n\n this.dirty = false;\n this.close?.emit();\n }\n\n async handleSave(e) {\n e.stopPropagation();\n this.saving = true;\n updateTemplateRole(this.endpoint, this.templateId, this.roleName, {\n name: this.name,\n type: this.type,\n first_name: this.first_name,\n last_name: this.last_name,\n email: this.email,\n phone: this.phone,\n delegator: this.delegator,\n })\n .then(async r => {\n console.log('[ROLES] Update result', r);\n this.saving = false;\n this.dirty = false;\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n const roleIndex = newTemplate.roles.findIndex(role => role.name === this.roleName);\n if (roleIndex > -1) {\n newTemplate.roles[roleIndex] = r;\n }\n Store.updateTemplate(this.templateId, newTemplate);\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Update error', e);\n this.saving = false;\n });\n }\n\n async handleDelete(e) {\n e.stopPropagation();\n if (window.confirm('Are you sure you wish to remove this role? All associated fields will be removed as well. This action cannot be undone.')) {\n deleteTemplateRole(this.endpoint, this.templateId, this.roleName)\n .then(() => {\n const newTemplate = JSON.parse(JSON.stringify(this.template)) as ITemplate;\n newTemplate.roles = newTemplate.roles.filter(role => role.name !== this.roleName);\n Store.getTemplate(this.endpoint, this.templateId, true);\n // Store.updateTemplate(this.templateId, newTemplate);\n this.delete?.emit({templateId: this.templateId, roleName: this.roleName});\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Deletion error', e);\n });\n }\n }\n\n render() {\n const hasFields = (this.template?.fields || []).some(field => field.role_name === this.roleName);\n\n // Either all three should be empty, or all three need to be filled\n const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);\n\n return (\n <Host>\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <div>\n <verdocs-text-input\n id=\"verdocs-role-name\"\n label=\"Role Name (Must be unique)\"\n value={this.name}\n autocomplete=\"off\"\n disabled={hasFields}\n placeholder=\"Role Name...\"\n onInput={(e: any) => {\n this.name = e.target.value;\n this.dirty = true;\n }}\n />\n\n {hasFields && <div class=\"instructions\">This role has fields assigned and can no longer be renamed.</div>}\n {/*<div class=\"instructions\">{hasFields ? 'This role has fields assigned and can no longer be renamed.' : 'A unique name to identify the role in the workflow.'}</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Type:</div>\n <verdocs-select-input\n value={this.type}\n options={[\n {label: 'Signer', value: 'signer'},\n {label: 'CC', value: 'cc'},\n {label: 'Approver', value: 'approver'},\n ]}\n onInput={(e: any) => {\n this.type = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">*/}\n {/* Most participants are Signers. CC roles are notified when documents are signed, but have no other actions. Approvers get notified when signing is completed to perform*/}\n {/* a final review.*/}\n {/*</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Default Contact Info:</div>\n\n <div class=\"first-last\">\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.first_name}\n autocomplete=\"off\"\n placeholder=\"First...\"\n onInput={(e: any) => {\n this.first_name = e.target.value;\n this.dirty = true;\n }}\n />\n\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.last_name}\n autocomplete=\"off\"\n placeholder=\"Last...\"\n onInput={(e: any) => {\n this.last_name = e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n </div>\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-email\"\n value={this.email}\n autocomplete=\"off\"\n placeholder=\"Email Address...\"\n onInput={(e: any) => {\n this.email = e.target.value;\n this.dirty = true;\n }}\n />\n\n <div style={{height: '15px'}} />\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-phone\"\n value={this.phone}\n autocomplete=\"off\"\n // helpText=\"The recipient's phone number, if it will always stay the same. Leave blank to supply this value later, when each new envelope is created from the template.\"\n placeholder=\"Phone Number...\"\n onInput={(e: any) => {\n this.phone = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">Default name and contact information. This may be changed later when creating and envelope with this template.</div>*/}\n </div>\n </div>\n\n {/*<div class=\"row\">*/}\n {/* <div class=\"input-label\">May Delegate:</div>*/}\n {/* <div class=\"checkbox-wrapper\">*/}\n {/* <verdocs-checkbox*/}\n {/* checked={this.delegator}*/}\n {/* onInput={(e: any) => {*/}\n {/* this.delegator = e.target.checked;*/}\n {/* this.dirty = true;*/}\n {/* }}*/}\n {/* />*/}\n {/* </div>*/}\n\n {/* <verdocs-help-icon text=\"If enabled, this recipient may delegate their actions to another individual.\" />*/}\n {/*</div>*/}\n\n <div class=\"buttons\">\n <button class=\"delete-button\" disabled={this.dirty} onClick={e => this.handleDelete(e)} innerHTML={TrashIcon} />\n\n <div style={{flex: '1'}} />\n\n {/*<verdocs-button size=\"small\" variant=\"outline\" label=\"Cancel\" disabled={!this.dirty} onClick={e => this.handleCancel(e)} />*/}\n <verdocs-button size=\"small\" label=\"Save\" disabled={!this.dirty || !isValid} onClick={e => this.handleSave(e)} />\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-DKkhksIM.system.js","sources":["src/components/controls/verdocs-menu-panel/verdocs-menu-panel.scss?tag=verdocs-menu-panel","src/components/controls/verdocs-menu-panel/verdocs-menu-panel.tsx","src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.scss?tag=verdocs-template-role-properties","src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\n#verdocs-menu-panel-overlay {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 10000;\n position: fixed;\n background-color: #0000007f;\n}\n\n#verdocs-menu-panel {\n opacity: 0;\n z-index: 10001;\n position: fixed;\n overflow-y: scroll;\n background-color: #ffffff;\n font-family: $verdocs-primary-font;\n\n -webkit-animation: showVerdocsMenuPanel 0.35s;\n -webkit-animation-fill-mode: forwards;\n}\n\n// TODO: Parameterize the width\n@-webkit-keyframes showVerdocsMenuPanel {\n 0% {\n opacity: 0;\n right: -300px;\n }\n\n 100% {\n right: 0;\n opacity: 1;\n }\n}\n","import {Component, EventEmitter, h, Host, Listen, Prop, Event} from '@stencil/core';\n\n/**\n * Display a menu panel in a left or right sidebar. The panel will animate (slide)\n * as it appears, and an background will be shown over the rest of the page. If\n * the background overlay is present, it can be clicked to dismiss the panel.\n *\n * ```ts\n * <verdocs-menu-panel>\n * <div style=\"padding: 20px;\">Menu Panel</div>\n * </verdocs-menu-panel>\n * ```\n */\n@Component({\n tag: 'verdocs-menu-panel',\n styleUrl: 'verdocs-menu-panel.scss',\n shadow: false,\n})\nexport class VerdocsMenuPanel {\n private portal: HTMLElement;\n private element: HTMLElement;\n private moved: boolean = false;\n private overlayId = `verdocs-menu-panel-overlay`;\n private panelId = `verdocs-menu-panel`;\n\n /**\n * Which side of the screen to place the panel.\n */\n @Prop() side: 'left' | 'right' = 'right';\n\n /**\n * Whether to show an overlay over the rest of the page.\n */\n @Prop() overlay = true;\n\n /**\n * The width of the panel.\n */\n @Prop() width = 300;\n\n @Event() close: EventEmitter<void>;\n\n @Listen('click', {target: 'document'})\n handleClick(e: any) {\n if (!this.element.contains(e.target)) {\n this.hide();\n this.close?.emit();\n }\n }\n\n componentWillLoad() {\n this.hide();\n\n if (this.overlay) {\n this.portal = document.createElement('div');\n this.portal.setAttribute('id', this.overlayId);\n document.body.append(this.portal);\n }\n\n this.portal = document.createElement('div');\n this.portal.setAttribute('id', this.panelId);\n this.portal.style.top = `0px`;\n this.portal.style.bottom = `0px`;\n this.portal.style.width = `${this.width}px`;\n\n if (this.side === 'left') {\n this.portal.style.left = `0px`;\n } else {\n this.portal.style.right = `0px`;\n }\n\n document.body.append(this.portal);\n }\n\n componentDidLoad() {\n this.portal.appendChild(this.element);\n }\n\n disconnectedCallback() {\n this.moved ? this.portal.remove() : (this.moved = true);\n }\n\n hide() {\n document.getElementById(this.overlayId)?.remove();\n document.getElementById(this.panelId)?.remove();\n }\n\n render() {\n return (\n <Host ref={el => (this.element = el)}>\n <slot />\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-template-role-properties {\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n form {\n gap: 15px;\n padding: 20px;\n display: flex;\n flex-direction: column;\n\n .instructions {\n margin: 7px 0 0 0;\n font-size: 12px;\n font-style: italic;\n }\n\n .input-label {\n display: block;\n font-size: 14px;\n flex: 0 0 100px;\n font-weight: 700;\n margin: 0 0 4px 0;\n color: $label-color-light;\n }\n\n .first-last {\n gap: 15px;\n display: flex;\n flex-direction: row;\n }\n }\n\n form verdocs-help-icon {\n transform: scale(0.8);\n }\n\n verdocs-select-input {\n //flex: 1;\n //margin: 0;\n\n label {\n display: block;\n }\n }\n\n verdocs-text-input {\n margin: 0;\n\n label {\n display: block;\n }\n\n .input-label {\n flex: 0 0 100px;\n }\n\n input {\n flex: 1;\n display: flex;\n }\n\n verdocs-text-input {\n margin: 0;\n }\n }\n\n .checkbox-wrapper {\n flex: 1;\n display: flex;\n }\n\n .delete-button {\n height: 34px;\n display: flex;\n padding: 0 6px;\n cursor: pointer;\n background: none;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #999;\n justify-content: center;\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n &:active {\n background: #f3f3f3;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\nimport {deleteTemplateRole, getTemplate, isValidEmail, ITemplate, TRecipientType, updateTemplateRole, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#a50021\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0\" /></svg>`;\n\n/**\n * Present an editing form suitable for adjusting template-role properties.\n */\n@Component({\n tag: 'verdocs-template-role-properties',\n styleUrl: 'verdocs-template-role-properties.scss',\n})\nexport class VerdocsTemplateRoleProperties {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to edit.\n */\n @Prop() templateId: string = '';\n\n /**\n * The role name to edit.\n */\n @Prop() roleName: string = '';\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) close: EventEmitter;\n\n /**\n * Event fired when the user deletes the role. The parent should update its UI to reflect the removal. When this event is emitted,\n * the role will have already been deleted server-side.\n */\n @Event({composed: true}) delete: EventEmitter<{templateId: string; roleName: string}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() dirty = false;\n @State() saving = false;\n @State() name = '';\n @State() type: TRecipientType = 'signer';\n @State() first_name = '';\n @State() last_name = '';\n @State() email = '';\n @State() phone = '';\n @State() delegator = false;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[ROLES] Missing required template ID ${this.templateId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[ROLES] Unable to start builder session, must be authenticated');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[ROLES Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[ROLES] Loading tempate', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n console.log('[BUILD] Template Updated', template);\n this.template = template;\n this.loading = false;\n\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n console.log('[ROLES] Editing role', editingRole);\n }\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n handleCancel(e) {\n e.stopPropagation();\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n }\n\n this.dirty = false;\n this.close?.emit();\n }\n\n async handleSave(e) {\n e.stopPropagation();\n this.saving = true;\n updateTemplateRole(this.endpoint, this.templateId, this.roleName, {\n name: this.name,\n type: this.type,\n first_name: this.first_name,\n last_name: this.last_name,\n email: this.email,\n phone: this.phone,\n delegator: this.delegator,\n })\n .then(async r => {\n console.log('[ROLES] Update result', r);\n this.saving = false;\n this.dirty = false;\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n const roleIndex = newTemplate.roles.findIndex(role => role.name === this.roleName);\n if (roleIndex > -1) {\n newTemplate.roles[roleIndex] = r;\n }\n Store.updateTemplate(this.templateId, newTemplate);\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Update error', e);\n this.saving = false;\n });\n }\n\n async handleDelete(e) {\n e.stopPropagation();\n if (window.confirm('Are you sure you wish to remove this role? All associated fields will be removed as well. This action cannot be undone.')) {\n deleteTemplateRole(this.endpoint, this.templateId, this.roleName)\n .then(() => {\n const newTemplate = JSON.parse(JSON.stringify(this.template)) as ITemplate;\n newTemplate.roles = newTemplate.roles.filter(role => role.name !== this.roleName);\n Store.getTemplate(this.endpoint, this.templateId, true);\n // Store.updateTemplate(this.templateId, newTemplate);\n this.delete?.emit({templateId: this.templateId, roleName: this.roleName});\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Deletion error', e);\n });\n }\n }\n\n render() {\n const hasFields = (this.template?.fields || []).some(field => field.role_name === this.roleName);\n\n // Either all three should be empty, or all three need to be filled\n const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);\n\n return (\n <Host>\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <div>\n <verdocs-text-input\n id=\"verdocs-role-name\"\n label=\"Role Name (Must be unique)\"\n value={this.name}\n autocomplete=\"off\"\n disabled={hasFields}\n placeholder=\"Role Name...\"\n onInput={(e: any) => {\n this.name = e.target.value;\n this.dirty = true;\n }}\n />\n\n {hasFields && <div class=\"instructions\">This role has fields assigned and can no longer be renamed.</div>}\n {/*<div class=\"instructions\">{hasFields ? 'This role has fields assigned and can no longer be renamed.' : 'A unique name to identify the role in the workflow.'}</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Type:</div>\n <verdocs-select-input\n value={this.type}\n options={[\n {label: 'Signer', value: 'signer'},\n {label: 'CC', value: 'cc'},\n {label: 'Approver', value: 'approver'},\n ]}\n onInput={(e: any) => {\n this.type = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">*/}\n {/* Most participants are Signers. CC roles are notified when documents are signed, but have no other actions. Approvers get notified when signing is completed to perform*/}\n {/* a final review.*/}\n {/*</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Default Contact Info:</div>\n\n <div class=\"first-last\">\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.first_name}\n autocomplete=\"off\"\n placeholder=\"First...\"\n onInput={(e: any) => {\n this.first_name = e.target.value;\n this.dirty = true;\n }}\n />\n\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.last_name}\n autocomplete=\"off\"\n placeholder=\"Last...\"\n onInput={(e: any) => {\n this.last_name = e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n </div>\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-email\"\n value={this.email}\n autocomplete=\"off\"\n placeholder=\"Email Address...\"\n onInput={(e: any) => {\n this.email = e.target.value;\n this.dirty = true;\n }}\n />\n\n <div style={{height: '15px'}} />\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-phone\"\n value={this.phone}\n autocomplete=\"off\"\n // helpText=\"The recipient's phone number, if it will always stay the same. Leave blank to supply this value later, when each new envelope is created from the template.\"\n placeholder=\"Phone Number...\"\n onInput={(e: any) => {\n this.phone = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">Default name and contact information. This may be changed later when creating and envelope with this template.</div>*/}\n </div>\n </div>\n\n {/*<div class=\"row\">*/}\n {/* <div class=\"input-label\">May Delegate:</div>*/}\n {/* <div class=\"checkbox-wrapper\">*/}\n {/* <verdocs-checkbox*/}\n {/* checked={this.delegator}*/}\n {/* onInput={(e: any) => {*/}\n {/* this.delegator = e.target.checked;*/}\n {/* this.dirty = true;*/}\n {/* }}*/}\n {/* />*/}\n {/* </div>*/}\n\n {/* <verdocs-help-icon text=\"If enabled, this recipient may delegate their actions to another individual.\" />*/}\n {/*</div>*/}\n\n <div class=\"buttons\">\n <button class=\"delete-button\" disabled={this.dirty} onClick={e => this.handleDelete(e)} innerHTML={TrashIcon} />\n\n <div style={{flex: '1'}} />\n\n {/*<verdocs-button size=\"small\" variant=\"outline\" label=\"Cancel\" disabled={!this.dirty} onClick={e => this.handleCancel(e)} />*/}\n <verdocs-button size=\"small\" label=\"Save\" disabled={!this.dirty || !isValid} onClick={e => this.handleSave(e)} />\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-BrqmuN9l.system.js","sources":["src/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.scss?tag=verdocs-envelope-recipient-summary","src/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-recipient-summary {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 100000;\n position: fixed;\n align-items: center;\n justify-content: center;\n font-family: $primary-font;\n background-color: #0000007f;\n\n .summary-content {\n width: 600px;\n display: flex;\n max-width: 90%;\n font-size: 18px;\n flex: 0 0 600px;\n border-radius: 6px;\n background: #ffffff;\n flex-direction: column;\n padding: 30px 20px 20px;\n\n .summary-title {\n font-size: 20px;\n font-weight: 700;\n margin: 0 0 10px 0;\n color: $verdocs-dark-blue;\n }\n }\n\n .summary-recipient {\n display: flex;\n color: $verdocs-grey-1;\n margin: 8px 0 24px 0;\n flex-direction: column;\n\n .role-name {\n flex: 1;\n display: flex;\n font-size: 14px;\n font-weight: 600;\n margin: 0 0 8px 0;\n color: $verdocs-grey-0;\n }\n\n .role-details {\n }\n\n .role-info {\n gap: 5px;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n }\n\n .role-full-name {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 16px;\n padding: 0 12px;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #cccccc;\n background: rgb(249, 250, 251);\n }\n\n .recipient-link {\n width: 120px;\n padding: 0 16px;\n font-weight: 500;\n margin: 0 0 0 8px;\n text-align: center;\n font-size: 0.875rem;\n border-radius: 100%;\n color: rgb(55, 65, 81);\n line-height: 1.25rem;\n background-color: #d8d8d8;\n border: 2px solid rgb(156, 163, 175);\n }\n\n .link-wrapper {\n gap: 5px;\n display: flex;\n margin: 4px 0 0 0;\n flex-direction: row;\n\n .link {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 16px;\n padding: 0 12px;\n overflow: hidden;\n border-radius: 4px;\n align-items: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n border: 1px solid #cccccc;\n background: rgb(249, 250, 251);\n }\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 15px;\n margin: 10px 0 0 0;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n verdocs-button {\n flex: 0 0 120px;\n margin-left: 10px;\n white-space: nowrap;\n\n button {\n width: 100%;\n }\n }\n }\n}\n","import {formatFullName, getEnvelope, getInPersonLink, getRecipientsWithActions, IEnvelope, IRecipient, recipientCanAct, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, Host, h, State, Event, EventEmitter} from '@stencil/core';\n// import {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a list of recipients with options to get in-person signing links for each one.\n */\n@Component({\n tag: 'verdocs-envelope-recipient-summary',\n styleUrl: 'verdocs-envelope-recipient-summary.scss',\n})\nexport class VerdocsEnvelopeRecipientSummary {\n private envelopeListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to edit.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * Enable or disable the Send Another button.\n */\n @Prop() canSendAnother = true;\n\n /**\n * Enable or disable the View button.\n */\n @Prop() canView = true;\n\n /**\n * Enable or disable the Done button.\n */\n @Prop() canDone = true;\n\n /**\n * Event fired when the user clicks Send Another to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) another: EventEmitter<{envelope: IEnvelope}>;\n\n /**\n * Event fired when the user clicks Send Another to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) view: EventEmitter<{envelope: IEnvelope}>;\n\n /**\n * Event fired when the user clicks Done to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) next: EventEmitter<{envelope: IEnvelope}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() isOpen: boolean;\n @State() recipientStatusIcons = [];\n @State() containerId = `verdocs-status-indicator-${Math.random().toString(36).substring(2, 11)}`;\n @State() gettingLinks: Record<string, boolean> = {};\n @State() links: Record<string, string> = {};\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.envelopeId) {\n console.log(`[RECIPIENTS] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[RECIPIENTS] Unable to start session, must be authenticated');\n return;\n }\n\n this.listenToEnvelope();\n } catch (e) {\n console.log('[RECIPIENTS] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToEnvelope();\n }\n\n async listenToEnvelope() {\n console.log('[SIDEBAR] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n false,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n this.loading = false;\n\n this.sortEnvelopeRecipients();\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n sortEnvelopeRecipients() {\n (this.envelope?.recipients || []).sort((a, b) => {\n return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;\n });\n }\n\n handleAnother(e: any) {\n e.preventDefault();\n this.another?.emit({envelope: this.envelope});\n }\n\n handleView(e: any) {\n e.preventDefault();\n this.view?.emit({envelope: this.envelope});\n }\n\n handleDone(e: any) {\n e.preventDefault();\n this.next?.emit({envelope: this.envelope});\n }\n\n copyLink(link: string) {\n navigator.clipboard\n .writeText(link)\n .then(() => {\n // VerdocsToast('Link copied to clipboard!', {style: 'success', duration: 3000});\n })\n .catch(e => {\n console.warn('[RECIPIENTS] Error copying to clipboard', e);\n this.sdkError?.emit(e);\n // VerdocsToast(`Unable to copy to clipboard: ${e.message}`, {style: 'error'});\n });\n }\n xw;\n getLink(recipient: IRecipient) {\n this.gettingLinks = {...this.gettingLinks, [recipient.role_name]: true};\n getInPersonLink(this.endpoint, recipient.envelope_id, recipient.role_name)\n .then(response => {\n this.gettingLinks = {...this.gettingLinks, [recipient.role_name]: false};\n this.links = {...this.links, [recipient.role_name]: response.link};\n this.copyLink(response.link);\n })\n .catch(e => {\n this.gettingLinks = {...this.gettingLinks, [recipient.role_name]: false};\n console.log('[RECIPIENTS] Error getting link', e);\n this.sdkError?.emit(e);\n // VerdocsToast('Unable to get link: ' + e.message, {style: 'error'});\n });\n }\n\n render() {\n if (this.loading) {\n return <Host />;\n }\n\n return (\n <Host>\n <div class=\"summary-content\">\n <h1 class=\"summary-title\">Recipient Summary</h1>\n <div class=\"summary-rows\">\n {(this.envelope?.recipients || []).map(recipient => {\n const recipientsWithActions = getRecipientsWithActions(this.envelope);\n const showLinkButton = recipientCanAct(recipient, recipientsWithActions);\n const link = this.links[recipient.role_name];\n const gettingLink = this.gettingLinks[recipient.role_name];\n const fullName = formatFullName(recipient);\n\n return (\n <div class=\"summary-recipient\">\n <div class=\"role-name\">{recipient.role_name}</div>\n <div class=\"role-details\">\n <div class=\"role-info\">\n <div class=\"role-full-name\">\n {fullName} ({recipient.email || recipient.phone})\n </div>\n {showLinkButton && !link && <verdocs-button size=\"small\" variant=\"outline\" label=\"Get Link\" disabled={gettingLink} onClick={() => this.getLink(recipient)} />}\n </div>\n\n {link && (\n <div class=\"link-wrapper\">\n <div class=\"link\">{link}</div>\n <verdocs-button size=\"small\" variant=\"outline\" label=\"Copy\" onClick={() => this.copyLink(link)} />\n </div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n\n {(this.canSendAnother || this.canView || this.canDone) && (\n <div class=\"buttons\">\n {this.canSendAnother && <verdocs-button size=\"small\" label=\"Send Another\" onClick={e => this.handleAnother(e)} />}\n {this.canView && <verdocs-button size=\"small\" label=\"View Now\" onClick={e => this.handleView(e)} />}\n {this.canDone && <verdocs-button size=\"small\" label=\"Done\" onClick={e => this.handleDone(e)} />}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-DZurf5no.system.js","sources":["src/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.scss?tag=verdocs-envelope-recipient-summary","src/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-recipient-summary {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 100000;\n position: fixed;\n align-items: center;\n justify-content: center;\n font-family: $primary-font;\n background-color: #0000007f;\n\n .summary-content {\n width: 600px;\n display: flex;\n max-width: 90%;\n font-size: 18px;\n flex: 0 0 600px;\n border-radius: 6px;\n background: #ffffff;\n flex-direction: column;\n padding: 30px 20px 20px;\n\n .summary-title {\n font-size: 20px;\n font-weight: 700;\n margin: 0 0 10px 0;\n color: $verdocs-dark-blue;\n }\n }\n\n .summary-recipient {\n display: flex;\n color: $verdocs-grey-1;\n margin: 8px 0 24px 0;\n flex-direction: column;\n\n .role-name {\n flex: 1;\n display: flex;\n font-size: 14px;\n font-weight: 600;\n margin: 0 0 8px 0;\n color: $verdocs-grey-0;\n }\n\n .role-details {\n }\n\n .role-info {\n gap: 5px;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n }\n\n .role-full-name {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 16px;\n padding: 0 12px;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #cccccc;\n background: rgb(249, 250, 251);\n }\n\n .recipient-link {\n width: 120px;\n padding: 0 16px;\n font-weight: 500;\n margin: 0 0 0 8px;\n text-align: center;\n font-size: 0.875rem;\n border-radius: 100%;\n color: rgb(55, 65, 81);\n line-height: 1.25rem;\n background-color: #d8d8d8;\n border: 2px solid rgb(156, 163, 175);\n }\n\n .link-wrapper {\n gap: 5px;\n display: flex;\n margin: 4px 0 0 0;\n flex-direction: row;\n\n .link {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 16px;\n padding: 0 12px;\n overflow: hidden;\n border-radius: 4px;\n align-items: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n border: 1px solid #cccccc;\n background: rgb(249, 250, 251);\n }\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 15px;\n margin: 10px 0 0 0;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n verdocs-button {\n flex: 0 0 120px;\n margin-left: 10px;\n white-space: nowrap;\n\n button {\n width: 100%;\n }\n }\n }\n}\n","import {formatFullName, getEnvelope, getInPersonLink, getRecipientsWithActions, IEnvelope, IRecipient, recipientCanAct, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, Host, h, State, Event, EventEmitter} from '@stencil/core';\n// import {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a list of recipients with options to get in-person signing links for each one.\n */\n@Component({\n tag: 'verdocs-envelope-recipient-summary',\n styleUrl: 'verdocs-envelope-recipient-summary.scss',\n})\nexport class VerdocsEnvelopeRecipientSummary {\n private envelopeListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to edit.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * Enable or disable the Send Another button.\n */\n @Prop() canSendAnother = true;\n\n /**\n * Enable or disable the View button.\n */\n @Prop() canView = true;\n\n /**\n * Enable or disable the Done button.\n */\n @Prop() canDone = true;\n\n /**\n * Event fired when the user clicks Send Another to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) another: EventEmitter<{envelope: IEnvelope}>;\n\n /**\n * Event fired when the user clicks Send Another to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) view: EventEmitter<{envelope: IEnvelope}>;\n\n /**\n * Event fired when the user clicks Done to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) next: EventEmitter<{envelope: IEnvelope}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() isOpen: boolean;\n @State() recipientStatusIcons = [];\n @State() containerId = `verdocs-status-indicator-${Math.random().toString(36).substring(2, 11)}`;\n @State() gettingLinks: Record<string, boolean> = {};\n @State() links: Record<string, string> = {};\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.envelopeId) {\n console.log(`[RECIPIENTS] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[RECIPIENTS] Unable to start session, must be authenticated');\n return;\n }\n\n this.listenToEnvelope();\n } catch (e) {\n console.log('[RECIPIENTS] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToEnvelope();\n }\n\n async listenToEnvelope() {\n console.log('[SIDEBAR] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n false,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n this.loading = false;\n\n this.sortEnvelopeRecipients();\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n sortEnvelopeRecipients() {\n (this.envelope?.recipients || []).sort((a, b) => {\n return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;\n });\n }\n\n handleAnother(e: any) {\n e.preventDefault();\n this.another?.emit({envelope: this.envelope});\n }\n\n handleView(e: any) {\n e.preventDefault();\n this.view?.emit({envelope: this.envelope});\n }\n\n handleDone(e: any) {\n e.preventDefault();\n this.next?.emit({envelope: this.envelope});\n }\n\n copyLink(link: string) {\n navigator.clipboard\n .writeText(link)\n .then(() => {\n // VerdocsToast('Link copied to clipboard!', {style: 'success', duration: 3000});\n })\n .catch(e => {\n console.warn('[RECIPIENTS] Error copying to clipboard', e);\n this.sdkError?.emit(e);\n // VerdocsToast(`Unable to copy to clipboard: ${e.message}`, {style: 'error'});\n });\n }\n xw;\n getLink(recipient: IRecipient) {\n this.gettingLinks = {...this.gettingLinks, [recipient.role_name]: true};\n getInPersonLink(this.endpoint, recipient.envelope_id, recipient.role_name)\n .then(response => {\n this.gettingLinks = {...this.gettingLinks, [recipient.role_name]: false};\n this.links = {...this.links, [recipient.role_name]: response.link};\n this.copyLink(response.link);\n })\n .catch(e => {\n this.gettingLinks = {...this.gettingLinks, [recipient.role_name]: false};\n console.log('[RECIPIENTS] Error getting link', e);\n this.sdkError?.emit(e);\n // VerdocsToast('Unable to get link: ' + e.message, {style: 'error'});\n });\n }\n\n render() {\n if (this.loading) {\n return <Host />;\n }\n\n return (\n <Host>\n <div class=\"summary-content\">\n <h1 class=\"summary-title\">Recipient Summary</h1>\n <div class=\"summary-rows\">\n {(this.envelope?.recipients || []).map(recipient => {\n const recipientsWithActions = getRecipientsWithActions(this.envelope);\n const showLinkButton = recipientCanAct(recipient, recipientsWithActions);\n const link = this.links[recipient.role_name];\n const gettingLink = this.gettingLinks[recipient.role_name];\n const fullName = formatFullName(recipient);\n\n return (\n <div class=\"summary-recipient\">\n <div class=\"role-name\">{recipient.role_name}</div>\n <div class=\"role-details\">\n <div class=\"role-info\">\n <div class=\"role-full-name\">\n {fullName} ({recipient.email || recipient.phone})\n </div>\n {showLinkButton && !link && <verdocs-button size=\"small\" variant=\"outline\" label=\"Get Link\" disabled={gettingLink} onClick={() => this.getLink(recipient)} />}\n </div>\n\n {link && (\n <div class=\"link-wrapper\">\n <div class=\"link\">{link}</div>\n <verdocs-button size=\"small\" variant=\"outline\" label=\"Copy\" onClick={() => this.copyLink(link)} />\n </div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n\n {(this.canSendAnother || this.canView || this.canDone) && (\n <div class=\"buttons\">\n {this.canSendAnother && <verdocs-button size=\"small\" label=\"Send Another\" onClick={e => this.handleAnother(e)} />}\n {this.canView && <verdocs-button size=\"small\" label=\"View Now\" onClick={e => this.handleView(e)} />}\n {this.canDone && <verdocs-button size=\"small\" label=\"Done\" onClick={e => this.handleDone(e)} />}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-DWMXHuqC.system.js","sources":["src/components/fields/verdocs-field-payment/verdocs-field-payment.scss?tag=verdocs-field-payment","src/components/fields/verdocs-field-payment/verdocs-field-payment.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-payment {\n font-family: $verdocs-primary-font;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n border: 1px solid #cfa;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n button,\n div {\n box-sizing: border-box;\n }\n\n button {\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n //background-color: rgba(225, 255, 255, 0.5);\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n input {\n float: left;\n font-family: Arial, sans-serif;\n }\n\n select {\n position: absolute;\n font-family: Arial, sans-serif;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 4px,\n calc(100% - 3px) 4px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n }\n\n .frame {\n width: 100%;\n height: 100%;\n background-size: contain;\n text-align: left;\n\n img {\n position: absolute;\n height: auto;\n width: 100%;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, getRGBA, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Method, Fragment} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-payment',\n styleUrl: 'verdocs-field-payment.scss',\n shadow: false,\n})\nexport class VerdocsFieldPayment {\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Prop() fields: any[];\n @Prop() pageNum: number;\n @Prop() roleName: string;\n @Prop() fieldId: string;\n @Prop() recipients: any;\n @Prop() selectedRoleName: string;\n @Prop() pdfPages: any[];\n @Prop() currentSignature: string;\n @Prop() currentSignatureId: string;\n @Prop() currentInitial: string;\n @Prop() currentInitialId: string;\n @Prop() signed: boolean = false;\n\n @State() preparedMessage: string;\n @State() signatureUrl: string = '';\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n mode: string;\n\n componentWillLoad() {\n // Load validators\n // Load fields\n // Get role names\n if (this.recipients && this.recipients.length > 0) {\n const preparer = this.recipients.find((r: any) => r.type === 'preparer');\n console.log('Found preparer', preparer);\n if (preparer) {\n this.preparedMessage = `Prepared by ${preparer['full_name']}`;\n }\n }\n }\n\n @Method()\n async focusField() {\n // We don't have a visible input that we can actually focus on, so we fake it\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const backgroundColor = getRGBA(index);\n\n if (!field) {\n return <Fragment />;\n }\n\n if (done) {\n return <Host class={{done}}>$✓</Host>;\n }\n\n return (\n <Host class={{focused, disabled}} style={{backgroundColor}}>\n <button class={{hide: this.signed}}>$</button>\n {this.signed ? <div class=\"frame\" /> : <div style={{display: 'none'}} />}\n <img width=\"100%\" height=\"100%\" src={this.signatureUrl} alt=\"Payment Icon\" />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={field.name}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Check boxes allow the user to select one or more (non-exclusive) options.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-DjtXr8Iv.system.js","sources":["src/components/fields/verdocs-field-payment/verdocs-field-payment.scss?tag=verdocs-field-payment","src/components/fields/verdocs-field-payment/verdocs-field-payment.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-payment {\n font-family: $verdocs-primary-font;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n border: 1px solid #cfa;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n button,\n div {\n box-sizing: border-box;\n }\n\n button {\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n //background-color: rgba(225, 255, 255, 0.5);\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n input {\n float: left;\n font-family: Arial, sans-serif;\n }\n\n select {\n position: absolute;\n font-family: Arial, sans-serif;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 4px,\n calc(100% - 3px) 4px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n }\n\n .frame {\n width: 100%;\n height: 100%;\n background-size: contain;\n text-align: left;\n\n img {\n position: absolute;\n height: auto;\n width: 100%;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, getRGBA, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Method, Fragment} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-payment',\n styleUrl: 'verdocs-field-payment.scss',\n shadow: false,\n})\nexport class VerdocsFieldPayment {\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Prop() fields: any[];\n @Prop() pageNum: number;\n @Prop() roleName: string;\n @Prop() fieldId: string;\n @Prop() recipients: any;\n @Prop() selectedRoleName: string;\n @Prop() pdfPages: any[];\n @Prop() currentSignature: string;\n @Prop() currentSignatureId: string;\n @Prop() currentInitial: string;\n @Prop() currentInitialId: string;\n @Prop() signed: boolean = false;\n\n @State() preparedMessage: string;\n @State() signatureUrl: string = '';\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n mode: string;\n\n componentWillLoad() {\n // Load validators\n // Load fields\n // Get role names\n if (this.recipients && this.recipients.length > 0) {\n const preparer = this.recipients.find((r: any) => r.type === 'preparer');\n console.log('Found preparer', preparer);\n if (preparer) {\n this.preparedMessage = `Prepared by ${preparer['full_name']}`;\n }\n }\n }\n\n @Method()\n async focusField() {\n // We don't have a visible input that we can actually focus on, so we fake it\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const backgroundColor = getRGBA(index);\n\n if (!field) {\n return <Fragment />;\n }\n\n if (done) {\n return <Host class={{done}}>$✓</Host>;\n }\n\n return (\n <Host class={{focused, disabled}} style={{backgroundColor}}>\n <button class={{hide: this.signed}}>$</button>\n {this.signed ? <div class=\"frame\" /> : <div style={{display: 'none'}} />}\n <img width=\"100%\" height=\"100%\" src={this.signatureUrl} alt=\"Payment Icon\" />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={field.name}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Check boxes allow the user to select one or more (non-exclusive) options.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-Do6RqOUO.system.js","sources":["src/components/embeds/verdocs-sign/verdocs-sign.scss?tag=verdocs-sign","src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-sign {\n display: flex;\n overflow: hidden;\n position: relative;\n min-height: 600px;\n flex-direction: column;\n box-sizing: border-box;\n font-family: $verdocs-primary-font;\n\n div {\n display: block;\n box-sizing: border-box;\n }\n\n input {\n vertical-align: top;\n }\n\n //.intro {\n // width: 100%;\n // display: flex;\n // flex: 0 0 60px;\n // color: #111111;\n // font-size: 18px;\n // font-weight: 500;\n // line-height: 28px;\n // flex-direction: row;\n // background: #ffffff;\n //\n // .inner {\n // width: 100%;\n // display: flex;\n // margin: 0 auto;\n // padding: 0 20px;\n // max-width: 1200px;\n // flex-direction: row;\n // align-items: center;\n // }\n //}\n\n > .document {\n flex: 1;\n width: 100%;\n height: 100%;\n align-self: center;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n max-width: 1200px;\n min-height: 200px;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n //justify-content: center;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .cover {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 5000;\n position: absolute;\n padding-top: 100px;\n align-items: center;\n flex-direction: column;\n background: rgba(0, 0, 0, 0.5);\n }\n\n .agree {\n flex: 0;\n width: 600px;\n display: flex;\n max-width: 90%;\n padding: 30px 15px;\n flex-direction: column;\n background-color: #ffffff;\n\n .header {\n flex: 0 0 56px;\n }\n\n li {\n margin: 0.5em 0;\n }\n }\n\n verdocs-ok-dialog .background-overlay {\n align-items: flex-start;\n padding-top: 100px;\n }\n\n .loading-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n background-color: rgba(0, 0, 0, 0.7);\n }\n\n .fatal-error {\n position: absolute;\n z-index: 100;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #4a4a4a;\n display: flex;\n align-items: center;\n justify-content: center;\n\n .placeholder {\n position: absolute;\n opacity: 0.1;\n z-index: -1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 612px;\n height: 792px;\n box-shadow: 0 0 10px 5px #0000000f;\n margin-top: 15px;\n }\n\n .message {\n max-width: 360px;\n width: 50%;\n font-size: 16px;\n background: white;\n box-shadow: 3px 3px 9px -1px #0000003f;\n }\n\n .header {\n color: white;\n font-size: 18px;\n font-weight: 500;\n padding: 5px 10px;\n margin: 0 0 10px 0;\n background: $verdocs-purple-shade;\n }\n\n p {\n margin: 1rem;\n font-size: 14px;\n font-weight: 400;\n padding: 0 10px;\n }\n }\n}\n\n@media print {\n verdocs-sign .header {\n display: none;\n }\n}\n\n#verdocs-sign-header {\n color: #fff;\n width: 100%;\n display: flex;\n z-index: 1000;\n flex: 0 0 46px;\n font-size: 12px;\n column-gap: 15px;\n align-items: center;\n flex-direction: row;\n transition: all 0.25s;\n background-color: $medium-bg;\n box-shadow:\n 0 4px 4px 0 rgb(0 0 0 / 24%),\n 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n display: flex;\n margin: 0 auto;\n padding: 0 12px;\n max-width: 1200px;\n align-items: center;\n flex-direction: row;\n }\n\n .logo {\n width: 80px;\n display: none;\n margin: -6px 0 0 0;\n }\n\n .title {\n font-size: 18px;\n font-weight: 500;\n overflow: hidden;\n white-space: nowrap;\n padding: 0 10px 0 0;\n text-overflow: ellipsis;\n }\n}\n\n.spinner-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n}\n","import {updateEnvelopeField, sortFields, IKBAQuestion, ISignerTokenResponse} from '@verdocs/js-sdk';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {verifySigner, IEnvelope, IEnvelopeField, IRecipient, TAuthenticateRecipientRequest} from '@verdocs/js-sdk';\nimport {getEnvelope, integerSequence, isValidEmail, isValidPhone, updateEnvelopeFieldInitials} from '@verdocs/js-sdk';\nimport {fullNameToInitials, startSigningSession, deleteEnvelopeFieldAttachment, formatFullName} from '@verdocs/js-sdk';\nimport {updateEnvelopeFieldSignature, uploadEnvelopeFieldAttachment, VerdocsEndpoint, TRecipientAuthMethod} from '@verdocs/js-sdk';\nimport {createInitials, createSignature, envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit} from '@verdocs/js-sdk';\nimport {getFieldId, renderDocumentField, saveAttachment, updateDocumentFieldValue} from '../../../utils/utils';\nimport {DefaultEndpoint} from '../../../utils/Environment';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst DEFAULT_DISCLOSURE = `\n<ul>\n <li>\n Agree to use electronic records and signatures, and confirm you have read the\n <a href=\"https://verdocs.com/en/electronic-record-signature-disclosure/\" target=\"_blank\">\n Electronic Record and Signatures Disclosure</a>.</li>\n <li>\n Agree to Verdocs'\n <a href=\"https://verdocs.com/en/eula\" target=\"_blank\">\n End User License Agreement</a>\n and confirm you have read Verdocs'\n <a href=\"https://verdocs.com/en/privacy-policy/\" target=\"_blank\">\n Privacy Policy</a>.\n </li>\n</ul>`;\n\nconst inProgressMenuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n // {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n];\n\nconst doneMenuOptions = [\n {id: 'print', label: 'Print'},\n {id: 'download', label: 'Download'},\n];\n\n/**\n * Display an envelope signing experience. This will display the envelope's attached\n * documents with signing fields overlaid on each page.\n *\n * The component will attempt to initiate a signing session and load the specified\n * envelope. If successful, the recipient's fields will be enabled and the user will\n * be able to sign the envelope's attached documents. If not, an `sdkError` will be\n * thrown and the component will be blank/empty. To provide the best user experience,\n * applications should capture and handle this error to provide the user with\n * instructions/options for next steps based on the application's design and workflow.\n *\n * Unlike other components, this will always create its own endpoint to manage the\n * session session. This endpoint will be included in event callbacks for the\n * convenience of host applications that may wish to make server calls using the\n * signer's credentials once signing is complete (e.g. to obtain copies of\n * the signed attachments.)\n *\n * ```ts\n * <verdocs-sign\n * envelopeId={ENVELOPE_ID}\n * roleId={ROLE_ID}\n * inviteCode={INVITE_CODE}\n * envelopeUpdated={({ detail }) => console.log('Envelope updated state:', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop({mutable: true}) endpoint: VerdocsEndpoint = DefaultEndpoint;\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop({reflect: true}) envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop({reflect: true}) roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop({reflect: true}) inviteCode: string | null = null;\n\n /**\n * If set, (recommended), the host application should create a <DIV> element with a unique ID. When this\n * component renders, the header will be removed from its default location and placed in the target element.\n * This allows the parent application to more easily control its placement and scroll effects (e.g. \"fixed\").\n *\n * The movement of the header to the target container is not dynamic - it is performed only on the initial\n * render. Host applications should not conditionally render this container. If the header's visibility must\n * be externally controlled, use CSS display options to hide/show it instead.\n */\n @Prop() headerTargetId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the envelope is loaded for the first time.\n */\n @Event({composed: true}) envelopeLoaded: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope}>;\n\n /**\n * Event fired when the envelope is updated in any way.\n */\n @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n // @State() roleNames: string[] = [];\n // @State() sortedRecipients: IRecipient[] = [];\n @State() recipient: IRecipient | null = null;\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() nextSubmits = false;\n @State() fatalErrorHeader = '';\n @State() fatalErrorMessage = '';\n @State() focusedField = '';\n @State() disclosure = DEFAULT_DISCLOSURE;\n @State() submitting = false;\n @State() submitted = false;\n @State() isDone = false;\n @State() showDone = false;\n @State() showLoadError = false;\n @State() finishLater = false;\n @State() showFinishLater = false;\n @State() agreed = false;\n @State() documentsSingularPlural = 'document';\n @State() authStep: string | null = null;\n @State() authMethodStates: Partial<Record<TRecipientAuthMethod, string>> = {};\n @State() kbaQuestions: IKBAQuestion[] | null = null;\n @State() showSpinner = false;\n @State() kbaChoices = [];\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n\n // recipientIndex: number = -1;\n\n componentWillLoad() {\n if (!this.endpoint) {\n console.log('[SIGN] Creating signing endpoint');\n this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\n }\n }\n\n async componentDidLoad() {\n if (!this.envelopeId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required envelopId', 500, ''));\n return;\n }\n\n if (!this.roleId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required roleId', 500, ''));\n return;\n }\n\n if (!this.inviteCode) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required inviteCode', 500, ''));\n return;\n }\n\n try {\n console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);\n\n // NOTE: We don't listen to the store here because we are often an independent\n // session and might have a different \"view\" of the envelope.\n const response = await startSigningSession(this.endpoint, this.envelopeId, this.roleId, this.inviteCode);\n console.log('[SIGN] Authentication successful', response);\n this.processAuthResponse(response);\n } catch (e) {\n console.log('[SIGN] Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n this.showLoadError = true;\n }\n }\n\n componentDidRender() {\n const headerTarget = this.headerTargetId ? document.getElementById(this.headerTargetId) : null;\n const headerEl = document.getElementById('verdocs-sign-header');\n if (headerTarget && headerEl) {\n console.log('[SIGN] Moving header');\n headerEl.remove();\n headerTarget.append(headerEl);\n }\n }\n\n processAuthResponse(response: ISignerTokenResponse) {\n const {envelope, recipient} = response;\n const {auth_step} = recipient;\n this.recipient = recipient;\n this.envelope = envelope;\n this.disclosure = this.envelope?.organization?.disclaimer || DEFAULT_DISCLOSURE;\n this.authStep = auth_step;\n this.agreed = recipient.agreed;\n this.submitted = recipient.status === 'submitted';\n this.isDone = this.submitted;\n this.showDone = this.submitted;\n Store.updateEnvelope(this.envelopeId, envelope);\n\n if (this.envelope.documents.length > 0) {\n this.documentsSingularPlural = 'document(s)';\n }\n\n this.authMethodStates = recipient.auth_method_states || ({} as Record<TRecipientAuthMethod, string>);\n this.kbaQuestions = recipient.kba_questions;\n if (Object.values(this.authMethodStates).includes('failed')) {\n this.fatalErrorHeader = 'Recipient Verification Failed';\n this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';\n this.isDone = true;\n }\n\n // TODO: Envelope \"complete\" | \"declined\" | \"canceled\"\n // TODO: Recipient \"canceled\"\n\n if (this.envelope.status === 'canceled') {\n this.fatalErrorHeader = 'Unable to Start Signing Session';\n this.fatalErrorMessage = 'This envelope has been canceled. The sender has been notified.';\n } else if (recipient.status === 'declined') {\n this.fatalErrorHeader = 'Declined';\n this.fatalErrorMessage = 'You have declined to sign this envelope. The sender has been notified.';\n } else if (this.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n this.checkRecipientFields();\n this.envelopeLoaded?.emit({endpoint: this.endpoint, envelope: this.envelope});\n }\n\n handleClickAgree() {\n this.submitting = true;\n envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, true, this.disclosure)\n .then(() => {\n this.nextButtonLabel = 'Next';\n this.recipient.agreed = true;\n this.submitting = false;\n this.agreed = true; // The server returns a recipient object but it's not \"deep\" so we track this locally\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'agreed'});\n })\n .catch(e => {\n console.log('[SIGN] Update failure', e);\n this.submitting = false;\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async handleOptionSelected(e: any) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'later'});\n break;\n\n case 'claim':\n VerdocsToast('This feature will be available in an upcoming release.');\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'claimed'});\n break;\n\n case 'decline':\n {\n this.submitting = true;\n const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Decline result', declineResult);\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'declined'});\n this.submitting = false;\n this.fatalErrorHeader = 'Declined';\n this.fatalErrorMessage = 'You have declined to sign this envelope. The sender has been notified.';\n }\n break;\n\n case 'print':\n window.print();\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'printed'});\n break;\n\n case 'download':\n {\n const firstDoc = this.envelope.documents.find(doc => doc.type === 'attachment');\n if (firstDoc) {\n saveAttachment(this.endpoint, this.envelope, firstDoc.id).catch(e => {\n console.log('[SIGN] Error downloading PDF', e);\n });\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded'});\n }\n }\n break;\n }\n }\n\n updateRecipientFieldValue(fieldName: string, updateResult: any) {\n console.log('[SIGN] updateRecipientFieldValue', fieldName, updateResult);\n this.getRecipientFields().forEach(oldField => {\n if (oldField.name === fieldName) {\n oldField.value = updateResult.value;\n // TODO: Keeping this while attachments still rely on it\n oldField.settings = updateResult.settings;\n updateDocumentFieldValue(oldField);\n this.checkRecipientFields();\n }\n });\n }\n\n saveFieldChange(fieldName: string, fields: Record<string, any>) {\n console.log('[SIGN] saveFieldChange', fieldName, fields);\n updateEnvelopeField(this.endpoint, this.envelopeId, fieldName, fields) //\n .then(updateResult => this.updateRecipientFieldValue(fieldName, updateResult))\n .catch(e => {\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('[SIGN] Signing session expired');\n this.fatalErrorHeader = 'Signing Session Expired';\n this.fatalErrorMessage = 'Please reload your browser to continue.';\n } else {\n console.log('[SIGN] Server error', e);\n }\n\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async handleFieldChange(field: IEnvelopeField, e: any) {\n const {value, checked} = e.target;\n\n switch (field.type as any) {\n // TODO: Remove legacy type when no longer needed\n case 'textarea':\n case 'textbox':\n return this.saveFieldChange(field.name, {prepared: false, value});\n\n case 'checkbox': {\n return this.saveFieldChange(field.name, {prepared: false, value: String(e.target.checked)});\n }\n\n case 'radio': {\n return this.saveFieldChange(field.name, {prepared: false, value: String(e.target.checked)});\n }\n\n case 'dropdown':\n // TODO: Set prepared to false server-side.\n console.log('Saving dropdown', field.name, e.detail);\n return this.saveFieldChange(field.name, {prepared: false, value: e.detail});\n\n case 'initial':\n // This can be caused by a focus-out event if the user clicks the field\n // after it's already filled in, then clicks something else like a textbox.\n // We don't visually indicate the focus, but it's still there.\n if (!e.detail) {\n return;\n }\n\n this.showSpinner = true;\n const initialsBlob = await (await fetch(e.detail)).blob();\n return createInitials(this.endpoint, 'initial', initialsBlob) //\n .then(async newInitials => {\n const updateResult = await updateEnvelopeFieldInitials(this.endpoint, this.envelopeId, field.name, newInitials.id);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.showSpinner = false;\n })\n .catch(e => {\n console.log('Error updating initials', e);\n this.showSpinner = false;\n });\n\n case 'signature':\n // This can be caused by a focus-out event if the user clicks the field\n // after it's already filled in, then clicks something else like a textbox.\n // We don't visually indicate the focus, but it's still there.\n if (!e.detail) {\n return;\n }\n\n this.showSpinner = true;\n const signatureBlob = await (await fetch(e.detail)).blob();\n return createSignature(this.endpoint, 'signature', signatureBlob) //\n .then(async newSignature => {\n console.log('Signature update result', newSignature);\n const updateResult = await updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.showSpinner = false;\n })\n .catch(e => {\n console.warn('[SIGN] Error updating signature', e);\n this.showSpinner = false;\n });\n\n case 'date':\n const {formattedDate} = e.detail;\n if (formattedDate) {\n return this.saveFieldChange(field.name, {prepared: false, value: formattedDate});\n }\n break;\n\n case 'timestamp':\n console.log('[SIGN] Updating timestamp', {value, ts: e.target.getAttribute('timestamp')});\n break;\n\n default:\n console.log('[SIGN] Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldFilled(field: IEnvelopeField) {\n const {value = ''} = field;\n switch (field.type as any) {\n case 'textarea':\n case 'textbox':\n switch (field.validator || '') {\n case 'email':\n return isValidEmail(value);\n case 'phone':\n return isValidPhone(value);\n default:\n return (value || '').trim() !== '';\n }\n\n case 'signature':\n return value === 'signed';\n\n case 'initial':\n return value === 'initialed';\n\n // Timestamp fields get automatically filled when the envelope is submitted.\n case 'timestamp':\n return true;\n\n case 'date':\n return !!value;\n\n case 'attachment':\n return value === 'attached';\n\n case 'dropdown':\n return value !== '';\n\n case 'checkbox':\n return value === 'true';\n\n case 'radio':\n if (!!field.group) {\n return this.getRecipientFields()\n .filter(f => f.group === field.group)\n .some(field => field.value === 'true');\n }\n\n return field.value === 'true';\n\n default:\n return false;\n }\n }\n\n isFieldValid(field: IEnvelopeField) {\n return !field.required || this.isFieldFilled(field);\n }\n\n getSortedFillableFields() {\n const recipientFields = this.getRecipientFields().filter(field => field.type !== 'timestamp');\n sortFields(recipientFields);\n return recipientFields;\n }\n\n async handleNext() {\n if (this.nextSubmits) {\n try {\n // Patches the date picker to be forcibly removed if still showing during submission\n document.getElementById('air-datepicker-global-container')?.remove();\n\n this.submitting = true;\n const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Submitted successfully', result);\n this.recipient.status = 'submitted';\n this.showDone = true;\n console.log('[SIGN] Reloading envelope');\n getEnvelope(this.endpoint, this.envelopeId)\n .then(envelope => {\n this.envelope = envelope;\n // The show-done dialog does this\n // this.isDone = true;\n this.submitting = false;\n })\n .catch(e => {\n // this.isDone = true;\n console.log('[SIGN] Error reloading envelope', e);\n this.submitting = false;\n });\n } catch (e) {\n console.log('[SIGN] Error submitting', e);\n }\n\n return;\n }\n\n // Find and focus the next incomplete field (that is fillable)\n const emptyFields = this.getSortedFillableFields().filter(field => field.required && !this.isFieldFilled(field));\n sortFields(emptyFields);\n\n const focusedIndex = emptyFields.findIndex(field => field.name === this.focusedField);\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n\n let nextRequiredField = emptyFields[nextFocusedIndex];\n // console.log('Next field', nextRequiredField, emptyFields);\n\n // Skip signature and initial fields that are already filled in. We have to count our \"skips\" just in case, to avoid infinite loops.\n let skips = 0;\n if (skips < emptyFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && ['initialed', 'signed'].includes(nextRequiredField.value)) {\n skips++;\n nextFocusedIndex++;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n nextRequiredField = emptyFields[nextFocusedIndex];\n }\n\n if (skips >= emptyFields.length) {\n nextRequiredField = null;\n }\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n el?.scrollIntoView({behavior: 'smooth'});\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n getRecipientFields() {\n return this.envelope.fields.filter(field => field.role_name === this.recipient.role_name);\n }\n\n // See if everything that \"needs to be\" filled in is, and all \"fillable fields\" are valid\n checkRecipientFields() {\n const invalidFields = this.getRecipientFields().filter(field => !this.isFieldValid(field));\n if (invalidFields.length < 1) {\n this.nextButtonLabel = 'Finish';\n if (!this.nextSubmits) {\n this.nextSubmits = true;\n }\n } else {\n console.log(\n '[SIGN] Invalid fields remaining',\n invalidFields.map(field => field.name),\n );\n this.nextButtonLabel = 'Next';\n this.nextSubmits = false;\n }\n }\n\n attachFieldAttributes(pageInfo, field, el) {\n // We can get called multiple times as rendering completes and it's hard to avoid that\n // because it's a ton of work for the callers to know it's been done already. But we\n // don't want to attach multiple event listeners or we get dupe event handling, like\n // calling the server twice on every field update. Since JS has no removeAllEventListeners()\n // option, using removeEventListener() isn't reliable the way Stencil binds local function\n // contexts, and cloneNode messes up the rest of the rendering, we just track it with a flag.\n if (el.getAttribute('attached') === '1') {\n return;\n }\n el.setAttribute('attached', '1');\n\n el.addEventListener('input', (e: any) => {\n // console.log('[SIGN] onfieldInput', e.detail, e.target.value);\n // These field types don't emit fieldChange. Should we standardize on that? We don't tap \"input\" for fields like\n // text boxes because we'd be updating the field on every keystroke. We do those on blur which fires fieldChange.\n if (e.target.type === 'radio' || e.target.type === 'checkbox') {\n // if (e.target.type === 'radio' || e.target.name.includes('date') || e.target.name.includes('checkbox')) {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n } else {\n this.checkRecipientFields();\n }\n });\n el.addEventListener('attached', async (e: any) => {\n console.log('[SIGN] onAttached', e.detail, e.target.value);\n this.showSpinner = true;\n try {\n const updateResult = await uploadEnvelopeFieldAttachment(this.endpoint, this.envelopeId, field.name, e.detail);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.checkRecipientFields();\n\n const newEl = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone});\n this.attachFieldAttributes(pageInfo, field, newEl);\n\n this.showSpinner = false;\n } catch (e) {\n console.log('Error uploading attachment', e);\n VerdocsToast('Unable to upload attachment, please try again later', {style: 'error'});\n this.showSpinner = false;\n }\n });\n el.addEventListener('deleted', async (e: any) => {\n console.log('[SIGN] onDeleted', e.detail, e.target.value);\n this.showSpinner = true;\n try {\n const updateResult = await deleteEnvelopeFieldAttachment(this.endpoint, this.envelopeId, field.name);\n console.log('[SIGN] Deleted attachment', updateResult);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.checkRecipientFields();\n\n const newEl = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone});\n this.attachFieldAttributes(pageInfo, field, newEl);\n\n this.showSpinner = false;\n } catch (e) {\n console.log('Error uploading attachment', e);\n VerdocsToast('Unable to upload attachment, please try again later', {style: 'error'});\n this.showSpinner = false;\n }\n });\n el.addEventListener('focusout', e => {\n // These field types trigger focusout as they're used, even without a value change\n if (field.type !== 'dropdown' && field.type !== 'attachment') {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n }\n });\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n });\n\n el.setAttribute('templateid', this.envelope.template_id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('page', pageInfo.pageNumber);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n\n const fullName = formatFullName(this.recipient);\n el.setAttribute('initials', fullNameToInitials(fullName));\n el.setAttribute('name', fullName);\n }\n\n handlePageRendered(e: any) {\n const pageInfo = e.detail as IDocumentPageInfo;\n\n // NOTE: We don't filter on pageNumber here because we need the position in the\n // entire list to set the tabIndex.\n const recipientFields = this.getSortedFillableFields();\n console.log('[SIGN] Rendering fields for page', pageInfo.pageNumber, recipientFields);\n\n // First render the fields for the signer\n recipientFields.forEach((field, tabIndex) => {\n if (field.page !== pageInfo.pageNumber) {\n return;\n }\n\n const el = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone}, tabIndex);\n if (!el) {\n return;\n }\n\n if (Array.isArray(el)) {\n el.map(e => this.attachFieldAttributes(pageInfo, field, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, el);\n }\n });\n\n // Now render the fields for other signers who have yet to act\n this.envelope.recipients\n .filter(r => r.role_name !== this.recipient.role_name && (r.status === 'invited' || r.status === 'opened' || r.status === 'pending'))\n .forEach(() => {\n this.getRecipientFields()\n .filter(field => field.page === pageInfo.pageNumber)\n .forEach(field => {\n const el = renderDocumentField('envelope', field, pageInfo, {disabled: true, editable: false, draggable: false, done: this.isDone});\n if (!el) {\n return;\n }\n\n if (Array.isArray(el)) {\n el.map(e => this.attachFieldAttributes(pageInfo, field, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, el);\n }\n });\n });\n\n this.checkRecipientFields();\n }\n\n handleAuthenticateSigner(params: TAuthenticateRecipientRequest) {\n console.log('[SIGN] Submitting authentication step', params);\n verifySigner(this.endpoint, params)\n .then(r => {\n console.log('[SIGN] Verification successful', r);\n this.processAuthResponse(r);\n })\n .catch(e => {\n console.log('[SIGN] Error submitting authentication step', e);\n if (e.response?.data?.error?.includes('failed')) {\n this.fatalErrorHeader = 'Recipient Verification Failed';\n this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';\n this.isDone = true;\n } else {\n VerdocsToast(e.response?.data?.error || 'Unable to verify your identity. Please try again.', {style: 'error'});\n }\n });\n }\n\n render() {\n console.log('[SIGN] Rendering', {authStep: this.authStep});\n if (this.showLoadError) {\n return (\n <Host>\n <verdocs-ok-dialog\n heading=\"Unable to Start Signing\"\n message={`Sorry, your invite code is invalid or has expired. Please check your email for an updated invitation, or contact the sender.`}\n buttonLabel=\"OK\"\n onNext={() => {\n window.location.reload();\n }}\n />\n </Host>\n );\n }\n\n if (!this.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (this.fatalErrorMessage) {\n return (\n <Host class={{agreed: this.agreed}}>\n <div class=\"fatal-error\">\n <div class=\"message\">\n <div class=\"header\">{this.fatalErrorHeader}</div>\n <p>{this.fatalErrorMessage}</p>\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.isDone) {\n return (\n <Host class={{agreed: this.agreed}}>\n <verdocs-view endpoint={this.endpoint} envelopeId={this.envelopeId} onSdkError={e => this.sdkError?.emit(e.detail)} />\n\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message={`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`}\n onNext={(e: any) => {\n e.preventDefault();\n e.stopPropagation();\n this.showDone = false;\n this.isDone = true;\n }}\n />\n )}\n\n {this.submitting && (\n <div class=\"loading-indicator\">\n <verdocs-loader />\n </div>\n )}\n </Host>\n );\n }\n\n if (!this.agreed) {\n return (\n <Host class=\"agreed\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"agree\">\n <verdocs-checkbox name=\"agree\" label=\"By checking this box, you:\" onInput={() => this.handleClickAgree()} />\n <div innerHTML={this.disclosure} />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.authStep === 'passcode') {\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n <verdocs-kba-dialog\n mode=\"text\"\n step={1}\n steps={1}\n placeholder=\"Enter your passcode...\"\n helptitle=\"Document is protected by a Passcode\"\n helptext=\"Please enter your Passcode to proceed. If you do not have one, please contact the sender.\"\n label=\"Passcode\"\n onNext={e => this.handleAuthenticateSigner({auth_method: 'passcode', code: e.detail as string})}\n />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.authStep === 'email') {\n return (\n <verdocs-otp-dialog\n endpoint={this.endpoint}\n method=\"email\"\n onNext={async e => {\n this.processAuthResponse(e.detail.response);\n }}\n />\n );\n }\n\n if (this.authStep === 'kba' && !this.authMethodStates.kba) {\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n <verdocs-kba-dialog\n mode=\"identity\"\n helptitle=\"Document requires identity verification\"\n helptext=\"Please complete your contact details to proceed.\"\n recipient={this.recipient}\n onNext={async e => {\n const recipDetails = e.detail as IRecipient;\n this.handleAuthenticateSigner({\n auth_method: 'kba',\n first_name: recipDetails.first_name,\n last_name: recipDetails.last_name,\n address: recipDetails.address,\n city: recipDetails.city,\n state: recipDetails.state,\n zip: recipDetails.zip,\n dob: recipDetails.dob,\n });\n }}\n />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.authStep === 'kba' && this.authMethodStates.kba === 'questions') {\n const questionNumber = this.kbaChoices.length;\n const kbaQuestion = this.kbaQuestions[questionNumber];\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n {this.kbaChoices.length >= this.kbaQuestions.length ? (\n <verdocs-spinner />\n ) : (\n <verdocs-kba-dialog\n mode=\"choice\"\n helptitle=\"Your identity requires additional verification\"\n helptext={kbaQuestion?.prompt || 'Please select one of the options below.'}\n choices={kbaQuestion?.answer || ['Skip Question']}\n step={questionNumber + 1}\n steps={this.kbaQuestions.length}\n onNext={async (e: any) => {\n const answer = e.detail as string;\n this.kbaChoices = [...this.kbaChoices, answer];\n if (this.kbaChoices.length >= this.kbaQuestions.length) {\n const responses = this.kbaQuestions.map((q, i) => ({type: q.type, answer: this.kbaChoices[i]}));\n console.log('Submitting KBA responses', this.kbaChoices, responses);\n this.handleAuthenticateSigner({auth_method: 'kba', responses});\n }\n }}\n />\n )}\n </div>\n </div>\n </Host>\n );\n }\n\n return (\n <Host>\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n <div style={{flex: '1'}} />\n\n {!this.finishLater && <verdocs-button size=\"xsmall\" label={this.nextButtonLabel} disabled={!this.agreed} onClick={() => this.handleNext()} />}\n\n <div style={{marginLeft: '10px'}} />\n <verdocs-dropdown options={!this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n {(this.envelope.documents || []).map(envelopeDocument => {\n const pageNumbers = integerSequence(1, envelopeDocument.pages);\n\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = envelopeDocument.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n // In signing mode we show the original template page with all the recipient fields so we can show source formatting and\n // where everything went. This is also a visual indicator when optional fields weren't filled in by previous actors, or\n // future signers still need to act. Once we're \"done\" we flip to showing the envelope's documents which have the final\n // field vales (so far) stamped into them.\n // TODO: Confirm that a pure page-number match is good enough to find the matching template page. We need to make sure\n // we either don't reset our page numbers for additional attachments, or add match-on identifiers to work around that.\n // console.log('tp', templatePage, page);\n return (\n <verdocs-envelope-document-page\n envelopeId={this.envelopeId}\n documentId={envelopeDocument.id}\n endpoint={this.endpoint}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n pageNumber={pageNumber}\n onPageRendered={e => this.handlePageRendered(e)}\n type=\"filled\"\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </div>\n\n {this.showFinishLater && (\n <verdocs-ok-dialog\n heading=\"You've saved your document to finish later.\"\n message={`To complete the ${this.documentsSingularPlural}, use the link in the original email notification inviting you to review and finish the document.`}\n onNext={() => (this.showFinishLater = false)}\n />\n )}\n\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message={`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`}\n onNext={() => {\n this.showDone = false;\n this.isDone = true;\n }}\n />\n )}\n\n {this.submitting ||\n (this.showSpinner && (\n <verdocs-portal>\n <div class=\"spinner-overlay\">\n <verdocs-spinner />\n </div>\n </verdocs-portal>\n ))}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-DwPw01KR.system.js","sources":["src/components/controls/verdocs-multiselect/verdocs-multiselect.scss?tag=verdocs-multiselect","src/components/controls/verdocs-multiselect/verdocs-multiselect.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-multiselect {\n width: 100%;\n display: block;\n margin: 0 0 10px 0;\n box-sizing: border-box;\n font-family: $primary-font;\n position: relative;\n\n .input-wrapper {\n width: 100%;\n position: relative;\n\n .icon {\n top: 6px;\n right: 6px;\n width: 18px;\n height: 18px;\n z-index: 10;\n position: absolute;\n }\n }\n\n .trigger {\n gap: 3px;\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n max-width: 100%;\n border-radius: 4px;\n flex-direction: row;\n box-sizing: border-box;\n padding: 5px 32px 5px 7px;\n background: $verdocs-grey-4;\n border: 1px solid $border-color;\n\n &::placeholder {\n opacity: 1;\n color: $light-disabled-color;\n }\n }\n\n .selected-option {\n color: white;\n font-size: 12px;\n padding: 2px 6px;\n border-radius: 3px;\n display: inline-block;\n background: $verdocs-grey-blue;\n }\n\n .input-label {\n display: block;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n color: $label-color-light;\n }\n\n .verdocs-multiselect-dropdown {\n left: 0;\n top: 30px;\n width: 210px;\n z-index: 10000;\n position: absolute;\n border-radius: 5px;\n font-family: $primary-font;\n background: $verdocs-grey-4;\n border: 1px solid $item-border-color;\n\n .option {\n gap: 4px;\n display: flex;\n padding: 5px 8px;\n align-items: center;\n flex-direction: row;\n text-wrap: nowrap;\n }\n\n label {\n font-size: 13px;\n }\n }\n}\n\n#verdocs-multiselect-menu-items {\n width: 200px;\n z-index: 10000;\n position: absolute;\n border-radius: 5px;\n font-family: $primary-font;\n background: $verdocs-grey-4;\n border: 1px solid $item-border-color;\n\n .option {\n display: flex;\n gap: 4px;\n padding: 5px 8px;\n align-items: center;\n flex-direction: row;\n }\n\n label {\n font-size: 13px;\n }\n}\n","import {randomString} from '@verdocs/js-sdk';\nimport {Component, Prop, Host, h, State, EventEmitter, Event} from '@stencil/core';\n\nexport interface IMultiSelectOption {\n label: string;\n value: string;\n}\n\nconst DownIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m19.5 8.25-7.5 7.5-7.5-7.5\" /></svg>`;\nconst UpIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m4.5 15.75 7.5-7.5 7.5 7.5\" /></svg>`;\n\n/**\n * Display a dropdown that allows multiple options to be selected. Note that events \"bubble\" from the\n * input field to the container, so you can subscribe to the same DOM events (input, blur, etc) that a\n * normal input would emit.\n *\n * ```ts\n * <verdocs-multiselect label=\"Methods:\" value={[]} options={[...options]} onInput={() => {}} />\n * ```\n */\n@Component({\n tag: 'verdocs-multiselect',\n styleUrl: 'verdocs-multiselect.scss',\n})\nexport class VerdocsMultiselect {\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The placeholder for the input element when no options are selected.\n */\n @Prop() placeholder: string = 'Select...';\n\n /**\n * The options to list.\n */\n @Prop() options: IMultiSelectOption[];\n\n /**\n * The currently selected options.\n */\n @Prop() selectedOptions: string[] = [];\n\n @Event({composed: true}) selectionChanged: EventEmitter<{selectedOptions: string[]}>;\n\n @State() showPicker = false;\n\n handleToggleOption(e: any, option: IMultiSelectOption) {\n if (e.target.checked) {\n this.selectedOptions = [...this.selectedOptions, option.value];\n } else {\n this.selectedOptions = this.selectedOptions.filter(selected => selected !== option.value);\n }\n\n this.selectionChanged?.emit({selectedOptions: this.selectedOptions});\n }\n\n render() {\n const elId = `verdocs-dropdown-${randomString(8)}`;\n\n return (\n <Host class={this.showPicker ? 'open' : 'closed'}>\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <div class=\"input-wrapper\">\n <button id={elId} class=\"trigger\" value=\"\" onClick={() => (this.showPicker = !this.showPicker)}>\n {this.selectedOptions.length === 0 ? (\n <span class=\"placeholder\">{this.placeholder}</span>\n ) : (\n this.selectedOptions.map(option => <span class=\"selected-option\">{this.options.find(opt => opt.value === option)?.label || 'Unknown'}</span>)\n )}\n </button>\n\n <div class=\"icon\" innerHTML={this.showPicker ? UpIcon : DownIcon} />\n\n {this.showPicker && (\n <div class=\"verdocs-multiselect-dropdown\">\n {/*<verdocs-portal*/}\n {/* anchor={elId}*/}\n {/* voffset={2}*/}\n {/* onClickAway={() => {*/}\n {/* this.showPicker = false;*/}\n {/* }}*/}\n {/* id=\"verdocs-multiselect-menu-items\"*/}\n {/*>*/}\n {this.options.map((option, i) => (\n <div class=\"option\" onClick={() => (this.showPicker = false)}>\n <verdocs-checkbox\n size=\"small\"\n id={`verdocs-multi-select-opt-${i}`}\n value={option.value}\n checked={this.selectedOptions.includes(option.value)}\n onInput={(e: any) => this.handleToggleOption(e, option)}\n />\n <label htmlFor={`verdocs-multi-select-option-${i}`}>{option.label}</label>\n </div>\n ))}\n {/*</verdocs-portal>*/}\n </div>\n )}\n </div>\n </label>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}