@verdocs/web-sdk 5.0.40 → 5.0.42

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 (282) hide show
  1. package/dist/cjs/{Datastore-7c8ad503.js → Datastore-474df289.js} +1 -2
  2. package/dist/cjs/Datastore-474df289.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  5. package/dist/cjs/verdocs-checkbox_6.cjs.entry.js +7 -3
  6. package/dist/cjs/verdocs-checkbox_6.cjs.entry.js.map +1 -1
  7. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +23 -35
  8. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js.map +1 -1
  9. package/dist/cjs/verdocs-envelope-recipient-link.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +1 -3
  13. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js.map +1 -1
  14. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +3 -2
  18. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js.map +1 -1
  19. package/dist/cjs/verdocs-preview_7.cjs.entry.js +1 -3
  20. package/dist/cjs/verdocs-preview_7.cjs.entry.js.map +1 -1
  21. package/dist/cjs/verdocs-sign.cjs.entry.js +115 -91
  22. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  23. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  25. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +5 -0
  26. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +25 -1
  27. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js.map +1 -1
  28. package/dist/collection/components/controls/verdocs-multiselect/verdocs-multiselect.css +7 -0
  29. package/dist/collection/components/controls/verdocs-multiselect/verdocs-multiselect.js +1 -1
  30. package/dist/collection/components/controls/verdocs-multiselect/verdocs-multiselect.js.map +1 -1
  31. package/dist/collection/components/controls/verdocs-portal/verdocs-portal.js +3 -2
  32. package/dist/collection/components/controls/verdocs-portal/verdocs-portal.js.map +1 -1
  33. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +0 -2
  34. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  35. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +121 -95
  36. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  37. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.css +0 -10
  38. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +9 -7
  39. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
  40. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +0 -2
  41. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
  42. package/dist/collection/utils/Datastore.js +0 -1
  43. package/dist/collection/utils/Datastore.js.map +1 -1
  44. package/dist/components/{p-a4c3e93a.js → p-0e454650.js} +5 -5
  45. package/dist/components/{p-a4c3e93a.js.map → p-0e454650.js.map} +1 -1
  46. package/dist/components/{p-80cad481.js → p-1a83e46c.js} +5 -5
  47. package/dist/components/{p-80cad481.js.map → p-1a83e46c.js.map} +1 -1
  48. package/dist/components/{p-bd2df986.js → p-1c5981db.js} +2 -2
  49. package/dist/components/{p-bd2df986.js.map → p-1c5981db.js.map} +1 -1
  50. package/dist/components/{p-78d650ca.js → p-33300e3a.js} +1 -2
  51. package/dist/components/p-33300e3a.js.map +1 -0
  52. package/dist/components/{p-3e1e59cb.js → p-43b8738f.js} +2 -2
  53. package/dist/components/{p-3e1e59cb.js.map → p-43b8738f.js.map} +1 -1
  54. package/dist/components/{p-d0280735.js → p-444a3bdf.js} +2 -2
  55. package/dist/components/{p-d0280735.js.map → p-444a3bdf.js.map} +1 -1
  56. package/dist/components/{p-e378a0ae.js → p-4a04090c.js} +16 -16
  57. package/dist/components/{p-e378a0ae.js.map → p-4a04090c.js.map} +1 -1
  58. package/dist/components/{p-fd4e0e9b.js → p-4a4bf38c.js} +13 -9
  59. package/dist/components/p-4a4bf38c.js.map +1 -0
  60. package/dist/components/{p-d13f639e.js → p-4ab3413a.js} +5 -5
  61. package/dist/components/{p-d13f639e.js.map → p-4ab3413a.js.map} +1 -1
  62. package/dist/components/{p-6cba6eef.js → p-4dbb9783.js} +3 -3
  63. package/dist/components/{p-6cba6eef.js.map → p-4dbb9783.js.map} +1 -1
  64. package/dist/components/{p-e2f386c6.js → p-55edf913.js} +2 -2
  65. package/dist/components/{p-e2f386c6.js.map → p-55edf913.js.map} +1 -1
  66. package/dist/components/{p-ab71430d.js → p-581128fe.js} +4 -4
  67. package/dist/components/{p-ab71430d.js.map → p-581128fe.js.map} +1 -1
  68. package/dist/components/{p-21fb933f.js → p-5d578b83.js} +3 -3
  69. package/dist/components/{p-21fb933f.js.map → p-5d578b83.js.map} +1 -1
  70. package/dist/components/{p-9acf5a7e.js → p-6a8c32a6.js} +5 -5
  71. package/dist/components/{p-9acf5a7e.js.map → p-6a8c32a6.js.map} +1 -1
  72. package/dist/components/{p-61cc000e.js → p-710ca15d.js} +2 -2
  73. package/dist/components/{p-61cc000e.js.map → p-710ca15d.js.map} +1 -1
  74. package/dist/components/{p-b6d4072e.js → p-73a39d5a.js} +32 -38
  75. package/dist/components/p-73a39d5a.js.map +1 -0
  76. package/dist/components/{p-c4eab8f0.js → p-91eae04c.js} +16 -16
  77. package/dist/components/{p-c4eab8f0.js.map → p-91eae04c.js.map} +1 -1
  78. package/dist/components/{p-044413dc.js → p-92cce3dc.js} +5 -7
  79. package/dist/components/{p-044413dc.js.map → p-92cce3dc.js.map} +1 -1
  80. package/dist/components/{p-f007234d.js → p-96774726.js} +8 -3
  81. package/dist/components/p-96774726.js.map +1 -0
  82. package/dist/components/{p-ca701f0f.js → p-9a24561a.js} +5 -5
  83. package/dist/components/{p-ca701f0f.js.map → p-9a24561a.js.map} +1 -1
  84. package/dist/components/{p-c6d1cdb7.js → p-a50f7982.js} +11 -5
  85. package/dist/components/p-a50f7982.js.map +1 -0
  86. package/dist/components/{p-589c545a.js → p-b474c324.js} +15 -15
  87. package/dist/components/{p-589c545a.js.map → p-b474c324.js.map} +1 -1
  88. package/dist/components/{p-afd663f1.js → p-ca16a8ac.js} +4 -3
  89. package/dist/components/p-ca16a8ac.js.map +1 -0
  90. package/dist/components/{p-4c08e92a.js → p-d89157e9.js} +2 -2
  91. package/dist/components/{p-4c08e92a.js.map → p-d89157e9.js.map} +1 -1
  92. package/dist/components/{p-4f0db584.js → p-df227cfc.js} +5 -5
  93. package/dist/components/{p-4f0db584.js.map → p-df227cfc.js.map} +1 -1
  94. package/dist/components/{p-bed9505d.js → p-e85acbfb.js} +5 -5
  95. package/dist/components/{p-bed9505d.js.map → p-e85acbfb.js.map} +1 -1
  96. package/dist/components/{p-1f5c7534.js → p-eb4bd2d6.js} +5 -5
  97. package/dist/components/{p-1f5c7534.js.map → p-eb4bd2d6.js.map} +1 -1
  98. package/dist/components/{p-e6d9cbc0.js → p-f66d6a07.js} +5 -5
  99. package/dist/components/{p-e6d9cbc0.js.map → p-f66d6a07.js.map} +1 -1
  100. package/dist/components/verdocs-build.js +25 -25
  101. package/dist/components/verdocs-checkbox.js +1 -1
  102. package/dist/components/verdocs-contact-picker.js +1 -1
  103. package/dist/components/verdocs-dropdown.js +1 -1
  104. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  105. package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
  106. package/dist/components/verdocs-envelope-sidebar.js +4 -4
  107. package/dist/components/verdocs-envelopes-list.js +3 -3
  108. package/dist/components/verdocs-field-attachment.js +1 -1
  109. package/dist/components/verdocs-field-checkbox.js +1 -1
  110. package/dist/components/verdocs-field-date.js +1 -1
  111. package/dist/components/verdocs-field-dropdown.js +1 -1
  112. package/dist/components/verdocs-field-initial.js +1 -1
  113. package/dist/components/verdocs-field-payment.js +4 -4
  114. package/dist/components/verdocs-field-radio.js +1 -1
  115. package/dist/components/verdocs-field-signature.js +1 -1
  116. package/dist/components/verdocs-field-textarea.js +1 -1
  117. package/dist/components/verdocs-field-textbox.js +1 -1
  118. package/dist/components/verdocs-field-timestamp.js +1 -1
  119. package/dist/components/verdocs-multiselect.js +1 -1
  120. package/dist/components/verdocs-organization-card.js +1 -1
  121. package/dist/components/verdocs-portal.js +1 -1
  122. package/dist/components/verdocs-preview.js +1 -1
  123. package/dist/components/verdocs-send.js +1 -1
  124. package/dist/components/verdocs-sign.js +122 -97
  125. package/dist/components/verdocs-sign.js.map +1 -1
  126. package/dist/components/verdocs-template-attachments.js +1 -1
  127. package/dist/components/verdocs-template-build-tabs.js +1 -1
  128. package/dist/components/verdocs-template-document-page.js +1 -1
  129. package/dist/components/verdocs-template-field-properties.js +1 -1
  130. package/dist/components/verdocs-template-fields.js +1 -1
  131. package/dist/components/verdocs-template-role-properties.js +1 -1
  132. package/dist/components/verdocs-template-roles.js +1 -1
  133. package/dist/components/verdocs-template-settings.js +1 -1
  134. package/dist/components/verdocs-templates-list.js +2 -2
  135. package/dist/components/verdocs-view.js +1 -1
  136. package/dist/custom-elements.json +12 -0
  137. package/dist/esm/{Datastore-1db52f58.js → Datastore-974a55a5.js} +1 -2
  138. package/dist/esm/Datastore-974a55a5.js.map +1 -0
  139. package/dist/esm/loader.js +1 -1
  140. package/dist/esm/verdocs-build.entry.js +1 -1
  141. package/dist/esm/verdocs-checkbox_6.entry.js +7 -3
  142. package/dist/esm/verdocs-checkbox_6.entry.js.map +1 -1
  143. package/dist/esm/verdocs-contact-picker_2.entry.js +23 -35
  144. package/dist/esm/verdocs-contact-picker_2.entry.js.map +1 -1
  145. package/dist/esm/verdocs-envelope-recipient-link.entry.js +1 -1
  146. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  147. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  148. package/dist/esm/verdocs-field-attachment_13.entry.js +1 -3
  149. package/dist/esm/verdocs-field-attachment_13.entry.js.map +1 -1
  150. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  151. package/dist/esm/verdocs-kba-dialog_2.entry.js +1 -1
  152. package/dist/esm/verdocs-menu-panel_2.entry.js +1 -1
  153. package/dist/esm/verdocs-organization-card_2.entry.js +3 -2
  154. package/dist/esm/verdocs-organization-card_2.entry.js.map +1 -1
  155. package/dist/esm/verdocs-preview_7.entry.js +1 -3
  156. package/dist/esm/verdocs-preview_7.entry.js.map +1 -1
  157. package/dist/esm/verdocs-sign.entry.js +116 -92
  158. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  159. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  160. package/dist/esm/verdocs-web-sdk.js +1 -1
  161. package/dist/esm-es5/{Datastore-1db52f58.js → Datastore-974a55a5.js} +2 -2
  162. package/dist/esm-es5/{Datastore-1db52f58.js.map → Datastore-974a55a5.js.map} +1 -1
  163. package/dist/esm-es5/loader.js +1 -1
  164. package/dist/esm-es5/loader.js.map +1 -1
  165. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  166. package/dist/esm-es5/verdocs-checkbox_6.entry.js +1 -1
  167. package/dist/esm-es5/verdocs-checkbox_6.entry.js.map +1 -1
  168. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  169. package/dist/esm-es5/verdocs-contact-picker_2.entry.js.map +1 -1
  170. package/dist/esm-es5/verdocs-envelope-recipient-link.entry.js +1 -1
  171. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  172. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  173. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  174. package/dist/esm-es5/verdocs-field-attachment_13.entry.js.map +1 -1
  175. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  176. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +1 -1
  177. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  178. package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
  179. package/dist/esm-es5/verdocs-organization-card_2.entry.js.map +1 -1
  180. package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
  181. package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -1
  182. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  183. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  184. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  185. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  186. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  187. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +4 -0
  188. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +4 -2
  189. package/dist/types/components.d.ts +8 -0
  190. package/dist/verdocs-web-sdk/p-02e09803.system.entry.js +2 -0
  191. package/dist/verdocs-web-sdk/p-02e09803.system.entry.js.map +1 -0
  192. package/dist/verdocs-web-sdk/{p-796daf3e.system.entry.js → p-06394c15.system.entry.js} +2 -2
  193. package/dist/verdocs-web-sdk/p-06394c15.system.entry.js.map +1 -0
  194. package/dist/verdocs-web-sdk/{p-9e10dd2c.entry.js → p-06775d41.entry.js} +2 -2
  195. package/dist/verdocs-web-sdk/p-0c1898f6.system.js +1 -1
  196. package/dist/verdocs-web-sdk/p-0c1898f6.system.js.map +1 -1
  197. package/dist/verdocs-web-sdk/{p-a9f3549e.system.entry.js → p-0e8bbe05.system.entry.js} +2 -2
  198. package/dist/verdocs-web-sdk/{p-078818a8.entry.js → p-1247fd39.entry.js} +2 -2
  199. package/dist/verdocs-web-sdk/{p-84d305e4.entry.js → p-1f42a7c2.entry.js} +2 -2
  200. package/dist/verdocs-web-sdk/p-33300e3a.js +2 -0
  201. package/dist/verdocs-web-sdk/{p-78d650ca.js.map → p-33300e3a.js.map} +1 -1
  202. package/dist/verdocs-web-sdk/p-46263e7a.system.entry.js +2 -0
  203. package/dist/verdocs-web-sdk/p-46263e7a.system.entry.js.map +1 -0
  204. package/dist/verdocs-web-sdk/p-4d92a71b.entry.js +2 -0
  205. package/dist/verdocs-web-sdk/p-4d92a71b.entry.js.map +1 -0
  206. package/dist/verdocs-web-sdk/{p-7ba1b23c.system.entry.js → p-66438012.system.entry.js} +2 -2
  207. package/dist/verdocs-web-sdk/{p-7bd2fe9f.entry.js → p-66feba8c.entry.js} +2 -2
  208. package/dist/verdocs-web-sdk/{p-add6e890.system.entry.js → p-6cfb51e3.system.entry.js} +2 -2
  209. package/dist/verdocs-web-sdk/p-6cfb51e3.system.entry.js.map +1 -0
  210. package/dist/verdocs-web-sdk/{p-332f01b5.system.entry.js → p-78d9fa52.system.entry.js} +2 -2
  211. package/dist/verdocs-web-sdk/{p-63fe0290.system.entry.js → p-89c69404.system.entry.js} +2 -2
  212. package/dist/verdocs-web-sdk/p-89c69404.system.entry.js.map +1 -0
  213. package/dist/verdocs-web-sdk/{p-e50dae96.system.entry.js → p-9880e3e4.system.entry.js} +2 -2
  214. package/dist/verdocs-web-sdk/{p-41c9aec8.system.entry.js → p-a175597c.system.entry.js} +2 -2
  215. package/dist/verdocs-web-sdk/{p-f5290d34.system.entry.js → p-a508388a.system.entry.js} +2 -2
  216. package/dist/verdocs-web-sdk/{p-af554563.entry.js → p-ab23e446.entry.js} +2 -2
  217. package/dist/verdocs-web-sdk/p-b0606620.entry.js +2 -0
  218. package/dist/verdocs-web-sdk/p-b0606620.entry.js.map +1 -0
  219. package/dist/verdocs-web-sdk/p-b32c8a43.entry.js +2 -0
  220. package/dist/verdocs-web-sdk/p-b32c8a43.entry.js.map +1 -0
  221. package/dist/verdocs-web-sdk/{p-59dbcd64.entry.js → p-c242e25e.entry.js} +2 -2
  222. package/dist/verdocs-web-sdk/{p-48ea99c9.system.entry.js → p-d3dea986.system.entry.js} +2 -2
  223. package/dist/verdocs-web-sdk/p-d47c58de.entry.js +2 -0
  224. package/dist/verdocs-web-sdk/p-d47c58de.entry.js.map +1 -0
  225. package/dist/verdocs-web-sdk/{p-b66db146.system.entry.js → p-d63b3dc0.system.entry.js} +2 -2
  226. package/dist/verdocs-web-sdk/{p-be8afe3e.entry.js → p-dac04f8e.entry.js} +2 -2
  227. package/dist/verdocs-web-sdk/p-e5719bcf.system.entry.js +2 -0
  228. package/dist/verdocs-web-sdk/p-e5719bcf.system.entry.js.map +1 -0
  229. package/dist/verdocs-web-sdk/{p-0baacb99.entry.js → p-e7ca4f15.entry.js} +2 -2
  230. package/dist/verdocs-web-sdk/p-e7ca4f15.entry.js.map +1 -0
  231. package/dist/verdocs-web-sdk/{p-a678a1f5.entry.js → p-e8268ed9.entry.js} +2 -2
  232. package/dist/verdocs-web-sdk/p-e8268ed9.entry.js.map +1 -0
  233. package/dist/verdocs-web-sdk/{p-e4a6b073.system.js → p-ebd42be0.system.js} +2 -2
  234. package/dist/verdocs-web-sdk/{p-e4a6b073.system.js.map → p-ebd42be0.system.js.map} +1 -1
  235. package/dist/verdocs-web-sdk/{p-151e2fb7.entry.js → p-f406e916.entry.js} +2 -2
  236. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  237. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  238. package/package.json +3 -3
  239. package/dist/cjs/Datastore-7c8ad503.js.map +0 -1
  240. package/dist/components/p-78d650ca.js.map +0 -1
  241. package/dist/components/p-afd663f1.js.map +0 -1
  242. package/dist/components/p-b6d4072e.js.map +0 -1
  243. package/dist/components/p-c6d1cdb7.js.map +0 -1
  244. package/dist/components/p-f007234d.js.map +0 -1
  245. package/dist/components/p-fd4e0e9b.js.map +0 -1
  246. package/dist/esm/Datastore-1db52f58.js.map +0 -1
  247. package/dist/verdocs-web-sdk/p-0baacb99.entry.js.map +0 -1
  248. package/dist/verdocs-web-sdk/p-337a452e.entry.js +0 -2
  249. package/dist/verdocs-web-sdk/p-337a452e.entry.js.map +0 -1
  250. package/dist/verdocs-web-sdk/p-4d240e20.entry.js +0 -2
  251. package/dist/verdocs-web-sdk/p-4d240e20.entry.js.map +0 -1
  252. package/dist/verdocs-web-sdk/p-63fe0290.system.entry.js.map +0 -1
  253. package/dist/verdocs-web-sdk/p-78d650ca.js +0 -2
  254. package/dist/verdocs-web-sdk/p-796daf3e.system.entry.js.map +0 -1
  255. package/dist/verdocs-web-sdk/p-8e4b7f0c.system.entry.js +0 -2
  256. package/dist/verdocs-web-sdk/p-8e4b7f0c.system.entry.js.map +0 -1
  257. package/dist/verdocs-web-sdk/p-92d7a42f.system.entry.js +0 -2
  258. package/dist/verdocs-web-sdk/p-92d7a42f.system.entry.js.map +0 -1
  259. package/dist/verdocs-web-sdk/p-94757826.system.entry.js +0 -2
  260. package/dist/verdocs-web-sdk/p-94757826.system.entry.js.map +0 -1
  261. package/dist/verdocs-web-sdk/p-a678a1f5.entry.js.map +0 -1
  262. package/dist/verdocs-web-sdk/p-add6e890.system.entry.js.map +0 -1
  263. package/dist/verdocs-web-sdk/p-b23e0b35.entry.js +0 -2
  264. package/dist/verdocs-web-sdk/p-b23e0b35.entry.js.map +0 -1
  265. package/dist/verdocs-web-sdk/p-ff4f0ace.entry.js +0 -2
  266. package/dist/verdocs-web-sdk/p-ff4f0ace.entry.js.map +0 -1
  267. /package/dist/verdocs-web-sdk/{p-9e10dd2c.entry.js.map → p-06775d41.entry.js.map} +0 -0
  268. /package/dist/verdocs-web-sdk/{p-a9f3549e.system.entry.js.map → p-0e8bbe05.system.entry.js.map} +0 -0
  269. /package/dist/verdocs-web-sdk/{p-078818a8.entry.js.map → p-1247fd39.entry.js.map} +0 -0
  270. /package/dist/verdocs-web-sdk/{p-84d305e4.entry.js.map → p-1f42a7c2.entry.js.map} +0 -0
  271. /package/dist/verdocs-web-sdk/{p-7ba1b23c.system.entry.js.map → p-66438012.system.entry.js.map} +0 -0
  272. /package/dist/verdocs-web-sdk/{p-7bd2fe9f.entry.js.map → p-66feba8c.entry.js.map} +0 -0
  273. /package/dist/verdocs-web-sdk/{p-332f01b5.system.entry.js.map → p-78d9fa52.system.entry.js.map} +0 -0
  274. /package/dist/verdocs-web-sdk/{p-e50dae96.system.entry.js.map → p-9880e3e4.system.entry.js.map} +0 -0
  275. /package/dist/verdocs-web-sdk/{p-41c9aec8.system.entry.js.map → p-a175597c.system.entry.js.map} +0 -0
  276. /package/dist/verdocs-web-sdk/{p-f5290d34.system.entry.js.map → p-a508388a.system.entry.js.map} +0 -0
  277. /package/dist/verdocs-web-sdk/{p-af554563.entry.js.map → p-ab23e446.entry.js.map} +0 -0
  278. /package/dist/verdocs-web-sdk/{p-59dbcd64.entry.js.map → p-c242e25e.entry.js.map} +0 -0
  279. /package/dist/verdocs-web-sdk/{p-48ea99c9.system.entry.js.map → p-d3dea986.system.entry.js.map} +0 -0
  280. /package/dist/verdocs-web-sdk/{p-b66db146.system.entry.js.map → p-d63b3dc0.system.entry.js.map} +0 -0
  281. /package/dist/verdocs-web-sdk/{p-be8afe3e.entry.js.map → p-dac04f8e.entry.js.map} +0 -0
  282. /package/dist/verdocs-web-sdk/{p-151e2fb7.entry.js.map → p-f406e916.entry.js.map} +0 -0
@@ -73,6 +73,13 @@ verdocs-multiselect .input-label {
73
73
  background: #ffffff;
74
74
  border: 1px solid #654dcb;
75
75
  }
76
+ #verdocs-multiselect-menu-items .option {
77
+ display: flex;
78
+ gap: 4px;
79
+ padding: 5px 8px;
80
+ align-items: center;
81
+ flex-direction: row;
82
+ }
76
83
  #verdocs-multiselect-menu-items label {
77
84
  font-size: 13px;
78
85
  }
@@ -38,7 +38,7 @@ export class VerdocsMultiselect {
38
38
  }
39
39
  render() {
40
40
  const elId = `verdocs-dropdown-${randomString(8)}`;
41
- return (h(Host, { key: '7fa4d31d423894e8caa3dffd1fb46752b7b87ee5', class: this.showPicker ? 'open' : 'closed' }, h("label", { key: '891a7d7ee2867d598f2f3ea6609148a47a9a7166' }, this.label ? h("div", { class: "input-label" }, this.label + ':') : h("div", null), h("div", { key: 'c165f68315aec9d1aca6e9f2214ece090f496363', class: "input-wrapper" }, h("button", { key: '2297bfb9c84abd5da4c73dfcbae15fe2f5f04c1c', id: elId, class: "trigger", value: "", onClick: () => (this.showPicker = true) }, this.selectedOptions.length === 0 ? (h("span", { class: "placeholder" }, this.placeholder)) : (this.selectedOptions.map(option => { var _a; return h("span", { class: "selected-option" }, ((_a = this.options.find(opt => opt.value === option)) === null || _a === void 0 ? void 0 : _a.label) || 'Unknown'); }))), h("div", { key: 'e4929befc449d9be400305ee3e0aeb1c171583fd', class: "icon", innerHTML: DownIcon }), this.showPicker && (h("verdocs-portal", { key: '42016ae18aa4acd4c5aac8f2ea3a7d6126116aa6', anchor: elId, voffset: 2, onClickAway: () => (this.showPicker = false), id: "verdocs-multiselect-menu-items" }, this.options.map((option, i) => (h("div", { class: "option", onClick: () => (this.showPicker = false) }, h("input", { id: `verdocs-multi-select-option-${i}`, type: "checkbox", value: option.value, checked: this.selectedOptions.includes(option.value), onInput: (e) => this.handleToggleOption(e, option) }), h("label", { htmlFor: `verdocs-multi-select-option-${i}` }, option.label))))))))));
41
+ return (h(Host, { key: '7fa4d31d423894e8caa3dffd1fb46752b7b87ee5', class: this.showPicker ? 'open' : 'closed' }, h("label", { key: '891a7d7ee2867d598f2f3ea6609148a47a9a7166' }, this.label ? h("div", { class: "input-label" }, this.label + ':') : h("div", null), h("div", { key: 'c165f68315aec9d1aca6e9f2214ece090f496363', class: "input-wrapper" }, h("button", { key: '2297bfb9c84abd5da4c73dfcbae15fe2f5f04c1c', id: elId, class: "trigger", value: "", onClick: () => (this.showPicker = true) }, this.selectedOptions.length === 0 ? (h("span", { class: "placeholder" }, this.placeholder)) : (this.selectedOptions.map(option => { var _a; return h("span", { class: "selected-option" }, ((_a = this.options.find(opt => opt.value === option)) === null || _a === void 0 ? void 0 : _a.label) || 'Unknown'); }))), h("div", { key: 'e4929befc449d9be400305ee3e0aeb1c171583fd', class: "icon", innerHTML: DownIcon }), this.showPicker && (h("verdocs-portal", { key: '42016ae18aa4acd4c5aac8f2ea3a7d6126116aa6', anchor: elId, voffset: 2, onClickAway: () => (this.showPicker = false), id: "verdocs-multiselect-menu-items" }, this.options.map((option, i) => (h("div", { class: "option", onClick: () => (this.showPicker = false) }, h("verdocs-checkbox", { size: "small", id: `verdocs-multi-select-opt-${i}`, value: option.value, checked: this.selectedOptions.includes(option.value), onInput: (e) => this.handleToggleOption(e, option) }), h("label", { htmlFor: `verdocs-multi-select-option-${i}` }, option.label))))))))));
42
42
  }
43
43
  static get is() { return "verdocs-multiselect"; }
44
44
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-multiselect.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-multiselect/verdocs-multiselect.tsx"],"names":[],"mappings":"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","sourcesContent":["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\" class=\"size-6\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m19.5 8.25-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 = true)}>\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={DownIcon} />\n\n {this.showPicker && (\n <verdocs-portal anchor={elId} voffset={2} onClickAway={() => (this.showPicker = false)} id=\"verdocs-multiselect-menu-items\">\n {this.options.map((option, i) => (\n <div class=\"option\" onClick={() => (this.showPicker = false)}>\n <input\n id={`verdocs-multi-select-option-${i}`}\n type=\"checkbox\"\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 )}\n </div>\n </label>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-multiselect.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-multiselect/verdocs-multiselect.tsx"],"names":[],"mappings":"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","sourcesContent":["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\" class=\"size-6\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m19.5 8.25-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 = true)}>\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={DownIcon} />\n\n {this.showPicker && (\n <verdocs-portal anchor={elId} voffset={2} onClickAway={() => (this.showPicker = false)} id=\"verdocs-multiselect-menu-items\">\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 {/*<input*/}\n {/* id={`verdocs-multi-select-option-${i}`}*/}\n {/* type=\"checkbox\"*/}\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 )}\n </div>\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -35,7 +35,8 @@ export class VerdocsPortal {
35
35
  }
36
36
  handleClick(e) {
37
37
  var _a;
38
- if (!this.element.contains(e.target)) {
38
+ const closest = e.target.closest('.verdocs-portal');
39
+ if (!this.element.contains(e.target) && !closest) {
39
40
  (_a = this.clickAway) === null || _a === void 0 ? void 0 : _a.emit();
40
41
  }
41
42
  }
@@ -89,7 +90,7 @@ export class VerdocsPortal {
89
90
  this.moved ? this.portal.remove() : (this.moved = true);
90
91
  }
91
92
  render() {
92
- return (h(Host, { key: '7379bf2578c769bf6112486912c7aa30b429fae1', ref: el => (this.element = el) }, h("slot", { key: '3b141548481e6dd23f47ed4e0db78e3931a5bdaa' })));
93
+ return (h(Host, { key: 'afb2ccc67c15898bbc290ed1eb42594247d6a0ce', ref: el => (this.element = el), class: "verdocs-portal" }, h("slot", { key: '793ca31cdd4c92f2b394c36a1b712c69dd0ccaac' })));
93
94
  }
94
95
  static get is() { return "verdocs-portal"; }
95
96
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-portal.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-portal/verdocs-portal.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, EventEmitter, h, Host, Listen, Prop, Event} from '@stencil/core';\n\nconst Z_INDEX = '10001';\n\n/**\n * Display a child component in a \"portal\", popping it out of the main DOM tree\n * to allow it to escape the bounds set by its parent.\n * @credit https://github.com/tomas-teston/stencil-portal for the basic\n * technique. This has been altered in a few ways to make it more friendly\n * to cases where there may be multiple portals on the page and provide more\n * alignment options for the child to be displayed.\n *\n * ```ts\n * <div style=\"padding: 40px\">\n * <div id=\"sample-tooltip\" style=\"border: 1px solid green; padding: 3px 10px;\">\n * Tooltip Anchor\n * <verdocs-portal anchor=\"sample-tooltip\" .align=${align} .voffset=${voffset}>\n * <div style=\"border: 1px solid red; padding: 3px 10px;\">Tooltip</div>\n * </verdocs-portal>\n * </div>\n * </div>\n * ```\n */\n@Component({\n tag: 'verdocs-portal',\n styleUrl: 'verdocs-portal.scss',\n shadow: false,\n})\nexport class VerdocsPortal {\n private portal: HTMLElement;\n private element: HTMLElement;\n private moved: boolean = false;\n\n /**\n * Unique ID of the parent element to anchor to.\n */\n @Prop() anchor: string;\n\n /**\n * Vertical offset from the parent.\n */\n @Prop() voffset: number = 0;\n\n @Event() clickAway: EventEmitter<void>;\n\n @Listen('scroll', {target: 'window', capture: true})\n handleScroll() {\n this.calculatePosition();\n }\n\n @Listen('resize', {target: 'window'})\n handleResize() {\n this.calculatePosition();\n }\n\n @Listen('click', {target: 'document'})\n handleClick(e) {\n if (!this.element.contains(e.target)) {\n this.clickAway?.emit();\n }\n }\n\n private calculateLeft() {\n const anchorEl = document.getElementById(this.anchor);\n if (!anchorEl) return 0;\n\n const anchorRect = anchorEl.getBoundingClientRect();\n\n const rightOfViewportWithScroll = document.documentElement.clientWidth + document.documentElement.scrollLeft;\n const leftOfPopup = Math.max(anchorRect.left, 0);\n // Old centering logic, disabled temporarily\n // Math.max(anchorRect.left - this.portal.offsetWidth / 2 + anchorRect.width / 2, 0);\n // Old right-align logic, disabled temporarily\n // Math.max(anchorRect.left + anchorRect.width - this.portal.offsetWidth, 0);\n const popupWidth = this.element?.offsetWidth || 400;\n const offRightEdge = leftOfPopup + popupWidth > rightOfViewportWithScroll;\n\n return offRightEdge ? rightOfViewportWithScroll - popupWidth - 20 : leftOfPopup;\n }\n\n private calculateTop() {\n const anchorEl = document.getElementById(this.anchor);\n if (!anchorEl) return 0;\n\n const anchorRect = anchorEl.getBoundingClientRect();\n\n const bottomOfViewportWithScroll = document.documentElement.clientHeight + document.documentElement.scrollTop;\n const topOfPopup = anchorRect.bottom + this.voffset + document.documentElement.scrollTop;\n const popupHeight = this.element?.offsetHeight || 300;\n const offBottomEdge = topOfPopup + popupHeight > bottomOfViewportWithScroll;\n\n return offBottomEdge ? topOfPopup - popupHeight - anchorRect.height : topOfPopup;\n }\n\n private calculatePosition() {\n this.portal.style.top = `${this.calculateTop()}px`;\n this.portal.style.left = `${this.calculateLeft()}px`;\n }\n\n componentWillLoad() {\n const id = `${this.anchor}-portal`;\n document.getElementById(id)?.remove();\n\n this.portal = document.createElement('div');\n this.portal.setAttribute('id', id);\n this.portal.style.zIndex = Z_INDEX;\n this.portal.style.position = 'absolute';\n document.body.append(this.portal);\n }\n\n componentDidLoad() {\n this.portal.appendChild(this.element);\n this.calculatePosition();\n }\n\n disconnectedCallback() {\n this.moved ? this.portal.remove() : (this.moved = true);\n }\n\n render() {\n return (\n <Host ref={el => (this.element = el)}>\n <slot />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-portal.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-portal/verdocs-portal.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, EventEmitter, h, Host, Listen, Prop, Event} from '@stencil/core';\n\nconst Z_INDEX = '10001';\n\n/**\n * Display a child component in a \"portal\", popping it out of the main DOM tree\n * to allow it to escape the bounds set by its parent.\n * @credit https://github.com/tomas-teston/stencil-portal for the basic\n * technique. This has been altered in a few ways to make it more friendly\n * to cases where there may be multiple portals on the page and provide more\n * alignment options for the child to be displayed.\n *\n * ```ts\n * <div style=\"padding: 40px\">\n * <div id=\"sample-tooltip\" style=\"border: 1px solid green; padding: 3px 10px;\">\n * Tooltip Anchor\n * <verdocs-portal anchor=\"sample-tooltip\" .align=${align} .voffset=${voffset}>\n * <div style=\"border: 1px solid red; padding: 3px 10px;\">Tooltip</div>\n * </verdocs-portal>\n * </div>\n * </div>\n * ```\n */\n@Component({\n tag: 'verdocs-portal',\n styleUrl: 'verdocs-portal.scss',\n shadow: false,\n})\nexport class VerdocsPortal {\n private portal: HTMLElement;\n private element: HTMLElement;\n private moved: boolean = false;\n\n /**\n * Unique ID of the parent element to anchor to.\n */\n @Prop() anchor: string;\n\n /**\n * Vertical offset from the parent.\n */\n @Prop() voffset: number = 0;\n\n @Event() clickAway: EventEmitter<void>;\n\n @Listen('scroll', {target: 'window', capture: true})\n handleScroll() {\n this.calculatePosition();\n }\n\n @Listen('resize', {target: 'window'})\n handleResize() {\n this.calculatePosition();\n }\n\n @Listen('click', {target: 'document'})\n handleClick(e) {\n const closest = e.target.closest('.verdocs-portal');\n if (!this.element.contains(e.target) && !closest) {\n this.clickAway?.emit();\n }\n }\n\n private calculateLeft() {\n const anchorEl = document.getElementById(this.anchor);\n if (!anchorEl) return 0;\n\n const anchorRect = anchorEl.getBoundingClientRect();\n\n const rightOfViewportWithScroll = document.documentElement.clientWidth + document.documentElement.scrollLeft;\n const leftOfPopup = Math.max(anchorRect.left, 0);\n // Old centering logic, disabled temporarily\n // Math.max(anchorRect.left - this.portal.offsetWidth / 2 + anchorRect.width / 2, 0);\n // Old right-align logic, disabled temporarily\n // Math.max(anchorRect.left + anchorRect.width - this.portal.offsetWidth, 0);\n const popupWidth = this.element?.offsetWidth || 400;\n const offRightEdge = leftOfPopup + popupWidth > rightOfViewportWithScroll;\n\n return offRightEdge ? rightOfViewportWithScroll - popupWidth - 20 : leftOfPopup;\n }\n\n private calculateTop() {\n const anchorEl = document.getElementById(this.anchor);\n if (!anchorEl) return 0;\n\n const anchorRect = anchorEl.getBoundingClientRect();\n\n const bottomOfViewportWithScroll = document.documentElement.clientHeight + document.documentElement.scrollTop;\n const topOfPopup = anchorRect.bottom + this.voffset + document.documentElement.scrollTop;\n const popupHeight = this.element?.offsetHeight || 300;\n const offBottomEdge = topOfPopup + popupHeight > bottomOfViewportWithScroll;\n\n return offBottomEdge ? topOfPopup - popupHeight - anchorRect.height : topOfPopup;\n }\n\n private calculatePosition() {\n this.portal.style.top = `${this.calculateTop()}px`;\n this.portal.style.left = `${this.calculateLeft()}px`;\n }\n\n componentWillLoad() {\n const id = `${this.anchor}-portal`;\n document.getElementById(id)?.remove();\n\n this.portal = document.createElement('div');\n this.portal.setAttribute('id', id);\n this.portal.style.zIndex = Z_INDEX;\n this.portal.style.position = 'absolute';\n document.body.append(this.portal);\n }\n\n componentDidLoad() {\n this.portal.appendChild(this.element);\n this.calculatePosition();\n }\n\n disconnectedCallback() {\n this.moved ? this.portal.remove() : (this.moved = true);\n }\n\n render() {\n return (\n <Host ref={el => (this.element = el)} class=\"verdocs-portal\">\n <slot />\n </Host>\n );\n }\n}\n"]}
@@ -172,7 +172,6 @@ export class VerdocsSend {
172
172
  }
173
173
  }
174
174
  handleSelectContact(e, role) {
175
- console.log('hsc', e.detail, role);
176
175
  e.preventDefault();
177
176
  this.rolesCompleted[role.id] = { ...role, ...e.detail };
178
177
  this.showPickerForId = '';
@@ -238,7 +237,6 @@ export class VerdocsSend {
238
237
  return (h(Host, { style: { display: 'flex' } }, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
239
238
  }
240
239
  const levels = this.getSequenceNumbers();
241
- console.log('[SEND] Rendering levels', levels);
242
240
  const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) && recipient.first_name && recipient.last_name);
243
241
  const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;
244
242
  return (h(Host, { class: { sendable: (_a = this.template) === null || _a === void 0 ? void 0 : _a.is_sendable } }, h("div", { class: "recipients" }, h("div", { class: "left-line" }), h("div", { class: `level level-start` }, this.getLevelIcon('start'), h("div", { class: "complete" }, "Send Envelope")), levels.map(level => (h("div", { class: `level level-${level}` }, this.getLevelIcon('sequence'), this.getRolesAtLevel(level).map(role => {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-send.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-send/verdocs-send.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Prop, State, h, Event, EventEmitter, Host, Method, Watch} from '@stencil/core';\nimport {createEnvelope, formatFullName, getTemplate, getOrganizationContacts, getRGBA, isValidEmail, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport type {ICreateEnvelopeFromTemplateRequest, ICreateEnvelopeRecipient, IEnvelope, IRecipient, ITemplate} from '@verdocs/js-sdk';\nimport {IContactSearchEvent} from '../../envelopes/verdocs-contact-picker/verdocs-contact-picker';\nimport {getRoleIndex, getRoleNames} from '../../../utils/Templates';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\n/**\n * Display a form to send a template to one or more recipients in an envelope for signing.\n * Host applications should ensure the template is \"sendable\" before displaying this component.\n * To be sendable, a template must have at least one document attached, at least one participant\n * defined, and at least one field assigned to every \"signer\" participant. This component will\n * hide itself if the template is not sendable.\n *\n * ```ts\n * <verdocs-send\n * templateId={templateId}\n * onBeforeSend={({ detail })) => { console.log('Sending... Show a spinner...', detail) }\n * onSend={({ detail }) => { console.log('Sent! Hide the spinner...', detail) }\n * onExit={(e) => { console.log('Send cancelled.', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\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 ID of the template to create the document from.\n */\n @Prop({reflect: true}) templateId: string | null = null;\n\n /**\n * The environment the control is being called from, e.g. 'web'. This has an impact on how certain\n * operations such as email communications are handled to ensure users receive the correct URLs for\n * their invitations. Setting this to unknown values may produce unexpected/incorrect behaviors.\n * If environment is not known, do this set this property.\n */\n @Prop() environment: string = '';\n\n /**\n * The user is sending an envelope the form and clicked send.\n */\n @Event({composed: true}) beforeSend: EventEmitter<{recipients: ICreateEnvelopeRecipient[]; name: string; template_id: string; template: ITemplate}>;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipients: ICreateEnvelopeRecipient[]; name: string; template_id: string; envelope_id: string; envelope: IEnvelope}>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired 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 user enters text in a search field. The parent application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n @State() showPickerForId = '';\n @State() sessionContacts = [];\n @State() sending = false;\n @State() rolesCompleted: Record<string, Partial<IRecipient>> = {};\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[SEND] Loading template', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n true,\n (template: ITemplate) => {\n console.log('[SEND] Got new template', template);\n this.template = template;\n this.loading = false;\n this.rolesCompleted = {};\n this.recomputeRolesCompleted();\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Method() async reset() {\n this.rolesCompleted = {};\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[SEND] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.onSessionChanged((_endpoint, _session, profile) => {\n if (!profile) {\n return;\n }\n\n const me = {\n id: profile.id,\n first_name: profile.first_name,\n last_name: profile.last_name,\n email: profile.email,\n phone: profile.phone,\n };\n\n if (profile) {\n this.sessionContacts = [me];\n\n getOrganizationContacts(this.endpoint)\n .then(contacts => {\n console.log('[SEND] Got contacts', contacts);\n this.sessionContacts = [...contacts, me];\n })\n .catch(e => {\n console.log('[SEND] Error getting contacts', e);\n });\n }\n });\n\n this.endpoint.loadSession();\n\n if (!this.endpoint.session) {\n console.log('[SEND] Unable to start Send operation, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[SEND] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[SEND] Error with send session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n recomputeRolesCompleted() {\n this.rolesCompleted = {};\n\n const rolesAtLevel: Record<number, Partial<IRecipient>[]> = {};\n (this.template?.roles || []).forEach(role => {\n const level = role.sequence - 1;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name});\n\n // if (role.first_name && (isValidEmail(role.email) || isValidPhone(role.phone))) {\n if (role.first_name && isValidEmail(role.email)) {\n this.rolesCompleted[id] = {...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name};\n }\n });\n }\n\n getSequenceNumbers() {\n // This is cleaner with a Set but we found a regression in some target environments where\n // this breaks down. Reverting to an older technique while we diagnose it.\n const sequences: Record<number, boolean> = {};\n (this.template?.roles || []).forEach(role => {\n sequences[role.sequence] = true;\n });\n return Object.keys(sequences)\n .map(s => +s)\n .sort((a, b) => a - b);\n }\n\n getRolesAtLevel(level: number) {\n const rolesAtLevel = (this.template?.roles || [])\n .filter(role => role.sequence === level)\n .map((role, index) => ({\n ...role,\n id: `r-${level}-${index}`,\n role_name: role.name,\n first_name: role.first_name,\n last_name: role.last_name,\n }));\n return rolesAtLevel as Partial<IRecipient>[];\n }\n\n getLevelIcon(level: 'start' | 'end' | 'sequence') {\n if (level === 'start') {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level === 'end') {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: Partial<IRecipient>) {\n console.log('hsc', e.detail, role);\n e.preventDefault();\n this.rolesCompleted[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: Partial<IRecipient>) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e: any) {\n if (this.sending) {\n console.log('[SEND] Skipping duplicate send', e);\n return;\n }\n\n console.log('[SEND] Sending', e);\n e.preventDefault();\n e.stopPropagation();\n\n this.sending = true;\n\n const details: ICreateEnvelopeFromTemplateRequest = {\n template_id: this.templateId,\n name: this.template?.name || 'New Envelope',\n environment: this.environment,\n initial_reminder: 0,\n followup_reminders: 0,\n recipients: Object.values(this.rolesCompleted) as ICreateEnvelopeRecipient[],\n // TODO: Pre-filled fields support\n fields: [],\n };\n\n const beforeSendResult = this.beforeSend.emit({...details, name: details.name!, template: this.template});\n if (beforeSendResult.defaultPrevented) {\n console.log('[SEND] Send cancelled by parent', details);\n this.sending = false;\n return;\n }\n\n console.log('[SEND] Creating envelope', details);\n createEnvelope(this.endpoint, details)\n .then(r => {\n console.log('[SEND] Send envelope', r);\n this.reset().catch((e: any) => console.log('Unknown Error', e));\n this.sending = false;\n this.send?.emit({...details, name: details.name!, envelope_id: r.id, envelope: r});\n })\n .catch(e => {\n console.log('[SEND] Send error', e);\n VerdocsToast(e.response?.data?.error || 'Error creating envelope, please try again later.');\n this.sending = false;\n this.sdkError?.emit(e);\n });\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.exit?.emit();\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host style={{display: 'flex'}}>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const levels = this.getSequenceNumbers();\n console.log('[SEND] Rendering levels', levels);\n const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) && recipient.first_name && recipient.last_name);\n const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;\n\n return (\n <Host class={{sendable: this.template?.is_sendable}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon('start')}\n <div class=\"complete\">Send Envelope</div>\n </div>\n\n {levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon('sequence')}\n\n {this.getRolesAtLevel(level).map(role => {\n const unknown = !role.email || !role.first_name || !role.last_name;\n const roleName = this.rolesCompleted[role.id]?.first_name ? formatFullName(this.rolesCompleted[role.id]) : unknown ? role.role_name : formatFullName(role);\n const elId = `verdocs-send-recipient-${role.role_name}`;\n const roleIndex = getRoleIndex(this.template, role.role_name);\n const rgba = getRGBA(roleIndex);\n const completed = rolesAssigned.findIndex(r => r.role_name === role.role_name) > -1;\n\n const style = {\n backgroundColor: rgba,\n border: completed ? '2px solid #55bc81' : '2px solid #dddddd',\n };\n\n return unknown ? (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={this.rolesCompleted[role.id] ?? role}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n ) : (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {/*<div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={{borderColor: rgba}} onClick={e => this.handleClickRole(e, role)} id={elId}>*/}\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={(this.rolesCompleted[role.id] ?? role) as IRecipient}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n );\n })}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon('end')}\n <div class=\"complete\">Signing Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} disabled={this.sending} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRolesAssigned || this.sending} onClick={e => this.handleSend(e)} />\n {this.sending && <verdocs-spinner />}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-send.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-send/verdocs-send.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Prop, State, h, Event, EventEmitter, Host, Method, Watch} from '@stencil/core';\nimport {createEnvelope, formatFullName, getTemplate, getOrganizationContacts, getRGBA, isValidEmail, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport type {ICreateEnvelopeFromTemplateRequest, ICreateEnvelopeRecipient, IEnvelope, IRecipient, ITemplate} from '@verdocs/js-sdk';\nimport {IContactSearchEvent} from '../../envelopes/verdocs-contact-picker/verdocs-contact-picker';\nimport {getRoleIndex, getRoleNames} from '../../../utils/Templates';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\n/**\n * Display a form to send a template to one or more recipients in an envelope for signing.\n * Host applications should ensure the template is \"sendable\" before displaying this component.\n * To be sendable, a template must have at least one document attached, at least one participant\n * defined, and at least one field assigned to every \"signer\" participant. This component will\n * hide itself if the template is not sendable.\n *\n * ```ts\n * <verdocs-send\n * templateId={templateId}\n * onBeforeSend={({ detail })) => { console.log('Sending... Show a spinner...', detail) }\n * onSend={({ detail }) => { console.log('Sent! Hide the spinner...', detail) }\n * onExit={(e) => { console.log('Send cancelled.', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\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 ID of the template to create the document from.\n */\n @Prop({reflect: true}) templateId: string | null = null;\n\n /**\n * The environment the control is being called from, e.g. 'web'. This has an impact on how certain\n * operations such as email communications are handled to ensure users receive the correct URLs for\n * their invitations. Setting this to unknown values may produce unexpected/incorrect behaviors.\n * If environment is not known, do this set this property.\n */\n @Prop() environment: string = '';\n\n /**\n * The user is sending an envelope the form and clicked send.\n */\n @Event({composed: true}) beforeSend: EventEmitter<{recipients: ICreateEnvelopeRecipient[]; name: string; template_id: string; template: ITemplate}>;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipients: ICreateEnvelopeRecipient[]; name: string; template_id: string; envelope_id: string; envelope: IEnvelope}>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired 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 user enters text in a search field. The parent application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n @State() showPickerForId = '';\n @State() sessionContacts = [];\n @State() sending = false;\n @State() rolesCompleted: Record<string, Partial<IRecipient>> = {};\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[SEND] Loading template', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n true,\n (template: ITemplate) => {\n console.log('[SEND] Got new template', template);\n this.template = template;\n this.loading = false;\n this.rolesCompleted = {};\n this.recomputeRolesCompleted();\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Method() async reset() {\n this.rolesCompleted = {};\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[SEND] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.onSessionChanged((_endpoint, _session, profile) => {\n if (!profile) {\n return;\n }\n\n const me = {\n id: profile.id,\n first_name: profile.first_name,\n last_name: profile.last_name,\n email: profile.email,\n phone: profile.phone,\n };\n\n if (profile) {\n this.sessionContacts = [me];\n\n getOrganizationContacts(this.endpoint)\n .then(contacts => {\n console.log('[SEND] Got contacts', contacts);\n this.sessionContacts = [...contacts, me];\n })\n .catch(e => {\n console.log('[SEND] Error getting contacts', e);\n });\n }\n });\n\n this.endpoint.loadSession();\n\n if (!this.endpoint.session) {\n console.log('[SEND] Unable to start Send operation, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[SEND] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[SEND] Error with send session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n recomputeRolesCompleted() {\n this.rolesCompleted = {};\n\n const rolesAtLevel: Record<number, Partial<IRecipient>[]> = {};\n (this.template?.roles || []).forEach(role => {\n const level = role.sequence - 1;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name});\n\n // if (role.first_name && (isValidEmail(role.email) || isValidPhone(role.phone))) {\n if (role.first_name && isValidEmail(role.email)) {\n this.rolesCompleted[id] = {...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name};\n }\n });\n }\n\n getSequenceNumbers() {\n // This is cleaner with a Set but we found a regression in some target environments where\n // this breaks down. Reverting to an older technique while we diagnose it.\n const sequences: Record<number, boolean> = {};\n (this.template?.roles || []).forEach(role => {\n sequences[role.sequence] = true;\n });\n return Object.keys(sequences)\n .map(s => +s)\n .sort((a, b) => a - b);\n }\n\n getRolesAtLevel(level: number) {\n const rolesAtLevel = (this.template?.roles || [])\n .filter(role => role.sequence === level)\n .map((role, index) => ({\n ...role,\n id: `r-${level}-${index}`,\n role_name: role.name,\n first_name: role.first_name,\n last_name: role.last_name,\n }));\n return rolesAtLevel as Partial<IRecipient>[];\n }\n\n getLevelIcon(level: 'start' | 'end' | 'sequence') {\n if (level === 'start') {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level === 'end') {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: Partial<IRecipient>) {\n e.preventDefault();\n this.rolesCompleted[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: Partial<IRecipient>) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e: any) {\n if (this.sending) {\n console.log('[SEND] Skipping duplicate send', e);\n return;\n }\n\n console.log('[SEND] Sending', e);\n e.preventDefault();\n e.stopPropagation();\n\n this.sending = true;\n\n const details: ICreateEnvelopeFromTemplateRequest = {\n template_id: this.templateId,\n name: this.template?.name || 'New Envelope',\n environment: this.environment,\n initial_reminder: 0,\n followup_reminders: 0,\n recipients: Object.values(this.rolesCompleted) as ICreateEnvelopeRecipient[],\n // TODO: Pre-filled fields support\n fields: [],\n };\n\n const beforeSendResult = this.beforeSend.emit({...details, name: details.name!, template: this.template});\n if (beforeSendResult.defaultPrevented) {\n console.log('[SEND] Send cancelled by parent', details);\n this.sending = false;\n return;\n }\n\n console.log('[SEND] Creating envelope', details);\n createEnvelope(this.endpoint, details)\n .then(r => {\n console.log('[SEND] Send envelope', r);\n this.reset().catch((e: any) => console.log('Unknown Error', e));\n this.sending = false;\n this.send?.emit({...details, name: details.name!, envelope_id: r.id, envelope: r});\n })\n .catch(e => {\n console.log('[SEND] Send error', e);\n VerdocsToast(e.response?.data?.error || 'Error creating envelope, please try again later.');\n this.sending = false;\n this.sdkError?.emit(e);\n });\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.exit?.emit();\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host style={{display: 'flex'}}>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const levels = this.getSequenceNumbers();\n const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) && recipient.first_name && recipient.last_name);\n const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;\n\n return (\n <Host class={{sendable: this.template?.is_sendable}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon('start')}\n <div class=\"complete\">Send Envelope</div>\n </div>\n\n {levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon('sequence')}\n\n {this.getRolesAtLevel(level).map(role => {\n const unknown = !role.email || !role.first_name || !role.last_name;\n const roleName = this.rolesCompleted[role.id]?.first_name ? formatFullName(this.rolesCompleted[role.id]) : unknown ? role.role_name : formatFullName(role);\n const elId = `verdocs-send-recipient-${role.role_name}`;\n const roleIndex = getRoleIndex(this.template, role.role_name);\n const rgba = getRGBA(roleIndex);\n const completed = rolesAssigned.findIndex(r => r.role_name === role.role_name) > -1;\n\n const style = {\n backgroundColor: rgba,\n border: completed ? '2px solid #55bc81' : '2px solid #dddddd',\n };\n\n return unknown ? (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={this.rolesCompleted[role.id] ?? role}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n ) : (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {/*<div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={{borderColor: rgba}} onClick={e => this.handleClickRole(e, role)} id={elId}>*/}\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={(this.rolesCompleted[role.id] ?? role) as IRecipient}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n );\n })}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon('end')}\n <div class=\"complete\">Signing Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} disabled={this.sending} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRolesAssigned || this.sending} onClick={e => this.handleSend(e)} />\n {this.sending && <verdocs-spinner />}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,10 +1,11 @@
1
1
  import { Host, Fragment, h } from "@stencil/core";
2
- import { updateEnvelopeFieldSignature, uploadEnvelopeFieldAttachment, VerdocsEndpoint } from "@verdocs/js-sdk";
3
- import { updateEnvelopeField, sortFields, submitKbaIdentity, submitKbaChallengeResponse } from "@verdocs/js-sdk";
4
- import { fullNameToInitials, startSigningSession, deleteEnvelopeFieldAttachment, getKbaStep } from "@verdocs/js-sdk";
5
- import { getEnvelope, integerSequence, isValidEmail, isValidPhone, submitKbaPin, updateEnvelopeFieldInitials } from "@verdocs/js-sdk";
2
+ import { authenticateSigner } from "@verdocs/js-sdk";
6
3
  import { createInitials, createSignature, envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit, formatFullName } from "@verdocs/js-sdk";
4
+ import { getEnvelope, integerSequence, isValidEmail, isValidPhone, updateEnvelopeFieldInitials } from "@verdocs/js-sdk";
7
5
  import { getFieldId, renderDocumentField, saveAttachment, updateDocumentFieldValue } from "../../../utils/utils";
6
+ import { updateEnvelopeFieldSignature, uploadEnvelopeFieldAttachment, VerdocsEndpoint } from "@verdocs/js-sdk";
7
+ import { fullNameToInitials, startSigningSession, deleteEnvelopeFieldAttachment } from "@verdocs/js-sdk";
8
+ import { updateEnvelopeField, sortFields } from "@verdocs/js-sdk";
8
9
  import { VerdocsToast } from "../../../utils/Toast";
9
10
  import { SDKError } from "../../../utils/errors";
10
11
  import { Store } from "../../../utils/Datastore";
@@ -82,7 +83,10 @@ export class VerdocsSign {
82
83
  this.showFinishLater = false;
83
84
  this.agreed = false;
84
85
  this.documentsSingularPlural = 'document';
85
- this.kbaStep = '';
86
+ // TODO
87
+ // @State() authStep: TRecipientAuthMethod | null = null;
88
+ this.authStep = null;
89
+ this.authDetails = null;
86
90
  this.kbaQuestions = [];
87
91
  this.showSpinner = false;
88
92
  this.kbaChoices = [];
@@ -132,13 +136,26 @@ export class VerdocsSign {
132
136
  if (this.recipientIndex > -1) {
133
137
  this.recipient = this.sortedRecipients[this.recipientIndex];
134
138
  this.agreed = this.recipient.agreed;
139
+ this.submitted = this.recipient.status === 'submitted';
140
+ this.authStep = this.recipient.auth_step;
141
+ if (this.authStep) {
142
+ console.log('[SIGN] Authentication required', this.authStep);
143
+ }
144
+ const auth_method_states = (this.recipient.auth_method_states || {});
145
+ if (Object.values(auth_method_states).includes('failed')) {
146
+ this.fatalErrorHeader = 'Recipient Verification Failed';
147
+ this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';
148
+ this.isDone = true;
149
+ }
150
+ // TODO
151
+ // this.kbaQuestions = (r as any).questions?.question || [];
152
+ // this.kbaChoices = [];
135
153
  }
136
154
  else {
137
155
  console.warn('[SIGN] Could not find our recipient record', this.roleId, this.sortedRecipients);
138
156
  }
139
157
  // TODO: Envelope "complete" | "declined" | "canceled"
140
158
  // TODO: Recipient "canceled"
141
- this.submitted = this.recipient.status === 'submitted';
142
159
  this.isDone = this.submitted;
143
160
  this.showDone = this.submitted;
144
161
  if (this.envelope.status === 'canceled') {
@@ -154,24 +171,6 @@ export class VerdocsSign {
154
171
  }
155
172
  this.checkRecipientFields();
156
173
  (_d = this.envelopeLoaded) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: this.envelope });
157
- if (!this.isDone) {
158
- getKbaStep(this.endpoint, this.envelopeId, this.roleId)
159
- .then(r => {
160
- var _a;
161
- console.log('[SIGN] KBA Step', r);
162
- this.kbaStep = r.kba_step;
163
- if (this.kbaStep === 'failed') {
164
- this.fatalErrorHeader = 'Identity Verification Failed';
165
- this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';
166
- this.isDone = true;
167
- }
168
- else {
169
- this.kbaQuestions = ((_a = r.questions) === null || _a === void 0 ? void 0 : _a.question) || [];
170
- this.kbaChoices = [];
171
- }
172
- })
173
- .catch(e => console.log('Error getting KBA step', e));
174
- }
175
174
  }
176
175
  catch (e) {
177
176
  console.log('[SIGN] Error with signing session', e);
@@ -590,6 +589,27 @@ export class VerdocsSign {
590
589
  });
591
590
  this.checkRecipientFields();
592
591
  }
592
+ handleAuthenticateSigner(params) {
593
+ console.log('[SIGN] Submitting authentication step', params);
594
+ authenticateSigner(this.endpoint, params)
595
+ .then(r => {
596
+ console.log('[SIGN] Authentication successful', r);
597
+ this.authStep = r.auth_step;
598
+ this.authDetails = r.auth_details;
599
+ })
600
+ .catch(e => {
601
+ var _a, _b, _c, _d, _e;
602
+ console.log('[SIGN] Error submitting authentication step', e);
603
+ if ((_c = (_b = (_a = e.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === null || _c === void 0 ? void 0 : _c.includes('failed')) {
604
+ this.fatalErrorHeader = 'Recipient Verification Failed';
605
+ this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';
606
+ this.isDone = true;
607
+ }
608
+ else {
609
+ VerdocsToast(((_e = (_d = e.response) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.error) || 'Unable to verify your identity. Please try again.', { style: 'error' });
610
+ }
611
+ });
612
+ }
593
613
  render() {
594
614
  if (this.showLoadError) {
595
615
  return (h(Host, null, h("verdocs-ok-dialog", { heading: "Unable to Start Signing", message: `Sorry, your invite code is invalid or has expired. Please check your email for an updated invitation, or contact the sender.`, buttonLabel: "OK", onNext: () => {
@@ -613,86 +633,91 @@ export class VerdocsSign {
613
633
  if (!this.agreed) {
614
634
  return (h(Host, { class: "agreed" }, h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name))), h("div", { class: "document", style: { paddingTop: '15px' } }, h("img", { src: "https://public-assets.verdocs.com/loading-placeholder.png", style: { width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px' }, alt: "Placeholder page" })), h("div", { class: "cover" }, h("div", { class: "agree" }, h("verdocs-checkbox", { name: "agree", label: "By checking this box, you:", onInput: () => this.handleClickAgree() }), h("ul", null, h("li", null, "Agree to use electronic records and signatures, and confirm you have read the", ' ', h("a", { href: "https://verdocs.com/en/electronic-record-signature-disclosure/", target: "_blank" }, "Electronic Record and Signatures Disclosure"), "."), h("li", null, "Agree to Verdocs'", ' ', h("a", { href: "https://verdocs.com/en/eula", target: "_blank" }, "End User License Agreement"), ' ', "and confirm you have read Verdocs'", ' ', h("a", { href: "https://verdocs.com/en/privacy-policy/", target: "_blank" }, "Privacy Policy"), "."))))));
615
635
  }
616
- if (this.kbaStep === 'pin') {
617
- return (h(Host, { class: "kba" }, h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name))), h("div", { class: "document", style: { paddingTop: '15px' } }, h("img", { src: "https://public-assets.verdocs.com/loading-placeholder.png", style: { width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px' }, alt: "Placeholder page" })), h("div", { class: "cover" }, h("div", { class: "kba" }, h("verdocs-kba-dialog", { mode: "text", step: 1, steps: 1, helptitle: "Document is protected by a PIN code", helptext: "Please enter your PIN code to proceed. If you do not have one, please contact the sender.", label: "PIN Code", onNext: async (e) => {
618
- submitKbaPin(this.endpoint, this.envelopeId, this.roleId, e.detail)
619
- .then(r => {
620
- console.log('[SIGN] PIN code submission result', r);
621
- if (r.kba_step === 'complete') {
622
- this.kbaStep = '';
623
- }
624
- })
625
- .catch(e => {
626
- var _a, _b, _c, _d;
627
- console.log('[SIGN] Error submitting PIN', e);
628
- if (((_b = (_a = e.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === 'Rejecting PIN submission, too many attempts') {
629
- this.fatalErrorHeader = 'PIN Verification Failed';
630
- this.fatalErrorMessage = 'Too many failed attempts. The sender has been notified.';
631
- this.isDone = true;
632
- }
633
- else {
634
- VerdocsToast(((_d = (_c = e.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.error) || 'Unable to verify PIN code. Please try again.', { style: 'error' });
635
- }
636
- });
637
- } })))));
636
+ if (this.authStep === 'passcode') {
637
+ return (h(Host, { class: "kba" }, h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name))), h("div", { class: "document", style: { paddingTop: '15px' } }, h("img", { src: "https://public-assets.verdocs.com/loading-placeholder.png", style: { width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px' }, alt: "Placeholder page" })), h("div", { class: "cover" }, h("div", { class: "kba" }, h("verdocs-kba-dialog", { mode: "text", step: 1, steps: 1, helptitle: "Document is protected by a Passcode", helptext: "Please enter your Passcode to proceed. If you do not have one, please contact the sender.", label: "Passcode", onNext: e => this.handleAuthenticateSigner({ auth_method: 'passcode', code: e.detail }) })))));
638
638
  }
639
- if (this.kbaStep === 'identity') {
639
+ if (this.authStep === 'kba') {
640
640
  return (h(Host, { class: "kba" }, h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name))), h("div", { class: "document", style: { paddingTop: '15px' } }, h("img", { src: "https://public-assets.verdocs.com/loading-placeholder.png", style: { width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px' }, alt: "Placeholder page" })), h("div", { class: "cover" }, h("div", { class: "kba" }, h("verdocs-kba-dialog", { mode: "identity", helptitle: "Document requires identity verification", helptext: "Please complete your contact details to proceed.", recipient: this.recipient, onNext: async (e) => {
641
641
  const recipDetails = e.detail;
642
- submitKbaIdentity(this.endpoint, this.envelopeId, this.roleId, {
643
- firstName: recipDetails.first_name,
644
- lastName: recipDetails.last_name,
642
+ this.handleAuthenticateSigner({
643
+ auth_method: 'kba',
644
+ first_name: recipDetails.first_name,
645
+ last_name: recipDetails.last_name,
645
646
  address: recipDetails.address,
646
647
  city: recipDetails.city,
647
648
  state: recipDetails.state,
648
649
  zip: recipDetails.zip,
649
- ssnLast4: recipDetails.ssn_last_4,
650
- })
651
- .then(r => {
652
- console.log('[SIGN] Identity submission result', r);
653
- this.kbaStep = r.kba_step;
654
- })
655
- .catch(e => {
656
- var _a, _b;
657
- console.log('[SIGN] Error submitting identity', e);
658
- VerdocsToast(((_b = (_a = e.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) || 'Unable to verify identity.', { style: 'error' });
650
+ ssn_last_4: recipDetails.ssn_last_4,
651
+ dob: recipDetails.dob,
659
652
  });
660
653
  } })))));
661
654
  }
662
- if (this.kbaStep === 'challenge') {
663
- const questionNumber = this.kbaChoices.length;
664
- const kbaQuestion = this.kbaQuestions[questionNumber];
665
- return (h(Host, { class: "kba" }, h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name))), h("div", { class: "document", style: { paddingTop: '15px' } }, h("img", { src: "https://public-assets.verdocs.com/loading-placeholder.png", style: { width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px' }, alt: "Placeholder page" })), h("div", { class: "cover" }, h("div", { class: "kba" }, this.kbaChoices.length >= this.kbaQuestions.length ? (h("verdocs-spinner", null)) : (h("verdocs-kba-dialog", { mode: "choice", helptitle: "Your identity requires additional verification", helptext: (kbaQuestion === null || kbaQuestion === void 0 ? void 0 : kbaQuestion.prompt) || 'Please select one of the options below.', choices: (kbaQuestion === null || kbaQuestion === void 0 ? void 0 : kbaQuestion.answer) || ['Skip Question'], step: questionNumber + 1, steps: this.kbaQuestions.length, onNext: async (e) => {
666
- var _a, _b, _c;
667
- const answer = e.detail;
668
- this.kbaChoices = [...this.kbaChoices, answer];
669
- if (this.kbaChoices.length >= this.kbaQuestions.length) {
670
- const responses = this.kbaQuestions.map((q, i) => ({ type: q.type, answer: this.kbaChoices[i] }));
671
- console.log('Submitting KBA responses', this.kbaChoices, responses);
672
- try {
673
- const response = await submitKbaChallengeResponse(this.endpoint, this.envelopeId, this.roleId, responses);
674
- console.log('KBA challenge response', response);
675
- this.kbaStep = response.kba_step;
676
- if (this.kbaStep === 'failed') {
677
- this.fatalErrorHeader = 'Identity Verification Failed';
678
- this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';
679
- this.isDone = true;
680
- }
681
- else {
682
- this.kbaQuestions = ((_a = response.questions) === null || _a === void 0 ? void 0 : _a.question) || [];
683
- this.kbaChoices = [];
684
- }
685
- }
686
- catch (e) {
687
- console.log('Error submitting KBA challenge', e);
688
- this.kbaStep = '';
689
- this.fatalErrorHeader = 'Unable to Verify Identity';
690
- this.fatalErrorMessage = ((_c = (_b = e.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.error) || 'Please try again later.';
691
- this.isDone = true;
692
- }
693
- }
694
- } }))))));
695
- }
655
+ // if (this.kbaStep === 'challenge') {
656
+ // const questionNumber = this.kbaChoices.length;
657
+ // const kbaQuestion = this.kbaQuestions[questionNumber];
658
+ // return (
659
+ // <Host class="kba">
660
+ // <div id="verdocs-sign-header">
661
+ // <div class="inner">
662
+ // <img src="https://verdocs.com/assets/white-logo.svg" alt="Verdocs Logo" class="logo" />
663
+ // <div class="title">{this.envelope.name}</div>
664
+ // </div>
665
+ // </div>
666
+ //
667
+ // <div class="document" style={{paddingTop: '15px'}}>
668
+ // <img
669
+ // src="https://public-assets.verdocs.com/loading-placeholder.png"
670
+ // style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}
671
+ // alt="Placeholder page"
672
+ // />
673
+ // </div>
674
+ //
675
+ // <div class="cover">
676
+ // <div class="kba">
677
+ // {this.kbaChoices.length >= this.kbaQuestions.length ? (
678
+ // <verdocs-spinner />
679
+ // ) : (
680
+ // <verdocs-kba-dialog
681
+ // mode="choice"
682
+ // helptitle="Your identity requires additional verification"
683
+ // helptext={kbaQuestion?.prompt || 'Please select one of the options below.'}
684
+ // choices={kbaQuestion?.answer || ['Skip Question']}
685
+ // step={questionNumber + 1}
686
+ // steps={this.kbaQuestions.length}
687
+ // onNext={async (e: any) => {
688
+ // const answer = e.detail as string;
689
+ // this.kbaChoices = [...this.kbaChoices, answer];
690
+ // if (this.kbaChoices.length >= this.kbaQuestions.length) {
691
+ // const responses = this.kbaQuestions.map((q, i) => ({type: q.type, answer: this.kbaChoices[i]}));
692
+ // console.log('Submitting KBA responses', this.kbaChoices, responses);
693
+ // try {
694
+ // const response = await submitKbaChallengeResponse(this.endpoint, this.envelopeId, this.roleId, responses);
695
+ // console.log('KBA challenge response', response);
696
+ // this.kbaStep = response.kba_step;
697
+ // if (this.kbaStep === 'failed') {
698
+ // this.fatalErrorHeader = 'Identity Verification Failed';
699
+ // this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';
700
+ // this.isDone = true;
701
+ // } else {
702
+ // this.kbaQuestions = (response as any).questions?.question || [];
703
+ // this.kbaChoices = [];
704
+ // }
705
+ // } catch (e) {
706
+ // console.log('Error submitting KBA challenge', e);
707
+ // this.kbaStep = '';
708
+ // this.fatalErrorHeader = 'Unable to Verify Identity';
709
+ // this.fatalErrorMessage = e.response?.data?.error || 'Please try again later.';
710
+ // this.isDone = true;
711
+ // }
712
+ // }
713
+ // }}
714
+ // />
715
+ // )}
716
+ // </div>
717
+ // </div>
718
+ // </Host>
719
+ // );
720
+ // }
696
721
  return (h(Host, null, h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name), h("div", { style: { flex: '1' } }), !this.finishLater && h("verdocs-button", { size: "xsmall", label: this.nextButtonLabel, disabled: !this.agreed, onClick: () => this.handleNext() }), h("div", { style: { marginLeft: '10px' } }), h("verdocs-dropdown", { options: !this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions, onOptionSelected: e => this.handleOptionSelected(e) }))), h("div", { class: "document", style: { paddingTop: '15px' } }, (this.envelope.documents || []).map(envelopeDocument => {
697
722
  const pageNumbers = integerSequence(1, envelopeDocument.pages);
698
723
  return (h(Fragment, null, pageNumbers.map(pageNumber => {
@@ -855,7 +880,8 @@ export class VerdocsSign {
855
880
  "showFinishLater": {},
856
881
  "agreed": {},
857
882
  "documentsSingularPlural": {},
858
- "kbaStep": {},
883
+ "authStep": {},
884
+ "authDetails": {},
859
885
  "kbaQuestions": {},
860
886
  "showSpinner": {},
861
887
  "kbaChoices": {},