@verdocs/web-sdk 1.9.16 → 1.9.21

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 (494) hide show
  1. package/dist/cjs/Envelopes-2277461f.js +65 -0
  2. package/dist/cjs/Envelopes-2277461f.js.map +1 -0
  3. package/dist/cjs/{Templates-01d520ad.js → Templates-3404a881.js} +2 -2
  4. package/dist/cjs/{Templates-01d520ad.js.map → Templates-3404a881.js.map} +1 -1
  5. package/dist/cjs/Token-576f0e8a.js +73 -0
  6. package/dist/cjs/Token-576f0e8a.js.map +1 -0
  7. package/dist/cjs/{VerdocsEndpoint-8c408e5b.js → VerdocsEndpoint-a9bf9d59.js} +3 -70
  8. package/dist/cjs/VerdocsEndpoint-a9bf9d59.js.map +1 -0
  9. package/dist/cjs/index-6528b430.js +2348 -0
  10. package/dist/cjs/index-6528b430.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{templateStore-42a49905.js → templateStore-3c43f83c.js} +2 -2
  13. package/dist/cjs/{templateStore-42a49905.js.map → templateStore-3c43f83c.js.map} +1 -1
  14. package/dist/cjs/utils-9b27a65b.js +350 -0
  15. package/dist/cjs/utils-9b27a65b.js.map +1 -0
  16. package/dist/cjs/verdocs-auth.cjs.entry.js +2 -1
  17. package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
  18. package/dist/cjs/verdocs-build.cjs.entry.js +5 -4
  19. package/dist/cjs/verdocs-build.cjs.entry.js.map +1 -1
  20. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +2 -1
  21. package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
  22. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +7 -2
  23. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js.map +1 -1
  24. package/dist/cjs/verdocs-field-date.cjs.entry.js +9 -1
  25. package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
  26. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
  27. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
  28. package/dist/cjs/verdocs-field-initial.cjs.entry.js +7 -2
  29. package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
  30. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
  31. package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
  32. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +12 -8
  33. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js.map +1 -1
  34. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +7 -2
  35. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
  36. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +6 -1
  37. package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
  38. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +9 -3
  39. package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
  40. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +16 -4
  41. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
  42. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  43. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js.map +1 -1
  44. package/dist/cjs/verdocs-organization-card.cjs.entry.js +2 -2344
  45. package/dist/cjs/verdocs-organization-card.cjs.entry.js.map +1 -1
  46. package/dist/cjs/verdocs-preview.cjs.entry.js +5 -4
  47. package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
  48. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +2 -1
  49. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js.map +1 -1
  50. package/dist/cjs/verdocs-search.cjs.entry.js +2 -1
  51. package/dist/cjs/verdocs-search.cjs.entry.js.map +1 -1
  52. package/dist/cjs/verdocs-send.cjs.entry.js +3 -2
  53. package/dist/cjs/verdocs-send.cjs.entry.js.map +1 -1
  54. package/dist/cjs/verdocs-sign.cjs.entry.js +135 -84
  55. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  56. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +5 -4
  57. package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
  58. package/dist/cjs/verdocs-view.cjs.entry.js +26 -63
  59. package/dist/cjs/verdocs-view.cjs.entry.js.map +1 -1
  60. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  61. package/dist/collection/collection-manifest.json +1 -1
  62. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
  63. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js.map +1 -1
  64. package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.css +0 -0
  65. package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.js +23 -1
  66. package/dist/collection/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.js.map +1 -0
  67. package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.stories.js +0 -0
  68. package/dist/collection/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.stories.js.map +1 -0
  69. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +25 -0
  70. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
  71. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.css +4 -0
  72. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +22 -0
  73. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  74. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.css +15 -6
  75. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +27 -23
  76. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js.map +1 -1
  77. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.css +4 -0
  78. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js +22 -0
  79. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  80. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +22 -0
  81. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  82. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +24 -1
  83. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  84. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.css +4 -3
  85. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js +32 -3
  86. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
  87. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +17 -0
  88. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +142 -69
  89. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  90. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +3 -5
  91. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -1
  92. package/dist/collection/components/embeds/verdocs-view/verdocs-view.css +60 -3
  93. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +22 -61
  94. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
  95. package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +1 -1
  96. package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js.map +1 -1
  97. package/dist/collection/utils/Envelopes.js +5 -2
  98. package/dist/collection/utils/Envelopes.js.map +1 -1
  99. package/dist/collection/utils/utils.js +45 -15
  100. package/dist/collection/utils/utils.js.map +1 -1
  101. package/dist/components/Envelopes.js +8 -115
  102. package/dist/components/Envelopes.js.map +1 -1
  103. package/dist/components/Token.js +71 -0
  104. package/dist/components/Token.js.map +1 -0
  105. package/dist/components/VerdocsEndpoint.js +2 -68
  106. package/dist/components/VerdocsEndpoint.js.map +1 -1
  107. package/dist/components/index.d.ts +1 -1
  108. package/dist/components/index2.js +2328 -178
  109. package/dist/components/index2.js.map +1 -1
  110. package/dist/components/index3.js +196 -0
  111. package/dist/components/index3.js.map +1 -0
  112. package/dist/components/templateStore.js +1 -1
  113. package/dist/components/utils.js +157 -16
  114. package/dist/components/utils.js.map +1 -1
  115. package/dist/components/verdocs-field-checkbox.js +6 -1
  116. package/dist/components/verdocs-field-checkbox.js.map +1 -1
  117. package/dist/components/verdocs-field-date.js +8 -0
  118. package/dist/components/verdocs-field-date.js.map +1 -1
  119. package/dist/components/verdocs-field-initial.js +6 -1
  120. package/dist/components/verdocs-field-initial.js.map +1 -1
  121. package/dist/components/verdocs-field-radio-button.js +12 -8
  122. package/dist/components/verdocs-field-radio-button.js.map +1 -1
  123. package/dist/components/verdocs-field-signature2.js +6 -1
  124. package/dist/components/verdocs-field-signature2.js.map +1 -1
  125. package/dist/components/verdocs-field-textarea.js +5 -0
  126. package/dist/components/verdocs-field-textarea.js.map +1 -1
  127. package/dist/components/verdocs-field-textbox.js +7 -1
  128. package/dist/components/verdocs-field-textbox.js.map +1 -1
  129. package/dist/components/verdocs-field-timestamp.js +16 -4
  130. package/dist/components/verdocs-field-timestamp.js.map +1 -1
  131. package/dist/components/verdocs-ok-dialog2.js +1 -1
  132. package/dist/components/verdocs-ok-dialog2.js.map +1 -1
  133. package/dist/components/verdocs-organization-card.js +1 -2343
  134. package/dist/components/verdocs-organization-card.js.map +1 -1
  135. package/dist/components/verdocs-sign.js +132 -79
  136. package/dist/components/verdocs-sign.js.map +1 -1
  137. package/dist/components/verdocs-template-fields2.js +1 -1
  138. package/dist/components/verdocs-view.js +24 -62
  139. package/dist/components/verdocs-view.js.map +1 -1
  140. package/dist/docs.json +151 -16
  141. package/dist/esm/Envelopes-c80609e5.js +62 -0
  142. package/dist/esm/Envelopes-c80609e5.js.map +1 -0
  143. package/dist/esm/{Templates-e77fb578.js → Templates-7ae1294e.js} +2 -2
  144. package/dist/esm/{Templates-e77fb578.js.map → Templates-7ae1294e.js.map} +1 -1
  145. package/dist/esm/Token-54690789.js +71 -0
  146. package/dist/esm/Token-54690789.js.map +1 -0
  147. package/dist/esm/{VerdocsEndpoint-dac04424.js → VerdocsEndpoint-76dbf9b9.js} +3 -69
  148. package/dist/esm/VerdocsEndpoint-76dbf9b9.js.map +1 -0
  149. package/dist/esm/index-d264c496.js +2346 -0
  150. package/dist/esm/index-d264c496.js.map +1 -0
  151. package/dist/esm/loader.js +1 -1
  152. package/dist/esm/{templateStore-b8512d36.js → templateStore-a6dfb726.js} +2 -2
  153. package/dist/esm/{templateStore-b8512d36.js.map → templateStore-a6dfb726.js.map} +1 -1
  154. package/dist/esm/utils-53001d87.js +336 -0
  155. package/dist/esm/utils-53001d87.js.map +1 -0
  156. package/dist/esm/verdocs-auth.entry.js +2 -1
  157. package/dist/esm/verdocs-auth.entry.js.map +1 -1
  158. package/dist/esm/verdocs-build.entry.js +5 -4
  159. package/dist/esm/verdocs-build.entry.js.map +1 -1
  160. package/dist/esm/verdocs-contact-picker.entry.js +2 -1
  161. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
  162. package/dist/esm/verdocs-field-checkbox.entry.js +7 -2
  163. package/dist/esm/verdocs-field-checkbox.entry.js.map +1 -1
  164. package/dist/esm/verdocs-field-date.entry.js +9 -1
  165. package/dist/esm/verdocs-field-date.entry.js.map +1 -1
  166. package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
  167. package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
  168. package/dist/esm/verdocs-field-initial.entry.js +7 -2
  169. package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
  170. package/dist/esm/verdocs-field-payment.entry.js +2 -1
  171. package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
  172. package/dist/esm/verdocs-field-radio-button.entry.js +13 -9
  173. package/dist/esm/verdocs-field-radio-button.entry.js.map +1 -1
  174. package/dist/esm/verdocs-field-signature_3.entry.js +7 -2
  175. package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
  176. package/dist/esm/verdocs-field-textarea.entry.js +6 -1
  177. package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
  178. package/dist/esm/verdocs-field-textbox.entry.js +9 -3
  179. package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
  180. package/dist/esm/verdocs-field-timestamp.entry.js +16 -4
  181. package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
  182. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  183. package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
  184. package/dist/esm/verdocs-organization-card.entry.js +1 -2343
  185. package/dist/esm/verdocs-organization-card.entry.js.map +1 -1
  186. package/dist/esm/verdocs-preview.entry.js +5 -4
  187. package/dist/esm/verdocs-preview.entry.js.map +1 -1
  188. package/dist/esm/verdocs-quick-functions_3.entry.js +2 -1
  189. package/dist/esm/verdocs-quick-functions_3.entry.js.map +1 -1
  190. package/dist/esm/verdocs-search.entry.js +2 -1
  191. package/dist/esm/verdocs-search.entry.js.map +1 -1
  192. package/dist/esm/verdocs-send.entry.js +3 -2
  193. package/dist/esm/verdocs-send.entry.js.map +1 -1
  194. package/dist/esm/verdocs-sign.entry.js +131 -80
  195. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  196. package/dist/esm/verdocs-template-create_4.entry.js +5 -4
  197. package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
  198. package/dist/esm/verdocs-view.entry.js +26 -63
  199. package/dist/esm/verdocs-view.entry.js.map +1 -1
  200. package/dist/esm/verdocs-web-sdk.js +1 -1
  201. package/dist/esm-es5/Envelopes-c80609e5.js +2 -0
  202. package/dist/esm-es5/Envelopes-c80609e5.js.map +1 -0
  203. package/dist/esm-es5/{Templates-e77fb578.js → Templates-7ae1294e.js} +2 -2
  204. package/dist/esm-es5/{Templates-e77fb578.js.map → Templates-7ae1294e.js.map} +0 -0
  205. package/dist/esm-es5/Token-54690789.js +2 -0
  206. package/dist/esm-es5/Token-54690789.js.map +1 -0
  207. package/dist/esm-es5/VerdocsEndpoint-76dbf9b9.js +2 -0
  208. package/dist/esm-es5/VerdocsEndpoint-76dbf9b9.js.map +1 -0
  209. package/dist/esm-es5/index-d264c496.js +2 -0
  210. package/dist/esm-es5/index-d264c496.js.map +1 -0
  211. package/dist/esm-es5/loader.js +1 -1
  212. package/dist/esm-es5/loader.js.map +1 -1
  213. package/dist/esm-es5/{templateStore-b8512d36.js → templateStore-a6dfb726.js} +2 -2
  214. package/dist/esm-es5/{templateStore-b8512d36.js.map → templateStore-a6dfb726.js.map} +0 -0
  215. package/dist/esm-es5/utils-53001d87.js +2 -0
  216. package/dist/esm-es5/utils-53001d87.js.map +1 -0
  217. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  218. package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
  219. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  220. package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
  221. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  222. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
  223. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  224. package/dist/esm-es5/verdocs-field-checkbox.entry.js.map +1 -1
  225. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  226. package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
  227. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  228. package/dist/esm-es5/verdocs-field-dropdown.entry.js.map +1 -1
  229. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  230. package/dist/esm-es5/verdocs-field-initial.entry.js.map +1 -1
  231. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  232. package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
  233. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  234. package/dist/esm-es5/verdocs-field-radio-button.entry.js.map +1 -1
  235. package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
  236. package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
  237. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  238. package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
  239. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  240. package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
  241. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  242. package/dist/esm-es5/verdocs-field-timestamp.entry.js.map +1 -1
  243. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  244. package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
  245. package/dist/esm-es5/verdocs-organization-card.entry.js +1 -1
  246. package/dist/esm-es5/verdocs-organization-card.entry.js.map +1 -1
  247. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  248. package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
  249. package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
  250. package/dist/esm-es5/verdocs-quick-functions_3.entry.js.map +1 -1
  251. package/dist/esm-es5/verdocs-search.entry.js +1 -1
  252. package/dist/esm-es5/verdocs-search.entry.js.map +1 -1
  253. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  254. package/dist/esm-es5/verdocs-send.entry.js.map +1 -1
  255. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  256. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  257. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  258. package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
  259. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  260. package/dist/esm-es5/verdocs-view.entry.js.map +1 -1
  261. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  262. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  263. package/dist/types/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.d.ts +4 -0
  264. package/dist/types/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.stories.d.ts +0 -0
  265. package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +4 -0
  266. package/dist/types/components/elements/verdocs-field-initial/verdocs-field-initial.d.ts +4 -0
  267. package/dist/types/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +4 -11
  268. package/dist/types/components/elements/verdocs-field-signature/verdocs-field-signature.d.ts +4 -0
  269. package/dist/types/components/elements/verdocs-field-textarea/verdocs-field-textarea.d.ts +4 -0
  270. package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.d.ts +4 -0
  271. package/dist/types/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +4 -0
  272. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +19 -7
  273. package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +1 -2
  274. package/dist/types/components.d.ts +70 -10
  275. package/dist/types/utils/utils.d.ts +4 -1
  276. package/dist/verdocs-web-sdk/p-00cc11c3.entry.js +2 -0
  277. package/dist/verdocs-web-sdk/p-00cc11c3.entry.js.map +1 -0
  278. package/dist/verdocs-web-sdk/p-0e7a7666.entry.js +2 -0
  279. package/dist/verdocs-web-sdk/{p-c0875b7d.entry.js.map → p-0e7a7666.entry.js.map} +1 -1
  280. package/dist/verdocs-web-sdk/p-0eee7f43.system.js +2 -0
  281. package/dist/verdocs-web-sdk/p-0eee7f43.system.js.map +1 -0
  282. package/dist/verdocs-web-sdk/p-150a172e.system.entry.js +2 -0
  283. package/dist/verdocs-web-sdk/p-150a172e.system.entry.js.map +1 -0
  284. package/dist/verdocs-web-sdk/p-1f1127dd.js +2 -0
  285. package/dist/verdocs-web-sdk/p-1f1127dd.js.map +1 -0
  286. package/dist/verdocs-web-sdk/p-208a3320.js +2 -0
  287. package/dist/verdocs-web-sdk/p-208a3320.js.map +1 -0
  288. package/dist/verdocs-web-sdk/p-21603661.js +2 -0
  289. package/dist/verdocs-web-sdk/p-21603661.js.map +1 -0
  290. package/dist/verdocs-web-sdk/p-27f3e394.entry.js +2 -0
  291. package/dist/verdocs-web-sdk/{p-751e0c80.entry.js.map → p-27f3e394.entry.js.map} +1 -1
  292. package/dist/verdocs-web-sdk/p-2b7f196e.system.entry.js +2 -0
  293. package/dist/verdocs-web-sdk/p-2b7f196e.system.entry.js.map +1 -0
  294. package/dist/verdocs-web-sdk/p-2c0f9340.system.js +2 -0
  295. package/dist/verdocs-web-sdk/p-2c0f9340.system.js.map +1 -0
  296. package/dist/verdocs-web-sdk/p-3175c6f2.system.entry.js +2 -0
  297. package/dist/verdocs-web-sdk/p-3175c6f2.system.entry.js.map +1 -0
  298. package/dist/verdocs-web-sdk/p-35333c3b.entry.js +2 -0
  299. package/dist/verdocs-web-sdk/p-35333c3b.entry.js.map +1 -0
  300. package/dist/verdocs-web-sdk/p-359129d0.entry.js +2 -0
  301. package/dist/verdocs-web-sdk/{p-76fd7afd.entry.js.map → p-359129d0.entry.js.map} +1 -1
  302. package/dist/verdocs-web-sdk/{p-00dec610.system.js → p-4437603c.system.js} +2 -2
  303. package/dist/verdocs-web-sdk/{p-00dec610.system.js.map → p-4437603c.system.js.map} +0 -0
  304. package/dist/verdocs-web-sdk/p-48285c26.entry.js +2 -0
  305. package/dist/verdocs-web-sdk/p-48285c26.entry.js.map +1 -0
  306. package/dist/verdocs-web-sdk/p-4943d790.system.entry.js +2 -0
  307. package/dist/verdocs-web-sdk/p-4943d790.system.entry.js.map +1 -0
  308. package/dist/verdocs-web-sdk/p-4ef84b54.js +2 -0
  309. package/dist/verdocs-web-sdk/{p-d1f922c2.js.map → p-4ef84b54.js.map} +0 -0
  310. package/dist/verdocs-web-sdk/p-4f321d05.entry.js +2 -0
  311. package/dist/verdocs-web-sdk/p-4f321d05.entry.js.map +1 -0
  312. package/dist/verdocs-web-sdk/p-51a3ea62.system.js +2 -0
  313. package/dist/verdocs-web-sdk/p-51a3ea62.system.js.map +1 -0
  314. package/dist/verdocs-web-sdk/p-5bbbf36a.entry.js +2 -0
  315. package/dist/verdocs-web-sdk/p-5bbbf36a.entry.js.map +1 -0
  316. package/dist/verdocs-web-sdk/p-5c3fce00.entry.js +2 -0
  317. package/dist/verdocs-web-sdk/p-5c3fce00.entry.js.map +1 -0
  318. package/dist/verdocs-web-sdk/p-64cad758.system.entry.js +2 -0
  319. package/dist/verdocs-web-sdk/p-64cad758.system.entry.js.map +1 -0
  320. package/dist/verdocs-web-sdk/p-66eacdf0.system.entry.js +2 -0
  321. package/dist/verdocs-web-sdk/p-66eacdf0.system.entry.js.map +1 -0
  322. package/dist/verdocs-web-sdk/p-6c2273ee.system.entry.js +2 -0
  323. package/dist/verdocs-web-sdk/p-6c2273ee.system.entry.js.map +1 -0
  324. package/dist/verdocs-web-sdk/p-71de4718.entry.js +2 -0
  325. package/dist/verdocs-web-sdk/{p-fac05414.entry.js.map → p-71de4718.entry.js.map} +1 -1
  326. package/dist/verdocs-web-sdk/p-77a77df6.entry.js +2 -0
  327. package/dist/verdocs-web-sdk/{p-d1256888.entry.js.map → p-77a77df6.entry.js.map} +1 -1
  328. package/dist/verdocs-web-sdk/p-8251b9eb.entry.js +2 -0
  329. package/dist/verdocs-web-sdk/{p-2fe5b678.entry.js.map → p-8251b9eb.entry.js.map} +1 -1
  330. package/dist/verdocs-web-sdk/p-888cf244.system.entry.js +2 -0
  331. package/dist/verdocs-web-sdk/{p-a6fca8c0.system.entry.js.map → p-888cf244.system.entry.js.map} +1 -1
  332. package/dist/verdocs-web-sdk/p-90fe342a.entry.js +2 -0
  333. package/dist/verdocs-web-sdk/{p-2b44d1b3.entry.js.map → p-90fe342a.entry.js.map} +1 -1
  334. package/dist/verdocs-web-sdk/p-93ada77f.system.entry.js +2 -0
  335. package/dist/verdocs-web-sdk/{p-3629c585.system.entry.js.map → p-93ada77f.system.entry.js.map} +1 -1
  336. package/dist/verdocs-web-sdk/p-99144a0a.system.entry.js +2 -0
  337. package/dist/verdocs-web-sdk/{p-6a8ac53e.system.entry.js.map → p-99144a0a.system.entry.js.map} +1 -1
  338. package/dist/verdocs-web-sdk/p-9a763c04.entry.js +2 -0
  339. package/dist/verdocs-web-sdk/{p-a59f1f82.entry.js.map → p-9a763c04.entry.js.map} +1 -1
  340. package/dist/verdocs-web-sdk/p-a580d69a.system.entry.js +2 -0
  341. package/dist/verdocs-web-sdk/{p-690ade87.system.entry.js.map → p-a580d69a.system.entry.js.map} +1 -1
  342. package/dist/verdocs-web-sdk/p-a9429014.system.entry.js +2 -0
  343. package/dist/verdocs-web-sdk/p-a9429014.system.entry.js.map +1 -0
  344. package/dist/verdocs-web-sdk/p-a9d20e4b.system.entry.js +2 -0
  345. package/dist/verdocs-web-sdk/{p-79c160f4.system.entry.js.map → p-a9d20e4b.system.entry.js.map} +1 -1
  346. package/dist/verdocs-web-sdk/p-ab01f71e.js +2 -0
  347. package/dist/verdocs-web-sdk/p-ab01f71e.js.map +1 -0
  348. package/dist/verdocs-web-sdk/p-ace31857.system.entry.js +2 -0
  349. package/dist/verdocs-web-sdk/p-ace31857.system.entry.js.map +1 -0
  350. package/dist/verdocs-web-sdk/p-af2c2f79.system.js +2 -0
  351. package/dist/verdocs-web-sdk/p-af2c2f79.system.js.map +1 -0
  352. package/dist/verdocs-web-sdk/p-b10f26f2.entry.js +2 -0
  353. package/dist/verdocs-web-sdk/p-b10f26f2.entry.js.map +1 -0
  354. package/dist/verdocs-web-sdk/p-ba8727f3.system.entry.js +2 -0
  355. package/dist/verdocs-web-sdk/{p-6f7e9e81.system.entry.js.map → p-ba8727f3.system.entry.js.map} +1 -1
  356. package/dist/verdocs-web-sdk/p-bdff66f3.js +2 -0
  357. package/dist/verdocs-web-sdk/p-bdff66f3.js.map +1 -0
  358. package/dist/verdocs-web-sdk/p-c0804682.entry.js +2 -0
  359. package/dist/verdocs-web-sdk/p-c0804682.entry.js.map +1 -0
  360. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  361. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
  362. package/dist/verdocs-web-sdk/{p-8cce81ff.system.entry.js → p-c314c231.system.entry.js} +2 -2
  363. package/dist/verdocs-web-sdk/p-c314c231.system.entry.js.map +1 -0
  364. package/dist/verdocs-web-sdk/p-c475a969.system.entry.js +2 -0
  365. package/dist/verdocs-web-sdk/{p-d52297bc.system.entry.js.map → p-c475a969.system.entry.js.map} +1 -1
  366. package/dist/verdocs-web-sdk/p-cf1ed6b8.system.js +2 -0
  367. package/dist/verdocs-web-sdk/p-cf1ed6b8.system.js.map +1 -0
  368. package/dist/verdocs-web-sdk/p-d0a360d6.entry.js +2 -0
  369. package/dist/verdocs-web-sdk/p-d0a360d6.entry.js.map +1 -0
  370. package/dist/verdocs-web-sdk/p-d2c1dcf9.system.entry.js +2 -0
  371. package/dist/verdocs-web-sdk/{p-b5882803.system.entry.js.map → p-d2c1dcf9.system.entry.js.map} +1 -1
  372. package/dist/verdocs-web-sdk/p-d65f5bf7.system.entry.js +2 -0
  373. package/dist/verdocs-web-sdk/p-d65f5bf7.system.entry.js.map +1 -0
  374. package/dist/verdocs-web-sdk/{p-11fbd83d.entry.js → p-d774ad24.entry.js} +2 -2
  375. package/dist/verdocs-web-sdk/p-d774ad24.entry.js.map +1 -0
  376. package/dist/verdocs-web-sdk/p-d9b9a354.system.entry.js +2 -0
  377. package/dist/verdocs-web-sdk/{p-78ec7db1.system.entry.js.map → p-d9b9a354.system.entry.js.map} +1 -1
  378. package/dist/verdocs-web-sdk/p-dadccc57.js +2 -0
  379. package/dist/verdocs-web-sdk/{p-e920fbe1.js.map → p-dadccc57.js.map} +0 -0
  380. package/dist/verdocs-web-sdk/p-e014f9a6.system.entry.js +2 -0
  381. package/dist/verdocs-web-sdk/p-e014f9a6.system.entry.js.map +1 -0
  382. package/dist/verdocs-web-sdk/p-ecdd15bf.entry.js +2 -0
  383. package/dist/verdocs-web-sdk/{p-a15b9bc8.entry.js.map → p-ecdd15bf.entry.js.map} +1 -1
  384. package/dist/verdocs-web-sdk/p-f05afb1f.system.entry.js +2 -0
  385. package/dist/verdocs-web-sdk/{p-edc2802d.system.entry.js.map → p-f05afb1f.system.entry.js.map} +1 -1
  386. package/dist/verdocs-web-sdk/{p-90d7da87.system.js → p-f2137361.system.js} +2 -2
  387. package/dist/verdocs-web-sdk/{p-90d7da87.system.js.map → p-f2137361.system.js.map} +0 -0
  388. package/dist/verdocs-web-sdk/p-f2f60dc9.entry.js +2 -0
  389. package/dist/verdocs-web-sdk/p-f2f60dc9.entry.js.map +1 -0
  390. package/dist/verdocs-web-sdk/p-f632dbd8.entry.js +2 -0
  391. package/dist/verdocs-web-sdk/p-f632dbd8.entry.js.map +1 -0
  392. package/dist/verdocs-web-sdk/p-fa722164.entry.js +2 -0
  393. package/dist/verdocs-web-sdk/{p-524017b8.entry.js.map → p-fa722164.entry.js.map} +1 -1
  394. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  395. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  396. package/package.json +12 -12
  397. package/dist/cjs/Envelopes-ea5bf3fc.js +0 -177
  398. package/dist/cjs/Envelopes-ea5bf3fc.js.map +0 -1
  399. package/dist/cjs/VerdocsEndpoint-8c408e5b.js.map +0 -1
  400. package/dist/cjs/utils-beee79a1.js +0 -203
  401. package/dist/cjs/utils-beee79a1.js.map +0 -1
  402. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +0 -1
  403. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.stories.js.map +0 -1
  404. package/dist/esm/Envelopes-8038ca25.js +0 -169
  405. package/dist/esm/Envelopes-8038ca25.js.map +0 -1
  406. package/dist/esm/VerdocsEndpoint-dac04424.js.map +0 -1
  407. package/dist/esm/utils-2e6beff8.js +0 -195
  408. package/dist/esm/utils-2e6beff8.js.map +0 -1
  409. package/dist/esm-es5/Envelopes-8038ca25.js +0 -2
  410. package/dist/esm-es5/Envelopes-8038ca25.js.map +0 -1
  411. package/dist/esm-es5/VerdocsEndpoint-dac04424.js +0 -2
  412. package/dist/esm-es5/VerdocsEndpoint-dac04424.js.map +0 -1
  413. package/dist/esm-es5/utils-2e6beff8.js +0 -2
  414. package/dist/esm-es5/utils-2e6beff8.js.map +0 -1
  415. package/dist/verdocs-web-sdk/p-04f84127.system.entry.js +0 -2
  416. package/dist/verdocs-web-sdk/p-04f84127.system.entry.js.map +0 -1
  417. package/dist/verdocs-web-sdk/p-11fbd83d.entry.js.map +0 -1
  418. package/dist/verdocs-web-sdk/p-12a82c8b.entry.js +0 -2
  419. package/dist/verdocs-web-sdk/p-12a82c8b.entry.js.map +0 -1
  420. package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js +0 -2
  421. package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js.map +0 -1
  422. package/dist/verdocs-web-sdk/p-2467a244.entry.js +0 -2
  423. package/dist/verdocs-web-sdk/p-2467a244.entry.js.map +0 -1
  424. package/dist/verdocs-web-sdk/p-26dc355e.entry.js +0 -2
  425. package/dist/verdocs-web-sdk/p-26dc355e.entry.js.map +0 -1
  426. package/dist/verdocs-web-sdk/p-2870fa81.js +0 -2
  427. package/dist/verdocs-web-sdk/p-2870fa81.js.map +0 -1
  428. package/dist/verdocs-web-sdk/p-2b44d1b3.entry.js +0 -2
  429. package/dist/verdocs-web-sdk/p-2fe5b678.entry.js +0 -2
  430. package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js +0 -2
  431. package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js.map +0 -1
  432. package/dist/verdocs-web-sdk/p-339c7685.system.entry.js +0 -2
  433. package/dist/verdocs-web-sdk/p-339c7685.system.entry.js.map +0 -1
  434. package/dist/verdocs-web-sdk/p-3629c585.system.entry.js +0 -2
  435. package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js +0 -2
  436. package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js.map +0 -1
  437. package/dist/verdocs-web-sdk/p-40565c66.system.entry.js +0 -2
  438. package/dist/verdocs-web-sdk/p-40565c66.system.entry.js.map +0 -1
  439. package/dist/verdocs-web-sdk/p-430df46a.entry.js +0 -2
  440. package/dist/verdocs-web-sdk/p-430df46a.entry.js.map +0 -1
  441. package/dist/verdocs-web-sdk/p-4a332358.system.entry.js +0 -2
  442. package/dist/verdocs-web-sdk/p-4a332358.system.entry.js.map +0 -1
  443. package/dist/verdocs-web-sdk/p-524017b8.entry.js +0 -2
  444. package/dist/verdocs-web-sdk/p-5a323cf3.system.js +0 -2
  445. package/dist/verdocs-web-sdk/p-5a323cf3.system.js.map +0 -1
  446. package/dist/verdocs-web-sdk/p-690ade87.system.entry.js +0 -2
  447. package/dist/verdocs-web-sdk/p-6a8ac53e.system.entry.js +0 -2
  448. package/dist/verdocs-web-sdk/p-6f7e9e81.system.entry.js +0 -2
  449. package/dist/verdocs-web-sdk/p-751e0c80.entry.js +0 -2
  450. package/dist/verdocs-web-sdk/p-76fd7afd.entry.js +0 -2
  451. package/dist/verdocs-web-sdk/p-78ec7db1.system.entry.js +0 -2
  452. package/dist/verdocs-web-sdk/p-79c160f4.system.entry.js +0 -2
  453. package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js +0 -2
  454. package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js.map +0 -1
  455. package/dist/verdocs-web-sdk/p-83135a56.entry.js +0 -2
  456. package/dist/verdocs-web-sdk/p-83135a56.entry.js.map +0 -1
  457. package/dist/verdocs-web-sdk/p-8bd71fb6.system.entry.js +0 -2
  458. package/dist/verdocs-web-sdk/p-8bd71fb6.system.entry.js.map +0 -1
  459. package/dist/verdocs-web-sdk/p-8cce81ff.system.entry.js.map +0 -1
  460. package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js +0 -2
  461. package/dist/verdocs-web-sdk/p-a59f1f82.entry.js +0 -2
  462. package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js +0 -2
  463. package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js.map +0 -1
  464. package/dist/verdocs-web-sdk/p-a6fca8c0.system.entry.js +0 -2
  465. package/dist/verdocs-web-sdk/p-aad63275.entry.js +0 -2
  466. package/dist/verdocs-web-sdk/p-aad63275.entry.js.map +0 -1
  467. package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js +0 -2
  468. package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js.map +0 -1
  469. package/dist/verdocs-web-sdk/p-b5882803.system.entry.js +0 -2
  470. package/dist/verdocs-web-sdk/p-becd8d7e.js +0 -2
  471. package/dist/verdocs-web-sdk/p-becd8d7e.js.map +0 -1
  472. package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js +0 -2
  473. package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js.map +0 -1
  474. package/dist/verdocs-web-sdk/p-c0875b7d.entry.js +0 -2
  475. package/dist/verdocs-web-sdk/p-c803da60.system.js +0 -2
  476. package/dist/verdocs-web-sdk/p-c803da60.system.js.map +0 -1
  477. package/dist/verdocs-web-sdk/p-d1256888.entry.js +0 -2
  478. package/dist/verdocs-web-sdk/p-d1f922c2.js +0 -2
  479. package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js +0 -2
  480. package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js +0 -2
  481. package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js.map +0 -1
  482. package/dist/verdocs-web-sdk/p-deb5b86b.entry.js +0 -2
  483. package/dist/verdocs-web-sdk/p-deb5b86b.entry.js.map +0 -1
  484. package/dist/verdocs-web-sdk/p-df877830.entry.js +0 -2
  485. package/dist/verdocs-web-sdk/p-df877830.entry.js.map +0 -1
  486. package/dist/verdocs-web-sdk/p-e6f928eb.js +0 -2
  487. package/dist/verdocs-web-sdk/p-e6f928eb.js.map +0 -1
  488. package/dist/verdocs-web-sdk/p-e918e13e.entry.js +0 -2
  489. package/dist/verdocs-web-sdk/p-e918e13e.entry.js.map +0 -1
  490. package/dist/verdocs-web-sdk/p-e920fbe1.js +0 -2
  491. package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js +0 -2
  492. package/dist/verdocs-web-sdk/p-fac05414.entry.js +0 -2
  493. package/dist/verdocs-web-sdk/p-fb391ca5.entry.js +0 -2
  494. package/dist/verdocs-web-sdk/p-fb391ca5.entry.js.map +0 -1
@@ -58,6 +58,17 @@ verdocs-sign .tools {
58
58
  flex-direction: row;
59
59
  background-color: #33354c;
60
60
  }
61
+ verdocs-sign .tools .logo {
62
+ width: 77.5px;
63
+ margin: -6px 0 0 5px;
64
+ }
65
+ verdocs-sign .tools .title {
66
+ padding-left: 16px;
67
+ font-size: 18px;
68
+ font-weight: 500;
69
+ text-overflow: ellipsis;
70
+ white-space: nowrap;
71
+ }
61
72
  verdocs-sign .cover {
62
73
  top: 0;
63
74
  left: 0;
@@ -97,4 +108,10 @@ verdocs-sign .agree .intro {
97
108
  }
98
109
  verdocs-sign .agree .header {
99
110
  flex: 0 0 56px;
111
+ }
112
+
113
+ @media print {
114
+ verdocs-sign .header {
115
+ display: none;
116
+ }
100
117
  }
@@ -2,14 +2,16 @@ import { VerdocsEndpoint } from '@verdocs/js-sdk';
2
2
  import { Envelopes } from '@verdocs/js-sdk/Envelopes';
3
3
  import { createInitials } from '@verdocs/js-sdk/Envelopes/Initials';
4
4
  import { createSignature } from '@verdocs/js-sdk/Envelopes/Signatures';
5
- import { updateRecipientStatus } from '@verdocs/js-sdk/Envelopes/Recipients';
5
+ import { envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit } from '@verdocs/js-sdk/Envelopes/Recipients';
6
6
  import { isValidEmail, isValidPhone } from '@verdocs/js-sdk/Templates/Validators';
7
7
  import { Host, Fragment, h } from '@stencil/core';
8
8
  import { updateEnvelopeFieldInitials, updateEnvelopeFieldSignature } from '@verdocs/js-sdk/Envelopes/Envelopes';
9
- import { fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField } from '../../../utils/utils';
9
+ import { fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField, savePDF } from '../../../utils/utils';
10
10
  import { getEnvelopeById } from '../../../utils/Envelopes';
11
11
  import EnvelopeStore from '../../../utils/envelopeStore';
12
12
  import { SDKError } from '../../../utils/errors';
13
+ const PrintIcon = `<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"></path></svg>`;
14
+ const DownloadIcon = `<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z"></path></svg>`;
13
15
  /**
14
16
  * Display an envelope signing experience. This will display the envelope's attached
15
17
  * documents with signing fields overlaid on each page.
@@ -39,8 +41,11 @@ export class VerdocsSign {
39
41
  this.signerToken = null;
40
42
  this.hasSignature = false;
41
43
  this.nextButtonLabel = 'Start';
44
+ this.nextSubmits = false;
42
45
  this.errorMessage = '';
43
46
  this.focusedField = '';
47
+ this.isDone = false;
48
+ this.showDone = false;
44
49
  this.finishLater = false;
45
50
  this.showFinishLater = false;
46
51
  }
@@ -48,7 +53,7 @@ export class VerdocsSign {
48
53
  this.endpoint = new VerdocsEndpoint({ sessionType: 'signing' });
49
54
  }
50
55
  async componentDidLoad() {
51
- var _a, _b, _c, _d, _e, _f;
56
+ var _a, _b, _c, _d, _e, _f, _g;
52
57
  if (!this.envelopeId) {
53
58
  (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError('[SIGN] Missing required envelopId', 500, ''));
54
59
  return;
@@ -84,20 +89,25 @@ export class VerdocsSign {
84
89
  this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];
85
90
  this.fields = this.recipient.fields;
86
91
  }
92
+ this.isDone = ['submitted', 'canceled', 'declined'].includes(this.recipient.status);
93
+ console.log('Done', this.isDone);
87
94
  // TODO: Fix service to allow this?
88
95
  // const sigs = await getSignatures();
89
96
  // console.log('sigs', sigs);
97
+ (_d = this.envelopeLoaded) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope });
90
98
  }
91
99
  catch (e) {
92
100
  console.log('Error with signing session', e);
93
- (_d = this.sdkError) === null || _d === void 0 ? void 0 : _d.emit(new SDKError(e.message, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status, (_f = e.response) === null || _f === void 0 ? void 0 : _f.data));
101
+ (_e = this.sdkError) === null || _e === void 0 ? void 0 : _e.emit(new SDKError(e.message, (_f = e.response) === null || _f === void 0 ? void 0 : _f.status, (_g = e.response) === null || _g === void 0 ? void 0 : _g.data));
94
102
  }
95
103
  }
96
104
  handleClickAgree() {
97
- updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', { agreed: true })
105
+ envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, true)
98
106
  .then(r => {
107
+ var _a;
99
108
  this.nextButtonLabel = 'Next';
100
109
  this.recipient = r;
110
+ (_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'agreed' });
101
111
  })
102
112
  .catch(e => {
103
113
  var _a, _b, _c;
@@ -105,25 +115,6 @@ export class VerdocsSign {
105
115
  (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
106
116
  });
107
117
  }
108
- async savePDF() {
109
- const fileName = `${EnvelopeStore.envelope.name} - ${EnvelopeStore.envelope.updated_at.split('T')[0]}.pdf`;
110
- const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, EnvelopeStore.envelope.envelope_document_id);
111
- // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique
112
- // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image
113
- let xhr = new XMLHttpRequest();
114
- xhr.responseType = 'blob';
115
- xhr.onload = function () {
116
- let a = document.createElement('a');
117
- a.href = window.URL.createObjectURL(xhr.response);
118
- a.download = fileName;
119
- a.style.display = 'none';
120
- document.body.appendChild(a);
121
- a.click();
122
- a.remove();
123
- };
124
- xhr.open('GET', `data:application/pdf;base64,${data}`);
125
- xhr.send();
126
- }
127
118
  async handleOptionSelected(e) {
128
119
  switch (e.detail.id) {
129
120
  case 'later':
@@ -137,11 +128,17 @@ export class VerdocsSign {
137
128
  case 'claim':
138
129
  break;
139
130
  case 'decline':
131
+ {
132
+ const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);
133
+ console.log('Decline result', declineResult);
134
+ this.isDone = true;
135
+ }
140
136
  break;
141
137
  case 'print':
138
+ window.print();
142
139
  break;
143
140
  case 'download':
144
- this.savePDF().catch(() => { });
141
+ savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => { });
145
142
  break;
146
143
  }
147
144
  }
@@ -160,17 +157,20 @@ export class VerdocsSign {
160
157
  (_d = this.sdkError) === null || _d === void 0 ? void 0 : _d.emit(new SDKError(e.message, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status, (_f = e.response) === null || _f === void 0 ? void 0 : _f.data));
161
158
  });
162
159
  }
163
- async handleFieldChange(field, e, optionId) {
164
- console.log('fieldChange', field, e);
160
+ async handleFieldChange(field, e) {
161
+ console.log('fieldChange', field, e, e.target.value);
165
162
  const { value, checked } = e.target;
166
163
  switch (field.type) {
167
164
  case 'textbox':
168
165
  return this.saveFieldChange(field.name, { prepared: false, value });
169
- case 'checkbox_group':
170
- return this.saveFieldChange(field.name, { prepared: false, value: { options: [{ id: optionId, checked }] } });
171
- case 'radio_button_group':
172
- const options = field.settings.options.map(option => ({ id: option.id, selected: optionId === option.id }));
166
+ case 'checkbox_group': {
167
+ const options = field.settings.options.map(option => ({ id: option.id, checked: e.target.checked }));
168
+ return this.saveFieldChange(field.name, { prepared: false, value: { options } });
169
+ }
170
+ case 'radio_button_group': {
171
+ const options = field.settings.options.map(option => ({ id: option.id, selected: e.target.value === option.id }));
173
172
  return this.saveFieldChange(field.name, { prepared: false, value: { options } });
173
+ }
174
174
  case 'dropdown':
175
175
  return this.saveFieldChange(field.name, { prepared: false, value: e.detail });
176
176
  case 'initial':
@@ -190,38 +190,45 @@ export class VerdocsSign {
190
190
  case 'date':
191
191
  const iso = e.target.getAttribute('iso');
192
192
  return this.saveFieldChange(field.name, { prepared: false, value: iso });
193
+ case 'timestamp':
194
+ console.log('Updating timestamp', { value, ts: e.target.getAttribute('timestamp') });
195
+ break;
193
196
  default:
194
197
  console.log('Unhandled field update', { value, checked }, field);
195
198
  break;
196
199
  }
197
200
  }
198
201
  isFieldValid(field) {
199
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
202
+ var _a, _b, _c, _d, _e, _f, _g;
203
+ const { required = false } = field;
204
+ const { result = '', value = '', base64 = '' } = field.settings || {};
200
205
  switch (field.type) {
201
206
  case 'textbox':
202
207
  switch (((_a = field.settings) === null || _a === void 0 ? void 0 : _a.validator) || '') {
203
208
  case 'email':
204
- return isValidEmail(((_b = field.settings) === null || _b === void 0 ? void 0 : _b.result) || '');
209
+ return isValidEmail(result);
205
210
  case 'phone':
206
- return isValidPhone(((_c = field.settings) === null || _c === void 0 ? void 0 : _c.result) || '');
211
+ return isValidPhone(result);
207
212
  default:
208
- return !!((_d = field.settings) === null || _d === void 0 ? void 0 : _d.result);
213
+ return !required || result !== '';
209
214
  }
210
215
  case 'signature':
211
216
  case 'initial':
212
- return !!((_e = field.settings) === null || _e === void 0 ? void 0 : _e.base64);
217
+ return !required || base64 !== '';
218
+ // Timestamp fields get automatically filled when the envelope is submitted.
219
+ case 'timestamp':
220
+ return true;
213
221
  case 'textarea':
214
222
  case 'date':
215
- case 'timestamp':
216
223
  case 'attachment':
217
- return !!((_f = field.settings) === null || _f === void 0 ? void 0 : _f.result);
224
+ return !required || result !== '';
218
225
  case 'dropdown':
219
- return !!((_g = field.settings) === null || _g === void 0 ? void 0 : _g.value);
226
+ return !required || value !== '';
220
227
  case 'checkbox_group':
221
- const checked = (((_j = (_h = field.settings) === null || _h === void 0 ? void 0 : _h.options) === null || _j === void 0 ? void 0 : _j.filter(option => option.checked)) || []).length;
222
- return checked >= (((_k = field.settings) === null || _k === void 0 ? void 0 : _k.minimum_checked) || 0) && checked <= (((_l = field.settings) === null || _l === void 0 ? void 0 : _l.maximum_checked) || 999);
228
+ const checkedCount = (((_c = (_b = field.settings) === null || _b === void 0 ? void 0 : _b.options) === null || _c === void 0 ? void 0 : _c.filter(option => option.checked)) || []).length;
229
+ return !required || (checkedCount >= (((_d = field.settings) === null || _d === void 0 ? void 0 : _d.minimum_checked) || 0) && checkedCount <= (((_e = field.settings) === null || _e === void 0 ? void 0 : _e.maximum_checked) || 999));
223
230
  case 'radio_button_group':
224
- return (((_o = (_m = field.settings) === null || _m === void 0 ? void 0 : _m.options) === null || _o === void 0 ? void 0 : _o.filter(option => option.selected)) || []).length > 0;
231
+ return !required || (((_g = (_f = field.settings) === null || _f === void 0 ? void 0 : _f.options) === null || _g === void 0 ? void 0 : _g.filter(option => option.selected)) || []).length > 0;
225
232
  // TODO
226
233
  // case 'checkbox':
227
234
  // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;
@@ -231,8 +238,28 @@ export class VerdocsSign {
231
238
  return false;
232
239
  }
233
240
  }
234
- handleNext() {
241
+ async handleNext() {
235
242
  var _a;
243
+ if (this.nextSubmits) {
244
+ try {
245
+ const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);
246
+ console.log('[SIGN] Submitted successfully', result);
247
+ this.showDone = true;
248
+ this.isDone = true;
249
+ // updateRecipientStatus()
250
+ }
251
+ catch (e) {
252
+ console.log('Error submitting', e);
253
+ }
254
+ return;
255
+ // You're done.
256
+ // You can access the Verdoc at any time by clicking on the link from invitation email.
257
+ //
258
+ // After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.
259
+ //
260
+ // Thank you for using Verdocs.
261
+ // Got it, thanks
262
+ }
236
263
  // Find and focus the next incomplete required field
237
264
  const requiredFields = this.fields.filter(field => field.required);
238
265
  const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);
@@ -261,28 +288,44 @@ export class VerdocsSign {
261
288
  this.focusedField = nextRequiredField.name;
262
289
  }
263
290
  }
291
+ // See if everything that "needs to be" filled in is, and all "fillable fields" are valid
292
+ checkRecipientFields() {
293
+ const someFieldsInvalid = this.recipient.fields.map(field => this.isFieldValid(field)).some(fieldValid => !fieldValid);
294
+ console.log({ someFieldsInvalid });
295
+ if (!someFieldsInvalid) {
296
+ this.nextButtonLabel = 'Finish';
297
+ this.nextSubmits = true;
298
+ }
299
+ else {
300
+ this.nextSubmits = false;
301
+ }
302
+ }
303
+ attachFieldAttributes(pageInfo, field, roleIndex, el) {
304
+ var _a;
305
+ el.addEventListener('input', e => this.handleFieldChange(field, e).finally(() => this.checkRecipientFields()));
306
+ el.addEventListener('fieldChange', e => this.handleFieldChange(field, e).finally(() => this.checkRecipientFields()));
307
+ el.setAttribute('roleindex', roleIndex);
308
+ el.setAttribute('xScale', pageInfo.xScale);
309
+ el.setAttribute('yScale', pageInfo.yScale);
310
+ el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');
311
+ el.setAttribute('name', ((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.full_name) || '');
312
+ }
264
313
  handlePageRendered(e) {
265
314
  const pageInfo = e.detail;
266
- console.log('[SIGN] Page rendered, adding fields', pageInfo);
267
315
  const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);
268
316
  const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);
317
+ console.log('[SIGN] Page rendered, adding fields', { pageInfo, roleIndex, recipientFields });
269
318
  recipientFields.forEach(field => {
270
- var _a;
271
- const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: false, editable: false, draggable: false });
319
+ const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: false, editable: false, draggable: false, done: this.isDone });
272
320
  if (!el) {
273
321
  return;
274
322
  }
275
- el.addEventListener('input', e => {
276
- this.handleFieldChange(field, e).catch(() => { });
277
- });
278
- el.addEventListener('fieldChange', e => {
279
- this.handleFieldChange(field, e).catch(() => { });
280
- });
281
- el.setAttribute('roleindex', roleIndex);
282
- el.setAttribute('xScale', pageInfo.xScale);
283
- el.setAttribute('yScale', pageInfo.yScale);
284
- el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');
285
- el.setAttribute('name', ((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.full_name) || '');
323
+ if (Array.isArray(el)) {
324
+ el.map(e => this.attachFieldAttributes(pageInfo, field, roleIndex, e));
325
+ }
326
+ else {
327
+ this.attachFieldAttributes(pageInfo, field, roleIndex, el);
328
+ }
286
329
  // interact(el).draggable({
287
330
  // listeners: {
288
331
  // start(event) {
@@ -308,16 +351,15 @@ export class VerdocsSign {
308
351
  // },
309
352
  // });
310
353
  });
354
+ // Render fields for "the other" recipients
311
355
  EnvelopeStore.envelope.recipients
312
356
  .filter(recipient => recipient.role_name !== this.recipient.role_name)
313
357
  .map(otherRecipient => {
314
358
  const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);
315
- console.log('Rendering fields for other recipient', otherRoleIndex, otherRecipient);
316
359
  const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);
317
360
  // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
318
- console.log('[SIGN] Fields on page', recipientFields);
319
361
  recipientFields.forEach(field => {
320
- const el = renderDocumentField(field, pageInfo, otherRoleIndex, { disabled: true, editable: false, draggable: false });
362
+ const el = renderDocumentField(field, pageInfo, otherRoleIndex, { disabled: true, editable: false, draggable: false, done: this.isDone });
321
363
  if (!el) {
322
364
  return;
323
365
  }
@@ -326,6 +368,7 @@ export class VerdocsSign {
326
368
  el.setAttribute('yScale', pageInfo.yScale);
327
369
  });
328
370
  });
371
+ this.checkRecipientFields();
329
372
  }
330
373
  render() {
331
374
  var _a, _b, _c, _d;
@@ -334,20 +377,19 @@ export class VerdocsSign {
334
377
  }
335
378
  const menuOptions = [
336
379
  { id: 'later', label: 'Finish Later' },
337
- { id: 'claim', label: 'Claim the Document', disabled: true },
380
+ // {id: 'claim', label: 'Claim the Document', disabled: true},
338
381
  { id: 'decline', label: 'Decline to Sign' },
339
382
  { id: 'print', label: 'Print Without Signing', disabled: true },
340
383
  { id: 'download', label: 'Download' },
341
384
  ];
342
- return (h(Host, { class: { agreed: (_a = this.recipient) === null || _a === void 0 ? void 0 : _a.agreed } }, !this.finishLater && (h("div", { class: "intro" }, h("div", { class: "inner" }, "Please review and act on these documents."))), h("div", { class: "header" }, h("div", { class: "inner" }, !this.finishLater && (h("div", { class: "toolbar" }, h("div", { class: "tools" }, h("verdocs-dropdown", { options: menuOptions, onOptionSelected: e => this.handleOptionSelected(e) }), !((_b = this.recipient) === null || _b === void 0 ? void 0 : _b.agreed) ? (h("div", { class: "agree" }, h("verdocs-checkbox", { name: "agree", label: "I agree to use electronic records and signatures.", onInput: () => this.handleClickAgree() }))) : (h("div", { style: { flex: '1' } })), h("verdocs-button", { size: "small", label: this.nextButtonLabel, disabled: !((_c = this.recipient) === null || _c === void 0 ? void 0 : _c.agreed), onClick: () => this.handleNext() })))))), !((_d = this.recipient) === null || _d === void 0 ? void 0 : _d.agreed) ? h("div", { class: "cover" }) : h("div", { style: { display: 'none' } }), h("div", { class: "document" }, (EnvelopeStore.envelope.documents || []).map(envelopeDocument => {
385
+ return (h(Host, { class: { agreed: (_a = this.recipient) === null || _a === void 0 ? void 0 : _a.agreed } }, !this.isDone && !this.finishLater && (h("div", { class: "intro" }, h("div", { class: "inner" }, "Please review and act on these documents."))), h("div", { class: "header" }, h("div", { class: "inner" }, h("div", { class: "toolbar" }, h("div", { class: "tools" }, !this.isDone && !this.finishLater && h("verdocs-dropdown", { options: menuOptions, onOptionSelected: e => this.handleOptionSelected(e) }), !((_b = this.recipient) === null || _b === void 0 ? void 0 : _b.agreed) ? (h("div", { class: "agree" }, h("verdocs-checkbox", { name: "agree", label: "I agree to use electronic records and signatures.", onInput: () => this.handleClickAgree() }))) : (h(Fragment, null, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, EnvelopeStore.envelope.name), h("div", { style: { flex: '1' } }), h("div", { innerHTML: PrintIcon, style: { width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer' }, onClick: () => window.print() }), h("div", { innerHTML: DownloadIcon, style: { width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer', marginLeft: '16px', maginRight: '30px' }, onClick: () => savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => { }) }))), !this.isDone && !this.finishLater && (h("verdocs-button", { size: "small", label: this.nextButtonLabel, disabled: !((_c = this.recipient) === null || _c === void 0 ? void 0 : _c.agreed), onClick: () => this.handleNext() })))))), !this.isDone && !((_d = this.recipient) === null || _d === void 0 ? void 0 : _d.agreed) ? h("div", { class: "cover" }) : h("div", { style: { display: 'none' } }), h("div", { class: "document" }, (EnvelopeStore.envelope.documents || []).map(envelopeDocument => {
343
386
  const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
344
387
  pages.sort((a, b) => a.sequence - b.sequence);
345
- console.log('p', envelopeDocument, pages);
346
388
  return (h(Fragment, null, pages.map(page => (h("verdocs-document-page", { pageImageUri: page.display_uri, virtualWidth: 612, virtualHeight: 792, pageNumber: page.sequence, onPageRendered: e => this.handlePageRendered(e), layers: [
347
389
  { name: 'page', type: 'canvas' },
348
390
  { name: 'controls', type: 'div' },
349
391
  ] })))));
350
- })), this.showFinishLater && (h("verdocs-ok-dialog", { heading: "You've saved your document to finish later.", message: "To complete the document, use the link in the original email notification inviting you to review and finish the document.", onNext: () => (this.showFinishLater = false) })), this.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') })));
392
+ })), this.showFinishLater && (h("verdocs-ok-dialog", { heading: "You've saved your document to finish later.", message: "To complete the document, use the link in the original email notification inviting you to review and finish the document.", onNext: () => (this.showFinishLater = false) })), this.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') }), this.showDone && (h("verdocs-ok-dialog", { heading: "You're Done!", message: "You can access the Verdoc 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.", onNext: () => (this.showDone = false) }))));
351
393
  }
352
394
  static get is() { return "verdocs-sign"; }
353
395
  static get originalStyleUrls() {
@@ -424,8 +466,11 @@ export class VerdocsSign {
424
466
  "signerToken": {},
425
467
  "hasSignature": {},
426
468
  "nextButtonLabel": {},
469
+ "nextSubmits": {},
427
470
  "errorMessage": {},
428
471
  "focusedField": {},
472
+ "isDone": {},
473
+ "showDone": {},
429
474
  "finishLater": {},
430
475
  "showFinishLater": {}
431
476
  };
@@ -452,22 +497,50 @@ export class VerdocsSign {
452
497
  }
453
498
  }
454
499
  }, {
455
- "method": "fieldUpdated",
456
- "name": "fieldUpdated",
500
+ "method": "envelopeLoaded",
501
+ "name": "envelopeLoaded",
457
502
  "bubbles": true,
458
503
  "cancelable": true,
459
504
  "composed": true,
460
505
  "docs": {
461
506
  "tags": [],
462
- "text": "Event fired when any field is updated. Note that the current active endpoint is\nprovided as a parameter as a convenience for callers when this coimponent"
507
+ "text": "Event fired when the envelope is updated in any way."
463
508
  },
464
509
  "complexType": {
465
- "original": "{endpoint: VerdocsEndpoint}",
466
- "resolved": "{ endpoint: VerdocsEndpoint; }",
510
+ "original": "{endpoint: VerdocsEndpoint; envelope: IEnvelope}",
511
+ "resolved": "{ endpoint: VerdocsEndpoint; envelope: IEnvelope; }",
467
512
  "references": {
468
513
  "VerdocsEndpoint": {
469
514
  "location": "import",
470
515
  "path": "@verdocs/js-sdk"
516
+ },
517
+ "IEnvelope": {
518
+ "location": "import",
519
+ "path": "@verdocs/js-sdk/Envelopes/Types"
520
+ }
521
+ }
522
+ }
523
+ }, {
524
+ "method": "envelopeUpdated",
525
+ "name": "envelopeUpdated",
526
+ "bubbles": true,
527
+ "cancelable": true,
528
+ "composed": true,
529
+ "docs": {
530
+ "tags": [],
531
+ "text": "Event fired when the envelope is updated in any way."
532
+ },
533
+ "complexType": {
534
+ "original": "{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}",
535
+ "resolved": "{ endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string; }",
536
+ "references": {
537
+ "VerdocsEndpoint": {
538
+ "location": "import",
539
+ "path": "@verdocs/js-sdk"
540
+ },
541
+ "IEnvelope": {
542
+ "location": "import",
543
+ "path": "@verdocs/js-sdk/Envelopes/Types"
471
544
  }
472
545
  }
473
546
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-sign.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {createInitials} from '@verdocs/js-sdk/Envelopes/Initials';\nimport {createSignature} from '@verdocs/js-sdk/Envelopes/Signatures';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {updateEnvelopeFieldInitials, updateEnvelopeFieldSignature} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField} from '../../../utils/utils';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\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@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n endpoint: VerdocsEndpoint = null;\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop() envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop() roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop() inviteCode: 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 any field is updated. Note that the current active endpoint is\n * provided as a parameter as a convenience for callers when this coimponent\n */\n @Event({composed: true}) fieldUpdated: EventEmitter<{endpoint: VerdocsEndpoint}>;\n\n @State() recipient: IRecipient | null = null;\n @State() signerToken = null;\n // @State() envelope: IEnvelope | null = null;\n // @State() fields: IDocumentField[] = [];\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() errorMessage = '';\n @State() focusedField = '';\n\n @State() finishLater = false;\n @State() showFinishLater = false;\n\n recipientIndex: number = -1;\n fields: IDocumentField[] = [];\n\n componentWillLoad() {\n this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\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 const {session, recipient, signerToken} = await Envelopes.getSigningSession(this.endpoint, {\n envelopeId: this.envelopeId,\n roleId: this.roleId,\n inviteCode: this.inviteCode,\n });\n\n console.log(`[SIGN] Loaded signing session ${session.email} / ${session.profile_id}`);\n\n this.recipient = recipient;\n this.signerToken = signerToken;\n this.endpoint.setToken(signerToken);\n\n if (this.recipient.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n await getEnvelopeById(this.endpoint, this.envelopeId);\n // const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n // this.envelope = envelope;\n // console.log('[SIGN] Loaded envelope', envelope);\n\n this.recipientIndex = EnvelopeStore.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];\n this.fields = this.recipient.fields;\n }\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n } catch (e) {\n console.log('Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleClickAgree() {\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n })\n .catch(e => {\n console.log('Update failure', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async savePDF() {\n const fileName = `${EnvelopeStore.envelope.name} - ${EnvelopeStore.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, EnvelopeStore.envelope.envelope_document_id);\n\n // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique\n // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'blob';\n xhr.onload = function () {\n let a = document.createElement('a');\n a.href = window.URL.createObjectURL(xhr.response);\n a.download = fileName;\n a.style.display = 'none';\n document.body.appendChild(a);\n a.click();\n a.remove();\n };\n\n xhr.open('GET', `data:application/pdf;base64,${data}`);\n xhr.send();\n }\n\n async handleOptionSelected(e) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n // if (!window?.['STORYBOOK_ENV']) {\n // window.alert('User intends to sign later.');\n // }\n break;\n case 'claim':\n break;\n case 'decline':\n break;\n case 'print':\n break;\n case 'download':\n this.savePDF().catch(() => {});\n break;\n }\n }\n\n saveFieldChange(fieldName: string, fields: Record<string, any>) {\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, fieldName, fields) //\n .catch(e => {\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n // TODO: Do we want to improve the instructions here?\n console.log('[SIGN] Signing session expired');\n this.errorMessage = 'Signing session expired.';\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: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e);\n const {value, checked} = e.target;\n\n switch (field.type) {\n case 'textbox':\n return this.saveFieldChange(field.name, {prepared: false, value});\n\n case 'checkbox_group':\n return this.saveFieldChange(field.name, {prepared: false, value: {options: [{id: optionId, checked}]}});\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n return this.saveFieldChange(field.name, {prepared: false, value: {options}});\n\n case 'dropdown':\n return this.saveFieldChange(field.name, {prepared: false, value: e.detail});\n\n case 'initial':\n const initialsBlob = await (await fetch(e.detail)).blob();\n return createInitials(this.endpoint, 'initial', initialsBlob) //\n .then(newInitials => {\n console.log('New initials', field.name, newInitials);\n updateEnvelopeFieldInitials(this.endpoint, this.envelopeId, field.name, newInitials.id);\n });\n\n case 'signature':\n const signatureBlob = await (await fetch(e.detail)).blob();\n return createSignature(this.endpoint, 'signature', signatureBlob) //\n .then(newSignature => {\n console.log('New sign', field.name, newSignature);\n updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n });\n\n case 'date':\n const iso = e.target.getAttribute('iso');\n return this.saveFieldChange(field.name, {prepared: false, value: iso});\n\n default:\n console.log('Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldValid(field: IDocumentField) {\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(field.settings?.result || '');\n case 'phone':\n return isValidPhone(field.settings?.result || '');\n default:\n return !!field.settings?.result;\n }\n\n case 'signature':\n case 'initial':\n return !!field.settings?.base64;\n\n case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n\n case 'dropdown':\n return !!field.settings?.value;\n\n case 'checkbox_group':\n const checked = (field.settings?.options?.filter(option => option.checked) || []).length;\n return checked >= (field.settings?.minimum_checked || 0) && checked <= (field.settings?.maximum_checked || 999);\n\n case 'radio_button_group':\n return (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n let nextRequiredField = requiredFields[nextFocusedIndex];\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 < requiredFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && nextRequiredField.settings?.result === 'signed') {\n skips++;\n nextFocusedIndex++;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n nextRequiredField = requiredFields[nextFocusedIndex];\n }\n\n if (skips >= requiredFields.length) {\n nextRequiredField = null;\n }\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n console.log('[SIGN] Page rendered, adding fields', pageInfo);\n\n const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);\n const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, roleIndex, {disabled: false, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.addEventListener('input', e => {\n this.handleFieldChange(field, e).catch(() => {});\n });\n\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e).catch(() => {});\n });\n\n el.setAttribute('roleindex', roleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');\n el.setAttribute('name', this.recipient?.full_name || '');\n\n // interact(el).draggable({\n // listeners: {\n // start(event) {\n // console.log('[FIELDS] Drag started', event.type, event.target);\n // },\n // move(event) {\n // const oldX = +(event.target.getAttribute('posX') || 0);\n // const oldY = +(event.target.getAttribute('posY') || 0);\n // const xScale = +(event.target.getAttribute('xScale') || 1);\n // const yScale = +(event.target.getAttribute('yScale') || 1);\n // const newX = event.dx / xScale + oldX;\n // const newY = event.dy / yScale + oldY;\n // event.target.setAttribute('posX', newX);\n // event.target.setAttribute('posy', newY);\n // updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);\n // },\n // end(event) {\n // console.log('[FIELDS] Drag ended', event);\n // // event.target.setAttribute('posX', 0);\n // // event.target.setAttribute('posy', 0);\n // // updateCssTransform(event.target, 'translate', `${0}px, ${0}px`);\n // },\n // },\n // });\n });\n\n EnvelopeStore.envelope.recipients\n .filter(recipient => recipient.role_name !== this.recipient.role_name)\n .map(otherRecipient => {\n const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);\n console.log('Rendering fields for other recipient', otherRoleIndex, otherRecipient);\n const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', recipientFields);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, otherRoleIndex, {disabled: true, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.setAttribute('roleindex', otherRoleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n });\n });\n }\n\n render() {\n if (EnvelopeStore.loading || !EnvelopeStore.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n const menuOptions = [\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', disabled: true},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{agreed: this.recipient?.agreed}}>\n {!this.finishLater && (\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n )}\n\n <div class=\"header\">\n <div class=\"inner\">\n {!this.finishLater && (\n <div class=\"toolbar\">\n <div class=\"tools\">\n <verdocs-dropdown options={menuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n\n {!this.recipient?.agreed ? (\n <div class=\"agree\">\n <verdocs-checkbox name=\"agree\" label=\"I agree to use electronic records and signatures.\" onInput={() => this.handleClickAgree()} />\n </div>\n ) : (\n <div style={{flex: '1'}} />\n )}\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n </div>\n </div>\n )}\n </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n {(EnvelopeStore.envelope.documents || []).map(envelopeDocument => {\n const pages = [...(envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n console.log('p', envelopeDocument, pages);\n\n return (\n <Fragment>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n pageNumber={page.sequence}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\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 document, 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.errorMessage && <verdocs-ok-dialog heading=\"Network Error\" message={this.errorMessage} onNext={() => (this.errorMessage = '')} />}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-sign.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {createInitials} from '@verdocs/js-sdk/Envelopes/Initials';\nimport {createSignature} from '@verdocs/js-sdk/Envelopes/Signatures';\nimport {IDocumentField, IEnvelope, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {updateEnvelopeFieldInitials, updateEnvelopeFieldSignature} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField, savePDF} from '../../../utils/utils';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nconst PrintIcon = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z\"></path></svg>`;\n\nconst DownloadIcon = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z\"></path></svg>`;\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@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n endpoint: VerdocsEndpoint = null;\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop() envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop() roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop() inviteCode: 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 updated in any way.\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() recipient: IRecipient | null = null;\n @State() signerToken = null;\n // @State() envelope: IEnvelope | null = null;\n // @State() fields: IDocumentField[] = [];\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() nextSubmits = false;\n @State() errorMessage = '';\n @State() focusedField = '';\n @State() isDone = false;\n @State() showDone = false;\n\n @State() finishLater = false;\n @State() showFinishLater = false;\n\n recipientIndex: number = -1;\n fields: IDocumentField[] = [];\n\n componentWillLoad() {\n this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\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 const {session, recipient, signerToken} = await Envelopes.getSigningSession(this.endpoint, {\n envelopeId: this.envelopeId,\n roleId: this.roleId,\n inviteCode: this.inviteCode,\n });\n\n console.log(`[SIGN] Loaded signing session ${session.email} / ${session.profile_id}`);\n\n this.recipient = recipient;\n this.signerToken = signerToken;\n this.endpoint.setToken(signerToken);\n\n if (this.recipient.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n await getEnvelopeById(this.endpoint, this.envelopeId);\n // const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n // this.envelope = envelope;\n // console.log('[SIGN] Loaded envelope', envelope);\n\n this.recipientIndex = EnvelopeStore.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];\n this.fields = this.recipient.fields;\n }\n\n this.isDone = ['submitted', 'canceled', 'declined'].includes(this.recipient.status);\n console.log('Done', this.isDone);\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n\n this.envelopeLoaded?.emit({endpoint: this.endpoint, envelope: EnvelopeStore.envelope});\n } catch (e) {\n console.log('Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleClickAgree() {\n envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, true)\n .then(r => {\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'agreed'});\n })\n .catch(e => {\n console.log('Update failure', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async handleOptionSelected(e) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n // if (!window?.['STORYBOOK_ENV']) {\n // window.alert('User intends to sign later.');\n // }\n break;\n case 'claim':\n break;\n case 'decline':\n {\n const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);\n console.log('Decline result', declineResult);\n this.isDone = true;\n }\n break;\n case 'print':\n window.print();\n break;\n case 'download':\n savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => {});\n break;\n }\n }\n\n saveFieldChange(fieldName: string, fields: Record<string, any>) {\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, fieldName, fields) //\n .catch(e => {\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n // TODO: Do we want to improve the instructions here?\n console.log('[SIGN] Signing session expired');\n this.errorMessage = 'Signing session expired.';\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: IDocumentField, e: any) {\n console.log('fieldChange', field, e, e.target.value);\n const {value, checked} = e.target;\n\n switch (field.type) {\n case 'textbox':\n return this.saveFieldChange(field.name, {prepared: false, value});\n\n case 'checkbox_group': {\n const options = field.settings.options.map(option => ({id: option.id, checked: e.target.checked}));\n return this.saveFieldChange(field.name, {prepared: false, value: {options}});\n }\n\n case 'radio_button_group': {\n const options = field.settings.options.map(option => ({id: option.id, selected: e.target.value === option.id}));\n return this.saveFieldChange(field.name, {prepared: false, value: {options}});\n }\n\n case 'dropdown':\n return this.saveFieldChange(field.name, {prepared: false, value: e.detail});\n\n case 'initial':\n const initialsBlob = await (await fetch(e.detail)).blob();\n return createInitials(this.endpoint, 'initial', initialsBlob) //\n .then(newInitials => {\n console.log('New initials', field.name, newInitials);\n updateEnvelopeFieldInitials(this.endpoint, this.envelopeId, field.name, newInitials.id);\n });\n\n case 'signature':\n const signatureBlob = await (await fetch(e.detail)).blob();\n return createSignature(this.endpoint, 'signature', signatureBlob) //\n .then(newSignature => {\n console.log('New sign', field.name, newSignature);\n updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n });\n\n case 'date':\n const iso = e.target.getAttribute('iso');\n return this.saveFieldChange(field.name, {prepared: false, value: iso});\n\n case 'timestamp':\n console.log('Updating timestamp', {value, ts: e.target.getAttribute('timestamp')});\n break;\n\n default:\n console.log('Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldValid(field: IDocumentField) {\n const {required = false} = field;\n const {result = '', value = '', base64 = ''} = field.settings || {};\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(result);\n case 'phone':\n return isValidPhone(result);\n default:\n return !required || result !== '';\n }\n\n case 'signature':\n case 'initial':\n return !required || base64 !== '';\n\n // Timestamp fields get automatically filled when the envelope is submitted.\n case 'timestamp':\n return true;\n\n case 'textarea':\n case 'date':\n case 'attachment':\n return !required || result !== '';\n\n case 'dropdown':\n return !required || value !== '';\n\n case 'checkbox_group':\n const checkedCount = (field.settings?.options?.filter(option => option.checked) || []).length;\n return !required || (checkedCount >= (field.settings?.minimum_checked || 0) && checkedCount <= (field.settings?.maximum_checked || 999));\n\n case 'radio_button_group':\n return !required || (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n async handleNext() {\n if (this.nextSubmits) {\n try {\n const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Submitted successfully', result);\n this.showDone = true;\n this.isDone = true;\n // updateRecipientStatus()\n } catch (e) {\n console.log('Error submitting', e);\n }\n return;\n // You're done.\n // You can access the Verdoc at any time by clicking on the link from invitation email.\n //\n // After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.\n //\n // Thank you for using Verdocs.\n // Got it, thanks\n }\n\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n let nextRequiredField = requiredFields[nextFocusedIndex];\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 < requiredFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && nextRequiredField.settings?.result === 'signed') {\n skips++;\n nextFocusedIndex++;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n nextRequiredField = requiredFields[nextFocusedIndex];\n }\n\n if (skips >= requiredFields.length) {\n nextRequiredField = null;\n }\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n // See if everything that \"needs to be\" filled in is, and all \"fillable fields\" are valid\n checkRecipientFields() {\n const someFieldsInvalid = this.recipient.fields.map(field => this.isFieldValid(field)).some(fieldValid => !fieldValid);\n console.log({someFieldsInvalid});\n if (!someFieldsInvalid) {\n this.nextButtonLabel = 'Finish';\n this.nextSubmits = true;\n } else {\n this.nextSubmits = false;\n }\n }\n\n attachFieldAttributes(pageInfo, field, roleIndex, el) {\n el.addEventListener('input', e => this.handleFieldChange(field, e).finally(() => this.checkRecipientFields()));\n el.addEventListener('fieldChange', e => this.handleFieldChange(field, e).finally(() => this.checkRecipientFields()));\n\n el.setAttribute('roleindex', roleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');\n el.setAttribute('name', this.recipient?.full_name || '');\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);\n const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);\n console.log('[SIGN] Page rendered, adding fields', {pageInfo, roleIndex, recipientFields});\n\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, roleIndex, {disabled: false, 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, roleIndex, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, roleIndex, el);\n }\n\n // interact(el).draggable({\n // listeners: {\n // start(event) {\n // console.log('[FIELDS] Drag started', event.type, event.target);\n // },\n // move(event) {\n // const oldX = +(event.target.getAttribute('posX') || 0);\n // const oldY = +(event.target.getAttribute('posY') || 0);\n // const xScale = +(event.target.getAttribute('xScale') || 1);\n // const yScale = +(event.target.getAttribute('yScale') || 1);\n // const newX = event.dx / xScale + oldX;\n // const newY = event.dy / yScale + oldY;\n // event.target.setAttribute('posX', newX);\n // event.target.setAttribute('posy', newY);\n // updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);\n // },\n // end(event) {\n // console.log('[FIELDS] Drag ended', event);\n // // event.target.setAttribute('posX', 0);\n // // event.target.setAttribute('posy', 0);\n // // updateCssTransform(event.target, 'translate', `${0}px, ${0}px`);\n // },\n // },\n // });\n });\n\n // Render fields for \"the other\" recipients\n EnvelopeStore.envelope.recipients\n .filter(recipient => recipient.role_name !== this.recipient.role_name)\n .map(otherRecipient => {\n const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);\n const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, otherRoleIndex, {disabled: true, editable: false, draggable: false, done: this.isDone});\n if (!el) {\n return;\n }\n\n el.setAttribute('roleindex', otherRoleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n });\n });\n\n this.checkRecipientFields();\n }\n\n render() {\n if (EnvelopeStore.loading || !EnvelopeStore.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n const menuOptions = [\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', disabled: true},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{agreed: this.recipient?.agreed}}>\n {!this.isDone && !this.finishLater && (\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n )}\n\n <div class=\"header\">\n <div class=\"inner\">\n <div class=\"toolbar\">\n <div class=\"tools\">\n {!this.isDone && !this.finishLater && <verdocs-dropdown options={menuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />}\n\n {!this.recipient?.agreed ? (\n <div class=\"agree\">\n <verdocs-checkbox name=\"agree\" label=\"I agree to use electronic records and signatures.\" onInput={() => this.handleClickAgree()} />\n </div>\n ) : (\n <Fragment>\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{EnvelopeStore.envelope.name}</div>\n <div style={{flex: '1'}} />\n <div innerHTML={PrintIcon} style={{width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer'}} onClick={() => window.print()} />\n <div\n innerHTML={DownloadIcon}\n style={{width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer', marginLeft: '16px', maginRight: '30px'}}\n onClick={() => savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => {})}\n />\n </Fragment>\n )}\n\n {!this.isDone && !this.finishLater && (\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n )}\n </div>\n </div>\n </div>\n </div>\n\n {!this.isDone && !this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n {(EnvelopeStore.envelope.documents || []).map(envelopeDocument => {\n const pages = [...(envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n return (\n <Fragment>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n pageNumber={page.sequence}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\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 document, 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.errorMessage && <verdocs-ok-dialog heading=\"Network Error\" message={this.errorMessage} onNext={() => (this.errorMessage = '')} />}\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message=\"You can access the Verdoc 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={() => (this.showDone = false)}\n />\n )}\n </Host>\n );\n }\n}\n"]}