@verdocs/web-sdk 1.9.31 → 1.9.33

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 (319) hide show
  1. package/dist/cjs/{Envelopes-752bdc31.js → Envelopes-019e8a9f.js} +2 -2
  2. package/dist/cjs/{Envelopes-752bdc31.js.map → Envelopes-019e8a9f.js.map} +1 -1
  3. package/dist/cjs/Files-4bdc0c0f.js +49 -0
  4. package/dist/cjs/Files-4bdc0c0f.js.map +1 -0
  5. package/dist/cjs/Primitives-be5088cb.js +25 -0
  6. package/dist/cjs/Primitives-be5088cb.js.map +1 -0
  7. package/dist/cjs/{Templates-a4370308.js → Templates-358eaee4.js} +2 -2
  8. package/dist/cjs/{Templates-a4370308.js.map → Templates-358eaee4.js.map} +1 -1
  9. package/dist/cjs/{templateStore-8c8dc4c1.js → templateStore-eed1f161.js} +3 -4
  10. package/dist/cjs/templateStore-eed1f161.js.map +1 -0
  11. package/dist/cjs/{utils-91d249b4.js → utils-787b2115.js} +5 -29
  12. package/dist/cjs/utils-787b2115.js.map +1 -0
  13. package/dist/cjs/verdocs-build.cjs.entry.js +3 -3
  14. package/dist/cjs/verdocs-document-page_2.cjs.entry.js +2 -1
  15. package/dist/cjs/verdocs-document-page_2.cjs.entry.js.map +1 -1
  16. package/dist/cjs/verdocs-dropdown_2.cjs.entry.js +3 -2
  17. package/dist/cjs/verdocs-dropdown_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -1
  19. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/verdocs-field-date.cjs.entry.js +3 -2
  21. package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
  22. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
  23. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -1
  25. package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
  26. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
  27. package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
  28. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +2 -1
  29. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +2 -1
  31. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
  32. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -1
  33. package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
  34. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +4 -2
  35. package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
  36. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -1
  37. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
  38. package/dist/cjs/verdocs-preview.cjs.entry.js +5 -3
  39. package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
  40. package/dist/cjs/verdocs-send.cjs.entry.js +2 -1
  41. package/dist/cjs/verdocs-send.cjs.entry.js.map +1 -1
  42. package/dist/cjs/verdocs-sign.cjs.entry.js +26 -17
  43. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  44. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +5 -3
  45. package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
  46. package/dist/cjs/verdocs-upload-dialog.cjs.entry.js +3 -28
  47. package/dist/cjs/verdocs-upload-dialog.cjs.entry.js.map +1 -1
  48. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.css +3 -0
  49. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +24 -16
  50. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  51. package/dist/collection/utils/templateStore.js +1 -4
  52. package/dist/collection/utils/templateStore.js.map +1 -1
  53. package/dist/collection/utils/utils.js +3 -23
  54. package/dist/collection/utils/utils.js.map +1 -1
  55. package/dist/components/Files.js +46 -0
  56. package/dist/components/Files.js.map +1 -0
  57. package/dist/components/Primitives.js +22 -0
  58. package/dist/components/Primitives.js.map +1 -0
  59. package/dist/components/templateStore.js +1 -2
  60. package/dist/components/templateStore.js.map +1 -1
  61. package/dist/components/utils.js +5 -27
  62. package/dist/components/utils.js.map +1 -1
  63. package/dist/components/verdocs-field-date.js +1 -1
  64. package/dist/components/verdocs-field-date.js.map +1 -1
  65. package/dist/components/verdocs-sign.js +23 -15
  66. package/dist/components/verdocs-sign.js.map +1 -1
  67. package/dist/components/verdocs-template-create2.js.map +1 -1
  68. package/dist/components/verdocs-template-fields2.js +1 -1
  69. package/dist/components/verdocs-upload-dialog2.js +1 -26
  70. package/dist/components/verdocs-upload-dialog2.js.map +1 -1
  71. package/dist/components/verdocs-view2.js +1 -1
  72. package/dist/docs.json +3 -3
  73. package/dist/esm/{Envelopes-83934981.js → Envelopes-c2545a20.js} +2 -2
  74. package/dist/esm/{Envelopes-83934981.js.map → Envelopes-c2545a20.js.map} +1 -1
  75. package/dist/esm/Files-70a192df.js +46 -0
  76. package/dist/esm/Files-70a192df.js.map +1 -0
  77. package/dist/esm/Primitives-054bc6e5.js +22 -0
  78. package/dist/esm/Primitives-054bc6e5.js.map +1 -0
  79. package/dist/esm/{Templates-41762101.js → Templates-ad0e1ebe.js} +2 -2
  80. package/dist/esm/{Templates-41762101.js.map → Templates-ad0e1ebe.js.map} +1 -1
  81. package/dist/esm/{templateStore-103a54ab.js → templateStore-7b50460b.js} +2 -3
  82. package/dist/esm/templateStore-7b50460b.js.map +1 -0
  83. package/dist/esm/{utils-36d44309.js → utils-6e8bd73f.js} +6 -28
  84. package/dist/esm/utils-6e8bd73f.js.map +1 -0
  85. package/dist/esm/verdocs-build.entry.js +3 -3
  86. package/dist/esm/verdocs-document-page_2.entry.js +2 -1
  87. package/dist/esm/verdocs-document-page_2.entry.js.map +1 -1
  88. package/dist/esm/verdocs-dropdown_2.entry.js +3 -2
  89. package/dist/esm/verdocs-dropdown_2.entry.js.map +1 -1
  90. package/dist/esm/verdocs-field-checkbox.entry.js +2 -1
  91. package/dist/esm/verdocs-field-checkbox.entry.js.map +1 -1
  92. package/dist/esm/verdocs-field-date.entry.js +3 -2
  93. package/dist/esm/verdocs-field-date.entry.js.map +1 -1
  94. package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
  95. package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
  96. package/dist/esm/verdocs-field-initial.entry.js +2 -1
  97. package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
  98. package/dist/esm/verdocs-field-payment.entry.js +2 -1
  99. package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
  100. package/dist/esm/verdocs-field-radio-button.entry.js +2 -1
  101. package/dist/esm/verdocs-field-radio-button.entry.js.map +1 -1
  102. package/dist/esm/verdocs-field-signature_3.entry.js +2 -1
  103. package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
  104. package/dist/esm/verdocs-field-textarea.entry.js +2 -1
  105. package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
  106. package/dist/esm/verdocs-field-textbox.entry.js +4 -2
  107. package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
  108. package/dist/esm/verdocs-field-timestamp.entry.js +2 -1
  109. package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
  110. package/dist/esm/verdocs-preview.entry.js +5 -3
  111. package/dist/esm/verdocs-preview.entry.js.map +1 -1
  112. package/dist/esm/verdocs-send.entry.js +2 -1
  113. package/dist/esm/verdocs-send.entry.js.map +1 -1
  114. package/dist/esm/verdocs-sign.entry.js +25 -16
  115. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  116. package/dist/esm/verdocs-template-create_4.entry.js +5 -3
  117. package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
  118. package/dist/esm/verdocs-upload-dialog.entry.js +1 -26
  119. package/dist/esm/verdocs-upload-dialog.entry.js.map +1 -1
  120. package/dist/esm-es5/{Envelopes-83934981.js → Envelopes-c2545a20.js} +2 -2
  121. package/dist/esm-es5/{Envelopes-83934981.js.map → Envelopes-c2545a20.js.map} +0 -0
  122. package/dist/esm-es5/Files-70a192df.js +2 -0
  123. package/dist/esm-es5/Files-70a192df.js.map +1 -0
  124. package/dist/esm-es5/Primitives-054bc6e5.js +2 -0
  125. package/dist/esm-es5/Primitives-054bc6e5.js.map +1 -0
  126. package/dist/esm-es5/{Templates-41762101.js → Templates-ad0e1ebe.js} +2 -2
  127. package/dist/esm-es5/{Templates-41762101.js.map → Templates-ad0e1ebe.js.map} +0 -0
  128. package/dist/esm-es5/templateStore-7b50460b.js +2 -0
  129. package/dist/esm-es5/templateStore-7b50460b.js.map +1 -0
  130. package/dist/esm-es5/utils-6e8bd73f.js +2 -0
  131. package/dist/esm-es5/utils-6e8bd73f.js.map +1 -0
  132. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
  134. package/dist/esm-es5/verdocs-document-page_2.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-document-page_2.entry.js.map +1 -1
  136. package/dist/esm-es5/verdocs-dropdown_2.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-dropdown_2.entry.js.map +1 -1
  138. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  139. package/dist/esm-es5/verdocs-field-checkbox.entry.js.map +1 -1
  140. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  141. package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
  142. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  143. package/dist/esm-es5/verdocs-field-dropdown.entry.js.map +1 -1
  144. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  145. package/dist/esm-es5/verdocs-field-initial.entry.js.map +1 -1
  146. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  147. package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
  148. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  149. package/dist/esm-es5/verdocs-field-radio-button.entry.js.map +1 -1
  150. package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
  151. package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
  152. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  153. package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
  154. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  155. package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
  156. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  157. package/dist/esm-es5/verdocs-field-timestamp.entry.js.map +1 -1
  158. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  159. package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
  160. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  161. package/dist/esm-es5/verdocs-send.entry.js.map +1 -1
  162. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  163. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  164. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  165. package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
  166. package/dist/esm-es5/verdocs-upload-dialog.entry.js +1 -1
  167. package/dist/esm-es5/verdocs-upload-dialog.entry.js.map +1 -1
  168. package/dist/types/utils/utils.d.ts +0 -2
  169. package/dist/verdocs-web-sdk/p-008f67ce.entry.js +2 -0
  170. package/dist/verdocs-web-sdk/p-008f67ce.entry.js.map +1 -0
  171. package/dist/verdocs-web-sdk/p-016521f8.system.entry.js +2 -0
  172. package/dist/verdocs-web-sdk/{p-6896b64c.system.entry.js.map → p-016521f8.system.entry.js.map} +1 -1
  173. package/dist/verdocs-web-sdk/p-08800f26.entry.js +2 -0
  174. package/dist/verdocs-web-sdk/{p-8c2cdcc4.entry.js.map → p-08800f26.entry.js.map} +1 -1
  175. package/dist/verdocs-web-sdk/{p-458b639d.js → p-11ab1bd0.js} +2 -2
  176. package/dist/verdocs-web-sdk/{p-458b639d.js.map → p-11ab1bd0.js.map} +0 -0
  177. package/dist/verdocs-web-sdk/{p-6d858f25.entry.js → p-12fd1696.entry.js} +2 -2
  178. package/dist/verdocs-web-sdk/{p-6d858f25.entry.js.map → p-12fd1696.entry.js.map} +0 -0
  179. package/dist/verdocs-web-sdk/p-14513fd8.system.entry.js +2 -0
  180. package/dist/verdocs-web-sdk/{p-bd6175d9.system.entry.js.map → p-14513fd8.system.entry.js.map} +1 -1
  181. package/dist/verdocs-web-sdk/{p-7d1a5bc5.system.entry.js → p-14c69e28.system.entry.js} +2 -2
  182. package/dist/verdocs-web-sdk/{p-7d1a5bc5.system.entry.js.map → p-14c69e28.system.entry.js.map} +0 -0
  183. package/dist/verdocs-web-sdk/p-194a9ea7.entry.js +2 -0
  184. package/dist/verdocs-web-sdk/{p-455c2dd9.entry.js.map → p-194a9ea7.entry.js.map} +1 -1
  185. package/dist/verdocs-web-sdk/p-1be6f38a.entry.js +2 -0
  186. package/dist/verdocs-web-sdk/p-1be6f38a.entry.js.map +1 -0
  187. package/dist/verdocs-web-sdk/p-210606ed.entry.js +2 -0
  188. package/dist/verdocs-web-sdk/{p-cc30f8c8.entry.js.map → p-210606ed.entry.js.map} +1 -1
  189. package/dist/verdocs-web-sdk/{p-57fad02b.system.js → p-252d594a.system.js} +2 -2
  190. package/dist/verdocs-web-sdk/{p-57fad02b.system.js.map → p-252d594a.system.js.map} +0 -0
  191. package/dist/verdocs-web-sdk/p-327858f0.system.js +2 -0
  192. package/dist/verdocs-web-sdk/p-327858f0.system.js.map +1 -0
  193. package/dist/verdocs-web-sdk/p-32a83aa5.entry.js +2 -0
  194. package/dist/verdocs-web-sdk/{p-2e8a3d90.entry.js.map → p-32a83aa5.entry.js.map} +1 -1
  195. package/dist/verdocs-web-sdk/p-3cafb2e3.entry.js +2 -0
  196. package/dist/verdocs-web-sdk/{p-29044b5b.entry.js.map → p-3cafb2e3.entry.js.map} +1 -1
  197. package/dist/verdocs-web-sdk/p-3e33cd27.system.entry.js +2 -0
  198. package/dist/verdocs-web-sdk/{p-d9413770.system.entry.js.map → p-3e33cd27.system.entry.js.map} +1 -1
  199. package/dist/verdocs-web-sdk/p-417ee5e0.js +2 -0
  200. package/dist/verdocs-web-sdk/p-417ee5e0.js.map +1 -0
  201. package/dist/verdocs-web-sdk/p-46e776de.system.entry.js +2 -0
  202. package/dist/verdocs-web-sdk/{p-26e0caa5.system.entry.js.map → p-46e776de.system.entry.js.map} +1 -1
  203. package/dist/verdocs-web-sdk/p-4c411b0c.system.entry.js +2 -0
  204. package/dist/verdocs-web-sdk/p-4c411b0c.system.entry.js.map +1 -0
  205. package/dist/verdocs-web-sdk/p-553176fa.system.entry.js +2 -0
  206. package/dist/verdocs-web-sdk/{p-2d1b5389.system.entry.js.map → p-553176fa.system.entry.js.map} +1 -1
  207. package/dist/verdocs-web-sdk/p-5c895ce6.system.entry.js +2 -0
  208. package/dist/verdocs-web-sdk/{p-b5cf7ddc.system.entry.js.map → p-5c895ce6.system.entry.js.map} +1 -1
  209. package/dist/verdocs-web-sdk/p-63fc3d17.system.entry.js +2 -0
  210. package/dist/verdocs-web-sdk/{p-99495fbb.system.entry.js.map → p-63fc3d17.system.entry.js.map} +1 -1
  211. package/dist/verdocs-web-sdk/p-6f177552.system.entry.js +2 -0
  212. package/dist/verdocs-web-sdk/{p-206bbfe3.system.entry.js.map → p-6f177552.system.entry.js.map} +1 -1
  213. package/dist/verdocs-web-sdk/p-7291906c.js +2 -0
  214. package/dist/verdocs-web-sdk/p-7291906c.js.map +1 -0
  215. package/dist/verdocs-web-sdk/p-763b1dd8.entry.js +2 -0
  216. package/dist/verdocs-web-sdk/{p-9f381d10.entry.js.map → p-763b1dd8.entry.js.map} +1 -1
  217. package/dist/verdocs-web-sdk/p-78989f41.entry.js +2 -0
  218. package/dist/verdocs-web-sdk/{p-c8fb8a55.entry.js.map → p-78989f41.entry.js.map} +1 -1
  219. package/dist/verdocs-web-sdk/p-831ee1b6.system.js +2 -0
  220. package/dist/verdocs-web-sdk/p-831ee1b6.system.js.map +1 -0
  221. package/dist/verdocs-web-sdk/p-87776dc1.system.entry.js +2 -0
  222. package/dist/verdocs-web-sdk/{p-c35a211a.system.entry.js.map → p-87776dc1.system.entry.js.map} +1 -1
  223. package/dist/verdocs-web-sdk/{p-6baf87ba.js → p-8c0aa0e9.js} +2 -2
  224. package/dist/verdocs-web-sdk/{p-6baf87ba.js.map → p-8c0aa0e9.js.map} +0 -0
  225. package/dist/verdocs-web-sdk/p-9c208c1d.entry.js +2 -0
  226. package/dist/verdocs-web-sdk/{p-a45632ec.entry.js.map → p-9c208c1d.entry.js.map} +1 -1
  227. package/dist/verdocs-web-sdk/p-9f1225bf.entry.js +2 -0
  228. package/dist/verdocs-web-sdk/{p-49227301.entry.js.map → p-9f1225bf.entry.js.map} +1 -1
  229. package/dist/verdocs-web-sdk/p-a3820c7f.entry.js +2 -0
  230. package/dist/verdocs-web-sdk/{p-19a634b9.entry.js.map → p-a3820c7f.entry.js.map} +1 -1
  231. package/dist/verdocs-web-sdk/{p-30fcf18d.system.js → p-a74a9c6b.system.js} +2 -2
  232. package/dist/verdocs-web-sdk/p-a74a9c6b.system.js.map +1 -0
  233. package/dist/verdocs-web-sdk/p-a8b91e3f.entry.js +2 -0
  234. package/dist/verdocs-web-sdk/{p-78c6b2b1.entry.js.map → p-a8b91e3f.entry.js.map} +1 -1
  235. package/dist/verdocs-web-sdk/p-a8cc5e31.entry.js +2 -0
  236. package/dist/verdocs-web-sdk/{p-102bc4bc.entry.js.map → p-a8cc5e31.entry.js.map} +1 -1
  237. package/dist/verdocs-web-sdk/p-aa124212.js +2 -0
  238. package/dist/verdocs-web-sdk/p-aa124212.js.map +1 -0
  239. package/dist/verdocs-web-sdk/p-b122f5c7.system.entry.js +2 -0
  240. package/dist/verdocs-web-sdk/{p-d1c6b0f4.system.entry.js.map → p-b122f5c7.system.entry.js.map} +1 -1
  241. package/dist/verdocs-web-sdk/p-b94cdaea.system.entry.js +2 -0
  242. package/dist/verdocs-web-sdk/{p-0398fe67.system.entry.js.map → p-b94cdaea.system.entry.js.map} +1 -1
  243. package/dist/verdocs-web-sdk/p-b988a40a.entry.js +2 -0
  244. package/dist/verdocs-web-sdk/{p-de207098.entry.js.map → p-b988a40a.entry.js.map} +1 -1
  245. package/dist/verdocs-web-sdk/p-b9a1a471.system.entry.js +2 -0
  246. package/dist/verdocs-web-sdk/{p-729db0b6.system.entry.js.map → p-b9a1a471.system.entry.js.map} +1 -1
  247. package/dist/verdocs-web-sdk/p-bd503b85.entry.js +2 -0
  248. package/dist/verdocs-web-sdk/{p-515f3ab2.entry.js.map → p-bd503b85.entry.js.map} +1 -1
  249. package/dist/verdocs-web-sdk/p-c0cc2b8e.system.entry.js +2 -0
  250. package/dist/verdocs-web-sdk/{p-5e693763.system.entry.js.map → p-c0cc2b8e.system.entry.js.map} +1 -1
  251. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  252. package/dist/verdocs-web-sdk/{p-6d8b9e75.system.js → p-c8e8732b.system.js} +2 -2
  253. package/dist/verdocs-web-sdk/{p-6d8b9e75.system.js.map → p-c8e8732b.system.js.map} +0 -0
  254. package/dist/verdocs-web-sdk/p-d50523fd.system.js +2 -0
  255. package/dist/verdocs-web-sdk/p-d50523fd.system.js.map +1 -0
  256. package/dist/verdocs-web-sdk/p-d85e61ee.system.entry.js +2 -0
  257. package/dist/verdocs-web-sdk/p-d85e61ee.system.entry.js.map +1 -0
  258. package/dist/verdocs-web-sdk/p-d954919a.entry.js +2 -0
  259. package/dist/verdocs-web-sdk/{p-c3d5596a.entry.js.map → p-d954919a.entry.js.map} +1 -1
  260. package/dist/verdocs-web-sdk/{p-3ce35714.js → p-e53f969c.js} +2 -2
  261. package/dist/verdocs-web-sdk/p-e53f969c.js.map +1 -0
  262. package/dist/verdocs-web-sdk/p-f36c6695.system.entry.js +2 -0
  263. package/dist/verdocs-web-sdk/{p-1b3be2ae.system.entry.js.map → p-f36c6695.system.entry.js.map} +1 -1
  264. package/dist/verdocs-web-sdk/p-f4a3bc08.system.entry.js +2 -0
  265. package/dist/verdocs-web-sdk/{p-cf6cfa4f.system.entry.js.map → p-f4a3bc08.system.entry.js.map} +1 -1
  266. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  267. package/package.json +2 -2
  268. package/dist/cjs/templateStore-8c8dc4c1.js.map +0 -1
  269. package/dist/cjs/utils-91d249b4.js.map +0 -1
  270. package/dist/esm/templateStore-103a54ab.js.map +0 -1
  271. package/dist/esm/utils-36d44309.js.map +0 -1
  272. package/dist/esm-es5/templateStore-103a54ab.js +0 -2
  273. package/dist/esm-es5/templateStore-103a54ab.js.map +0 -1
  274. package/dist/esm-es5/utils-36d44309.js +0 -2
  275. package/dist/esm-es5/utils-36d44309.js.map +0 -1
  276. package/dist/verdocs-web-sdk/p-0225575c.system.entry.js +0 -2
  277. package/dist/verdocs-web-sdk/p-0225575c.system.entry.js.map +0 -1
  278. package/dist/verdocs-web-sdk/p-0398fe67.system.entry.js +0 -2
  279. package/dist/verdocs-web-sdk/p-102bc4bc.entry.js +0 -2
  280. package/dist/verdocs-web-sdk/p-19a634b9.entry.js +0 -2
  281. package/dist/verdocs-web-sdk/p-1b3be2ae.system.entry.js +0 -2
  282. package/dist/verdocs-web-sdk/p-206bbfe3.system.entry.js +0 -2
  283. package/dist/verdocs-web-sdk/p-26e0caa5.system.entry.js +0 -2
  284. package/dist/verdocs-web-sdk/p-29044b5b.entry.js +0 -2
  285. package/dist/verdocs-web-sdk/p-2d1b5389.system.entry.js +0 -2
  286. package/dist/verdocs-web-sdk/p-2e8a3d90.entry.js +0 -2
  287. package/dist/verdocs-web-sdk/p-30fcf18d.system.js.map +0 -1
  288. package/dist/verdocs-web-sdk/p-3ce35714.js.map +0 -1
  289. package/dist/verdocs-web-sdk/p-455c2dd9.entry.js +0 -2
  290. package/dist/verdocs-web-sdk/p-49227301.entry.js +0 -2
  291. package/dist/verdocs-web-sdk/p-515f3ab2.entry.js +0 -2
  292. package/dist/verdocs-web-sdk/p-58c4b767.system.js +0 -2
  293. package/dist/verdocs-web-sdk/p-58c4b767.system.js.map +0 -1
  294. package/dist/verdocs-web-sdk/p-5e693763.system.entry.js +0 -2
  295. package/dist/verdocs-web-sdk/p-6896b64c.system.entry.js +0 -2
  296. package/dist/verdocs-web-sdk/p-71f1e3c9.system.entry.js +0 -2
  297. package/dist/verdocs-web-sdk/p-71f1e3c9.system.entry.js.map +0 -1
  298. package/dist/verdocs-web-sdk/p-729db0b6.system.entry.js +0 -2
  299. package/dist/verdocs-web-sdk/p-78c6b2b1.entry.js +0 -2
  300. package/dist/verdocs-web-sdk/p-8c2cdcc4.entry.js +0 -2
  301. package/dist/verdocs-web-sdk/p-99495fbb.system.entry.js +0 -2
  302. package/dist/verdocs-web-sdk/p-9f381d10.entry.js +0 -2
  303. package/dist/verdocs-web-sdk/p-a45632ec.entry.js +0 -2
  304. package/dist/verdocs-web-sdk/p-b5cf7ddc.system.entry.js +0 -2
  305. package/dist/verdocs-web-sdk/p-b76c949d.entry.js +0 -2
  306. package/dist/verdocs-web-sdk/p-b76c949d.entry.js.map +0 -1
  307. package/dist/verdocs-web-sdk/p-bd6175d9.system.entry.js +0 -2
  308. package/dist/verdocs-web-sdk/p-c35a211a.system.entry.js +0 -2
  309. package/dist/verdocs-web-sdk/p-c3d5596a.entry.js +0 -2
  310. package/dist/verdocs-web-sdk/p-c8fb8a55.entry.js +0 -2
  311. package/dist/verdocs-web-sdk/p-cc30f8c8.entry.js +0 -2
  312. package/dist/verdocs-web-sdk/p-cf6cfa4f.system.entry.js +0 -2
  313. package/dist/verdocs-web-sdk/p-d1c6b0f4.system.entry.js +0 -2
  314. package/dist/verdocs-web-sdk/p-d5f48c21.entry.js +0 -2
  315. package/dist/verdocs-web-sdk/p-d5f48c21.entry.js.map +0 -1
  316. package/dist/verdocs-web-sdk/p-d9413770.system.entry.js +0 -2
  317. package/dist/verdocs-web-sdk/p-de207098.entry.js +0 -2
  318. package/dist/verdocs-web-sdk/p-ff3b285c.js +0 -2
  319. package/dist/verdocs-web-sdk/p-ff3b285c.js.map +0 -1
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2023-01-19T14:54:28",
2
+ "timestamp": "2023-01-20T16:32:52",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "2.20.0",
@@ -3936,9 +3936,9 @@
3936
3936
  "dependents": [],
3937
3937
  "dependencies": [
3938
3938
  "verdocs-loader",
3939
- "verdocs-dropdown",
3940
3939
  "verdocs-checkbox",
3941
3940
  "verdocs-button",
3941
+ "verdocs-dropdown",
3942
3942
  "verdocs-view",
3943
3943
  "verdocs-document-page",
3944
3944
  "verdocs-ok-dialog"
@@ -3946,9 +3946,9 @@
3946
3946
  "dependencyGraph": {
3947
3947
  "verdocs-sign": [
3948
3948
  "verdocs-loader",
3949
- "verdocs-dropdown",
3950
3949
  "verdocs-checkbox",
3951
3950
  "verdocs-button",
3951
+ "verdocs-dropdown",
3952
3952
  "verdocs-view",
3953
3953
  "verdocs-document-page",
3954
3954
  "verdocs-ok-dialog"
@@ -1,4 +1,4 @@
1
- import { j as getEnvelope } from './utils-36d44309.js';
1
+ import { h as getEnvelope } from './utils-6e8bd73f.js';
2
2
  import { c as createStore } from './index-fd7b8a34.js';
3
3
  import { g as getTemplate } from './Templates-0638b1e4.js';
4
4
 
@@ -68,4 +68,4 @@ const getEnvelopeById = async (endpoint, envelopeId) => {
68
68
 
69
69
  export { getEnvelopeById as g, state as s };
70
70
 
71
- //# sourceMappingURL=Envelopes-83934981.js.map
71
+ //# sourceMappingURL=Envelopes-c2545a20.js.map
@@ -1 +1 @@
1
- {"file":"Envelopes-83934981.js","mappings":";;;;AAAA;MAOM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,WAAW,CAAC;EACpC,QAAQ,EAAE,IAAwB;EAClC,QAAQ,EAAE,IAAwB;EAClC,YAAY,EAAE,CAAC;EACf,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,EAAE;EAET,SAAS,EAAE,EAAc;EACzB,KAAK,EAAE,KAAK;CACb,EAAE;AAEH,QAAQ,CAAC,UAAU,EAAE,OAAM,WAAW;EACpC,IAAI,CAAC,WAAW,EAAE;IAChB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;IACvB,OAAO;GACR;EAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;EAE5D,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;EAE/E,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/D,CAAC,CAAC;;AC7BF;AACA;MACa,eAAe,GAAG,OAAO,QAAyB,EAAE,UAAkB;;EACjF,IAAI,CAAC,UAAU,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO;GACR;EAED,IAAI,CAAA,MAAAA,KAAa,CAAC,QAAQ,0CAAE,EAAE,MAAK,UAAU,EAAE;IAC7C,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO;GACR;EAEDA,KAAa,CAAC,KAAK,GAAG,EAAE,CAAC;EACzBA,KAAa,CAAC,OAAO,GAAG,IAAI,CAAC;EAC7BA,KAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;EAE9B,IAAI;IACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;MACnD,OAAO;KACR;IAEDA,KAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;MACnD,OAAO;KACR;IAEDA,KAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClCA,KAAa,CAAC,OAAO,GAAG,KAAK,CAAC;GAC/B;EAAC,OAAO,CAAC,EAAE;IACVA,KAAa,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9BA,KAAa,CAAC,KAAK,GAAG,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,GAAG,yBAAyB,GAAG,CAAC,CAAC,OAAO,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,CAAC;GACT;AACH;;;;","names":["EnvelopeStore"],"sources":["./src/utils/envelopeStore.ts","./src/utils/Envelopes.ts"],"sourcesContent":["// NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to\n// resolve. This needs to export a single default value of the store's state. Any helper functions should go in Templates.ts here.\n\nimport {createStore} from '@stencil/store';\nimport {IEnvelope} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplate} from '@verdocs/js-sdk/Templates/Types';\n\nconst {state, onChange} = createStore({\n envelope: null as IEnvelope | null,\n template: null as ITemplate | null,\n loadProgress: 0,\n loading: true,\n error: '',\n\n roleNames: [] as string[],\n dirty: false,\n});\n\nonChange('envelope', async newEnvelope => {\n if (!newEnvelope) {\n console.log('[ENVELOPESTORE] Clearing envelope');\n state.roleNames = [];\n state.dirty = false;\n state.loading = false;\n state.error = '';\n state.loadProgress = 0;\n return;\n }\n\n console.log('[ENVELOPESTORE] Loaded envelope', newEnvelope);\n\n state.roleNames = newEnvelope.recipients.map(recipient => recipient.role_name);\n newEnvelope.recipients;\n console.log('[ENVELOPESTORE] Loaded roles', state.roleNames);\n});\n\nexport default state;\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getEnvelope} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport EnvelopeStore from './envelopeStore';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\n\n// Allows envelope data to be cached for reuse between components, without parent components having to prop-drill entire envelopes into\n// child elements.\nexport const getEnvelopeById = async (endpoint: VerdocsEndpoint, envelopeId: string) => {\n if (!envelopeId) {\n console.log(`[ENVELOPES] Missing required envelope ID`);\n return;\n }\n\n if (EnvelopeStore.envelope?.id === envelopeId) {\n console.log(`[ENVELOPES] Skipping load for already-loaded envelope ID`);\n return;\n }\n\n EnvelopeStore.error = '';\n EnvelopeStore.loading = true;\n EnvelopeStore.envelope = null;\n\n try {\n console.log(`[ENVELOPES] Loading envelope ${envelopeId}`);\n const envelope = await getEnvelope(endpoint, envelopeId, true);\n if (!envelope) {\n console.log('[ENVELOPES] Unable to load envelope');\n return;\n }\n\n EnvelopeStore.envelope = envelope;\n\n const template = await getTemplate(endpoint, envelope.template_id, true);\n if (!envelope) {\n console.log('[ENVELOPES] Unable to load template');\n return;\n }\n\n EnvelopeStore.template = template;\n EnvelopeStore.loading = false;\n } catch (e) {\n EnvelopeStore.loading = false;\n EnvelopeStore.error = e?.response?.status === 401 ? 'Authentication required' : e.message;\n console.log('[ENVELOPES] Error loading envelope', e);\n throw e;\n }\n};\n"],"version":3}
1
+ {"file":"Envelopes-c2545a20.js","mappings":";;;;AAAA;MAOM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,WAAW,CAAC;EACpC,QAAQ,EAAE,IAAwB;EAClC,QAAQ,EAAE,IAAwB;EAClC,YAAY,EAAE,CAAC;EACf,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,EAAE;EAET,SAAS,EAAE,EAAc;EACzB,KAAK,EAAE,KAAK;CACb,EAAE;AAEH,QAAQ,CAAC,UAAU,EAAE,OAAM,WAAW;EACpC,IAAI,CAAC,WAAW,EAAE;IAChB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;IACvB,OAAO;GACR;EAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;EAE5D,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;EAE/E,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/D,CAAC,CAAC;;AC7BF;AACA;MACa,eAAe,GAAG,OAAO,QAAyB,EAAE,UAAkB;;EACjF,IAAI,CAAC,UAAU,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO;GACR;EAED,IAAI,CAAA,MAAAA,KAAa,CAAC,QAAQ,0CAAE,EAAE,MAAK,UAAU,EAAE;IAC7C,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO;GACR;EAEDA,KAAa,CAAC,KAAK,GAAG,EAAE,CAAC;EACzBA,KAAa,CAAC,OAAO,GAAG,IAAI,CAAC;EAC7BA,KAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;EAE9B,IAAI;IACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;MACnD,OAAO;KACR;IAEDA,KAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;MACnD,OAAO;KACR;IAEDA,KAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClCA,KAAa,CAAC,OAAO,GAAG,KAAK,CAAC;GAC/B;EAAC,OAAO,CAAC,EAAE;IACVA,KAAa,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9BA,KAAa,CAAC,KAAK,GAAG,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,GAAG,yBAAyB,GAAG,CAAC,CAAC,OAAO,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,CAAC;GACT;AACH;;;;","names":["EnvelopeStore"],"sources":["./src/utils/envelopeStore.ts","./src/utils/Envelopes.ts"],"sourcesContent":["// NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to\n// resolve. This needs to export a single default value of the store's state. Any helper functions should go in Templates.ts here.\n\nimport {createStore} from '@stencil/store';\nimport {IEnvelope} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplate} from '@verdocs/js-sdk/Templates/Types';\n\nconst {state, onChange} = createStore({\n envelope: null as IEnvelope | null,\n template: null as ITemplate | null,\n loadProgress: 0,\n loading: true,\n error: '',\n\n roleNames: [] as string[],\n dirty: false,\n});\n\nonChange('envelope', async newEnvelope => {\n if (!newEnvelope) {\n console.log('[ENVELOPESTORE] Clearing envelope');\n state.roleNames = [];\n state.dirty = false;\n state.loading = false;\n state.error = '';\n state.loadProgress = 0;\n return;\n }\n\n console.log('[ENVELOPESTORE] Loaded envelope', newEnvelope);\n\n state.roleNames = newEnvelope.recipients.map(recipient => recipient.role_name);\n newEnvelope.recipients;\n console.log('[ENVELOPESTORE] Loaded roles', state.roleNames);\n});\n\nexport default state;\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getEnvelope} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport EnvelopeStore from './envelopeStore';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\n\n// Allows envelope data to be cached for reuse between components, without parent components having to prop-drill entire envelopes into\n// child elements.\nexport const getEnvelopeById = async (endpoint: VerdocsEndpoint, envelopeId: string) => {\n if (!envelopeId) {\n console.log(`[ENVELOPES] Missing required envelope ID`);\n return;\n }\n\n if (EnvelopeStore.envelope?.id === envelopeId) {\n console.log(`[ENVELOPES] Skipping load for already-loaded envelope ID`);\n return;\n }\n\n EnvelopeStore.error = '';\n EnvelopeStore.loading = true;\n EnvelopeStore.envelope = null;\n\n try {\n console.log(`[ENVELOPES] Loading envelope ${envelopeId}`);\n const envelope = await getEnvelope(endpoint, envelopeId, true);\n if (!envelope) {\n console.log('[ENVELOPES] Unable to load envelope');\n return;\n }\n\n EnvelopeStore.envelope = envelope;\n\n const template = await getTemplate(endpoint, envelope.template_id, true);\n if (!envelope) {\n console.log('[ENVELOPES] Unable to load template');\n return;\n }\n\n EnvelopeStore.template = template;\n EnvelopeStore.loading = false;\n } catch (e) {\n EnvelopeStore.loading = false;\n EnvelopeStore.error = e?.response?.status === 401 ? 'Authentication required' : e.message;\n console.log('[ENVELOPES] Error loading envelope', e);\n throw e;\n }\n};\n"],"version":3}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Given a File, extract the file's content as a base64 encoded data URL. The response will have a prefix that
3
+ * includes the MIME type of the file, e.g. "data:image/jpeg;base64,iVBORw0K......"
4
+ */
5
+ var fileToDataUrl = function (file) {
6
+ return new Promise(function (resolve, reject) {
7
+ var reader = new FileReader();
8
+ reader.onload = function () {
9
+ return resolve({
10
+ lastModified: file.lastModified,
11
+ size: file.size,
12
+ type: file.type,
13
+ name: file.name,
14
+ data: reader.result,
15
+ });
16
+ };
17
+ reader.onerror = reject;
18
+ if (file) {
19
+ reader.readAsDataURL(file);
20
+ }
21
+ else {
22
+ reject(new Error('Invalid file'));
23
+ }
24
+ });
25
+ };
26
+ /**
27
+ * Trigger a download dialog to save a blob as a file on disk.
28
+ */
29
+ var downloadBlob = function (blob, name) {
30
+ if (name === void 0) { name = 'file.pdf'; }
31
+ var blobUrl = URL.createObjectURL(blob);
32
+ var link = document.createElement('a');
33
+ link.href = blobUrl;
34
+ link.download = name;
35
+ document.body.appendChild(link);
36
+ link.dispatchEvent(new MouseEvent('click', {
37
+ bubbles: true,
38
+ cancelable: true,
39
+ view: window,
40
+ }));
41
+ document.body.removeChild(link);
42
+ };
43
+
44
+ export { downloadBlob as d, fileToDataUrl as f };
45
+
46
+ //# sourceMappingURL=Files-70a192df.js.map
@@ -0,0 +1 @@
1
+ {"file":"Files-70a192df.js","mappings":"AAAA;AACA;AACA;AACA;AACU,IAAC,aAAa,GAAG,UAAU,IAAI,EAAE;AAC3C,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE;AAClD,QAAQ,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AACtC,QAAQ,MAAM,CAAC,MAAM,GAAG,YAAY;AACpC,YAAY,OAAO,OAAO,CAAC;AAC3B,gBAAgB,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/C,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,gBAAgB,IAAI,EAAE,MAAM,CAAC,MAAM;AACnC,aAAa,CAAC,CAAC;AACf,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;AAChC,QAAQ,IAAI,IAAI,EAAE;AAClB,YAAY,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,SAAS;AACT,aAAa;AACb,YAAY,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAC9C,SAAS;AACT,KAAK,CAAC,CAAC;AACP,EAAE;AACF;AACA;AACA;AACU,IAAC,YAAY,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE;AAChD,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,UAAU,CAAC,EAAE;AAC/C,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAI,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;AACxB,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACzB,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE;AAC/C,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,UAAU,EAAE,IAAI;AACxB,QAAQ,IAAI,EAAE,MAAM;AACpB,KAAK,CAAC,CAAC,CAAC;AACR,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACpC;;;;","names":[],"sources":["./node_modules/@verdocs/js-sdk/Utils/Files.js"],"sourcesContent":["/**\n * Given a File, extract the file's content as a base64 encoded data URL. The response will have a prefix that\n * includes the MIME type of the file, e.g. \"data:image/jpeg;base64,iVBORw0K......\"\n */\nexport var fileToDataUrl = function (file) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onload = function () {\n return resolve({\n lastModified: file.lastModified,\n size: file.size,\n type: file.type,\n name: file.name,\n data: reader.result,\n });\n };\n reader.onerror = reject;\n if (file) {\n reader.readAsDataURL(file);\n }\n else {\n reject(new Error('Invalid file'));\n }\n });\n};\n/**\n * Trigger a download dialog to save a blob as a file on disk.\n */\nexport var downloadBlob = function (blob, name) {\n if (name === void 0) { name = 'file.pdf'; }\n var blobUrl = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = blobUrl;\n link.download = name;\n document.body.appendChild(link);\n link.dispatchEvent(new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n }));\n document.body.removeChild(link);\n};\n"],"version":3}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Create an array containing a sequence of integers, e.g. [START, START+1, START+2, ...] This is frequently useful
3
+ * in rendering operations when there is no source array to .map() across.
4
+ */
5
+ var integerSequence = function (start, count) {
6
+ return Array(count)
7
+ .fill(1)
8
+ .map(function (_, index) { return index + start; });
9
+ };
10
+ /**
11
+ * Generate suggested initials for a full name, e.g. "John Doe" will yield "JD".
12
+ */
13
+ var fullNameToInitials = function (name) {
14
+ return name
15
+ .split(' ')
16
+ .map(function (word) { return word[0]; })
17
+ .join('');
18
+ };
19
+
20
+ export { fullNameToInitials as f, integerSequence as i };
21
+
22
+ //# sourceMappingURL=Primitives-054bc6e5.js.map
@@ -0,0 +1 @@
1
+ {"file":"Primitives-054bc6e5.js","mappings":"AAAA;AACA;AACA;AACA;AACU,IAAC,eAAe,GAAG,UAAU,KAAK,EAAE,KAAK,EAAE;AACrD,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC;AACvB,SAAS,IAAI,CAAC,CAAC,CAAC;AAChB,SAAS,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAC5D,EAAE;AACF;AACA;AACA;AACU,IAAC,kBAAkB,GAAG,UAAU,IAAI,EAAE;AAChD,IAAI,OAAO,IAAI;AACf,SAAS,KAAK,CAAC,GAAG,CAAC;AACnB,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB;;;;","names":[],"sources":["./node_modules/@verdocs/js-sdk/Utils/Primitives.js"],"sourcesContent":["/**\n * Create an array containing a sequence of integers, e.g. [START, START+1, START+2, ...] This is frequently useful\n * in rendering operations when there is no source array to .map() across.\n */\nexport var integerSequence = function (start, count) {\n return Array(count)\n .fill(1)\n .map(function (_, index) { return index + start; });\n};\n/**\n * Generate suggested initials for a full name, e.g. \"John Doe\" will yield \"JD\".\n */\nexport var fullNameToInitials = function (name) {\n return name\n .split(' ')\n .map(function (word) { return word[0]; })\n .join('');\n};\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { g as getTemplate } from './Templates-0638b1e4.js';
2
- import { s as state } from './templateStore-103a54ab.js';
2
+ import { s as state } from './templateStore-7b50460b.js';
3
3
 
4
4
  const loadTemplate = async (endpoint, templateId) => {
5
5
  state.template = null;
@@ -26,4 +26,4 @@ const loadTemplate = async (endpoint, templateId) => {
26
26
 
27
27
  export { loadTemplate as l };
28
28
 
29
- //# sourceMappingURL=Templates-41762101.js.map
29
+ //# sourceMappingURL=Templates-ad0e1ebe.js.map
@@ -1 +1 @@
1
- {"file":"Templates-41762101.js","mappings":";;;MAIa,YAAY,GAAG,OAAO,QAAyB,EAAE,UAAkB;EAC9EA,KAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;EAE9B,IAAI,CAAC,UAAU,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO;GACR;EAEDA,KAAa,CAAC,OAAO,GAAG,IAAI,CAAC;EAE7B,IAAI;IACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;MACnD,OAAO;KACR;IAEDA,KAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClCA,KAAa,CAAC,OAAO,GAAG,KAAK,CAAC;GAC/B;EAAC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,CAAC;GACT;AACH;;;;","names":["TemplateStore"],"sources":["./src/utils/Templates.ts"],"sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport TemplateStore from './templateStore';\n\nexport const loadTemplate = async (endpoint: VerdocsEndpoint, templateId: string) => {\n TemplateStore.template = null;\n\n if (!templateId) {\n console.log(`[TEMPLATES] Missing required template ID`);\n return;\n }\n\n TemplateStore.loading = true;\n\n try {\n console.log(`[TEMPLATES] Loading template ${templateId}`);\n const template = await getTemplate(endpoint, templateId, true);\n if (!template) {\n console.log('[TEMPLATES] Unable to load template');\n return;\n }\n\n TemplateStore.template = template;\n TemplateStore.loading = false;\n } catch (e) {\n console.log('[TEMPLATES] Error loading template', e);\n throw e;\n }\n};\n"],"version":3}
1
+ {"file":"Templates-ad0e1ebe.js","mappings":";;;MAIa,YAAY,GAAG,OAAO,QAAyB,EAAE,UAAkB;EAC9EA,KAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;EAE9B,IAAI,CAAC,UAAU,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO;GACR;EAEDA,KAAa,CAAC,OAAO,GAAG,IAAI,CAAC;EAE7B,IAAI;IACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;MACnD,OAAO;KACR;IAEDA,KAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClCA,KAAa,CAAC,OAAO,GAAG,KAAK,CAAC;GAC/B;EAAC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,CAAC;GACT;AACH;;;;","names":["TemplateStore"],"sources":["./src/utils/Templates.ts"],"sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport TemplateStore from './templateStore';\n\nexport const loadTemplate = async (endpoint: VerdocsEndpoint, templateId: string) => {\n TemplateStore.template = null;\n\n if (!templateId) {\n console.log(`[TEMPLATES] Missing required template ID`);\n return;\n }\n\n TemplateStore.loading = true;\n\n try {\n console.log(`[TEMPLATES] Loading template ${templateId}`);\n const template = await getTemplate(endpoint, templateId, true);\n if (!template) {\n console.log('[TEMPLATES] Unable to load template');\n return;\n }\n\n TemplateStore.template = template;\n TemplateStore.loading = false;\n } catch (e) {\n console.log('[TEMPLATES] Error loading template', e);\n throw e;\n }\n};\n"],"version":3}
@@ -1,8 +1,7 @@
1
1
  import { c as createStore } from './index-fd7b8a34.js';
2
- import { i as integerSequence } from './utils-36d44309.js';
2
+ import { i as integerSequence } from './Primitives-054bc6e5.js';
3
3
 
4
4
  // NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to
5
- // import {getPageImage} from '@verdocs/js-sdk/Templates/Pages';
6
5
  const { state, onChange } = createStore({
7
6
  template: null,
8
7
  loadProgress: 0,
@@ -41,4 +40,4 @@ onChange('fields', newField => {
41
40
 
42
41
  export { state as s };
43
42
 
44
- //# sourceMappingURL=templateStore-103a54ab.js.map
43
+ //# sourceMappingURL=templateStore-7b50460b.js.map
@@ -0,0 +1 @@
1
+ {"file":"templateStore-7b50460b.js","mappings":";;;AAAA;MAOM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,WAAW,CAAC;EACpC,QAAQ,EAAE,IAAwB;EAClC,YAAY,EAAE,CAAC;EACf,OAAO,EAAE,IAAI;EAEb,WAAW,EAAE,EAAc;EAC3B,QAAQ,EAAE,EAA4B;EACtC,SAAS,EAAE,EAAc;EACzB,MAAM,EAAE,EAAsB;EAC9B,KAAK,EAAE,KAAK;CACb,EAAE;AAEH,QAAQ,CAAC,UAAU,EAAE,OAAM,WAAW;EACpC,IAAI,CAAC,WAAW,EAAE;IAChB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;IACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;IACvB,OAAO;GACR;EAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;EAE5D,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;EAC3D,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;EAE7D,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;EAClB,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;IAC5B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;GACnC,CAAC,CAAC;EAEH,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;EAE3D,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,QAAQ,EAAE,QAAQ;EACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;EACvD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;AACrB,CAAC,CAAC;;;;","names":[],"sources":["./src/utils/templateStore.ts"],"sourcesContent":["// NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to\n// resolve. This needs to export a single default value of the store's state. Any helper functions should go in Templates.ts here.\n\nimport {createStore} from '@stencil/store';\nimport {integerSequence} from '@verdocs/js-sdk/Utils/Primitives';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\n\nconst {state, onChange} = createStore({\n template: null as ITemplate | null,\n loadProgress: 0,\n loading: true,\n\n pageNumbers: [] as number[],\n pageUris: {} as Record<number, string>,\n roleNames: [] as string[],\n fields: [] as ITemplateField[],\n dirty: false,\n});\n\nonChange('template', async newTemplate => {\n if (!newTemplate) {\n console.log('[TEMPLATESTORE] Clearing template');\n state.fields = [];\n state.roleNames = [];\n state.pageNumbers = [];\n state.dirty = false;\n state.loading = false;\n state.loadProgress = 0;\n return;\n }\n\n console.log('[TEMPLATESTORE] Template loaded', newTemplate);\n\n state.roleNames = newTemplate.roles.map(role => role.name);\n console.log('[TEMPLATESTORE] Loaded roles', state.roleNames);\n\n state.fields = [];\n newTemplate.roles.forEach(role => {\n state.fields.push(...role.fields);\n });\n\n console.log('[TEMPLATESTORE] Loaded fields', state.fields);\n\n state.pageNumbers = integerSequence(1, newTemplate.pages.length);\n});\n\nonChange('fields', newField => {\n console.log('[TEMPLATESTORE] Field changed', newField);\n state.dirty = true;\n});\n\nexport default state;\n"],"version":3}
@@ -1,4 +1,5 @@
1
1
  import { d as decodeAccessTokenBody } from './Token-54690789.js';
2
+ import { d as downloadBlob } from './Files-70a192df.js';
2
3
 
3
4
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
4
5
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -71,10 +72,8 @@ var getEnvelope = function (endpoint, envelopeId, ssr) { return __awaiter(void 0
71
72
  var getEnvelopeFile = function (endpoint, envelopeId, documentId) { return __awaiter(void 0, void 0, void 0, function () {
72
73
  return __generator(this, function (_a) {
73
74
  return [2 /*return*/, endpoint.api //
74
- .get("/envelopes/".concat(envelopeId, "/envelope_documents/").concat(documentId, "?file=true"), {
75
- responseType: 'arraybuffer',
76
- })
77
- .then(function (r) { return Buffer.from(r.data, 'binary').toString('base64'); })];
75
+ .get("/envelopes/".concat(envelopeId, "/envelope_documents/").concat(documentId, "?file=true"), { responseType: 'blob' })
76
+ .then(function (r) { return r.data; })];
78
77
  });
79
78
  }); };
80
79
  /**
@@ -114,13 +113,6 @@ function rescale(r, n) {
114
113
  return r * n;
115
114
  }
116
115
 
117
- const integerSequence = (start, count) => Array(count)
118
- .fill(1)
119
- .map((_, index) => index + start);
120
- const fullNameToInitials = (name) => name
121
- .split(' ')
122
- .map(word => word[0])
123
- .join('');
124
116
  const defaultWidth = (field) => {
125
117
  switch (field.type) {
126
118
  case 'attachment':
@@ -325,21 +317,7 @@ const updateCssTransform = (el, key, value) => {
325
317
  const savePDF = async (endpoint, envelope, documentId) => {
326
318
  const fileName = `${envelope.name} - ${envelope.updated_at.split('T')[0]}.pdf`;
327
319
  const data = await getEnvelopeFile(endpoint, envelope.id, documentId);
328
- // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique
329
- // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image
330
- let xhr = new XMLHttpRequest();
331
- xhr.responseType = 'blob';
332
- xhr.onload = function () {
333
- let a = document.createElement('a');
334
- a.href = window.URL.createObjectURL(xhr.response);
335
- a.download = fileName;
336
- a.style.display = 'none';
337
- document.body.appendChild(a);
338
- a.click();
339
- a.remove();
340
- };
341
- xhr.open('GET', `data:application/pdf;base64,${data}`);
342
- xhr.send();
320
+ downloadBlob(data, fileName);
343
321
  };
344
322
  /**
345
323
  * Throttle a given function by a delay value. Useful for things like resizeObserver.
@@ -352,6 +330,6 @@ const throttle = (f, delay) => {
352
330
  };
353
331
  };
354
332
 
355
- export { getRoleIndex as a, getSigningSession as b, updateEnvelopeField as c, updateEnvelopeFieldSignature as d, updateEnvelopeFieldInitials as e, fullNameToInitials as f, getFieldSettings as g, getFieldId as h, integerSequence as i, getEnvelope as j, updateCssTransform as k, renderDocumentField as r, savePDF as s, throttle as t, updateDocumentFieldValue as u };
333
+ export { getRoleIndex as a, getSigningSession as b, updateEnvelopeField as c, updateEnvelopeFieldSignature as d, updateEnvelopeFieldInitials as e, getFieldId as f, getFieldSettings as g, getEnvelope as h, updateCssTransform as i, renderDocumentField as r, savePDF as s, throttle as t, updateDocumentFieldValue as u };
356
334
 
357
- //# sourceMappingURL=utils-36d44309.js.map
335
+ //# sourceMappingURL=utils-6e8bd73f.js.map
@@ -0,0 +1 @@
1
+ {"file":"utils-6e8bd73f.js","mappings":"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","names":["this","Envelopes.getEnvelopeFile"],"sources":["./node_modules/@verdocs/js-sdk/Envelopes/Envelopes.js","./node_modules/@verdocs/js-sdk/Utils/Fields.js","./src/utils/utils.ts"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { decodeAccessTokenBody } from '../Utils/Token';\n/**\n * Create an envelope\n *\n * ```typescript\n * import {Envelopes, ICreateEnvelopeRole, ICreateEnvelopeRequest} from '@verdocs/js-sdk/Envelopes';\n *\n * const role1: ICreateEnvelopeRole = {\n * type: 'signer',\n * name: 'Seller',\n * full_name: 'Paige Turner',\n * email: 'paige.turner@nomail.com',\n * phone: '',\n * sequence: 1,\n * delegator: false,\n * message: '',\n * };\n *\n * const role2: ICreateEnvelopeRole = {\n * type: 'signer',\n * name: 'Buyer',\n * full_name: 'Will Power',\n * email: 'will.power@nomail.com',\n * phone: '',\n * sequence: 2,\n * delegator: false,\n * message: '',\n * };\n *\n * const request: ICreateEnvelopeRequest = {template_id: 'd2338742-f3a1-465b-8592-806587413cc1', name: 'Bill of Sale', roles: [role1, role2]};\n * const {id, recipients} = await Envelopes.createEnvelope(VerdocsEndpoint.getDefault(), request);\n * ```\n */\nexport var createEnvelope = function (endpoint, request) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .post('/envelopes', request)\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Get a summary of currently active envelopes.\n *\n * ```typescript\n * import {Envelopes} from '@verdocs/js-sdk/Envelopes';\n *\n * const {action_required, completed, waiting_on_others} = await Envelopes.getSummary(VerdocsEndpoint.getDefault());\n * ```\n */\nexport var getSummary = function (endpoint, page) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .post('/envelopes/summary', { page: page })\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Search for envelopes matching various criteria.\n *\n * ```typescript\n * import {Envelopes} from '@verdocs/js-sdk/Envelopes';\n *\n * const {result, page, total} = await Envelopes.search(VerdocsEndpoint.getDefault(), { ... });\n * ```\n */\nexport var searchEnvelopes = function (endpoint, params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .post('/envelopes/search', params)\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Get a signing session for an Envelope.\n */\nexport var getSigningSession = function (endpoint, params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(params.envelopeId, \"/recipients/\").concat(encodeURIComponent(params.roleId), \"/invitation/\").concat(params.inviteCode))\n .then(function (r) {\n var _a;\n // Avoiding a jsonwebtoken dependency here - we don't actually need the whole library\n var signerToken = ((_a = r.headers) === null || _a === void 0 ? void 0 : _a.signer_token) || '';\n var session = decodeAccessTokenBody(signerToken);\n endpoint.setToken(signerToken);\n return { recipient: r.data, session: session, signerToken: signerToken };\n })];\n });\n}); };\n/**\n * Get the list of recipients for an Envelope.\n */\nexport var getEnvelopeRecipients = function (endpoint, envelopeId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/recipients\"))\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Get all metadata for an Envelope.\n */\nexport var getEnvelope = function (endpoint, envelopeId, ssr) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId) + (ssr ? '?ssr=true' : ''))\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Get all metadata for an Envelope.\n */\nexport var getEnvelopeDocument = function (endpoint, envelopeId, documentId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/envelope_documents/\").concat(documentId))\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Cancel an Envelope.\n */\nexport var cancelEnvelope = function (endpoint, envelopeId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId), { action: 'cancel' })\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Returns true if the recipient has a pending action. Note that this does not necessarily mean the recipient can act (yet).\n */\nexport var recipientHasAction = function (recipient) { return !['submitted', 'canceled', 'declined'].includes(recipient.status); };\n/**\n * Returns the recipients who still have a pending action. Note that not all of these recipients may be able to act (yet).\n */\nexport var getRecipientsWithActions = function (envelope) { return ((envelope === null || envelope === void 0 ? void 0 : envelope.recipients) || []).filter(recipientHasAction); };\n/**\n * Returns true if the recipient can act.\n */\nexport var recipientCanAct = function (recipient, recipientsWithActions) { var _a; return recipient.sequence === ((_a = recipientsWithActions === null || recipientsWithActions === void 0 ? void 0 : recipientsWithActions[0]) === null || _a === void 0 ? void 0 : _a.sequence); };\n/**\n * Returns true if the user can act.\n */\nexport var userCanAct = function (email, recipientsWithActions) {\n var _a;\n var recipient = recipientsWithActions.find(function (r) { return r.email === email; });\n return recipient && recipient.sequence === ((_a = recipientsWithActions === null || recipientsWithActions === void 0 ? void 0 : recipientsWithActions[0]) === null || _a === void 0 ? void 0 : _a.sequence);\n};\n/**\n * Get (binary download) a file attached to an Envelope. It is important to use this method\n * rather than a direct A HREF or similar link to set the authorization headers for the\n * request.\n */\nexport var getEnvelopeFile = function (endpoint, envelopeId, documentId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/envelope_documents/\").concat(documentId, \"?file=true\"), { responseType: 'blob' })\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Update a Document field. Typically called during the signing process as a Recipient fills in fields.\n */\nexport var updateEnvelopeField = function (endpoint, envelopeId, fieldName, value) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId, \"/fields/\").concat(fieldName), value)\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Update a Document signature field. Signature fields are ID-driven. Call `Document.createSignature()` first to create a\n * signature for a Recipient, then call `Documents.updateDocumentFieldSignature()` to attach it to a field.\n */\nexport var updateEnvelopeFieldSignature = function (endpoint, envelopeId, fieldName, signatureId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId, \"/fields/\").concat(fieldName, \"/signature/\").concat(signatureId))\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Update a Document signature field. Signature fields are ID-driven. Call `Document.createSignature()` first to create a\n * signature for a Recipient, then call `Documents.updateDocumentFieldSignature()` to attach it to a field.\n */\nexport var updateEnvelopeFieldInitials = function (endpoint, envelopeId, fieldName, initialId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId, \"/fields/\").concat(fieldName, \"/initial/\").concat(initialId))\n .then(function (r) { return r.data; })];\n });\n}); };\n","export function getRTop(y, fieldHeight, iTextHeight, yRatio) {\n return iTextHeight - (y + fieldHeight) * yRatio;\n}\nexport function getRLeft(x, ratio) {\n return x * ratio;\n}\nexport function getRValue(y, ratio) {\n return y * ratio;\n}\nexport function blobToBase64(image) {\n var fileReader = new FileReader();\n return new Promise(function (resolve, reject) {\n fileReader.onerror = function () {\n reject(new DOMException('Problem reading blob.'));\n };\n fileReader.onload = function () {\n resolve(fileReader.result);\n };\n fileReader.readAsDataURL(image);\n });\n}\nexport function rescale(r, n) {\n return r * n;\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {rescale} from '@verdocs/js-sdk/Utils/Fields';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IEnvelope} from '@verdocs/js-sdk/Envelopes/Types';\nimport {IDocumentPageInfo} from './Types';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {downloadBlob} from '@verdocs/js-sdk/Utils/Files';\n\nexport const defaultWidth = (field: ITemplateField | IDocumentField) => {\n switch (field.type) {\n case 'attachment':\n case 'payment':\n return 24;\n case 'checkbox':\n case 'checkbox_group':\n case 'radio_button_group':\n return 14;\n case 'signature':\n case 'initial':\n return 82;\n }\n\n return 150;\n};\n\nexport const defaultHeight = (field: ITemplateField | IDocumentField) => {\n switch (field.type) {\n case 'attachment':\n case 'payment':\n return 24;\n case 'checkbox':\n case 'checkbox_group':\n case 'radio_button_group':\n return 14;\n case 'signature':\n case 'initial':\n return 41;\n }\n\n return 50;\n};\n\nexport const setControlStyles = (el: HTMLElement, field: ITemplateField | IDocumentField, xScale: number, yScale: number, option?: number) => {\n const settings = (field as ITemplateField).setting || (field as IDocumentField).settings;\n let {x = 0, y = 0, width = defaultWidth(field), height = defaultHeight(field)} = settings;\n\n const optionSettings = option !== undefined && settings.options[option] ? settings.options[option] : null;\n if (optionSettings) {\n x = optionSettings.x ?? x;\n y = optionSettings.y ?? y;\n width = optionSettings.width ?? width;\n height = optionSettings.height ?? height;\n }\n\n el.style.width = `${width}px`;\n el.style.height = `${height}px`;\n el.style.position = 'absolute';\n el.style.left = `${rescale(xScale, x)}px`;\n el.style.bottom = `${rescale(yScale, y)}px`;\n el.style.transform = `scale(${xScale}, ${yScale})`;\n // el.style.backgroundColor = field['rgba'] || getRGBA(roleIndex);\n};\n\nexport const getFieldId = (field: ITemplateField | IDocumentField) => {\n return `verdocs-doc-fld-${field.name}`;\n};\n\nexport const getFieldOptionId = (field: ITemplateField | IDocumentField, index: number) => {\n return `verdocs-doc-fld-${field.name}-${index}`;\n};\n\ninterface IFieldOptions {\n disabled?: boolean;\n editable?: boolean;\n draggable?: boolean;\n done?: boolean;\n}\n\nexport const updateDocumentFieldValue = (field: ITemplateField | IDocumentField) => {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.setAttribute('id', id); // We need this to trigger a re-render\n existingField.setAttribute('disabled', true); // We need this to trigger a re-render\n existingField.setAttribute('disabled', false); // We need this to trigger a re-render\n }\n};\n\nexport const renderDocumentField = (field: ITemplateField | IDocumentField, docPage: IDocumentPageInfo, roleIndex: number, fieldOptions: IFieldOptions) => {\n const {disabled = false, editable = false, draggable = false, done = false} = fieldOptions;\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n switch (field.type) {\n case 'attachment':\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 const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const el: any = document.createElement(`verdocs-field-${field.type}`);\n el.field = field;\n el.setAttribute('id', id);\n el.setAttribute('roleIndex', roleIndex);\n\n if (disabled) {\n el.setAttribute('tabindex', -1);\n el.setAttribute('disabled', true);\n } else {\n el.setAttribute('tabIndex', 1);\n }\n\n if (editable) {\n el.setAttribute('editable', true);\n }\n\n if (draggable) {\n el.setAttribute('draggable', true);\n }\n\n if (done) {\n el.setAttribute('done', true);\n }\n\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n\n return el;\n }\n\n case 'checkbox_group':\n return ((field as any).settings || (field as any).setting || {}).options.map((_, checkboxIndex) => {\n const id = getFieldOptionId(field, checkboxIndex);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const cbEl: any = document.createElement(`verdocs-field-checkbox`);\n cbEl.field = field;\n cbEl.setAttribute('id', id);\n cbEl.setAttribute('roleIndex', roleIndex);\n cbEl.setAttribute('option', checkboxIndex);\n if (disabled) {\n cbEl.setAttribute('disabled', true);\n }\n if (done) {\n cbEl.setAttribute('done', true);\n }\n setControlStyles(cbEl, field, docPage.xScale, docPage.yScale, checkboxIndex);\n controlsDiv.appendChild(cbEl);\n\n return cbEl;\n });\n\n case 'radio_button_group':\n return ((field as any).settings || (field as any).setting || {}).options.map((_, buttonIndex) => {\n const id = getFieldOptionId(field, buttonIndex);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const radioEl: any = document.createElement(`verdocs-field-radio-button`);\n radioEl.field = field;\n radioEl.setAttribute('id', id);\n radioEl.setAttribute('roleIndex', roleIndex);\n radioEl.setAttribute('option', buttonIndex);\n if (disabled) {\n radioEl.setAttribute('disabled', true);\n }\n if (done) {\n radioEl.setAttribute('done', true);\n }\n setControlStyles(radioEl, field, docPage.xScale, docPage.yScale, buttonIndex);\n controlsDiv.appendChild(radioEl);\n\n return radioEl;\n });\n\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('[PREVIEW] Skipping unsupported field type', field);\n return null;\n }\n};\n\nexport const getRoleIndex = (roles: string[], role: string) => roles.indexOf(role) || 0;\n\n// TODO: We can clean this up a lot if we alter the API to emit both setting and settings regardless of the source type,\n// but then merge the SDK types to encourage developers to use just `settings`.\nexport const getFieldSettings = (field: ITemplateField | IDocumentField) => {\n if ((field as ITemplateField).setting) {\n return (field as ITemplateField).setting;\n }\n\n if ((field as IDocumentField).settings) {\n return (field as IDocumentField).settings;\n }\n\n return {x: 0, y: 0, required: false, disabled: false, result: '', value: ''};\n};\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 */\nexport const 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\nexport const savePDF = async (endpoint: VerdocsEndpoint, envelope: IEnvelope, documentId: string) => {\n const fileName = `${envelope.name} - ${envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, documentId);\n downloadBlob(data, fileName);\n};\n\n/**\n * Throttle a given function by a delay value. Useful for things like resizeObserver.\n */\nexport const throttle = (f, delay) => {\n let timer: any = 0;\n return function (...args) {\n clearTimeout(timer);\n timer = setTimeout(() => f.apply(this, args), delay);\n };\n};\n"],"version":3}
@@ -1,13 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-f78d163d.js';
2
2
  import './Types-ab9f6af8.js';
3
3
  import { V as VerdocsEndpoint } from './VerdocsEndpoint-28ba21cc.js';
4
- import { l as loadTemplate } from './Templates-41762101.js';
4
+ import { l as loadTemplate } from './Templates-ad0e1ebe.js';
5
5
  import { S as SDKError } from './errors-9b5498c8.js';
6
6
  import './Token-54690789.js';
7
7
  import './Templates-0638b1e4.js';
8
- import './templateStore-103a54ab.js';
8
+ import './templateStore-7b50460b.js';
9
9
  import './index-fd7b8a34.js';
10
- import './utils-36d44309.js';
10
+ import './Primitives-054bc6e5.js';
11
11
 
12
12
  const verdocsBuildCss = "verdocs-build{display:-ms-flexbox;display:flex;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}";
13
13
 
@@ -1,6 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-f78d163d.js';
2
- import { t as throttle } from './utils-36d44309.js';
2
+ import { t as throttle } from './utils-6e8bd73f.js';
3
3
  import './Token-54690789.js';
4
+ import './Files-70a192df.js';
4
5
 
5
6
  const verdocsDocumentPageCss = "verdocs-document-page{width:100%;position:relative}verdocs-document-page .verdocs-document-page-layer{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:0 0 10px 5px #0000000f;box-shadow:0 0 10px 5px #0000000f}verdocs-document-page .verdocs-document-page-layer.img{width:100%}";
6
7
 
@@ -1 +1 @@
1
- {"file":"verdocs-document-page.verdocs-loader.entry.js","mappings":"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","names":[],"sources":["./src/components/elements/verdocs-document-page/verdocs-document-page.scss?tag=verdocs-document-page","./src/components/elements/verdocs-document-page/verdocs-document-page.tsx","./src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","./src/components/controls/verdocs-loader/verdocs-loader.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {throttle} from '../../../utils/utils';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-document-page',\n styleUrl: 'verdocs-document-page.scss',\n shadow: false,\n})\nexport class VerdocsDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The URL of the image to render as the page background.\n */\n @Prop() pageImageUri: string = '';\n\n /**\n * The page number being rendered. Not used internally, but included in callbacks/events beacuse page numbers\n * are used everywhere in document handling. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-document-page-ker2fr1p9\">\n * <div id=\"verdocs-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n componentDidLoad(): void {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n container: this.container,\n containerId: this.containerId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale: this.renderedWidth / this.virtualWidth,\n yScale: this.renderedHeight / this.virtualHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : (\n <img\n class=\"verdocs-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageImageUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n }}\n />\n ),\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n"],"version":3}
1
+ {"file":"verdocs-document-page.verdocs-loader.entry.js","mappings":"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","names":[],"sources":["./src/components/elements/verdocs-document-page/verdocs-document-page.scss?tag=verdocs-document-page","./src/components/elements/verdocs-document-page/verdocs-document-page.tsx","./src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","./src/components/controls/verdocs-loader/verdocs-loader.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {throttle} from '../../../utils/utils';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-document-page',\n styleUrl: 'verdocs-document-page.scss',\n shadow: false,\n})\nexport class VerdocsDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The URL of the image to render as the page background.\n */\n @Prop() pageImageUri: string = '';\n\n /**\n * The page number being rendered. Not used internally, but included in callbacks/events beacuse page numbers\n * are used everywhere in document handling. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-document-page-ker2fr1p9\">\n * <div id=\"verdocs-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n componentDidLoad(): void {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n container: this.container,\n containerId: this.containerId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale: this.renderedWidth / this.virtualWidth,\n yScale: this.renderedHeight / this.virtualHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : (\n <img\n class=\"verdocs-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageImageUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n }}\n />\n ),\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n"],"version":3}
@@ -2,12 +2,13 @@ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement,
2
2
  import { c as createPopper } from './popper-f860750c.js';
3
3
  import './Types-ab9f6af8.js';
4
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint-28ba21cc.js';
5
- import { g as getEnvelopeById, s as state } from './Envelopes-83934981.js';
5
+ import { g as getEnvelopeById, s as state } from './Envelopes-c2545a20.js';
6
6
  import { S as SDKError } from './errors-9b5498c8.js';
7
- import { s as savePDF } from './utils-36d44309.js';
7
+ import { s as savePDF } from './utils-6e8bd73f.js';
8
8
  import './Token-54690789.js';
9
9
  import './index-fd7b8a34.js';
10
10
  import './Templates-0638b1e4.js';
11
+ import './Files-70a192df.js';
11
12
 
12
13
  const SortDown = `<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#50BE80"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M7 10l5 5 5-5H7z"/></svg>
13
14
  `;
@@ -1 +1 @@
1
- {"file":"verdocs-dropdown.verdocs-view.entry.js","mappings":"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","names":["EnvelopeStore"],"sources":["./src/components/controls/verdocs-dropdown/verdocs-dropdown.scss?tag=verdocs-dropdown","./src/components/controls/verdocs-dropdown/verdocs-dropdown.tsx","./src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","./src/components/embeds/verdocs-view/verdocs-view.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-dropdown {\n font-family: $primary-font;\n display: block;\n\n .arrow {\n width: 32px;\n height: 26px;\n background: #fff;\n cursor: pointer;\n border-radius: 4px;\n align-items: center;\n display: inline-flex;\n border: 1px solid $light-border-color;\n justify-content: center;\n }\n\n .arrow svg {\n fill: $primary-color;\n transition: 0.3s;\n }\n\n .items {\n width: 200px;\n display: none;\n z-index: 10000;\n border-radius: 5px;\n background: $medium-bg;\n border: 1px solid $item-border-color;\n }\n\n .items[data-show] {\n display: block;\n }\n\n .option {\n width: 100%;\n color: #fff;\n border: none;\n display: block;\n text-align: left;\n background: none;\n padding: 10px 20px;\n }\n\n .option:hover {\n cursor: pointer;\n background: $primary-color;\n }\n\n .option[disabled] {\n color: $light-disabled-color;\n }\n\n .option[disabled]:hover {\n color: $light-disabled-color;\n cursor: inherit;\n background: transparent;\n }\n\n &.open {\n .items {\n display: block;\n }\n\n .arrow {\n background: $secondary-color;\n border: 1px solid $border-color;\n }\n\n .arrow svg {\n transform: scaleY(-1);\n fill: #fff;\n }\n }\n}\n","import {Host} from '@stencil/core';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, Element, State, h, Event, EventEmitter} from '@stencil/core';\nimport SortDown from './down-arrow.svg';\n\nexport interface IMenuOption {\n label: string;\n id?: any;\n faIcon?: any;\n disabled?: boolean;\n}\n\n/**\n * Display a drop-down menu button. A menu of the specified options will be displayed when the button is pressed. The menu will be hidden\n * when the button is pressed again, or an option is selected.\n *\n * ```html\n * <verdocs-dropdown\n * options={[\n * {label: 'Option 1', disabled: true},\n * {label: 'Option 2', id: '2'}\n * ]}\n * label=\"OK\" onClick={() => (console.log('OK clicked'))}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-dropdown',\n styleUrl: 'verdocs-dropdown.scss',\n})\nexport class VerdocsDropdown {\n @Element()\n el: HTMLElement;\n\n private dropdownButton?: HTMLButtonElement;\n private dropdownMenu?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The menu options to display.\n */\n @Prop() options: IMenuOption[] = [];\n\n /**\n * Event fired when a menu option is clicked.\n * Web Component events need to be \"composed\" to cross the Shadow DOM and be received by parent frameworks.\n */\n @Event({composed: true}) optionSelected: EventEmitter<IMenuOption>;\n\n @State() open: boolean;\n\n // We need to do this to reliably disconnect the click-away listener\n clickListenerSymbol = new AbortController();\n componentDidLoad() {\n this.popper = createPopper(this.dropdownButton, this.dropdownMenu, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [0, 6]}}]});\n\n window.addEventListener('click', this.clickListener.bind(this), {signal: this.clickListenerSymbol.signal});\n }\n\n disconnectedCallback() {\n this.clickListenerSymbol.abort();\n }\n\n clickListener(e: any) {\n const outside = !(e.target == this.el || this.el.contains(e.target));\n if (outside) {\n this.hide();\n }\n }\n\n handleSelectOption(e: any, option: IMenuOption) {\n e.stopPropagation();\n // this.isOpen = false;\n this.optionSelected.emit(option);\n this.hide();\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n // this.isOpen = true;\n this.dropdownMenu.setAttribute('data-show', '');\n this.dropdownMenu.removeAttribute('aria-hidden');\n\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }))\n .catch(() => {});\n\n this.popper?.update().catch(() => {});\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown(e: any) {\n e.stopPropagation();\n\n if (this.open) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.open = false;\n this.dropdownMenu.removeAttribute('data-show');\n this.dropdownMenu.setAttribute('aria-hidden', 'true');\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }))\n .catch(() => {});\n }\n\n render() {\n return (\n <Host class={{open: !!this.open}}>\n <button\n class=\"arrow\"\n innerHTML={SortDown}\n aria-label=\"Open Menu\"\n onClick={e => this.toggleDropdown(e)}\n onBlur={e => this.handleHideDropdown(e)}\n ref={el => (this.dropdownButton = el as HTMLButtonElement)}\n />\n\n <div class=\"items\" aria-hidden={!this.open} ref={el => (this.dropdownMenu = el as HTMLDivElement)}>\n {this.options?.map(option => (\n <button onClick={e => this.handleSelectOption(e, option)} class=\"option\" disabled={option.disabled}>\n {option.label}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view {\n display: flex;\n overflow: hidden;\n position: relative;\n min-height: 600px;\n flex-direction: column;\n box-sizing: border-box;\n font-family: $verdocs-primary-font;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n\n .header {\n flex: 0;\n display: flex;\n z-index: 1000;\n align-items: center;\n transition: all 0.25s;\n justify-content: center;\n background-color: $medium-bg;\n box-shadow: 0 4px 4px 0 rgb(0 0 0 / 24%), 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .toolbar {\n width: 100%;\n margin: 0 auto;\n padding: 0 14px;\n position: relative;\n }\n\n .tools {\n width: 100%;\n color: #fff;\n height: 56px;\n display: flex;\n font-size: 12px;\n align-items: center;\n flex-direction: row;\n background-color: $medium-bg;\n\n .logo {\n width: 77.5px;\n margin: -6px 0 0 5px;\n }\n\n .title {\n padding-left: 16px;\n font-size: 18px;\n font-weight: 500;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n\n .document {\n flex: 1;\n height: 100%;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n justify-content: center;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, Fragment} from '@stencil/core';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\nimport {savePDF} from '../../../utils/utils';\n\nconst PrintIcon = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z\"></path></svg>`;\n\nconst DownloadIcon = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z\"></path></svg>`;\n\n/**\n * Render the documents attached to an envelope in read-only (view) mode. All documents are displayed in order.\n */\n@Component({\n tag: 'verdocs-view',\n styleUrl: 'verdocs-view.scss',\n shadow: false,\n})\nexport class VerdocsView {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.envelopeId) {\n console.error(`[VIEW] Missing required envelopeId`);\n return;\n }\n\n try {\n await getEnvelopeById(this.endpoint, this.envelopeId);\n } catch (e) {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n console.log('[SIGN] Page rendered', pageInfo);\n }\n\n render() {\n console.log('[VIEW] Rendering', EnvelopeStore.error, EnvelopeStore.loading, EnvelopeStore.envelope);\n if (EnvelopeStore.loading || !EnvelopeStore.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (EnvelopeStore.error) {\n return (\n <Host>\n <div>{EnvelopeStore.error}</div>\n </Host>\n );\n }\n\n return (\n <Host>\n <div class=\"header\">\n <div class=\"inner\">\n <div class=\"toolbar\">\n <div class=\"tools\">\n <Fragment>\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{EnvelopeStore.envelope.name}</div>\n <div style={{flex: '1'}} />\n <div innerHTML={PrintIcon} style={{width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer'}} onClick={() => window.print()} />\n <div\n innerHTML={DownloadIcon}\n style={{width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer', marginLeft: '16px', maginRight: '30px'}}\n onClick={() => savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => {})}\n />\n </Fragment>\n </div>\n </div>\n </div>\n </div>\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 </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"verdocs-dropdown.verdocs-view.entry.js","mappings":"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","names":["EnvelopeStore"],"sources":["./src/components/controls/verdocs-dropdown/verdocs-dropdown.scss?tag=verdocs-dropdown","./src/components/controls/verdocs-dropdown/verdocs-dropdown.tsx","./src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","./src/components/embeds/verdocs-view/verdocs-view.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-dropdown {\n font-family: $primary-font;\n display: block;\n\n .arrow {\n width: 32px;\n height: 26px;\n background: #fff;\n cursor: pointer;\n border-radius: 4px;\n align-items: center;\n display: inline-flex;\n border: 1px solid $light-border-color;\n justify-content: center;\n }\n\n .arrow svg {\n fill: $primary-color;\n transition: 0.3s;\n }\n\n .items {\n width: 200px;\n display: none;\n z-index: 10000;\n border-radius: 5px;\n background: $medium-bg;\n border: 1px solid $item-border-color;\n }\n\n .items[data-show] {\n display: block;\n }\n\n .option {\n width: 100%;\n color: #fff;\n border: none;\n display: block;\n text-align: left;\n background: none;\n padding: 10px 20px;\n }\n\n .option:hover {\n cursor: pointer;\n background: $primary-color;\n }\n\n .option[disabled] {\n color: $light-disabled-color;\n }\n\n .option[disabled]:hover {\n color: $light-disabled-color;\n cursor: inherit;\n background: transparent;\n }\n\n &.open {\n .items {\n display: block;\n }\n\n .arrow {\n background: $secondary-color;\n border: 1px solid $border-color;\n }\n\n .arrow svg {\n transform: scaleY(-1);\n fill: #fff;\n }\n }\n}\n","import {Host} from '@stencil/core';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, Element, State, h, Event, EventEmitter} from '@stencil/core';\nimport SortDown from './down-arrow.svg';\n\nexport interface IMenuOption {\n label: string;\n id?: any;\n faIcon?: any;\n disabled?: boolean;\n}\n\n/**\n * Display a drop-down menu button. A menu of the specified options will be displayed when the button is pressed. The menu will be hidden\n * when the button is pressed again, or an option is selected.\n *\n * ```html\n * <verdocs-dropdown\n * options={[\n * {label: 'Option 1', disabled: true},\n * {label: 'Option 2', id: '2'}\n * ]}\n * label=\"OK\" onClick={() => (console.log('OK clicked'))}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-dropdown',\n styleUrl: 'verdocs-dropdown.scss',\n})\nexport class VerdocsDropdown {\n @Element()\n el: HTMLElement;\n\n private dropdownButton?: HTMLButtonElement;\n private dropdownMenu?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The menu options to display.\n */\n @Prop() options: IMenuOption[] = [];\n\n /**\n * Event fired when a menu option is clicked.\n * Web Component events need to be \"composed\" to cross the Shadow DOM and be received by parent frameworks.\n */\n @Event({composed: true}) optionSelected: EventEmitter<IMenuOption>;\n\n @State() open: boolean;\n\n // We need to do this to reliably disconnect the click-away listener\n clickListenerSymbol = new AbortController();\n componentDidLoad() {\n this.popper = createPopper(this.dropdownButton, this.dropdownMenu, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [0, 6]}}]});\n\n window.addEventListener('click', this.clickListener.bind(this), {signal: this.clickListenerSymbol.signal});\n }\n\n disconnectedCallback() {\n this.clickListenerSymbol.abort();\n }\n\n clickListener(e: any) {\n const outside = !(e.target == this.el || this.el.contains(e.target));\n if (outside) {\n this.hide();\n }\n }\n\n handleSelectOption(e: any, option: IMenuOption) {\n e.stopPropagation();\n // this.isOpen = false;\n this.optionSelected.emit(option);\n this.hide();\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n // this.isOpen = true;\n this.dropdownMenu.setAttribute('data-show', '');\n this.dropdownMenu.removeAttribute('aria-hidden');\n\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }))\n .catch(() => {});\n\n this.popper?.update().catch(() => {});\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown(e: any) {\n e.stopPropagation();\n\n if (this.open) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.open = false;\n this.dropdownMenu.removeAttribute('data-show');\n this.dropdownMenu.setAttribute('aria-hidden', 'true');\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }))\n .catch(() => {});\n }\n\n render() {\n return (\n <Host class={{open: !!this.open}}>\n <button\n class=\"arrow\"\n innerHTML={SortDown}\n aria-label=\"Open Menu\"\n onClick={e => this.toggleDropdown(e)}\n onBlur={e => this.handleHideDropdown(e)}\n ref={el => (this.dropdownButton = el as HTMLButtonElement)}\n />\n\n <div class=\"items\" aria-hidden={!this.open} ref={el => (this.dropdownMenu = el as HTMLDivElement)}>\n {this.options?.map(option => (\n <button onClick={e => this.handleSelectOption(e, option)} class=\"option\" disabled={option.disabled}>\n {option.label}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view {\n display: flex;\n overflow: hidden;\n position: relative;\n min-height: 600px;\n flex-direction: column;\n box-sizing: border-box;\n font-family: $verdocs-primary-font;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n\n .header {\n flex: 0;\n display: flex;\n z-index: 1000;\n align-items: center;\n transition: all 0.25s;\n justify-content: center;\n background-color: $medium-bg;\n box-shadow: 0 4px 4px 0 rgb(0 0 0 / 24%), 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .toolbar {\n width: 100%;\n margin: 0 auto;\n padding: 0 14px;\n position: relative;\n }\n\n .tools {\n width: 100%;\n color: #fff;\n height: 56px;\n display: flex;\n font-size: 12px;\n align-items: center;\n flex-direction: row;\n background-color: $medium-bg;\n\n .logo {\n width: 77.5px;\n margin: -6px 0 0 5px;\n }\n\n .title {\n padding-left: 16px;\n font-size: 18px;\n font-weight: 500;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n\n .document {\n flex: 1;\n height: 100%;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n justify-content: center;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, Fragment} from '@stencil/core';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\nimport {savePDF} from '../../../utils/utils';\n\nconst PrintIcon = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z\"></path></svg>`;\n\nconst DownloadIcon = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z\"></path></svg>`;\n\n/**\n * Render the documents attached to an envelope in read-only (view) mode. All documents are displayed in order.\n */\n@Component({\n tag: 'verdocs-view',\n styleUrl: 'verdocs-view.scss',\n shadow: false,\n})\nexport class VerdocsView {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.envelopeId) {\n console.error(`[VIEW] Missing required envelopeId`);\n return;\n }\n\n try {\n await getEnvelopeById(this.endpoint, this.envelopeId);\n } catch (e) {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n console.log('[SIGN] Page rendered', pageInfo);\n }\n\n render() {\n console.log('[VIEW] Rendering', EnvelopeStore.error, EnvelopeStore.loading, EnvelopeStore.envelope);\n if (EnvelopeStore.loading || !EnvelopeStore.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (EnvelopeStore.error) {\n return (\n <Host>\n <div>{EnvelopeStore.error}</div>\n </Host>\n );\n }\n\n return (\n <Host>\n <div class=\"header\">\n <div class=\"inner\">\n <div class=\"toolbar\">\n <div class=\"tools\">\n <Fragment>\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{EnvelopeStore.envelope.name}</div>\n <div style={{flex: '1'}} />\n <div innerHTML={PrintIcon} style={{width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer'}} onClick={() => window.print()} />\n <div\n innerHTML={DownloadIcon}\n style={{width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer', marginLeft: '16px', maginRight: '30px'}}\n onClick={() => savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => {})}\n />\n </Fragment>\n </div>\n </div>\n </div>\n </div>\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 </Host>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,8 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-f78d163d.js';
2
2
  import { g as getRGBA } from './Colors-1b298092.js';
3
- import { g as getFieldSettings } from './utils-36d44309.js';
3
+ import { g as getFieldSettings } from './utils-6e8bd73f.js';
4
4
  import './Token-54690789.js';
5
+ import './Files-70a192df.js';
5
6
 
6
7
  const verdocsFieldCheckboxCss = "@charset \"UTF-8\";verdocs-field-checkbox{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;font-size:14px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-checkbox.disabled{opacity:0.5}verdocs-field-checkbox label>input[type=checkbox]{display:none}verdocs-field-checkbox label>input[type=checkbox]+*::before{content:\"\";position:absolute;display:block;top:1px;left:1px;width:10px;height:10px;border-radius:2px;border:1px solid rgba(0, 0, 0, 0.7)}verdocs-field-checkbox label>input[type=checkbox]:checked+*{color:#55bc81}verdocs-field-checkbox label>input[type=checkbox]:checked+*::before{content:\"✓\";color:white;text-align:center;background:#55bc81;border-color:#55bc81}verdocs-field-checkbox.required label>input[type=checkbox]+*::before{border:1px solid #cc0000}verdocs-field-checkbox.hide{display:none}verdocs-field-checkbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}";
7
8