@verdocs/web-sdk 1.9.14 → 1.9.15

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 (472) hide show
  1. package/dist/cjs/{Envelopes-aec4ee3d.js → Envelopes-eacee000.js} +69 -2
  2. package/dist/cjs/Envelopes-eacee000.js.map +1 -0
  3. package/dist/cjs/{Templates-0051d647.js → Templates-acde16f2.js} +2 -2
  4. package/dist/cjs/{Templates-0051d647.js.map → Templates-acde16f2.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/{templateStore-974781a8.js → templateStore-42a49905.js} +2 -2
  7. package/dist/cjs/{templateStore-974781a8.js.map → templateStore-42a49905.js.map} +1 -1
  8. package/dist/cjs/{utils-e0f38696.js → utils-beee79a1.js} +7 -11
  9. package/dist/cjs/utils-beee79a1.js.map +1 -0
  10. package/dist/cjs/verdocs-build.cjs.entry.js +3 -3
  11. package/dist/cjs/verdocs-checkbox.cjs.entry.js +4 -2
  12. package/dist/cjs/verdocs-checkbox.cjs.entry.js.map +1 -1
  13. package/dist/cjs/verdocs-dropdown.cjs.entry.js +91 -0
  14. package/dist/cjs/verdocs-dropdown.cjs.entry.js.map +1 -0
  15. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +4 -2
  16. package/dist/cjs/verdocs-field-attachment.cjs.entry.js.map +1 -1
  17. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +32 -0
  18. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js.map +1 -0
  19. package/dist/cjs/verdocs-field-date.cjs.entry.js +10 -13
  20. package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
  21. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +5 -16
  22. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
  23. package/dist/cjs/verdocs-field-initial.cjs.entry.js +4 -5
  24. package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
  25. package/dist/cjs/verdocs-field-payment.cjs.entry.js +5 -3
  26. package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
  27. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +36 -0
  28. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js.map +1 -0
  29. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +5 -7
  30. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
  31. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -24
  32. package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
  33. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +10 -28
  34. package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
  35. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -25
  36. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
  37. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +10 -13
  38. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  40. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js.map +1 -1
  41. package/dist/cjs/verdocs-preview.cjs.entry.js +5 -5
  42. package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
  43. package/dist/cjs/verdocs-send.cjs.entry.js +1 -1
  44. package/dist/cjs/verdocs-sign.cjs.entry.js +103 -131
  45. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  46. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +6 -9
  47. package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
  48. package/dist/cjs/verdocs-view.cjs.entry.js +20 -75
  49. package/dist/cjs/verdocs-view.cjs.entry.js.map +1 -1
  50. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  51. package/dist/collection/collection-manifest.json +2 -2
  52. package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js +3 -3
  53. package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js.map +1 -1
  54. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +32 -18
  55. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +40 -2
  56. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js.map +1 -1
  57. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.stories.js +6 -4
  58. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.stories.js.map +1 -1
  59. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +22 -12
  60. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js.map +1 -1
  61. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js +2 -2
  62. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js.map +1 -1
  63. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js +2 -2
  64. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js.map +1 -1
  65. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js +2 -2
  66. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js.map +1 -1
  67. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.css +1 -7
  68. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +9 -12
  69. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js.map +1 -1
  70. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.css +1 -1
  71. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.css +2 -2
  72. package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js +21 -21
  73. package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
  74. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.css +0 -1
  75. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js +22 -22
  76. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +1 -1
  77. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +9 -33
  78. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
  79. package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js +21 -67
  80. package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
  81. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +5 -26
  82. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  83. package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js +22 -22
  84. package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
  85. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.css +0 -1
  86. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +22 -22
  87. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js.map +1 -1
  88. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js +4 -26
  89. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  90. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +2 -108
  91. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  92. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +9 -108
  93. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  94. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.js +7 -2
  95. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.js.map +1 -1
  96. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js +1 -122
  97. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
  98. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +3 -6
  99. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  100. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +2 -2
  101. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
  102. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +6 -45
  103. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +94 -135
  104. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  105. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +2 -2
  106. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -1
  107. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +4 -6
  108. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
  109. package/dist/collection/utils/utils.js +6 -8
  110. package/dist/collection/utils/utils.js.map +1 -1
  111. package/dist/components/Envelopes.js +66 -1
  112. package/dist/components/Envelopes.js.map +1 -1
  113. package/dist/components/utils.js +7 -9
  114. package/dist/components/utils.js.map +1 -1
  115. package/dist/components/verdocs-checkbox2.js +6 -2
  116. package/dist/components/verdocs-checkbox2.js.map +1 -1
  117. package/dist/components/verdocs-dropdown2.js +21 -11
  118. package/dist/components/verdocs-dropdown2.js.map +1 -1
  119. package/dist/components/verdocs-field-attachment.js +5 -3
  120. package/dist/components/verdocs-field-attachment.js.map +1 -1
  121. package/dist/components/verdocs-field-checkbox.js +44 -1
  122. package/dist/components/verdocs-field-checkbox.js.map +1 -1
  123. package/dist/components/verdocs-field-date.js +9 -14
  124. package/dist/components/verdocs-field-date.js.map +1 -1
  125. package/dist/components/verdocs-field-dropdown.js +5 -17
  126. package/dist/components/verdocs-field-dropdown.js.map +1 -1
  127. package/dist/components/verdocs-field-initial.js +4 -6
  128. package/dist/components/verdocs-field-initial.js.map +1 -1
  129. package/dist/components/verdocs-field-payment.js +5 -3
  130. package/dist/components/verdocs-field-payment.js.map +1 -1
  131. package/dist/components/verdocs-field-radio-button.js +48 -1
  132. package/dist/components/verdocs-field-radio-button.js.map +1 -1
  133. package/dist/components/verdocs-field-signature2.js +4 -7
  134. package/dist/components/verdocs-field-signature2.js.map +1 -1
  135. package/dist/components/verdocs-field-textarea.js +3 -27
  136. package/dist/components/verdocs-field-textarea.js.map +1 -1
  137. package/dist/components/verdocs-field-textbox.js +9 -29
  138. package/dist/components/verdocs-field-textbox.js.map +1 -1
  139. package/dist/components/verdocs-field-timestamp.js +2 -27
  140. package/dist/components/verdocs-field-timestamp.js.map +1 -1
  141. package/dist/components/verdocs-initial-dialog2.js +10 -13
  142. package/dist/components/verdocs-initial-dialog2.js.map +1 -1
  143. package/dist/components/verdocs-ok-dialog2.js +1 -1
  144. package/dist/components/verdocs-ok-dialog2.js.map +1 -1
  145. package/dist/components/verdocs-preview.js +2 -2
  146. package/dist/components/verdocs-preview.js.map +1 -1
  147. package/dist/components/verdocs-sign.js +118 -141
  148. package/dist/components/verdocs-sign.js.map +1 -1
  149. package/dist/components/verdocs-signature-dialog2.js +1 -1
  150. package/dist/components/verdocs-signature-dialog2.js.map +1 -1
  151. package/dist/components/verdocs-template-fields2.js +3 -6
  152. package/dist/components/verdocs-template-fields2.js.map +1 -1
  153. package/dist/components/verdocs-view.js +5 -61
  154. package/dist/components/verdocs-view.js.map +1 -1
  155. package/dist/docs.json +113 -286
  156. package/dist/esm/{Envelopes-b031f847.js → Envelopes-19ca610d.js} +67 -2
  157. package/dist/esm/Envelopes-19ca610d.js.map +1 -0
  158. package/dist/esm/{Templates-1034fade.js → Templates-7a534fd1.js} +2 -2
  159. package/dist/esm/{Templates-1034fade.js.map → Templates-7a534fd1.js.map} +1 -1
  160. package/dist/esm/loader.js +1 -1
  161. package/dist/esm/{templateStore-96a39844.js → templateStore-b8512d36.js} +2 -2
  162. package/dist/esm/{templateStore-96a39844.js.map → templateStore-b8512d36.js.map} +1 -1
  163. package/dist/esm/{utils-99a3c1f0.js → utils-2e6beff8.js} +8 -10
  164. package/dist/esm/utils-2e6beff8.js.map +1 -0
  165. package/dist/esm/verdocs-build.entry.js +3 -3
  166. package/dist/esm/verdocs-checkbox.entry.js +4 -2
  167. package/dist/esm/verdocs-checkbox.entry.js.map +1 -1
  168. package/dist/esm/verdocs-dropdown.entry.js +87 -0
  169. package/dist/esm/verdocs-dropdown.entry.js.map +1 -0
  170. package/dist/esm/verdocs-field-attachment.entry.js +4 -2
  171. package/dist/esm/verdocs-field-attachment.entry.js.map +1 -1
  172. package/dist/esm/verdocs-field-checkbox.entry.js +28 -0
  173. package/dist/esm/verdocs-field-checkbox.entry.js.map +1 -0
  174. package/dist/esm/verdocs-field-date.entry.js +10 -13
  175. package/dist/esm/verdocs-field-date.entry.js.map +1 -1
  176. package/dist/esm/verdocs-field-dropdown.entry.js +5 -16
  177. package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
  178. package/dist/esm/verdocs-field-initial.entry.js +4 -5
  179. package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
  180. package/dist/esm/verdocs-field-payment.entry.js +5 -3
  181. package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
  182. package/dist/esm/verdocs-field-radio-button.entry.js +32 -0
  183. package/dist/esm/verdocs-field-radio-button.entry.js.map +1 -0
  184. package/dist/esm/verdocs-field-signature_3.entry.js +5 -7
  185. package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
  186. package/dist/esm/verdocs-field-textarea.entry.js +3 -25
  187. package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
  188. package/dist/esm/verdocs-field-textbox.entry.js +10 -28
  189. package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
  190. package/dist/esm/verdocs-field-timestamp.entry.js +3 -26
  191. package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
  192. package/dist/esm/verdocs-initial-dialog.entry.js +10 -13
  193. package/dist/esm/verdocs-initial-dialog.entry.js.map +1 -1
  194. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  195. package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
  196. package/dist/esm/verdocs-preview.entry.js +5 -5
  197. package/dist/esm/verdocs-preview.entry.js.map +1 -1
  198. package/dist/esm/verdocs-send.entry.js +1 -1
  199. package/dist/esm/verdocs-sign.entry.js +104 -132
  200. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  201. package/dist/esm/verdocs-template-create_4.entry.js +6 -9
  202. package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
  203. package/dist/esm/verdocs-view.entry.js +7 -62
  204. package/dist/esm/verdocs-view.entry.js.map +1 -1
  205. package/dist/esm/verdocs-web-sdk.js +1 -1
  206. package/dist/esm-es5/Envelopes-19ca610d.js +2 -0
  207. package/dist/{verdocs-web-sdk/p-c5a43bb3.js.map → esm-es5/Envelopes-19ca610d.js.map} +1 -1
  208. package/dist/esm-es5/{Templates-1034fade.js → Templates-7a534fd1.js} +2 -2
  209. package/dist/esm-es5/{Templates-1034fade.js.map → Templates-7a534fd1.js.map} +0 -0
  210. package/dist/esm-es5/loader.js +1 -1
  211. package/dist/esm-es5/loader.js.map +1 -1
  212. package/dist/esm-es5/{templateStore-96a39844.js → templateStore-b8512d36.js} +2 -2
  213. package/dist/esm-es5/{templateStore-96a39844.js.map → templateStore-b8512d36.js.map} +0 -0
  214. package/dist/esm-es5/utils-2e6beff8.js +2 -0
  215. package/dist/esm-es5/utils-2e6beff8.js.map +1 -0
  216. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  217. package/dist/esm-es5/verdocs-checkbox.entry.js +1 -1
  218. package/dist/esm-es5/verdocs-checkbox.entry.js.map +1 -1
  219. package/dist/esm-es5/verdocs-dropdown.entry.js +2 -0
  220. package/dist/esm-es5/verdocs-dropdown.entry.js.map +1 -0
  221. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  222. package/dist/esm-es5/verdocs-field-attachment.entry.js.map +1 -1
  223. package/dist/esm-es5/verdocs-field-checkbox.entry.js +2 -0
  224. package/dist/esm-es5/verdocs-field-checkbox.entry.js.map +1 -0
  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 +2 -0
  234. package/dist/esm-es5/verdocs-field-radio-button.entry.js.map +1 -0
  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-initial-dialog.entry.js +1 -1
  244. package/dist/esm-es5/verdocs-initial-dialog.entry.js.map +1 -1
  245. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  246. package/dist/esm-es5/verdocs-ok-dialog.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-send.entry.js +1 -1
  250. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  251. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  252. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  253. package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
  254. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  255. package/dist/esm-es5/verdocs-view.entry.js.map +1 -1
  256. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  257. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  258. package/dist/types/components/controls/verdocs-button/verdocs-button.stories.d.ts +2 -2
  259. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +12 -1
  260. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.stories.d.ts +4 -2
  261. package/dist/types/components/controls/verdocs-dropdown/verdocs-dropdown.d.ts +6 -9
  262. package/dist/types/components/controls/verdocs-radio-button/verdocs-radio-button.stories.d.ts +2 -2
  263. package/dist/types/components/controls/verdocs-select-input/verdocs-select-input.stories.d.ts +2 -2
  264. package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.stories.d.ts +2 -2
  265. package/dist/types/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.d.ts +2 -3
  266. package/dist/types/components/elements/verdocs-field-attachment/verdocs-field-attachment.d.ts +5 -5
  267. package/dist/types/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.d.ts +5 -5
  268. package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +1 -8
  269. package/dist/types/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +3 -14
  270. package/dist/types/components/elements/verdocs-field-initial/verdocs-field-initial.d.ts +1 -5
  271. package/dist/types/components/elements/verdocs-field-payment/verdocs-field-payment.d.ts +5 -5
  272. package/dist/types/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +5 -5
  273. package/dist/types/components/elements/verdocs-field-signature/verdocs-field-signature.d.ts +1 -5
  274. package/dist/types/components/elements/verdocs-field-textarea/verdocs-field-textarea.d.ts +1 -29
  275. package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -28
  276. package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.d.ts +2 -1
  277. package/dist/types/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +1 -33
  278. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +6 -8
  279. package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +0 -10
  280. package/dist/types/components.d.ts +43 -143
  281. package/dist/types/utils/utils.d.ts +7 -1
  282. package/dist/verdocs-web-sdk/{p-d1a97a03.system.js → p-00dec610.system.js} +2 -2
  283. package/dist/verdocs-web-sdk/{p-d1a97a03.system.js.map → p-00dec610.system.js.map} +0 -0
  284. package/dist/verdocs-web-sdk/p-05433ef8.entry.js +2 -0
  285. package/dist/verdocs-web-sdk/p-05433ef8.entry.js.map +1 -0
  286. package/dist/verdocs-web-sdk/{p-b2dea632.entry.js → p-11fbd83d.entry.js} +2 -2
  287. package/dist/verdocs-web-sdk/p-11fbd83d.entry.js.map +1 -0
  288. package/dist/verdocs-web-sdk/p-2467a244.entry.js +2 -0
  289. package/dist/verdocs-web-sdk/p-2467a244.entry.js.map +1 -0
  290. package/dist/verdocs-web-sdk/p-26dc355e.entry.js +2 -0
  291. package/dist/verdocs-web-sdk/p-26dc355e.entry.js.map +1 -0
  292. package/dist/verdocs-web-sdk/p-27707de4.system.entry.js +2 -0
  293. package/dist/verdocs-web-sdk/p-27707de4.system.entry.js.map +1 -0
  294. package/dist/verdocs-web-sdk/p-2a153dae.system.entry.js +2 -0
  295. package/dist/verdocs-web-sdk/p-2a153dae.system.entry.js.map +1 -0
  296. package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js +2 -0
  297. package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js.map +1 -0
  298. package/dist/verdocs-web-sdk/p-339c7685.system.entry.js +2 -0
  299. package/dist/verdocs-web-sdk/p-339c7685.system.entry.js.map +1 -0
  300. package/dist/verdocs-web-sdk/p-3bc9be49.entry.js +2 -0
  301. package/dist/verdocs-web-sdk/p-3bc9be49.entry.js.map +1 -0
  302. package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js +2 -0
  303. package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js.map +1 -0
  304. package/dist/verdocs-web-sdk/p-40565c66.system.entry.js +2 -0
  305. package/dist/verdocs-web-sdk/p-40565c66.system.entry.js.map +1 -0
  306. package/dist/verdocs-web-sdk/p-4125b8e7.system.entry.js +2 -0
  307. package/dist/verdocs-web-sdk/p-4125b8e7.system.entry.js.map +1 -0
  308. package/dist/verdocs-web-sdk/{p-30424967.entry.js → p-4318e931.entry.js} +2 -2
  309. package/dist/verdocs-web-sdk/p-4318e931.entry.js.map +1 -0
  310. package/dist/verdocs-web-sdk/{p-9236d9df.entry.js → p-4a2a1525.entry.js} +2 -2
  311. package/dist/verdocs-web-sdk/{p-9236d9df.entry.js.map → p-4a2a1525.entry.js.map} +0 -0
  312. package/dist/verdocs-web-sdk/p-4a332358.system.entry.js +2 -0
  313. package/dist/verdocs-web-sdk/p-4a332358.system.entry.js.map +1 -0
  314. package/dist/verdocs-web-sdk/p-524017b8.entry.js +2 -0
  315. package/dist/verdocs-web-sdk/p-524017b8.entry.js.map +1 -0
  316. package/dist/verdocs-web-sdk/{p-a7ac4da8.system.entry.js → p-529a754e.system.entry.js} +2 -2
  317. package/dist/verdocs-web-sdk/p-529a754e.system.entry.js.map +1 -0
  318. package/dist/verdocs-web-sdk/p-5a323cf3.system.js +2 -0
  319. package/dist/verdocs-web-sdk/p-5a323cf3.system.js.map +1 -0
  320. package/dist/verdocs-web-sdk/p-620ac97f.entry.js +2 -0
  321. package/dist/verdocs-web-sdk/p-620ac97f.entry.js.map +1 -0
  322. package/dist/verdocs-web-sdk/p-68ffd4bf.entry.js +2 -0
  323. package/dist/verdocs-web-sdk/p-68ffd4bf.entry.js.map +1 -0
  324. package/dist/verdocs-web-sdk/{p-dd864f36.system.entry.js → p-6c7a70c0.system.entry.js} +2 -2
  325. package/dist/verdocs-web-sdk/{p-dd864f36.system.entry.js.map → p-6c7a70c0.system.entry.js.map} +0 -0
  326. package/dist/verdocs-web-sdk/p-81343fb3.js +2 -0
  327. package/dist/verdocs-web-sdk/p-81343fb3.js.map +1 -0
  328. package/dist/verdocs-web-sdk/{p-0b2290c6.system.entry.js → p-8cce81ff.system.entry.js} +2 -2
  329. package/dist/verdocs-web-sdk/p-8cce81ff.system.entry.js.map +1 -0
  330. package/dist/verdocs-web-sdk/{p-32da34af.system.js → p-9650cab5.system.js} +2 -2
  331. package/dist/verdocs-web-sdk/{p-32da34af.system.js.map → p-9650cab5.system.js.map} +0 -0
  332. package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js +2 -0
  333. package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js.map +1 -0
  334. package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js +2 -0
  335. package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js.map +1 -0
  336. package/dist/verdocs-web-sdk/{p-a8c25a4a.system.entry.js → p-b3ee5dd5.system.entry.js} +2 -2
  337. package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js.map +1 -0
  338. package/dist/verdocs-web-sdk/p-b4de55c1.entry.js +2 -0
  339. package/dist/verdocs-web-sdk/p-b4de55c1.entry.js.map +1 -0
  340. package/dist/verdocs-web-sdk/{p-f8c49765.system.entry.js → p-b57effa2.system.entry.js} +2 -2
  341. package/dist/verdocs-web-sdk/p-b57effa2.system.entry.js.map +1 -0
  342. package/dist/verdocs-web-sdk/{p-0a3d0ca9.js → p-b87bda66.js} +2 -2
  343. package/dist/verdocs-web-sdk/{p-0a3d0ca9.js.map → p-b87bda66.js.map} +0 -0
  344. package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js +2 -0
  345. package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js.map +1 -0
  346. package/dist/verdocs-web-sdk/p-c132d66e.entry.js +2 -0
  347. package/dist/verdocs-web-sdk/p-c132d66e.entry.js.map +1 -0
  348. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  349. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
  350. package/dist/verdocs-web-sdk/p-c5794e33.entry.js +2 -0
  351. package/dist/verdocs-web-sdk/p-c5794e33.entry.js.map +1 -0
  352. package/dist/verdocs-web-sdk/{p-5bb42252.system.entry.js → p-c6ef13bd.system.entry.js} +2 -2
  353. package/dist/verdocs-web-sdk/{p-5bb42252.system.entry.js.map → p-c6ef13bd.system.entry.js.map} +0 -0
  354. package/dist/verdocs-web-sdk/{p-cb7d9ff5.js → p-d1f922c2.js} +2 -2
  355. package/dist/verdocs-web-sdk/{p-cb7d9ff5.js.map → p-d1f922c2.js.map} +0 -0
  356. package/dist/verdocs-web-sdk/p-d48d78a2.entry.js +2 -0
  357. package/dist/verdocs-web-sdk/p-d48d78a2.entry.js.map +1 -0
  358. package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js +2 -0
  359. package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js.map +1 -0
  360. package/dist/verdocs-web-sdk/p-d7c712e8.system.js +2 -0
  361. package/dist/verdocs-web-sdk/p-d7c712e8.system.js.map +1 -0
  362. package/dist/verdocs-web-sdk/p-d8e182fb.system.entry.js +2 -0
  363. package/dist/verdocs-web-sdk/p-d8e182fb.system.entry.js.map +1 -0
  364. package/dist/verdocs-web-sdk/p-d942510c.system.entry.js +2 -0
  365. package/dist/verdocs-web-sdk/p-d942510c.system.entry.js.map +1 -0
  366. package/dist/verdocs-web-sdk/{p-4b4c610f.entry.js → p-deb5b86b.entry.js} +2 -2
  367. package/dist/verdocs-web-sdk/p-deb5b86b.entry.js.map +1 -0
  368. package/dist/verdocs-web-sdk/p-df877830.entry.js +2 -0
  369. package/dist/verdocs-web-sdk/p-df877830.entry.js.map +1 -0
  370. package/dist/verdocs-web-sdk/p-e6f928eb.js +2 -0
  371. package/dist/verdocs-web-sdk/p-e6f928eb.js.map +1 -0
  372. package/dist/verdocs-web-sdk/p-e918e13e.entry.js +2 -0
  373. package/dist/verdocs-web-sdk/p-e918e13e.entry.js.map +1 -0
  374. package/dist/verdocs-web-sdk/p-ed55daf4.system.entry.js +2 -0
  375. package/dist/verdocs-web-sdk/p-ed55daf4.system.entry.js.map +1 -0
  376. package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js +2 -0
  377. package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js.map +1 -0
  378. package/dist/verdocs-web-sdk/p-f8526821.system.entry.js +2 -0
  379. package/dist/verdocs-web-sdk/p-f8526821.system.entry.js.map +1 -0
  380. package/dist/verdocs-web-sdk/p-fb391ca5.entry.js +2 -0
  381. package/dist/verdocs-web-sdk/p-fb391ca5.entry.js.map +1 -0
  382. package/dist/verdocs-web-sdk/{p-f19e600e.entry.js → p-fd99a113.entry.js} +2 -2
  383. package/dist/verdocs-web-sdk/{p-f19e600e.entry.js.map → p-fd99a113.entry.js.map} +0 -0
  384. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  385. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  386. package/package.json +1 -1
  387. package/dist/cjs/Envelopes-aec4ee3d.js.map +0 -1
  388. package/dist/cjs/utils-e0f38696.js.map +0 -1
  389. package/dist/cjs/verdocs-dropdown_3.cjs.entry.js +0 -128
  390. package/dist/cjs/verdocs-dropdown_3.cjs.entry.js.map +0 -1
  391. package/dist/components/verdocs-field-checkbox2.js +0 -46
  392. package/dist/components/verdocs-field-checkbox2.js.map +0 -1
  393. package/dist/components/verdocs-field-radio-button2.js +0 -50
  394. package/dist/components/verdocs-field-radio-button2.js.map +0 -1
  395. package/dist/esm/Envelopes-b031f847.js.map +0 -1
  396. package/dist/esm/utils-99a3c1f0.js.map +0 -1
  397. package/dist/esm/verdocs-dropdown_3.entry.js +0 -122
  398. package/dist/esm/verdocs-dropdown_3.entry.js.map +0 -1
  399. package/dist/esm-es5/Envelopes-b031f847.js +0 -2
  400. package/dist/esm-es5/Envelopes-b031f847.js.map +0 -1
  401. package/dist/esm-es5/utils-99a3c1f0.js +0 -2
  402. package/dist/esm-es5/utils-99a3c1f0.js.map +0 -1
  403. package/dist/esm-es5/verdocs-dropdown_3.entry.js +0 -2
  404. package/dist/esm-es5/verdocs-dropdown_3.entry.js.map +0 -1
  405. package/dist/verdocs-web-sdk/p-0a2efec0.system.entry.js +0 -2
  406. package/dist/verdocs-web-sdk/p-0a2efec0.system.entry.js.map +0 -1
  407. package/dist/verdocs-web-sdk/p-0b2290c6.system.entry.js.map +0 -1
  408. package/dist/verdocs-web-sdk/p-112c8e05.system.entry.js +0 -2
  409. package/dist/verdocs-web-sdk/p-112c8e05.system.entry.js.map +0 -1
  410. package/dist/verdocs-web-sdk/p-15584ecb.entry.js +0 -2
  411. package/dist/verdocs-web-sdk/p-15584ecb.entry.js.map +0 -1
  412. package/dist/verdocs-web-sdk/p-21ec6ff0.system.js +0 -2
  413. package/dist/verdocs-web-sdk/p-21ec6ff0.system.js.map +0 -1
  414. package/dist/verdocs-web-sdk/p-2cf3843a.entry.js +0 -2
  415. package/dist/verdocs-web-sdk/p-2cf3843a.entry.js.map +0 -1
  416. package/dist/verdocs-web-sdk/p-30424967.entry.js.map +0 -1
  417. package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js +0 -2
  418. package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js.map +0 -1
  419. package/dist/verdocs-web-sdk/p-32e3a428.entry.js +0 -2
  420. package/dist/verdocs-web-sdk/p-32e3a428.entry.js.map +0 -1
  421. package/dist/verdocs-web-sdk/p-3585534a.system.entry.js +0 -2
  422. package/dist/verdocs-web-sdk/p-3585534a.system.entry.js.map +0 -1
  423. package/dist/verdocs-web-sdk/p-35fec075.system.entry.js +0 -2
  424. package/dist/verdocs-web-sdk/p-35fec075.system.entry.js.map +0 -1
  425. package/dist/verdocs-web-sdk/p-4b4c610f.entry.js.map +0 -1
  426. package/dist/verdocs-web-sdk/p-5b636344.entry.js +0 -2
  427. package/dist/verdocs-web-sdk/p-5b636344.entry.js.map +0 -1
  428. package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js +0 -2
  429. package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js.map +0 -1
  430. package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js +0 -2
  431. package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js.map +0 -1
  432. package/dist/verdocs-web-sdk/p-8095fab3.system.entry.js +0 -2
  433. package/dist/verdocs-web-sdk/p-8095fab3.system.entry.js.map +0 -1
  434. package/dist/verdocs-web-sdk/p-868f497f.entry.js +0 -2
  435. package/dist/verdocs-web-sdk/p-868f497f.entry.js.map +0 -1
  436. package/dist/verdocs-web-sdk/p-92b0fc42.js +0 -2
  437. package/dist/verdocs-web-sdk/p-92b0fc42.js.map +0 -1
  438. package/dist/verdocs-web-sdk/p-a760546b.entry.js +0 -2
  439. package/dist/verdocs-web-sdk/p-a760546b.entry.js.map +0 -1
  440. package/dist/verdocs-web-sdk/p-a7ac4da8.system.entry.js.map +0 -1
  441. package/dist/verdocs-web-sdk/p-a8c25a4a.system.entry.js.map +0 -1
  442. package/dist/verdocs-web-sdk/p-a9068845.entry.js +0 -2
  443. package/dist/verdocs-web-sdk/p-a9068845.entry.js.map +0 -1
  444. package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js +0 -2
  445. package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js.map +0 -1
  446. package/dist/verdocs-web-sdk/p-af1063e3.entry.js +0 -2
  447. package/dist/verdocs-web-sdk/p-af1063e3.entry.js.map +0 -1
  448. package/dist/verdocs-web-sdk/p-b2dea632.entry.js.map +0 -1
  449. package/dist/verdocs-web-sdk/p-b6c24f97.system.entry.js +0 -2
  450. package/dist/verdocs-web-sdk/p-b6c24f97.system.entry.js.map +0 -1
  451. package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js +0 -2
  452. package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js.map +0 -1
  453. package/dist/verdocs-web-sdk/p-be8004c0.entry.js +0 -2
  454. package/dist/verdocs-web-sdk/p-be8004c0.entry.js.map +0 -1
  455. package/dist/verdocs-web-sdk/p-c5a43bb3.js +0 -2
  456. package/dist/verdocs-web-sdk/p-cd7b475a.system.js +0 -2
  457. package/dist/verdocs-web-sdk/p-cd7b475a.system.js.map +0 -1
  458. package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js +0 -2
  459. package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js.map +0 -1
  460. package/dist/verdocs-web-sdk/p-e4fa4969.entry.js +0 -2
  461. package/dist/verdocs-web-sdk/p-e4fa4969.entry.js.map +0 -1
  462. package/dist/verdocs-web-sdk/p-e96a04c2.entry.js +0 -2
  463. package/dist/verdocs-web-sdk/p-e96a04c2.entry.js.map +0 -1
  464. package/dist/verdocs-web-sdk/p-ed71080a.entry.js +0 -2
  465. package/dist/verdocs-web-sdk/p-ed71080a.entry.js.map +0 -1
  466. package/dist/verdocs-web-sdk/p-f8c49765.system.entry.js.map +0 -1
  467. package/dist/verdocs-web-sdk/p-f9a9b3a2.entry.js +0 -2
  468. package/dist/verdocs-web-sdk/p-f9a9b3a2.entry.js.map +0 -1
  469. package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js +0 -2
  470. package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js.map +0 -1
  471. package/dist/verdocs-web-sdk/p-ff0b44f9.system.entry.js +0 -2
  472. package/dist/verdocs-web-sdk/p-ff0b44f9.system.entry.js.map +0 -1
@@ -1,14 +1,14 @@
1
- // import interact from 'interactjs';
2
1
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
2
  import { Envelopes } from '@verdocs/js-sdk/Envelopes';
4
- import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
5
- import { rescale } from '@verdocs/js-sdk/Utils/Fields';
6
3
  import { updateRecipientStatus } from '@verdocs/js-sdk/Envelopes/Recipients';
7
4
  import { isValidEmail, isValidPhone } from '@verdocs/js-sdk/Templates/Validators';
8
5
  import { Host, Fragment, h } from '@stencil/core';
9
- import { getFieldId, getRoleIndex, renderDocumentField, setControlStyles } from '../../../utils/utils';
10
- import TemplateStore from '../../../utils/templateStore';
6
+ import { fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField } from '../../../utils/utils';
7
+ import EnvelopeStore from '../../../utils/envelopeStore';
8
+ import { getEnvelopeById } from '../../../utils/Envelopes';
11
9
  import { SDKError } from '../../../utils/errors';
10
+ import { createSignature } from '@verdocs/js-sdk/Envelopes/Signatures';
11
+ import { updateEnvelopeFieldSignature } from '@verdocs/js-sdk/Envelopes/Envelopes';
12
12
  /**
13
13
  * Display an envelope signing experience. This will display the envelope's attached
14
14
  * documents with signing fields overlaid on each page.
@@ -29,17 +29,21 @@ import { SDKError } from '../../../utils/errors';
29
29
  export class VerdocsSign {
30
30
  constructor() {
31
31
  this.endpoint = null;
32
+ this.recipientIndex = -1;
33
+ this.fields = [];
32
34
  this.envelopeId = null;
33
35
  this.roleId = null;
34
36
  this.inviteCode = null;
35
37
  this.recipient = null;
36
38
  this.signerToken = null;
37
- this.recipientIndex = -1;
38
- this.envelope = null;
39
- this.fields = [];
40
39
  this.hasSignature = false;
41
40
  this.nextButtonLabel = 'Start';
42
41
  this.focusedField = '';
42
+ this.finishLater = false;
43
+ this.showFinishLater = false;
44
+ }
45
+ componentWillLoad() {
46
+ this.endpoint = new VerdocsEndpoint({ sessionType: 'signing' });
43
47
  }
44
48
  async componentDidLoad() {
45
49
  var _a, _b, _c, _d, _e, _f;
@@ -56,7 +60,6 @@ export class VerdocsSign {
56
60
  return;
57
61
  }
58
62
  try {
59
- this.endpoint = new VerdocsEndpoint({ sessionType: 'signing' });
60
63
  console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);
61
64
  const { session, recipient, signerToken } = await Envelopes.getSigningSession(this.endpoint, {
62
65
  envelopeId: this.envelopeId,
@@ -70,15 +73,15 @@ export class VerdocsSign {
70
73
  if (this.recipient.agreed) {
71
74
  this.nextButtonLabel = 'Next';
72
75
  }
73
- const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);
74
- this.envelope = envelope;
75
- console.log('[SIGN] Loaded envelope', envelope);
76
- this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);
76
+ await getEnvelopeById(this.endpoint, this.envelopeId);
77
+ // const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);
78
+ // this.envelope = envelope;
79
+ // console.log('[SIGN] Loaded envelope', envelope);
80
+ this.recipientIndex = EnvelopeStore.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);
77
81
  if (this.recipientIndex > -1) {
78
- console.log('Found recipient', this.envelope.recipients[this.recipientIndex]);
82
+ this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];
83
+ this.fields = this.recipient.fields;
79
84
  }
80
- this.fields = this.envelope.fields.filter(field => field.recipient_role === this.roleId);
81
- console.log('Loaded fields', this.fields);
82
85
  // TODO: Fix service to allow this?
83
86
  // const sigs = await getSignatures();
84
87
  // console.log('sigs', sigs);
@@ -89,22 +92,20 @@ export class VerdocsSign {
89
92
  }
90
93
  }
91
94
  handleClickAgree() {
92
- console.log('agree clicked');
93
95
  updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', { agreed: true })
94
96
  .then(r => {
95
- console.log('update result', r);
96
97
  this.nextButtonLabel = 'Next';
97
98
  this.recipient = r;
98
99
  })
99
100
  .catch(e => {
100
101
  var _a, _b, _c;
101
- console.log('update failure', e);
102
+ console.log('Update failure', e);
102
103
  (_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));
103
104
  });
104
105
  }
105
106
  async savePDF() {
106
- const fileName = `${this.envelope.name} - ${this.envelope.updated_at.split('T')[0]}.pdf`;
107
- const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, this.envelope.envelope_document_id);
107
+ const fileName = `${EnvelopeStore.envelope.name} - ${EnvelopeStore.envelope.updated_at.split('T')[0]}.pdf`;
108
+ const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, EnvelopeStore.envelope.envelope_document_id);
108
109
  // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique
109
110
  // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image
110
111
  let xhr = new XMLHttpRequest();
@@ -118,18 +119,18 @@ export class VerdocsSign {
118
119
  a.click();
119
120
  a.remove();
120
121
  };
121
- const url = `data:application/pdf;base64,${data}`;
122
- console.log('url', url.length, url);
123
122
  xhr.open('GET', `data:application/pdf;base64,${data}`);
124
123
  xhr.send();
125
124
  }
126
125
  async handleOptionSelected(e) {
127
126
  switch (e.detail.id) {
128
127
  case 'later':
128
+ this.finishLater = true;
129
+ this.showFinishLater = true;
129
130
  // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);
130
- if (!(window === null || window === void 0 ? void 0 : window['STORYBOOK_ENV'])) {
131
- window.alert('User intends to sign later.');
132
- }
131
+ // if (!window?.['STORYBOOK_ENV']) {
132
+ // window.alert('User intends to sign later.');
133
+ // }
133
134
  break;
134
135
  case 'claim':
135
136
  break;
@@ -144,9 +145,10 @@ export class VerdocsSign {
144
145
  }
145
146
  async handleFieldChange(field, e, optionId) {
146
147
  console.log('fieldChange', field, e);
148
+ const { value, checked } = e.target;
147
149
  switch (field.type) {
148
150
  case 'textbox':
149
- Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value: e.detail })
151
+ Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value })
150
152
  .then(r => console.log('Update result', r))
151
153
  .catch(e => {
152
154
  var _a, _b, _c, _d, _e, _f;
@@ -158,7 +160,7 @@ export class VerdocsSign {
158
160
  });
159
161
  break;
160
162
  case 'checkbox_group':
161
- Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value: { options: [{ id: optionId, checked: e.detail }] } })
163
+ Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value: { options: [{ id: optionId, checked }] } })
162
164
  .then(r => console.log('Update result', r))
163
165
  .catch(e => {
164
166
  var _a, _b, _c;
@@ -190,33 +192,30 @@ export class VerdocsSign {
190
192
  break;
191
193
  case 'signature':
192
194
  console.log('Got signature', e.detail);
195
+ const newSignature = await createSignature(this.endpoint, 'signature', e.detail);
196
+ console.log('Created signature', newSignature);
197
+ // --data-raw '{"ip_address":"ip_unavailable"}' \
198
+ const attachResult = await updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);
199
+ console.log('Attach result', attachResult);
200
+ break;
201
+ case 'date':
202
+ const iso = e.target.getAttribute('iso');
203
+ Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value: iso })
204
+ .then(r => console.log('Update result', r))
205
+ .catch(e => {
206
+ var _a, _b, _c, _d, _e, _f;
207
+ (_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));
208
+ if (((_d = e.response) === null || _d === void 0 ? void 0 : _d.status) === 401 && ((_f = (_e = e.response) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.error) === 'jwt expired') {
209
+ console.log('jwt expired');
210
+ }
211
+ console.log('Error updating', e);
212
+ });
213
+ break;
214
+ default:
215
+ console.log('Unhandled field update', { value, checked }, field);
193
216
  break;
194
217
  }
195
218
  }
196
- renderCheckboxGroupOption(page, field, option) {
197
- const left = rescale(page.xScale, option.x);
198
- const bottom = rescale(page.yScale, option.y);
199
- const style = {
200
- left: `${left}px`,
201
- bottom: `${bottom}px`,
202
- position: 'absolute',
203
- transform: `scale(${page.xScale}, ${page.yScale})`,
204
- backgroundColor: getRGBA(this.recipientIndex),
205
- };
206
- return h("verdocs-field-checkbox", { style: style, field: field, onChange: e => this.handleFieldChange(field, e, option.id) });
207
- }
208
- renderRadioGroupOption(page, field, option) {
209
- const left = rescale(page.xScale, option.x);
210
- const bottom = rescale(page.yScale, option.y);
211
- const style = {
212
- left: `${left}px`,
213
- bottom: `${bottom}px`,
214
- position: 'absolute',
215
- transform: `scale(${page.xScale}, ${page.yScale})`,
216
- backgroundColor: getRGBA(this.recipientIndex),
217
- };
218
- return h("verdocs-field-radio-button", { style: style, field: field, onFieldChange: e => this.handleFieldChange(field, e, option.id) });
219
- }
220
219
  isFieldValid(field) {
221
220
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
222
221
  switch (field.type) {
@@ -277,78 +276,31 @@ export class VerdocsSign {
277
276
  this.focusedField = nextRequiredField.name;
278
277
  }
279
278
  }
280
- renderField(field, docPage /*, index: number*/) {
281
- const controlsDiv = document.getElementById(docPage.containerId + '-controls');
282
- if (!controlsDiv) {
283
- return;
284
- }
285
- const id = getFieldId(field);
286
- const existingField = document.getElementById(id);
287
- console.log('field', id, existingField);
288
- if (existingField) {
289
- setControlStyles(existingField, field, docPage.xScale, docPage.yScale);
290
- return;
291
- }
292
- let el;
293
- switch (field.type) {
294
- case 'attachment':
295
- case 'checkbox_group':
296
- case 'date':
297
- case 'dropdown':
298
- case 'initial':
299
- case 'payment':
300
- case 'signature':
301
- case 'timestamp':
302
- case 'textarea':
303
- case 'textbox':
304
- el = document.createElement(`verdocs-field-${field.type}`);
305
- break;
306
- // return field.settings.options.map((option: any, index) => this.renderCheckboxGroupOption(renderOnPage, field, option, index));
307
- case 'radio_button_group':
308
- // el = document.createElement('verdocs-field-signature');
309
- // el.setAttribute('value', base64);
310
- break;
311
- // return field.settings.options.map((option: any, index) => this.renderRadioGroupOption(renderOnPage, field, option, index));
312
- // case 'attachment':
313
- // el = document.createElement('verdocs-field-attachment');
314
- // el.setAttribute('value', result || '');
315
- // break;
316
- // case 'payment':
317
- // el = document.createElement('verdocs-field-payment');
318
- // break;
319
- default:
320
- console.log('[SIGN] Skipping unsupported field type', field);
321
- }
322
- console.log('created field', el);
323
- if (el) {
324
- el.field = field;
325
- el.recipient = this.recipient;
326
- el.setAttribute('id', id);
327
- el.setAttribute('roleindex', this.recipientIndex);
328
- el.addEventListener('fieldChange', e => this.handleFieldChange(field, e));
329
- setControlStyles(el, field, docPage.xScale, docPage.yScale);
330
- controlsDiv.appendChild(el);
331
- }
332
- }
333
279
  handlePageRendered(e) {
334
280
  const pageInfo = e.detail;
335
281
  console.log('[SIGN] Page rendered', pageInfo);
336
- const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
282
+ const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);
283
+ console.log('rendering fields for recipient', roleIndex);
284
+ const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);
337
285
  // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
338
- console.log('[SIGN] Fields on page', fields);
339
- fields.forEach(field => {
340
- const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true, true, true);
341
- console.log('rendered element', el);
342
- // const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(this.roles, field.role_name), this.handleFieldChange, true, true, true);
286
+ console.log('[SIGN] Fields on page', recipientFields);
287
+ recipientFields.forEach(field => {
288
+ var _a;
289
+ const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: false, editable: false, draggable: false });
343
290
  if (!el) {
344
291
  return;
345
292
  }
346
- el.addEventListener('recipientChanged', e => {
347
- el.setAttribute('roleindex', getRoleIndex(TemplateStore.roleNames, e.detail));
348
- // el.setAttribute('roleindex', getRoleIndex(this.roles, e.detail));
293
+ el.addEventListener('input', e => {
294
+ this.handleFieldChange(field, e);
295
+ });
296
+ el.addEventListener('fieldChange', e => {
297
+ this.handleFieldChange(field, e);
349
298
  });
350
- el.setAttribute('xScale', pageInfo.renderedPage.xScale);
351
- el.setAttribute('yScale', pageInfo.renderedPage.yScale);
299
+ el.setAttribute('roleindex', roleIndex);
300
+ el.setAttribute('xScale', pageInfo.xScale);
301
+ el.setAttribute('yScale', pageInfo.yScale);
302
+ el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');
303
+ el.setAttribute('name', ((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.full_name) || '');
352
304
  // interact(el).draggable({
353
305
  // listeners: {
354
306
  // start(event) {
@@ -374,21 +326,29 @@ export class VerdocsSign {
374
326
  // },
375
327
  // });
376
328
  });
329
+ EnvelopeStore.envelope.recipients
330
+ .filter(recipient => recipient.role_name !== this.recipient.role_name)
331
+ .map(otherRecipient => {
332
+ const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);
333
+ console.log('Rendering fields for other recipient', otherRoleIndex, otherRecipient);
334
+ const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);
335
+ // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
336
+ console.log('[SIGN] Fields on page', recipientFields);
337
+ recipientFields.forEach(field => {
338
+ const el = renderDocumentField(field, pageInfo, otherRoleIndex, { disabled: true, editable: false, draggable: false });
339
+ if (!el) {
340
+ return;
341
+ }
342
+ el.setAttribute('roleindex', otherRoleIndex);
343
+ el.setAttribute('xScale', pageInfo.xScale);
344
+ el.setAttribute('yScale', pageInfo.yScale);
345
+ });
346
+ });
377
347
  }
378
- // handlePageRendered(e) {
379
- // const pageInfo = e.detail as IPageRenderEvent;
380
- // console.log('[SIGN] Page rendered', pageInfo);
381
- //
382
- // const fields = this.fields.filter(field => field.page === pageInfo.renderedPage.pageNumber);
383
- // console.log('[SIGN] Fields on page', fields);
384
- // fields.forEach(field => this.renderField(field, pageInfo.renderedPage));
385
- // // .map((field, index) => this.renderField(field, index));
386
- // // this.pdfPageInfo = e.detail;
387
- // }
388
348
  render() {
389
- var _a, _b, _c, _d, _e;
390
- if (!this.envelope) {
391
- return h(Host, null);
349
+ var _a, _b, _c, _d;
350
+ if (EnvelopeStore.loading || !EnvelopeStore.envelope) {
351
+ return (h(Host, null, h("verdocs-loader", null)));
392
352
  }
393
353
  const menuOptions = [
394
354
  { id: 'later', label: 'Finish Later' },
@@ -397,14 +357,14 @@ export class VerdocsSign {
397
357
  { id: 'print', label: 'Print Without Signing' },
398
358
  { id: 'download', label: 'Download' },
399
359
  ];
400
- return (h(Host, { class: { agreed: (_a = this.recipient) === null || _a === void 0 ? void 0 : _a.agreed } }, 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" }, 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("div", { class: "agree-checkbox" }, h("input", { type: "checkbox", value: "None", id: "agree-checkbox-element", name: "agree", onChange: () => this.handleClickAgree() }), h("label", { htmlFor: "agree-checkbox-element" })), h("span", null, "I agree to use electronic records and signatures."))) : (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" }, h("div", { class: "inner" }, (((_e = this.envelope) === null || _e === void 0 ? void 0 : _e.documents) || []).map(envelopeDocument => {
360
+ 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 => {
401
361
  const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
402
362
  pages.sort((a, b) => a.sequence - b.sequence);
403
363
  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: [
404
364
  { name: 'page', type: 'canvas' },
405
365
  { name: 'controls', type: 'div' },
406
366
  ] })))));
407
- })))));
367
+ })), 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) }))));
408
368
  }
409
369
  static get is() { return "verdocs-sign"; }
410
370
  static get originalStyleUrls() {
@@ -479,12 +439,11 @@ export class VerdocsSign {
479
439
  return {
480
440
  "recipient": {},
481
441
  "signerToken": {},
482
- "recipientIndex": {},
483
- "envelope": {},
484
- "fields": {},
485
442
  "hasSignature": {},
486
443
  "nextButtonLabel": {},
487
- "focusedField": {}
444
+ "focusedField": {},
445
+ "finishLater": {},
446
+ "showFinishLater": {}
488
447
  };
489
448
  }
490
449
  static get events() {
@@ -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 interact from 'interactjs';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {rescale} from '@verdocs/js-sdk/Utils/Fields';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {IEnvelope, IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {getFieldId, getRoleIndex, renderDocumentField, setControlStyles} from '../../../utils/utils';\n// import {getFieldId, getRoleIndex, renderDocumentField, setControlStyles, updateCssTransform} from '../../../utils/utils';\nimport {IPageRenderEvent} from '../verdocs-view/verdocs-view';\nimport TemplateStore from '../../../utils/templateStore';\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() recipientIndex: number = -1;\n @State() envelope: IEnvelope | null = null;\n @State() fields: IDocumentField[] = [];\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() focusedField = '';\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 this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\n\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 const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n this.envelope = envelope;\n console.log('[SIGN] Loaded envelope', envelope);\n\n this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n console.log('Found recipient', this.envelope.recipients[this.recipientIndex]);\n }\n\n this.fields = this.envelope.fields.filter(field => field.recipient_role === this.roleId);\n console.log('Loaded fields', this.fields);\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 console.log('agree clicked');\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n console.log('update result', 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 = `${this.envelope.name} - ${this.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, this.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 const url = `data:application/pdf;base64,${data}`;\n console.log('url', url.length, url);\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.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 async handleFieldChange(field: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e);\n switch (field.type) {\n case 'textbox':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n case 'checkbox_group':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options: [{id: optionId, checked: e.detail}]}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'dropdown':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'initial':\n console.log('Got initial', e.detail);\n break;\n\n case 'signature':\n console.log('Got signature', e.detail);\n break;\n }\n }\n\n renderCheckboxGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-checkbox style={style} field={field} onChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n renderRadioGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-radio-button style={style} field={field} onFieldChange={e => this.handleFieldChange(field, e, option.id)} />;\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 case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n case 'dropdown':\n return !!field.settings?.value;\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 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 // (async () => {\n // await customElements.whenDefined('verdocs-field-signature');\n // const els = document.getElementById('verdocs-field-signature');\n // await els.focusField();\n // })();\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n console.log('required Fields', requiredFields);\n\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n console.log('focused Index', focusedIndex);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n const nextRequiredField = requiredFields[nextFocusedIndex];\n console.log('next required field', nextRequiredField);\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n console.log('focusing', id, el);\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n renderField(field: IDocumentField, docPage: IDocumentPageInfo /*, index: number*/) {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n console.log('field', id, existingField);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return;\n }\n\n let el;\n switch (field.type) {\n case 'attachment':\n case 'checkbox_group':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox':\n el = document.createElement(`verdocs-field-${field.type}`);\n break;\n // return field.settings.options.map((option: any, index) => this.renderCheckboxGroupOption(renderOnPage, field, option, index));\n case 'radio_button_group':\n // el = document.createElement('verdocs-field-signature');\n // el.setAttribute('value', base64);\n break;\n // return field.settings.options.map((option: any, index) => this.renderRadioGroupOption(renderOnPage, field, option, index));\n // case 'attachment':\n // el = document.createElement('verdocs-field-attachment');\n // el.setAttribute('value', result || '');\n // break;\n // case 'payment':\n // el = document.createElement('verdocs-field-payment');\n // break;\n default:\n console.log('[SIGN] Skipping unsupported field type', field);\n }\n console.log('created field', el);\n\n if (el) {\n el.field = field;\n el.recipient = this.recipient;\n el.setAttribute('id', id);\n el.setAttribute('roleindex', this.recipientIndex);\n el.addEventListener('fieldChange', e => this.handleFieldChange(field, e));\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IPageRenderEvent;\n console.log('[SIGN] Page rendered', pageInfo);\n\n const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', fields);\n fields.forEach(field => {\n const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true, true, true);\n console.log('rendered element', el);\n // const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(this.roles, field.role_name), this.handleFieldChange, true, true, true);\n if (!el) {\n return;\n }\n\n el.addEventListener('recipientChanged', e => {\n el.setAttribute('roleindex', getRoleIndex(TemplateStore.roleNames, e.detail));\n // el.setAttribute('roleindex', getRoleIndex(this.roles, e.detail));\n });\n\n el.setAttribute('xScale', pageInfo.renderedPage.xScale);\n el.setAttribute('yScale', pageInfo.renderedPage.yScale);\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 // handlePageRendered(e) {\n // const pageInfo = e.detail as IPageRenderEvent;\n // console.log('[SIGN] Page rendered', pageInfo);\n //\n // const fields = this.fields.filter(field => field.page === pageInfo.renderedPage.pageNumber);\n // console.log('[SIGN] Fields on page', fields);\n // fields.forEach(field => this.renderField(field, pageInfo.renderedPage));\n // // .map((field, index) => this.renderField(field, index));\n // // this.pdfPageInfo = e.detail;\n // }\n\n render() {\n if (!this.envelope) {\n return <Host />;\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'},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{agreed: this.recipient?.agreed}}>\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n\n <div class=\"header\">\n <div class=\"inner\">\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 <div class=\"agree-checkbox\">\n <input type=\"checkbox\" value=\"None\" id=\"agree-checkbox-element\" name=\"agree\" onChange={() => this.handleClickAgree()} />\n <label htmlFor=\"agree-checkbox-element\" />\n </div>\n <span>I agree to use electronic records and signatures.</span>\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 </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n <div class=\"inner\">\n {(this.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 </div>\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 {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 {fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField} from '../../../utils/utils';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\nimport {createSignature} from '@verdocs/js-sdk/Envelopes/Signatures';\nimport {updateEnvelopeFieldSignature} from '@verdocs/js-sdk/Envelopes/Envelopes';\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() 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 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 Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n case 'checkbox_group':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options: [{id: optionId, checked}]}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'dropdown':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'initial':\n console.log('Got initial', e.detail);\n break;\n\n case 'signature':\n console.log('Got signature', e.detail);\n\n const newSignature = await createSignature(this.endpoint, 'signature', e.detail);\n console.log('Created signature', newSignature);\n\n // --data-raw '{\"ip_address\":\"ip_unavailable\"}' \\\n const attachResult = await updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n console.log('Attach result', attachResult);\n break;\n\n case 'date':\n const iso = e.target.getAttribute('iso');\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: iso})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\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 case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n case 'dropdown':\n return !!field.settings?.value;\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 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 // (async () => {\n // await customElements.whenDefined('verdocs-field-signature');\n // const els = document.getElementById('verdocs-field-signature');\n // await els.focusField();\n // })();\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n console.log('required Fields', requiredFields);\n\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n console.log('focused Index', focusedIndex);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n const nextRequiredField = requiredFields[nextFocusedIndex];\n console.log('next required field', nextRequiredField);\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n console.log('focusing', id, el);\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', pageInfo);\n\n const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);\n console.log('rendering fields for recipient', roleIndex);\n const recipientFields = this.recipient.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, roleIndex, {disabled: false, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.addEventListener('input', e => {\n this.handleFieldChange(field, e);\n });\n\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e);\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'},\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\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 </Host>\n );\n }\n}\n"]}
@@ -3,9 +3,9 @@ export default {
3
3
  title: 'Embeds/Sign',
4
4
  component: 'verdocs-sign',
5
5
  args: {
6
- envelopeId: 'fa2e6afa-4da8-4c6e-ab37-27ec366b090b',
6
+ envelopeId: '92f3dd1e-9ff2-44c3-8c96-32a5b650ed6d',
7
7
  roleId: 'Seller',
8
- inviteCode: '06cecc76ad9b3d02a8fadab5b0aad065',
8
+ inviteCode: '67aad4b04fbb83c03d238f7404113b6b',
9
9
  },
10
10
  argTypes: {
11
11
  envelopeId: { control: { type: 'string' } },
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-sign.stories.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,aAAa;EACpB,SAAS,EAAE,cAAc;EACzB,IAAI,EAAE;IACJ,UAAU,EAAE,sCAAsC;IAClD,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,kCAAkC;GAC/C;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;IACvC,MAAM,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;IACnC,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;GACxC;EACD,UAAU,EAAE;IACV,MAAM,EAAE,YAAY;GACrB;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC,EAAE,EAAE,CAAC,IAAI,CAAA,6BAA6B,UAAU,YAAY,MAAM,gBAAgB,UAAU,KAAK,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Embeds/Sign',\n component: 'verdocs-sign',\n args: {\n envelopeId: 'fa2e6afa-4da8-4c6e-ab37-27ec366b090b',\n roleId: 'Seller',\n inviteCode: '06cecc76ad9b3d02a8fadab5b0aad065',\n },\n argTypes: {\n envelopeId: {control: {type: 'string'}},\n roleId: {control: {type: 'string'}},\n inviteCode: {control: {type: 'string'}},\n },\n parameters: {\n layout: 'fullscreen',\n },\n} as Meta;\n\nexport const Sign = ({envelopeId, roleId, inviteCode}) => html`<verdocs-sign .envelopeId=${envelopeId} .roleId=${roleId} .inviteCode=${inviteCode} />`;\n"]}
1
+ {"version":3,"file":"verdocs-sign.stories.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,aAAa;EACpB,SAAS,EAAE,cAAc;EACzB,IAAI,EAAE;IACJ,UAAU,EAAE,sCAAsC;IAClD,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,kCAAkC;GAC/C;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;IACvC,MAAM,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;IACnC,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;GACxC;EACD,UAAU,EAAE;IACV,MAAM,EAAE,YAAY;GACrB;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC,EAAE,EAAE,CAAC,IAAI,CAAA,6BAA6B,UAAU,YAAY,MAAM,gBAAgB,UAAU,KAAK,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Embeds/Sign',\n component: 'verdocs-sign',\n args: {\n envelopeId: '92f3dd1e-9ff2-44c3-8c96-32a5b650ed6d',\n roleId: 'Seller',\n inviteCode: '67aad4b04fbb83c03d238f7404113b6b',\n },\n argTypes: {\n envelopeId: {control: {type: 'string'}},\n roleId: {control: {type: 'string'}},\n inviteCode: {control: {type: 'string'}},\n },\n parameters: {\n layout: 'fullscreen',\n },\n} as Meta;\n\nexport const Sign = ({envelopeId, roleId, inviteCode}) => html`<verdocs-sign .envelopeId=${envelopeId} .roleId=${roleId} .inviteCode=${inviteCode} />`;\n"]}
@@ -206,15 +206,13 @@ export class VerdocsView {
206
206
  // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
207
207
  console.log('[SIGN] Fields on page', fields);
208
208
  fields.forEach(field => {
209
- const el = renderDocumentField(field, pageInfo, getRoleIndex(EnvelopeStore.roleNames, field.recipient_role), this.handleFieldChange, true, false, false);
210
- console.log('rendered element', el);
211
- // const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(this.roles, field.role_name), this.handleFieldChange, true, true, true);
209
+ const el = renderDocumentField(field, pageInfo, getRoleIndex(EnvelopeStore.roleNames, field.recipient_role), { disabled: true, editable: false, draggable: false });
212
210
  if (!el) {
213
211
  return;
214
212
  }
215
- el.addEventListener('recipientChanged', e => {
216
- el.setAttribute('roleindex', getRoleIndex(EnvelopeStore.roleNames, e.detail));
217
- // el.setAttribute('roleindex', getRoleIndex(this.roles, e.detail));
213
+ el.addEventListener('input', e => {
214
+ console.log('Field input', e.target.value, e.target);
215
+ this.handleFieldChange(field, e);
218
216
  });
219
217
  el.setAttribute('xScale', pageInfo.xScale);
220
218
  el.setAttribute('yScale', pageInfo.yScale);