@verdocs/web-sdk 1.9.10 → 1.9.14

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 (398) hide show
  1. package/dist/cjs/{Envelopes-22a0c02f.js → Envelopes-aec4ee3d.js} +4 -15
  2. package/dist/cjs/Envelopes-aec4ee3d.js.map +1 -0
  3. package/dist/cjs/{Templates-399073ea.js → Templates-0051d647.js} +2 -2
  4. package/dist/cjs/{Templates-399073ea.js.map → Templates-0051d647.js.map} +1 -1
  5. package/dist/cjs/VerdocsEndpoint-8c408e5b.js +3569 -0
  6. package/dist/cjs/VerdocsEndpoint-8c408e5b.js.map +1 -0
  7. package/dist/cjs/{templateStore-92828c3c.js → index-eb130f52.js} +2 -41
  8. package/dist/cjs/index-eb130f52.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/templateStore-974781a8.js +46 -0
  11. package/dist/cjs/templateStore-974781a8.js.map +1 -0
  12. package/dist/cjs/{utils-84236321.js → utils-e0f38696.js} +23 -3
  13. package/dist/cjs/utils-e0f38696.js.map +1 -0
  14. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-build.cjs.entry.js +5 -4
  16. package/dist/cjs/verdocs-build.cjs.entry.js.map +1 -1
  17. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
  18. package/dist/cjs/verdocs-document-page_2.cjs.entry.js +94 -0
  19. package/dist/cjs/verdocs-document-page_2.cjs.entry.js.map +1 -0
  20. package/dist/cjs/verdocs-dropdown_3.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-field-date.cjs.entry.js +1 -1
  22. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +1 -1
  23. package/dist/cjs/verdocs-field-initial.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  25. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -2
  28. package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
  29. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-preview.cjs.entry.js +17 -11
  31. package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
  32. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +1 -1
  33. package/dist/cjs/verdocs-search.cjs.entry.js +1 -1
  34. package/dist/cjs/verdocs-send.cjs.entry.js +2 -2
  35. package/dist/cjs/verdocs-sign.cjs.entry.js +91 -22
  36. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  37. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +52 -36
  38. package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
  39. package/dist/cjs/verdocs-view.cjs.entry.js +331 -0
  40. package/dist/cjs/verdocs-view.cjs.entry.js.map +1 -0
  41. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  42. package/dist/collection/collection-manifest.json +1 -3
  43. package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.js +1 -4
  44. package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.js.map +1 -1
  45. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.css +14 -1
  46. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +17 -30
  47. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  48. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.css +15 -0
  49. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +14 -7
  50. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
  51. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +124 -47
  52. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  53. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +122 -175
  54. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
  55. package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +2 -3
  56. package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js.map +1 -1
  57. package/dist/collection/utils/Envelopes.js +31 -0
  58. package/dist/collection/utils/Envelopes.js.map +1 -0
  59. package/dist/collection/utils/envelopeStore.js +28 -0
  60. package/dist/collection/utils/envelopeStore.js.map +1 -0
  61. package/dist/collection/utils/utils.js +21 -2
  62. package/dist/collection/utils/utils.js.map +1 -1
  63. package/dist/{esm/Envelopes-df05b3c7.js → components/Envelopes.js} +5 -15
  64. package/dist/components/Envelopes.js.map +1 -0
  65. package/dist/components/VerdocsEndpoint.js +2185 -1051
  66. package/dist/components/VerdocsEndpoint.js.map +1 -1
  67. package/dist/components/index.d.ts +0 -2
  68. package/dist/components/index.js +0 -2
  69. package/dist/components/index.js.map +1 -1
  70. package/dist/components/index2.js +196 -0
  71. package/dist/components/index2.js.map +1 -0
  72. package/dist/components/templateStore.js +1 -192
  73. package/dist/components/templateStore.js.map +1 -1
  74. package/dist/components/utils.js +22 -3
  75. package/dist/components/utils.js.map +1 -1
  76. package/dist/components/verdocs-build.js +34 -52
  77. package/dist/components/verdocs-build.js.map +1 -1
  78. package/dist/components/verdocs-document-page2.js +1 -4
  79. package/dist/components/verdocs-document-page2.js.map +1 -1
  80. package/dist/components/verdocs-preview.js +16 -29
  81. package/dist/components/verdocs-preview.js.map +1 -1
  82. package/dist/components/verdocs-sign.js +100 -57
  83. package/dist/components/verdocs-sign.js.map +1 -1
  84. package/dist/components/verdocs-template-create2.js +29 -1
  85. package/dist/components/verdocs-template-create2.js.map +1 -1
  86. package/dist/components/verdocs-template-fields2.js +36 -67
  87. package/dist/components/verdocs-template-fields2.js.map +1 -1
  88. package/dist/components/verdocs-view.js +353 -1
  89. package/dist/components/verdocs-view.js.map +1 -1
  90. package/dist/docs.json +38 -568
  91. package/dist/esm/Envelopes-b031f847.js +93 -0
  92. package/dist/esm/Envelopes-b031f847.js.map +1 -0
  93. package/dist/esm/{Templates-91922342.js → Templates-1034fade.js} +2 -2
  94. package/dist/esm/{Templates-91922342.js.map → Templates-1034fade.js.map} +1 -1
  95. package/dist/esm/VerdocsEndpoint-dac04424.js +3566 -0
  96. package/dist/esm/VerdocsEndpoint-dac04424.js.map +1 -0
  97. package/dist/esm/{templateStore-3b26e38d.js → index-fd7b8a34.js} +2 -41
  98. package/dist/esm/index-fd7b8a34.js.map +1 -0
  99. package/dist/esm/loader.js +1 -1
  100. package/dist/esm/templateStore-96a39844.js +44 -0
  101. package/dist/esm/templateStore-96a39844.js.map +1 -0
  102. package/dist/esm/{utils-3f23facc.js → utils-99a3c1f0.js} +23 -4
  103. package/dist/esm/utils-99a3c1f0.js.map +1 -0
  104. package/dist/esm/verdocs-auth.entry.js +1 -1
  105. package/dist/esm/verdocs-build.entry.js +5 -4
  106. package/dist/esm/verdocs-build.entry.js.map +1 -1
  107. package/dist/esm/verdocs-contact-picker.entry.js +1 -1
  108. package/dist/esm/verdocs-document-page_2.entry.js +89 -0
  109. package/dist/esm/verdocs-document-page_2.entry.js.map +1 -0
  110. package/dist/esm/verdocs-dropdown_3.entry.js +1 -1
  111. package/dist/esm/verdocs-field-date.entry.js +1 -1
  112. package/dist/esm/verdocs-field-dropdown.entry.js +1 -1
  113. package/dist/esm/verdocs-field-initial.entry.js +1 -1
  114. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  115. package/dist/esm/verdocs-field-signature_3.entry.js +1 -1
  116. package/dist/esm/verdocs-field-textarea.entry.js +1 -1
  117. package/dist/esm/verdocs-field-textbox.entry.js +3 -2
  118. package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
  119. package/dist/esm/verdocs-field-timestamp.entry.js +1 -1
  120. package/dist/esm/verdocs-preview.entry.js +17 -11
  121. package/dist/esm/verdocs-preview.entry.js.map +1 -1
  122. package/dist/esm/verdocs-quick-functions_3.entry.js +1 -1
  123. package/dist/esm/verdocs-search.entry.js +1 -1
  124. package/dist/esm/verdocs-send.entry.js +2 -2
  125. package/dist/esm/verdocs-sign.entry.js +92 -23
  126. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  127. package/dist/esm/verdocs-template-create_4.entry.js +50 -34
  128. package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
  129. package/dist/esm/verdocs-view.entry.js +327 -0
  130. package/dist/esm/verdocs-view.entry.js.map +1 -0
  131. package/dist/esm/verdocs-web-sdk.js +1 -1
  132. package/dist/esm-es5/Envelopes-b031f847.js +2 -0
  133. package/dist/esm-es5/Envelopes-b031f847.js.map +1 -0
  134. package/dist/esm-es5/{Templates-91922342.js → Templates-1034fade.js} +2 -2
  135. package/dist/esm-es5/{Templates-91922342.js.map → Templates-1034fade.js.map} +0 -0
  136. package/dist/esm-es5/VerdocsEndpoint-dac04424.js +2 -0
  137. package/dist/esm-es5/VerdocsEndpoint-dac04424.js.map +1 -0
  138. package/dist/esm-es5/index-fd7b8a34.js +2 -0
  139. package/dist/esm-es5/index-fd7b8a34.js.map +1 -0
  140. package/dist/esm-es5/loader.js +1 -1
  141. package/dist/esm-es5/loader.js.map +1 -1
  142. package/dist/esm-es5/templateStore-96a39844.js +2 -0
  143. package/dist/esm-es5/templateStore-96a39844.js.map +1 -0
  144. package/dist/esm-es5/utils-99a3c1f0.js +2 -0
  145. package/dist/esm-es5/utils-99a3c1f0.js.map +1 -0
  146. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  147. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  148. package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
  149. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  150. package/dist/esm-es5/verdocs-document-page_2.entry.js +2 -0
  151. package/dist/esm-es5/verdocs-document-page_2.entry.js.map +1 -0
  152. package/dist/esm-es5/verdocs-dropdown_3.entry.js +1 -1
  153. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  154. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  155. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  156. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  157. package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
  158. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  159. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  160. package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
  161. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  162. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  163. package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
  164. package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
  165. package/dist/esm-es5/verdocs-search.entry.js +1 -1
  166. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  167. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  168. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  169. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  170. package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
  171. package/dist/esm-es5/verdocs-view.entry.js +2 -0
  172. package/dist/esm-es5/verdocs-view.entry.js.map +1 -0
  173. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  174. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  175. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +3 -1
  176. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +23 -8
  177. package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +5 -40
  178. package/dist/types/components/embeds/verdocs-view/verdocs-view.stories.d.ts +1 -2
  179. package/dist/types/components.d.ts +6 -219
  180. package/dist/types/utils/Envelopes.d.ts +2 -0
  181. package/dist/types/utils/envelopeStore.d.ts +10 -0
  182. package/dist/types/utils/utils.d.ts +10 -2
  183. package/dist/verdocs-web-sdk/{p-ff4840d2.system.entry.js → p-0a2efec0.system.entry.js} +2 -2
  184. package/dist/verdocs-web-sdk/{p-ff4840d2.system.entry.js.map → p-0a2efec0.system.entry.js.map} +0 -0
  185. package/dist/verdocs-web-sdk/p-0a3d0ca9.js +2 -0
  186. package/dist/verdocs-web-sdk/{p-36700fe4.js.map → p-0a3d0ca9.js.map} +0 -0
  187. package/dist/verdocs-web-sdk/p-0f6da8c7.system.js +2 -0
  188. package/dist/verdocs-web-sdk/p-0f6da8c7.system.js.map +1 -0
  189. package/dist/verdocs-web-sdk/{p-d2d3b56d.system.entry.js → p-112c8e05.system.entry.js} +2 -2
  190. package/dist/verdocs-web-sdk/{p-d2d3b56d.system.entry.js.map → p-112c8e05.system.entry.js.map} +0 -0
  191. package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js +2 -0
  192. package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js.map +1 -0
  193. package/dist/verdocs-web-sdk/p-21ec6ff0.system.js +2 -0
  194. package/dist/verdocs-web-sdk/p-21ec6ff0.system.js.map +1 -0
  195. package/dist/verdocs-web-sdk/p-2cf3843a.entry.js +2 -0
  196. package/dist/verdocs-web-sdk/{p-e47e3154.entry.js.map → p-2cf3843a.entry.js.map} +1 -1
  197. package/dist/verdocs-web-sdk/{p-f11b14a1.entry.js → p-2fe5b678.entry.js} +2 -2
  198. package/dist/verdocs-web-sdk/{p-f11b14a1.entry.js.map → p-2fe5b678.entry.js.map} +0 -0
  199. package/dist/verdocs-web-sdk/p-30424967.entry.js +2 -0
  200. package/dist/verdocs-web-sdk/p-30424967.entry.js.map +1 -0
  201. package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js +2 -0
  202. package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js.map +1 -0
  203. package/dist/verdocs-web-sdk/{p-63d01d16.system.js → p-32da34af.system.js} +2 -2
  204. package/dist/verdocs-web-sdk/{p-63d01d16.system.js.map → p-32da34af.system.js.map} +0 -0
  205. package/dist/verdocs-web-sdk/{p-2510c268.entry.js → p-32e3a428.entry.js} +2 -2
  206. package/dist/verdocs-web-sdk/{p-2510c268.entry.js.map → p-32e3a428.entry.js.map} +0 -0
  207. package/dist/verdocs-web-sdk/{p-f5eb353f.system.entry.js → p-3585534a.system.entry.js} +2 -2
  208. package/dist/verdocs-web-sdk/{p-f5eb353f.system.entry.js.map → p-3585534a.system.entry.js.map} +0 -0
  209. package/dist/verdocs-web-sdk/{p-c37ea778.system.entry.js → p-35fec075.system.entry.js} +2 -2
  210. package/dist/verdocs-web-sdk/{p-c37ea778.system.entry.js.map → p-35fec075.system.entry.js.map} +0 -0
  211. package/dist/verdocs-web-sdk/{p-ab23a9d1.entry.js → p-4b4c610f.entry.js} +2 -2
  212. package/dist/verdocs-web-sdk/{p-ab23a9d1.entry.js.map → p-4b4c610f.entry.js.map} +0 -0
  213. package/dist/verdocs-web-sdk/{p-8c549b7f.entry.js → p-5b636344.entry.js} +2 -2
  214. package/dist/verdocs-web-sdk/{p-8c549b7f.entry.js.map → p-5b636344.entry.js.map} +0 -0
  215. package/dist/verdocs-web-sdk/p-5bb42252.system.entry.js +2 -0
  216. package/dist/verdocs-web-sdk/{p-508192bb.system.entry.js.map → p-5bb42252.system.entry.js.map} +1 -1
  217. package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js +2 -0
  218. package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js.map +1 -0
  219. package/dist/verdocs-web-sdk/p-5ea05a1d.js +2 -0
  220. package/dist/verdocs-web-sdk/p-5ea05a1d.js.map +1 -0
  221. package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js +2 -0
  222. package/dist/verdocs-web-sdk/{p-ccf983c7.system.entry.js.map → p-6802bdd2.system.entry.js.map} +1 -1
  223. package/dist/verdocs-web-sdk/{p-dee9037d.system.entry.js → p-6a8ac53e.system.entry.js} +2 -2
  224. package/dist/verdocs-web-sdk/{p-dee9037d.system.entry.js.map → p-6a8ac53e.system.entry.js.map} +0 -0
  225. package/dist/verdocs-web-sdk/{p-2bb98709.system.entry.js → p-78ec7db1.system.entry.js} +2 -2
  226. package/dist/verdocs-web-sdk/{p-2bb98709.system.entry.js.map → p-78ec7db1.system.entry.js.map} +0 -0
  227. package/dist/verdocs-web-sdk/{p-04708900.system.entry.js → p-8095fab3.system.entry.js} +2 -2
  228. package/dist/verdocs-web-sdk/{p-04708900.system.entry.js.map → p-8095fab3.system.entry.js.map} +0 -0
  229. package/dist/verdocs-web-sdk/{p-036fc9f9.entry.js → p-868f497f.entry.js} +2 -2
  230. package/dist/verdocs-web-sdk/{p-036fc9f9.entry.js.map → p-868f497f.entry.js.map} +0 -0
  231. package/dist/verdocs-web-sdk/p-9236d9df.entry.js +2 -0
  232. package/dist/verdocs-web-sdk/{p-f06218ed.entry.js.map → p-9236d9df.entry.js.map} +1 -1
  233. package/dist/verdocs-web-sdk/p-92b0fc42.js +2 -0
  234. package/dist/verdocs-web-sdk/p-92b0fc42.js.map +1 -0
  235. package/dist/verdocs-web-sdk/{p-d6390915.entry.js → p-a59f1f82.entry.js} +2 -2
  236. package/dist/verdocs-web-sdk/{p-d6390915.entry.js.map → p-a59f1f82.entry.js.map} +0 -0
  237. package/dist/verdocs-web-sdk/p-a760546b.entry.js +2 -0
  238. package/dist/verdocs-web-sdk/p-a760546b.entry.js.map +1 -0
  239. package/dist/verdocs-web-sdk/p-a7ac4da8.system.entry.js +2 -0
  240. package/dist/verdocs-web-sdk/p-a7ac4da8.system.entry.js.map +1 -0
  241. package/dist/verdocs-web-sdk/{p-8574c48b.system.entry.js → p-a8c25a4a.system.entry.js} +2 -2
  242. package/dist/verdocs-web-sdk/{p-8574c48b.system.entry.js.map → p-a8c25a4a.system.entry.js.map} +0 -0
  243. package/dist/verdocs-web-sdk/{p-bcae2278.entry.js → p-a9068845.entry.js} +2 -2
  244. package/dist/verdocs-web-sdk/{p-bcae2278.entry.js.map → p-a9068845.entry.js.map} +0 -0
  245. package/dist/verdocs-web-sdk/{p-0d12be64.system.entry.js → p-aa2d9932.system.entry.js} +2 -2
  246. package/dist/verdocs-web-sdk/{p-0d12be64.system.entry.js.map → p-aa2d9932.system.entry.js.map} +0 -0
  247. package/dist/verdocs-web-sdk/{p-ffff808d.entry.js → p-af1063e3.entry.js} +2 -2
  248. package/dist/verdocs-web-sdk/{p-ffff808d.entry.js.map → p-af1063e3.entry.js.map} +0 -0
  249. package/dist/verdocs-web-sdk/{p-cf8ecaaf.system.entry.js → p-b5882803.system.entry.js} +2 -2
  250. package/dist/verdocs-web-sdk/{p-cf8ecaaf.system.entry.js.map → p-b5882803.system.entry.js.map} +0 -0
  251. package/dist/verdocs-web-sdk/{p-68319ca5.system.entry.js → p-b6c24f97.system.entry.js} +2 -2
  252. package/dist/verdocs-web-sdk/{p-68319ca5.system.entry.js.map → p-b6c24f97.system.entry.js.map} +0 -0
  253. package/dist/verdocs-web-sdk/{p-2da21c85.entry.js → p-baa985a4.entry.js} +2 -2
  254. package/dist/verdocs-web-sdk/{p-2da21c85.entry.js.map → p-baa985a4.entry.js.map} +0 -0
  255. package/dist/verdocs-web-sdk/{p-650e0b71.entry.js → p-be8004c0.entry.js} +2 -2
  256. package/dist/verdocs-web-sdk/{p-650e0b71.entry.js.map → p-be8004c0.entry.js.map} +0 -0
  257. package/dist/verdocs-web-sdk/p-becd8d7e.js +2 -0
  258. package/dist/verdocs-web-sdk/p-becd8d7e.js.map +1 -0
  259. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  260. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
  261. package/dist/verdocs-web-sdk/p-c4357387.entry.js +2 -0
  262. package/dist/verdocs-web-sdk/p-c4357387.entry.js.map +1 -0
  263. package/dist/verdocs-web-sdk/{p-6f1440dd.js → p-c5a43bb3.js} +2 -2
  264. package/dist/verdocs-web-sdk/p-c5a43bb3.js.map +1 -0
  265. package/dist/verdocs-web-sdk/p-cb7d9ff5.js +2 -0
  266. package/dist/verdocs-web-sdk/p-cb7d9ff5.js.map +1 -0
  267. package/dist/verdocs-web-sdk/{p-f9901184.system.js → p-cd7b475a.system.js} +2 -2
  268. package/dist/verdocs-web-sdk/p-cd7b475a.system.js.map +1 -0
  269. package/dist/verdocs-web-sdk/p-d1a97a03.system.js +2 -0
  270. package/dist/verdocs-web-sdk/p-d1a97a03.system.js.map +1 -0
  271. package/dist/verdocs-web-sdk/{p-473165ae.system.entry.js → p-dd864f36.system.entry.js} +2 -2
  272. package/dist/verdocs-web-sdk/{p-473165ae.system.entry.js.map → p-dd864f36.system.entry.js.map} +0 -0
  273. package/dist/verdocs-web-sdk/p-e4569806.system.entry.js +2 -0
  274. package/dist/verdocs-web-sdk/p-e4569806.system.entry.js.map +1 -0
  275. package/dist/verdocs-web-sdk/p-e4fa4969.entry.js +2 -0
  276. package/dist/verdocs-web-sdk/p-e4fa4969.entry.js.map +1 -0
  277. package/dist/verdocs-web-sdk/{p-932571a1.entry.js → p-f19e600e.entry.js} +2 -2
  278. package/dist/verdocs-web-sdk/{p-932571a1.entry.js.map → p-f19e600e.entry.js.map} +0 -0
  279. package/dist/verdocs-web-sdk/p-f8c49765.system.entry.js +2 -0
  280. package/dist/verdocs-web-sdk/p-f8c49765.system.entry.js.map +1 -0
  281. package/dist/verdocs-web-sdk/{p-6f938ce3.entry.js → p-f9a9b3a2.entry.js} +2 -2
  282. package/dist/verdocs-web-sdk/{p-6f938ce3.entry.js.map → p-f9a9b3a2.entry.js.map} +0 -0
  283. package/dist/verdocs-web-sdk/{p-259fd8de.entry.js → p-fac05414.entry.js} +2 -2
  284. package/dist/verdocs-web-sdk/{p-259fd8de.entry.js.map → p-fac05414.entry.js.map} +0 -0
  285. package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js +2 -0
  286. package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js.map +1 -0
  287. package/dist/verdocs-web-sdk/{p-ed8e3256.system.entry.js → p-ff0b44f9.system.entry.js} +2 -2
  288. package/dist/verdocs-web-sdk/{p-ed8e3256.system.entry.js.map → p-ff0b44f9.system.entry.js.map} +0 -0
  289. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  290. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  291. package/package.json +2 -2
  292. package/dist/cjs/Envelopes-22a0c02f.js.map +0 -1
  293. package/dist/cjs/TemplateDocuments-01c6e570.js +0 -45
  294. package/dist/cjs/TemplateDocuments-01c6e570.js.map +0 -1
  295. package/dist/cjs/VerdocsEndpoint-db38e942.js +0 -2435
  296. package/dist/cjs/VerdocsEndpoint-db38e942.js.map +0 -1
  297. package/dist/cjs/templateStore-92828c3c.js.map +0 -1
  298. package/dist/cjs/utils-84236321.js.map +0 -1
  299. package/dist/cjs/verdocs-document-page.cjs.entry.js +0 -84
  300. package/dist/cjs/verdocs-document-page.cjs.entry.js.map +0 -1
  301. package/dist/cjs/verdocs-loader_4.cjs.entry.js +0 -553
  302. package/dist/cjs/verdocs-loader_4.cjs.entry.js.map +0 -1
  303. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.css +0 -16
  304. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.js +0 -390
  305. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.js.map +0 -1
  306. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.js +0 -15
  307. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.js.map +0 -1
  308. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.css +0 -16
  309. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.js +0 -388
  310. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.js.map +0 -1
  311. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.js +0 -15
  312. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.js.map +0 -1
  313. package/dist/components/TemplateDocuments.js +0 -42
  314. package/dist/components/TemplateDocuments.js.map +0 -1
  315. package/dist/components/verdocs-view-envelope-document.d.ts +0 -11
  316. package/dist/components/verdocs-view-envelope-document.js +0 -8
  317. package/dist/components/verdocs-view-envelope-document.js.map +0 -1
  318. package/dist/components/verdocs-view-envelope-document2.js +0 -306
  319. package/dist/components/verdocs-view-envelope-document2.js.map +0 -1
  320. package/dist/components/verdocs-view-template-document.d.ts +0 -11
  321. package/dist/components/verdocs-view-template-document.js +0 -8
  322. package/dist/components/verdocs-view-template-document.js.map +0 -1
  323. package/dist/components/verdocs-view-template-document2.js +0 -209
  324. package/dist/components/verdocs-view-template-document2.js.map +0 -1
  325. package/dist/components/verdocs-view2.js +0 -229
  326. package/dist/components/verdocs-view2.js.map +0 -1
  327. package/dist/esm/Envelopes-df05b3c7.js.map +0 -1
  328. package/dist/esm/TemplateDocuments-89ba2276.js +0 -42
  329. package/dist/esm/TemplateDocuments-89ba2276.js.map +0 -1
  330. package/dist/esm/VerdocsEndpoint-82f4600d.js +0 -2432
  331. package/dist/esm/VerdocsEndpoint-82f4600d.js.map +0 -1
  332. package/dist/esm/templateStore-3b26e38d.js.map +0 -1
  333. package/dist/esm/utils-3f23facc.js.map +0 -1
  334. package/dist/esm/verdocs-document-page.entry.js +0 -80
  335. package/dist/esm/verdocs-document-page.entry.js.map +0 -1
  336. package/dist/esm/verdocs-loader_4.entry.js +0 -546
  337. package/dist/esm/verdocs-loader_4.entry.js.map +0 -1
  338. package/dist/esm-es5/Envelopes-df05b3c7.js +0 -2
  339. package/dist/esm-es5/Envelopes-df05b3c7.js.map +0 -1
  340. package/dist/esm-es5/TemplateDocuments-89ba2276.js +0 -2
  341. package/dist/esm-es5/TemplateDocuments-89ba2276.js.map +0 -1
  342. package/dist/esm-es5/VerdocsEndpoint-82f4600d.js +0 -2
  343. package/dist/esm-es5/VerdocsEndpoint-82f4600d.js.map +0 -1
  344. package/dist/esm-es5/templateStore-3b26e38d.js +0 -2
  345. package/dist/esm-es5/templateStore-3b26e38d.js.map +0 -1
  346. package/dist/esm-es5/utils-3f23facc.js +0 -2
  347. package/dist/esm-es5/utils-3f23facc.js.map +0 -1
  348. package/dist/esm-es5/verdocs-document-page.entry.js +0 -2
  349. package/dist/esm-es5/verdocs-document-page.entry.js.map +0 -1
  350. package/dist/esm-es5/verdocs-loader_4.entry.js +0 -2
  351. package/dist/esm-es5/verdocs-loader_4.entry.js.map +0 -1
  352. package/dist/types/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.d.ts +0 -79
  353. package/dist/types/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.d.ts +0 -7
  354. package/dist/types/components/elements/verdocs-view-template-document/verdocs-view-template-document.d.ts +0 -77
  355. package/dist/types/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.d.ts +0 -7
  356. package/dist/verdocs-web-sdk/p-142295dd.system.entry.js +0 -2
  357. package/dist/verdocs-web-sdk/p-142295dd.system.entry.js.map +0 -1
  358. package/dist/verdocs-web-sdk/p-2fbd4e25.entry.js +0 -2
  359. package/dist/verdocs-web-sdk/p-2fbd4e25.entry.js.map +0 -1
  360. package/dist/verdocs-web-sdk/p-3035b6c5.system.js +0 -2
  361. package/dist/verdocs-web-sdk/p-3035b6c5.system.js.map +0 -1
  362. package/dist/verdocs-web-sdk/p-36700fe4.js +0 -2
  363. package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js +0 -2
  364. package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js.map +0 -1
  365. package/dist/verdocs-web-sdk/p-48d9e0d6.entry.js +0 -2
  366. package/dist/verdocs-web-sdk/p-48d9e0d6.entry.js.map +0 -1
  367. package/dist/verdocs-web-sdk/p-508192bb.system.entry.js +0 -2
  368. package/dist/verdocs-web-sdk/p-629237fc.js +0 -2
  369. package/dist/verdocs-web-sdk/p-629237fc.js.map +0 -1
  370. package/dist/verdocs-web-sdk/p-6e1ada33.system.js +0 -2
  371. package/dist/verdocs-web-sdk/p-6e1ada33.system.js.map +0 -1
  372. package/dist/verdocs-web-sdk/p-6f1440dd.js.map +0 -1
  373. package/dist/verdocs-web-sdk/p-70c732b7.js +0 -2
  374. package/dist/verdocs-web-sdk/p-70c732b7.js.map +0 -1
  375. package/dist/verdocs-web-sdk/p-7ce27ce2.js +0 -2
  376. package/dist/verdocs-web-sdk/p-7ce27ce2.js.map +0 -1
  377. package/dist/verdocs-web-sdk/p-8fd9dc5a.js +0 -2
  378. package/dist/verdocs-web-sdk/p-8fd9dc5a.js.map +0 -1
  379. package/dist/verdocs-web-sdk/p-a4041773.system.js +0 -2
  380. package/dist/verdocs-web-sdk/p-a4041773.system.js.map +0 -1
  381. package/dist/verdocs-web-sdk/p-b348e0ee.entry.js +0 -2
  382. package/dist/verdocs-web-sdk/p-b348e0ee.entry.js.map +0 -1
  383. package/dist/verdocs-web-sdk/p-b95cb372.entry.js +0 -2
  384. package/dist/verdocs-web-sdk/p-b95cb372.entry.js.map +0 -1
  385. package/dist/verdocs-web-sdk/p-c827cc19.system.js +0 -2
  386. package/dist/verdocs-web-sdk/p-c827cc19.system.js.map +0 -1
  387. package/dist/verdocs-web-sdk/p-ca6a1398.system.entry.js +0 -2
  388. package/dist/verdocs-web-sdk/p-ca6a1398.system.entry.js.map +0 -1
  389. package/dist/verdocs-web-sdk/p-ccf983c7.system.entry.js +0 -2
  390. package/dist/verdocs-web-sdk/p-cf2d7761.system.entry.js +0 -2
  391. package/dist/verdocs-web-sdk/p-cf2d7761.system.entry.js.map +0 -1
  392. package/dist/verdocs-web-sdk/p-e47e3154.entry.js +0 -2
  393. package/dist/verdocs-web-sdk/p-f06218ed.entry.js +0 -2
  394. package/dist/verdocs-web-sdk/p-f9901184.system.js.map +0 -1
  395. package/dist/verdocs-web-sdk/p-fc3a0e2d.system.entry.js +0 -2
  396. package/dist/verdocs-web-sdk/p-fc3a0e2d.system.entry.js.map +0 -1
  397. package/dist/verdocs-web-sdk/p-fe512c19.entry.js +0 -2
  398. package/dist/verdocs-web-sdk/p-fe512c19.entry.js.map +0 -1
@@ -1,30 +1,11 @@
1
1
  import interact from 'interactjs';
2
2
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
3
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
4
- import { h, Fragment, Host } from '@stencil/core';
5
- import { getRoleIndex, renderDocumentField } from '../../../utils/utils';
4
+ import { h, Host } from '@stencil/core';
5
+ import { getRoleIndex, renderDocumentField, updateCssTransform } from '../../../utils/utils';
6
6
  import TemplateStore from '../../../utils/templateStore';
7
7
  import { loadTemplate } from '../../../utils/Templates';
8
8
  import { SDKError } from '../../../utils/errors';
9
- /**
10
- * Helper function to safely set/update components in a CSS transform attribute. Transform is normally set as a string of
11
- * `operation1(param) operation2(param) ...` components, which makes updating them a bit of a pain. This will remove the
12
- * specified component if it's already set and replace it with the new value, without touching the other components that
13
- * may already be set. Note that this operation moves the component to the end of the transform chain so it's not meant
14
- * to be used for order-sensitive components e.g. translate-then-rotate.
15
- */
16
- const updateCssTransform = (el, key, value) => {
17
- // e.g. 'scale(1.87908, 1.87908) translate(0px, 0px);'
18
- const currentTransform = el.style.transform;
19
- // e.g. ['scale(1.87908, 1.87908)', 'scale', '1.87908, 1.87908', ...], [ 'translate(0px, 0px)', 'translate', '0px, 0px']]
20
- const components = [...currentTransform.matchAll(/(\w+)\(([^)]*)\)/gi)];
21
- el.style.transform = [
22
- components //
23
- .filter(component => component[1] !== key) // Remove the entry if it's already set
24
- .map(component => component[0]),
25
- `${key}(${value})`,
26
- ].join(' ');
27
- };
28
9
  const iconSingleline = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z"/></svg>';
29
10
  const iconMultiline = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z"/></svg>';
30
11
  const iconCheck = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z"/></svg>';
@@ -76,11 +57,11 @@ export class VerdocsTemplateFields {
76
57
  handlePageRendered(e) {
77
58
  const pageInfo = e.detail;
78
59
  console.log('[FIELDS] Page rendered', pageInfo);
79
- const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
60
+ const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.pageNumber);
80
61
  // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
81
62
  console.log('[FIELDS] Fields on page', fields);
82
63
  fields.forEach(field => {
83
- const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true, true, true);
64
+ const el = renderDocumentField(field, pageInfo, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true, true, true);
84
65
  // const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(this.roles, field.role_name), this.handleFieldChange, true, true, true);
85
66
  if (!el) {
86
67
  return;
@@ -89,8 +70,8 @@ export class VerdocsTemplateFields {
89
70
  el.setAttribute('roleindex', getRoleIndex(TemplateStore.roleNames, e.detail));
90
71
  // el.setAttribute('roleindex', getRoleIndex(this.roles, e.detail));
91
72
  });
92
- el.setAttribute('xScale', pageInfo.renderedPage.xScale);
93
- el.setAttribute('yScale', pageInfo.renderedPage.yScale);
73
+ el.setAttribute('xScale', pageInfo.xScale);
74
+ el.setAttribute('yScale', pageInfo.yScale);
94
75
  interact(el).draggable({
95
76
  listeners: {
96
77
  start(event) {
@@ -130,13 +111,19 @@ export class VerdocsTemplateFields {
130
111
  },
131
112
  page_sequence: 0,
132
113
  };
133
- if (TemplateStore.loading) {
114
+ // TODO: Render a better error
115
+ if (TemplateStore.loading || !TemplateStore.template) {
134
116
  return (h(Host, null, h("verdocs-loader", null)));
135
117
  }
136
- return (h(Host, null, TemplateStore.template ? (h(Fragment, null, h("div", { class: "fields-bar", ref: el => (this.toolbarEl = el) }, h("div", { class: "label" }, "Add Field:"), h("verdocs-toolbar-icon", { icon: iconSingleline, text: "Single-line Text Box", onClick: () => console.log('single press') }), h("verdocs-toolbar-icon", { icon: iconMultiline, text: "Multi-line Text Box", onClick: () => console.log('multi press') }), h("verdocs-toolbar-icon", { icon: iconCheck, text: "Checkbox", onClick: () => console.log('check press') }), h("verdocs-toolbar-icon", { icon: iconRadio, text: "Radio Button", onClick: () => console.log('radio press') }), h("verdocs-toolbar-icon", { icon: iconDatepicker, text: "Date Picker", onClick: () => console.log('date press') }), h("verdocs-toolbar-icon", { icon: iconSignature, text: "Signature", onClick: () => console.log('signature press') }), h("verdocs-toolbar-icon", { icon: iconInitial, text: "Initials", onClick: () => console.log('initial press') }), h("div", { style: { flex: '1' } }), h("button", { onClick: () => { var _a; return (_a = this.next) === null || _a === void 0 ? void 0 : _a.emit(TemplateStore.template); }, disabled: true, class: "operation" }, "Save"), h("button", { onClick: () => { var _a; return (_a = this.cancel) === null || _a === void 0 ? void 0 : _a.emit(); }, class: "operation" }, "Close")), h("div", { class: "page-0", ref: el => (this.page0El = el) }, h("div", { class: "user-placed-fields" }, h("div", { class: "title" }, "User-Placed Fields"), h("verdocs-field-signature", { field: testField, style: { width: '82px', height: '41px', left: '20px', top: '40px', transform: 'scale(1,1)', backgroundColor: getRGBA(0) }, moveable: true, editable: true }))), h("verdocs-view", { templateId: this.templateId, endpoint: this.endpoint, onPageRendered: e => this.handlePageRendered(e), pageLayers: [
137
- { name: 'page', type: 'canvas' },
138
- { name: 'controls', type: 'div' },
139
- ] }))) : (h("div", null, "Error loading Template. Please try again later."))));
118
+ const pages = [...TemplateStore.template.pages];
119
+ pages.sort((a, b) => a.sequence - b.sequence);
120
+ return (h(Host, null, h("div", { class: "fields-bar", ref: el => (this.toolbarEl = el) }, h("div", { class: "label" }, "Add Field:"), h("verdocs-toolbar-icon", { icon: iconSingleline, text: "Single-line Text Box", onClick: () => console.log('single press') }), h("verdocs-toolbar-icon", { icon: iconMultiline, text: "Multi-line Text Box", onClick: () => console.log('multi press') }), h("verdocs-toolbar-icon", { icon: iconCheck, text: "Checkbox", onClick: () => console.log('check press') }), h("verdocs-toolbar-icon", { icon: iconRadio, text: "Radio Button", onClick: () => console.log('radio press') }), h("verdocs-toolbar-icon", { icon: iconDatepicker, text: "Date Picker", onClick: () => console.log('date press') }), h("verdocs-toolbar-icon", { icon: iconSignature, text: "Signature", onClick: () => console.log('signature press') }), h("verdocs-toolbar-icon", { icon: iconInitial, text: "Initials", onClick: () => console.log('initial press') }), h("div", { style: { flex: '1' } }), h("button", { onClick: () => { var _a; return (_a = this.next) === null || _a === void 0 ? void 0 : _a.emit(TemplateStore.template); }, disabled: true, class: "operation" }, "Save"), h("button", { onClick: () => { var _a; return (_a = this.cancel) === null || _a === void 0 ? void 0 : _a.emit(); }, class: "operation" }, "Close")), h("div", { class: "page-0", ref: el => (this.page0El = el) }, h("div", { class: "user-placed-fields" }, h("div", { class: "title" }, "User-Placed Fields"), h("verdocs-field-signature", { field: testField, style: { width: '82px', height: '41px', left: '20px', top: '40px', transform: 'scale(1,1)', backgroundColor: getRGBA(0) }, moveable: true, editable: true }))), h("div", { class: "pages" }, pages.map(page => {
121
+ console.log('rendering page', page);
122
+ return (h("verdocs-document-page", { pageImageUri: page.display_uri, virtualWidth: 612, virtualHeight: 792, pageNumber: page.sequence, onPageRendered: e => this.handlePageRendered(e), layers: [
123
+ { name: 'page', type: 'canvas' },
124
+ { name: 'controls', type: 'div' },
125
+ ] }));
126
+ }))));
140
127
  }
141
128
  static get is() { return "verdocs-template-fields"; }
142
129
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-template-fields.js","sourceRoot":"","sources":["../../../../src/components/elements/verdocs-template-fields/verdocs-template-fields.tsx"],"names":[],"mappings":"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","sourcesContent":["import interact from 'interactjs';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {Component, h, Event, EventEmitter, Fragment, Prop, Host} from '@stencil/core';\nimport {IPageRenderEvent} from '../../embeds/verdocs-view/verdocs-view';\nimport {getRoleIndex, renderDocumentField} from '../../../utils/utils';\nimport TemplateStore from '../../../utils/templateStore';\nimport {loadTemplate} from '../../../utils/Templates';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Helper function to safely set/update components in a CSS transform attribute. Transform is normally set as a string of\n * `operation1(param) operation2(param) ...` components, which makes updating them a bit of a pain. This will remove the\n * specified component if it's already set and replace it with the new value, without touching the other components that\n * may already be set. Note that this operation moves the component to the end of the transform chain so it's not meant\n * to be used for order-sensitive components e.g. translate-then-rotate.\n */\nconst updateCssTransform = (el: HTMLElement, key: string, value: string) => {\n // e.g. 'scale(1.87908, 1.87908) translate(0px, 0px);'\n const currentTransform = el.style.transform;\n // e.g. ['scale(1.87908, 1.87908)', 'scale', '1.87908, 1.87908', ...], [ 'translate(0px, 0px)', 'translate', '0px, 0px']]\n const components = [...currentTransform.matchAll(/(\\w+)\\(([^)]*)\\)/gi)];\n el.style.transform = [\n components //\n .filter(component => component[1] !== key) // Remove the entry if it's already set\n .map(component => component[0]), // Convert back the remaining entries\n `${key}(${value})`,\n ].join(' ');\n};\n\nconst iconSingleline = '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z\"/></svg>';\n\nconst iconMultiline =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z\"/></svg>';\n\nconst iconCheck =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z\"/></svg>';\n\nconst iconRadio =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z\"/></svg>';\n\nconst iconDatepicker =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z\"/></svg>';\n\nconst iconSignature =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z\"/></svg>';\n\nconst iconInitial = '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z\"/></svg>';\n\n/**\n * Displays a builder experience for laying out fields in a template. Note that this experience requires a large display area to\n * present all of the required controls, so it is primarily intended to be used in desktop environments.\n */\n@Component({\n tag: 'verdocs-template-fields',\n styleUrl: 'verdocs-template-fields.scss',\n shadow: false,\n})\nexport class VerdocsTemplateFields {\n page0El: HTMLDivElement;\n toolbarEl: HTMLDivElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired when the user completes the step.\n */\n @Event({composed: true}) next: EventEmitter<ITemplate>;\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[FIELDS] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[FIELDS] Loading template ${this.templateId}`);\n await loadTemplate(this.endpoint, this.templateId);\n } catch (e) {\n console.log('[FIELDS] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n } catch (e) {\n console.log('[FIELDS] Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n componentDidRender() {\n // console.log('rendered', this.page0El, this.toolbarEl);\n // console.log('w', this.page0El.clientWidth);\n // console.log('t', this.toolbarEl.clientWidth);\n interact.dynamicDrop(true);\n this.toolbarEl.style.width = `${this.page0El.clientWidth}px`;\n }\n\n async handleFieldChange(field: ITemplateField, e: any, optionId?: string) {\n console.log('[FIELDS] handleFieldChange', field, e, optionId);\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IPageRenderEvent;\n console.log('[FIELDS] 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('[FIELDS] 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 // 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\n render() {\n const testField: ITemplateField = {\n template_id: '',\n name: 'test',\n role_name: 'Recipient 1',\n type: 'textbox',\n required: true,\n setting: {\n x: 0,\n y: 0,\n },\n page_sequence: 0,\n };\n\n if (TemplateStore.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n return (\n <Host>\n {TemplateStore.template ? (\n <Fragment>\n <div class=\"fields-bar\" ref={el => (this.toolbarEl = el as HTMLDivElement)}>\n <div class=\"label\">Add Field:</div>\n <verdocs-toolbar-icon icon={iconSingleline} text=\"Single-line Text Box\" onClick={() => console.log('single press')} />\n <verdocs-toolbar-icon icon={iconMultiline} text=\"Multi-line Text Box\" onClick={() => console.log('multi press')} />\n <verdocs-toolbar-icon icon={iconCheck} text=\"Checkbox\" onClick={() => console.log('check press')} />\n <verdocs-toolbar-icon icon={iconRadio} text=\"Radio Button\" onClick={() => console.log('radio press')} />\n <verdocs-toolbar-icon icon={iconDatepicker} text=\"Date Picker\" onClick={() => console.log('date press')} />\n <verdocs-toolbar-icon icon={iconSignature} text=\"Signature\" onClick={() => console.log('signature press')} />\n <verdocs-toolbar-icon icon={iconInitial} text=\"Initials\" onClick={() => console.log('initial press')} />\n <div style={{flex: '1'}} />\n <button onClick={() => this.next?.emit(TemplateStore.template)} disabled={true} class=\"operation\">\n Save\n </button>\n <button onClick={() => this.cancel?.emit()} class=\"operation\">\n Close\n </button>\n </div>\n\n <div class=\"page-0\" ref={el => (this.page0El = el as HTMLDivElement)}>\n <div class=\"user-placed-fields\">\n <div class=\"title\">User-Placed Fields</div>\n <verdocs-field-signature\n field={testField}\n style={{width: '82px', height: '41px', left: '20px', top: '40px', transform: 'scale(1,1)', backgroundColor: getRGBA(0)}}\n moveable={true}\n editable={true}\n />\n </div>\n </div>\n\n <verdocs-view\n templateId={this.templateId}\n endpoint={this.endpoint}\n onPageRendered={e => this.handlePageRendered(e)}\n pageLayers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n </Fragment>\n ) : (\n <div>Error loading Template. Please try again later.</div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-template-fields.js","sourceRoot":"","sources":["../../../../src/components/elements/verdocs-template-fields/verdocs-template-fields.tsx"],"names":[],"mappings":"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","sourcesContent":["import interact from 'interactjs';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {Component, h, Event, EventEmitter, Prop, Host} from '@stencil/core';\nimport {getRoleIndex, renderDocumentField, updateCssTransform} from '../../../utils/utils';\nimport TemplateStore from '../../../utils/templateStore';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {loadTemplate} from '../../../utils/Templates';\nimport {SDKError} from '../../../utils/errors';\n\nconst iconSingleline = '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z\"/></svg>';\n\nconst iconMultiline =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z\"/></svg>';\n\nconst iconCheck =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z\"/></svg>';\n\nconst iconRadio =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z\"/></svg>';\n\nconst iconDatepicker =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z\"/></svg>';\n\nconst iconSignature =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z\"/></svg>';\n\nconst iconInitial = '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z\"/></svg>';\n\n/**\n * Displays a builder experience for laying out fields in a template. Note that this experience requires a large display area to\n * present all of the required controls, so it is primarily intended to be used in desktop environments.\n */\n@Component({\n tag: 'verdocs-template-fields',\n styleUrl: 'verdocs-template-fields.scss',\n shadow: false,\n})\nexport class VerdocsTemplateFields {\n page0El: HTMLDivElement;\n toolbarEl: HTMLDivElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired when the user completes the step.\n */\n @Event({composed: true}) next: EventEmitter<ITemplate>;\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[FIELDS] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[FIELDS] Loading template ${this.templateId}`);\n await loadTemplate(this.endpoint, this.templateId);\n } catch (e) {\n console.log('[FIELDS] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n } catch (e) {\n console.log('[FIELDS] Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n componentDidRender() {\n // console.log('rendered', this.page0El, this.toolbarEl);\n // console.log('w', this.page0El.clientWidth);\n // console.log('t', this.toolbarEl.clientWidth);\n interact.dynamicDrop(true);\n this.toolbarEl.style.width = `${this.page0El.clientWidth}px`;\n }\n\n async handleFieldChange(field: ITemplateField, e: any, optionId?: string) {\n console.log('[FIELDS] handleFieldChange', field, e, optionId);\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n console.log('[FIELDS] Page rendered', pageInfo);\n\n const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[FIELDS] Fields on page', fields);\n fields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true, true, true);\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.xScale);\n el.setAttribute('yScale', pageInfo.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\n render() {\n const testField: ITemplateField = {\n template_id: '',\n name: 'test',\n role_name: 'Recipient 1',\n type: 'textbox',\n required: true,\n setting: {\n x: 0,\n y: 0,\n },\n page_sequence: 0,\n };\n\n // TODO: Render a better error\n if (TemplateStore.loading || !TemplateStore.template) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n const pages = [...TemplateStore.template.pages];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n return (\n <Host>\n <div class=\"fields-bar\" ref={el => (this.toolbarEl = el as HTMLDivElement)}>\n <div class=\"label\">Add Field:</div>\n <verdocs-toolbar-icon icon={iconSingleline} text=\"Single-line Text Box\" onClick={() => console.log('single press')} />\n <verdocs-toolbar-icon icon={iconMultiline} text=\"Multi-line Text Box\" onClick={() => console.log('multi press')} />\n <verdocs-toolbar-icon icon={iconCheck} text=\"Checkbox\" onClick={() => console.log('check press')} />\n <verdocs-toolbar-icon icon={iconRadio} text=\"Radio Button\" onClick={() => console.log('radio press')} />\n <verdocs-toolbar-icon icon={iconDatepicker} text=\"Date Picker\" onClick={() => console.log('date press')} />\n <verdocs-toolbar-icon icon={iconSignature} text=\"Signature\" onClick={() => console.log('signature press')} />\n <verdocs-toolbar-icon icon={iconInitial} text=\"Initials\" onClick={() => console.log('initial press')} />\n <div style={{flex: '1'}} />\n <button onClick={() => this.next?.emit(TemplateStore.template)} disabled={true} class=\"operation\">\n Save\n </button>\n <button onClick={() => this.cancel?.emit()} class=\"operation\">\n Close\n </button>\n </div>\n\n <div class=\"page-0\" ref={el => (this.page0El = el as HTMLDivElement)}>\n <div class=\"user-placed-fields\">\n <div class=\"title\">User-Placed Fields</div>\n <verdocs-field-signature\n field={testField}\n style={{width: '82px', height: '41px', left: '20px', top: '40px', transform: 'scale(1,1)', backgroundColor: getRGBA(0)}}\n moveable={true}\n editable={true}\n />\n </div>\n </div>\n\n <div class=\"pages\">\n {pages.map(page => {\n console.log('rendering page', page);\n return (\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 })}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ verdocs-preview {
2
+ font-family: "Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
3
+ display: flex;
4
+ padding: 15px;
5
+ row-gap: 15px;
6
+ min-height: 200px;
7
+ position: relative;
8
+ align-items: center;
9
+ box-sizing: border-box;
10
+ flex-direction: column;
11
+ }
12
+ verdocs-preview div,
13
+ verdocs-preview canvas {
14
+ box-sizing: border-box;
15
+ }
@@ -6,7 +6,9 @@ import TemplateStore from '../../../utils/templateStore';
6
6
  import { loadTemplate } from '../../../utils/Templates';
7
7
  import { SDKError } from '../../../utils/errors';
8
8
  /**
9
- * Display a template preview experience.
9
+ * Display a template preview experience. This will display the template's attached
10
+ * documents with signing fields overlaid on each page. Fields will be color-coded
11
+ * by recipient, and will be read-only (cannot be filled, moved, or altered).
10
12
  */
11
13
  export class VerdocsPreview {
12
14
  constructor() {
@@ -41,14 +43,19 @@ export class VerdocsPreview {
41
43
  fields.forEach(field => renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true));
42
44
  }
43
45
  render() {
44
- if (TemplateStore.loading) {
46
+ // TODO: Render a better error
47
+ if (TemplateStore.loading || !TemplateStore.template) {
45
48
  return (h(Host, null, h("verdocs-loader", null)));
46
49
  }
47
- // TODO: Render a better error
48
- return (h(Host, null, TemplateStore.template ? (h("div", { class: "inner" }, h("verdocs-view", { templateId: this.templateId, endpoint: this.endpoint, onPageRendered: e => this.handlePageRendered(e), pageLayers: [
49
- { name: 'page', type: 'canvas' },
50
- { name: 'controls', type: 'div' },
51
- ] }))) : (h("div", null, "Error loading Template. Please try again later."))));
50
+ const pages = [...TemplateStore.template.pages];
51
+ pages.sort((a, b) => a.sequence - b.sequence);
52
+ return (h(Host, null, pages.map(page => {
53
+ console.log('rendering page', page);
54
+ return (h("verdocs-document-page", { pageImageUri: page.display_uri, virtualWidth: 612, virtualHeight: 792, pageNumber: page.sequence, onPageRendered: e => this.handlePageRendered(e), layers: [
55
+ { name: 'page', type: 'canvas' },
56
+ { name: 'controls', type: 'div' },
57
+ ] }));
58
+ })));
52
59
  }
53
60
  static get is() { return "verdocs-preview"; }
54
61
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-preview.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-preview/verdocs-preview.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, h} from '@stencil/core';\nimport {Event, EventEmitter, Host} from '@stencil/core';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {getRoleIndex, renderDocumentField} from '../../../utils/utils';\nimport {IPageRenderEvent} from '../verdocs-view/verdocs-view';\nimport TemplateStore from '../../../utils/templateStore';\nimport {loadTemplate} from '../../../utils/Templates';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a template preview experience.\n */\n@Component({\n tag: 'verdocs-preview',\n styleUrl: 'verdocs-preview.scss',\n shadow: false,\n})\nexport class VerdocsPreview {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: 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 // TODO: Move to state store so we can load this one time\n async componentDidLoad() {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[PREVIEW] Loading template ${this.templateId}`);\n await loadTemplate(this.endpoint, this.templateId);\n } catch (e) {\n console.log('[PREVIEW] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n async handleFieldChange(field: ITemplateField, e: any, optionId?: string) {\n console.log('[PREVIEW] handleFieldChange', field, e, optionId);\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IPageRenderEvent;\n console.log('[PREVIEW] Page rendered', pageInfo);\n\n const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[PREVIEW] Fields on page', fields);\n fields.forEach(field => renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true));\n }\n\n render() {\n if (TemplateStore.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n // TODO: Render a better error\n return (\n <Host>\n {TemplateStore.template ? (\n <div class=\"inner\">\n <verdocs-view\n templateId={this.templateId}\n endpoint={this.endpoint}\n onPageRendered={e => this.handlePageRendered(e)}\n pageLayers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n </div>\n ) : (\n <div>Error loading Template. Please try again later.</div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-preview.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-preview/verdocs-preview.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, h} from '@stencil/core';\nimport {Event, EventEmitter, Host} from '@stencil/core';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {getRoleIndex, renderDocumentField} from '../../../utils/utils';\nimport {IPageRenderEvent} from '../verdocs-view/verdocs-view';\nimport TemplateStore from '../../../utils/templateStore';\nimport {loadTemplate} from '../../../utils/Templates';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a template preview experience. This will display the template's attached\n * documents with signing fields overlaid on each page. Fields will be color-coded\n * by recipient, and will be read-only (cannot be filled, moved, or altered).\n */\n@Component({\n tag: 'verdocs-preview',\n styleUrl: 'verdocs-preview.scss',\n shadow: false,\n})\nexport class VerdocsPreview {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: 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 // TODO: Move to state store so we can load this one time\n async componentDidLoad() {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[PREVIEW] Loading template ${this.templateId}`);\n await loadTemplate(this.endpoint, this.templateId);\n } catch (e) {\n console.log('[PREVIEW] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n async handleFieldChange(field: ITemplateField, e: any, optionId?: string) {\n console.log('[PREVIEW] handleFieldChange', field, e, optionId);\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IPageRenderEvent;\n console.log('[PREVIEW] Page rendered', pageInfo);\n\n const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[PREVIEW] Fields on page', fields);\n fields.forEach(field => renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true));\n }\n\n render() {\n // TODO: Render a better error\n if (TemplateStore.loading || !TemplateStore.template) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n const pages = [...TemplateStore.template.pages];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n return (\n <Host>\n {pages.map(page => {\n console.log('rendering page', page);\n return (\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 })}\n </Host>\n );\n }\n}\n"]}
@@ -1,27 +1,39 @@
1
- import { Host } from '@stencil/core';
1
+ // import interact from 'interactjs';
2
2
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
3
  import { Envelopes } from '@verdocs/js-sdk/Envelopes';
4
4
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
5
5
  import { rescale } from '@verdocs/js-sdk/Utils/Fields';
6
- import { h } from '@stencil/core';
7
6
  import { updateRecipientStatus } from '@verdocs/js-sdk/Envelopes/Recipients';
8
7
  import { isValidEmail, isValidPhone } from '@verdocs/js-sdk/Templates/Validators';
9
- import { getFieldId, setControlStyles } from '../../../utils/utils';
8
+ import { Host, Fragment, h } from '@stencil/core';
9
+ import { getFieldId, getRoleIndex, renderDocumentField, setControlStyles } from '../../../utils/utils';
10
+ import TemplateStore from '../../../utils/templateStore';
10
11
  import { SDKError } from '../../../utils/errors';
11
12
  /**
12
- * Display a document signing experience.
13
+ * Display an envelope signing experience. This will display the envelope's attached
14
+ * documents with signing fields overlaid on each page.
13
15
  *
14
- * ***NOTE: This sample document will reset every 10 minutes...***
16
+ * The component will attempt to initiate a signing session and load the specified
17
+ * envelope. If successful, the recipient's fields will be enabled and the user will
18
+ * be able to sign the envelope's attached documents. If not, an `sdkError` will be
19
+ * thrown and the component will be blank/empty. To provide the best user experience,
20
+ * applications should capture and handle this error to provide the user with
21
+ * instructions/options for next steps based on the application's design and workflow.
22
+ *
23
+ * Unlike other components, this will always create its own endpoint to manage the
24
+ * session session. This endpoint will be included in event callbacks for the
25
+ * convenience of host applications that may wish to make server calls using the
26
+ * signer's credentials once signing is complete (e.g. to obtain copies of
27
+ * the signed attachments.)
15
28
  */
16
29
  export class VerdocsSign {
17
30
  constructor() {
18
- this.endpoint = VerdocsEndpoint.getDefault();
31
+ this.endpoint = null;
19
32
  this.envelopeId = null;
20
33
  this.roleId = null;
21
34
  this.inviteCode = null;
22
35
  this.recipient = null;
23
36
  this.signerToken = null;
24
- this.pdfUrl = null;
25
37
  this.recipientIndex = -1;
26
38
  this.envelope = null;
27
39
  this.fields = [];
@@ -30,15 +42,28 @@ export class VerdocsSign {
30
42
  this.focusedField = '';
31
43
  }
32
44
  async componentDidLoad() {
33
- var _a, _b, _c;
45
+ var _a, _b, _c, _d, _e, _f;
46
+ if (!this.envelopeId) {
47
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError('[SIGN] Missing required envelopId', 500, ''));
48
+ return;
49
+ }
50
+ if (!this.roleId) {
51
+ (_b = this.sdkError) === null || _b === void 0 ? void 0 : _b.emit(new SDKError('[SIGN] Missing required roleId', 500, ''));
52
+ return;
53
+ }
54
+ if (!this.inviteCode) {
55
+ (_c = this.sdkError) === null || _c === void 0 ? void 0 : _c.emit(new SDKError('[SIGN] Missing required inviteCode', 500, ''));
56
+ return;
57
+ }
34
58
  try {
35
- console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.envelopeId}`);
59
+ this.endpoint = new VerdocsEndpoint({ sessionType: 'signing' });
60
+ console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);
36
61
  const { session, recipient, signerToken } = await Envelopes.getSigningSession(this.endpoint, {
37
62
  envelopeId: this.envelopeId,
38
63
  roleId: this.roleId,
39
64
  inviteCode: this.inviteCode,
40
65
  });
41
- console.log(`[SIGN] Got signing session ${session.email} / ${session.profile_id}`);
66
+ console.log(`[SIGN] Loaded signing session ${session.email} / ${session.profile_id}`);
42
67
  this.recipient = recipient;
43
68
  this.signerToken = signerToken;
44
69
  this.endpoint.setToken(signerToken);
@@ -47,8 +72,7 @@ export class VerdocsSign {
47
72
  }
48
73
  const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);
49
74
  this.envelope = envelope;
50
- console.log('[SIGN] Signing document', document);
51
- this.pdfUrl = `${this.endpoint.getBaseURL()}/documents/${this.envelopeId}/envelope_documents/${envelope.envelope_document_id}?file=true`;
75
+ console.log('[SIGN] Loaded envelope', envelope);
52
76
  this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);
53
77
  if (this.recipientIndex > -1) {
54
78
  console.log('Found recipient', this.envelope.recipients[this.recipientIndex]);
@@ -61,7 +85,7 @@ export class VerdocsSign {
61
85
  }
62
86
  catch (e) {
63
87
  console.log('Error with signing session', e);
64
- (_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));
88
+ (_d = this.sdkError) === null || _d === void 0 ? void 0 : _d.emit(new SDKError(e.message, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status, (_f = e.response) === null || _f === void 0 ? void 0 : _f.data));
65
89
  }
66
90
  }
67
91
  handleClickAgree() {
@@ -260,8 +284,9 @@ export class VerdocsSign {
260
284
  }
261
285
  const id = getFieldId(field);
262
286
  const existingField = document.getElementById(id);
287
+ console.log('field', id, existingField);
263
288
  if (existingField) {
264
- setControlStyles(existingField, field, docPage.xScale, docPage.yScale, this.recipientIndex);
289
+ setControlStyles(existingField, field, docPage.xScale, docPage.yScale);
265
290
  return;
266
291
  }
267
292
  let el;
@@ -294,27 +319,77 @@ export class VerdocsSign {
294
319
  default:
295
320
  console.log('[SIGN] Skipping unsupported field type', field);
296
321
  }
322
+ console.log('created field', el);
297
323
  if (el) {
298
324
  el.field = field;
299
325
  el.recipient = this.recipient;
300
326
  el.setAttribute('id', id);
301
327
  el.setAttribute('roleindex', this.recipientIndex);
302
328
  el.addEventListener('fieldChange', e => this.handleFieldChange(field, e));
303
- setControlStyles(existingField, field, docPage.xScale, docPage.yScale, this.recipientIndex);
329
+ setControlStyles(el, field, docPage.xScale, docPage.yScale);
304
330
  controlsDiv.appendChild(el);
305
331
  }
306
332
  }
307
333
  handlePageRendered(e) {
308
334
  const pageInfo = e.detail;
309
335
  console.log('[SIGN] Page rendered', pageInfo);
310
- const fields = this.fields.filter(field => field.page === pageInfo.renderedPage.pageNumber);
336
+ const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
337
+ // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
311
338
  console.log('[SIGN] Fields on page', fields);
312
- fields.forEach(field => this.renderField(field, pageInfo.renderedPage));
313
- // .map((field, index) => this.renderField(field, index));
314
- // this.pdfPageInfo = e.detail;
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);
343
+ if (!el) {
344
+ return;
345
+ }
346
+ el.addEventListener('recipientChanged', e => {
347
+ el.setAttribute('roleindex', getRoleIndex(TemplateStore.roleNames, e.detail));
348
+ // el.setAttribute('roleindex', getRoleIndex(this.roles, e.detail));
349
+ });
350
+ el.setAttribute('xScale', pageInfo.renderedPage.xScale);
351
+ el.setAttribute('yScale', pageInfo.renderedPage.yScale);
352
+ // interact(el).draggable({
353
+ // listeners: {
354
+ // start(event) {
355
+ // console.log('[FIELDS] Drag started', event.type, event.target);
356
+ // },
357
+ // move(event) {
358
+ // const oldX = +(event.target.getAttribute('posX') || 0);
359
+ // const oldY = +(event.target.getAttribute('posY') || 0);
360
+ // const xScale = +(event.target.getAttribute('xScale') || 1);
361
+ // const yScale = +(event.target.getAttribute('yScale') || 1);
362
+ // const newX = event.dx / xScale + oldX;
363
+ // const newY = event.dy / yScale + oldY;
364
+ // event.target.setAttribute('posX', newX);
365
+ // event.target.setAttribute('posy', newY);
366
+ // updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
367
+ // },
368
+ // end(event) {
369
+ // console.log('[FIELDS] Drag ended', event);
370
+ // // event.target.setAttribute('posX', 0);
371
+ // // event.target.setAttribute('posy', 0);
372
+ // // updateCssTransform(event.target, 'translate', `${0}px, ${0}px`);
373
+ // },
374
+ // },
375
+ // });
376
+ });
315
377
  }
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
+ // }
316
388
  render() {
317
- var _a, _b, _c, _d;
389
+ var _a, _b, _c, _d, _e;
390
+ if (!this.envelope) {
391
+ return h(Host, null);
392
+ }
318
393
  const menuOptions = [
319
394
  { id: 'later', label: 'Finish Later' },
320
395
  { id: 'claim', label: 'Claim the Document', disabled: true },
@@ -322,10 +397,14 @@ export class VerdocsSign {
322
397
  { id: 'print', label: 'Print Without Signing' },
323
398
  { id: 'download', label: 'Download' },
324
399
  ];
325
- return (h(Host, { class: { storybook: !!(window === null || window === void 0 ? void 0 : window['STORYBOOK_ENV']), 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" }, this.pdfUrl ? (h("div", { class: "inner" }, h("verdocs-view", { envelopeId: this.envelopeId, endpoint: this.endpoint, onPageRendered: e => this.handlePageRendered(e), pageLayers: [
326
- { name: 'page', type: 'canvas' },
327
- { name: 'controls', type: 'div' },
328
- ] }))) : (h("verdocs-loader", null)))));
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 => {
401
+ const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
402
+ pages.sort((a, b) => a.sequence - b.sequence);
403
+ 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
+ { name: 'page', type: 'canvas' },
405
+ { name: 'controls', type: 'div' },
406
+ ] })))));
407
+ })))));
329
408
  }
330
409
  static get is() { return "verdocs-sign"; }
331
410
  static get originalStyleUrls() {
@@ -340,27 +419,6 @@ export class VerdocsSign {
340
419
  }
341
420
  static get properties() {
342
421
  return {
343
- "endpoint": {
344
- "type": "unknown",
345
- "mutable": false,
346
- "complexType": {
347
- "original": "VerdocsEndpoint",
348
- "resolved": "VerdocsEndpoint",
349
- "references": {
350
- "VerdocsEndpoint": {
351
- "location": "import",
352
- "path": "@verdocs/js-sdk"
353
- }
354
- }
355
- },
356
- "required": false,
357
- "optional": false,
358
- "docs": {
359
- "tags": [],
360
- "text": "The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used."
361
- },
362
- "defaultValue": "VerdocsEndpoint.getDefault()"
363
- },
364
422
  "envelopeId": {
365
423
  "type": "string",
366
424
  "mutable": false,
@@ -391,7 +449,7 @@ export class VerdocsSign {
391
449
  "optional": false,
392
450
  "docs": {
393
451
  "tags": [],
394
- "text": "The name of the role that will be signing."
452
+ "text": "The ID of the role that will be signing e.g. 'Recipient 1'"
395
453
  },
396
454
  "attribute": "role-id",
397
455
  "reflect": false,
@@ -421,7 +479,6 @@ export class VerdocsSign {
421
479
  return {
422
480
  "recipient": {},
423
481
  "signerToken": {},
424
- "pdfUrl": {},
425
482
  "recipientIndex": {},
426
483
  "envelope": {},
427
484
  "fields": {},
@@ -451,6 +508,26 @@ export class VerdocsSign {
451
508
  }
452
509
  }
453
510
  }
511
+ }, {
512
+ "method": "fieldUpdated",
513
+ "name": "fieldUpdated",
514
+ "bubbles": true,
515
+ "cancelable": true,
516
+ "composed": true,
517
+ "docs": {
518
+ "tags": [],
519
+ "text": "Event fired when any field is updated. Note that the current active endpoint is\nprovided as a parameter as a convenience for callers when this coimponent"
520
+ },
521
+ "complexType": {
522
+ "original": "{endpoint: VerdocsEndpoint}",
523
+ "resolved": "{ endpoint: VerdocsEndpoint; }",
524
+ "references": {
525
+ "VerdocsEndpoint": {
526
+ "location": "import",
527
+ "path": "@verdocs/js-sdk"
528
+ }
529
+ }
530
+ }
454
531
  }];
455
532
  }
456
533
  }