@verdocs/web-sdk 1.9.9 → 1.9.10

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 (523) hide show
  1. package/dist/cjs/Templates-399073ea.js +31 -0
  2. package/dist/cjs/Templates-399073ea.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/verdocs-auth.cjs.entry.js +3 -3
  5. package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
  6. package/dist/cjs/verdocs-build.cjs.entry.js +28 -2
  7. package/dist/cjs/verdocs-build.cjs.entry.js.map +1 -1
  8. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +1 -20
  9. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js.map +1 -1
  10. package/dist/cjs/verdocs-button.cjs.entry.js +1 -7
  11. package/dist/cjs/verdocs-button.cjs.entry.js.map +1 -1
  12. package/dist/cjs/verdocs-checkbox.cjs.entry.js +1 -6
  13. package/dist/cjs/verdocs-checkbox.cjs.entry.js.map +1 -1
  14. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +3 -3
  15. package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
  16. package/dist/cjs/verdocs-dropdown_3.cjs.entry.js +5 -10
  17. package/dist/cjs/verdocs-dropdown_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +2 -7
  19. package/dist/cjs/verdocs-field-attachment.cjs.entry.js.map +1 -1
  20. package/dist/cjs/verdocs-field-date.cjs.entry.js +1 -14
  21. package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
  22. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +8 -10
  23. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +1 -1
  25. package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
  26. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
  28. package/dist/cjs/verdocs-help-icon_2.cjs.entry.js +4 -7
  29. package/dist/cjs/verdocs-help-icon_2.cjs.entry.js.map +1 -1
  30. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +3 -6
  31. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js.map +1 -1
  32. package/dist/cjs/verdocs-kba-dialog.cjs.entry.js +4 -7
  33. package/dist/cjs/verdocs-kba-dialog.cjs.entry.js.map +1 -1
  34. package/dist/cjs/verdocs-loader_4.cjs.entry.js +0 -24
  35. package/dist/cjs/verdocs-loader_4.cjs.entry.js.map +1 -1
  36. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +10 -8
  37. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js.map +1 -1
  38. package/dist/cjs/verdocs-preview.cjs.entry.js +1 -1
  39. package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -6
  40. package/dist/cjs/verdocs-radio-button.cjs.entry.js.map +1 -1
  41. package/dist/cjs/verdocs-send.cjs.entry.js +2 -2
  42. package/dist/cjs/verdocs-send.cjs.entry.js.map +1 -1
  43. package/dist/cjs/verdocs-sign.cjs.entry.js +2 -2
  44. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  45. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +23 -43
  46. package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
  47. package/dist/cjs/verdocs-toggle.cjs.entry.js +0 -22
  48. package/dist/cjs/verdocs-toggle.cjs.entry.js.map +1 -1
  49. package/dist/cjs/verdocs-upload-dialog.cjs.entry.js +9 -22
  50. package/dist/cjs/verdocs-upload-dialog.cjs.entry.js.map +1 -1
  51. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  52. package/dist/collection/components/controls/verdocs-button/verdocs-button.js +7 -26
  53. package/dist/collection/components/controls/verdocs-button/verdocs-button.js.map +1 -1
  54. package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js +8 -9
  55. package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js.map +1 -1
  56. package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +9 -1
  57. package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js.map +1 -1
  58. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +15 -25
  59. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js.map +1 -1
  60. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.stories.js +7 -2
  61. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.stories.js.map +1 -1
  62. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +14 -22
  63. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js.map +1 -1
  64. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.js +17 -26
  65. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.js.map +1 -1
  66. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js +7 -2
  67. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js.map +1 -1
  68. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js +1 -34
  69. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js.map +1 -1
  70. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js +4 -6
  71. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js.map +1 -1
  72. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +0 -13
  73. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js.map +1 -1
  74. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js +3 -5
  75. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js.map +1 -1
  76. package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js +0 -26
  77. package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js.map +1 -1
  78. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +5 -23
  79. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js.map +1 -1
  80. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +4 -25
  81. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js.map +1 -1
  82. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.stories.js +8 -7
  83. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.stories.js.map +1 -1
  84. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js +6 -27
  85. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js.map +1 -1
  86. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.stories.js +10 -9
  87. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.stories.js.map +1 -1
  88. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +30 -32
  89. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js.map +1 -1
  90. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.stories.js +9 -8
  91. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.stories.js.map +1 -1
  92. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +7 -25
  93. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js.map +1 -1
  94. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.stories.js +8 -7
  95. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.stories.js.map +1 -1
  96. package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.css +2 -1
  97. package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.js +7 -28
  98. package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.js.map +1 -1
  99. package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.stories.js +35 -7
  100. package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.stories.js.map +1 -1
  101. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +15 -40
  102. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js.map +1 -1
  103. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js +4 -4
  104. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
  105. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.js +3 -9
  106. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.js.map +1 -1
  107. package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js +2 -20
  108. package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
  109. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js +2 -24
  110. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +1 -1
  111. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +1 -70
  112. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
  113. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +1 -1
  114. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  115. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +1 -1
  116. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  117. package/dist/collection/components/elements/verdocs-template-create/verdocs-template-create.js +18 -19
  118. package/dist/collection/components/elements/verdocs-template-create/verdocs-template-create.js.map +1 -1
  119. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +11 -6
  120. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  121. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.stories.js +4 -4
  122. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.stories.js.map +1 -1
  123. package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js +4 -25
  124. package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js.map +1 -1
  125. package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.stories.js +3 -3
  126. package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.stories.js.map +1 -1
  127. package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.js +7 -23
  128. package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.js.map +1 -1
  129. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +3 -3
  130. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
  131. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +26 -4
  132. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js.map +1 -1
  133. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +2 -2
  134. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  135. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +2 -2
  136. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  137. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +0 -24
  138. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
  139. package/dist/collection/utils/Templates.js +0 -15
  140. package/dist/collection/utils/Templates.js.map +1 -1
  141. package/dist/components/Templates.js +0 -15
  142. package/dist/components/Templates.js.map +1 -1
  143. package/dist/components/verdocs-auth.js +3 -3
  144. package/dist/components/verdocs-auth.js.map +1 -1
  145. package/dist/components/verdocs-build.js +25 -2
  146. package/dist/components/verdocs-build.js.map +1 -1
  147. package/dist/components/verdocs-button-panel2.js.map +1 -1
  148. package/dist/components/verdocs-button2.js +2 -8
  149. package/dist/components/verdocs-button2.js.map +1 -1
  150. package/dist/components/verdocs-checkbox2.js +2 -7
  151. package/dist/components/verdocs-checkbox2.js.map +1 -1
  152. package/dist/components/verdocs-contact-picker2.js +3 -3
  153. package/dist/components/verdocs-contact-picker2.js.map +1 -1
  154. package/dist/components/verdocs-dropdown2.js +4 -6
  155. package/dist/components/verdocs-dropdown2.js.map +1 -1
  156. package/dist/components/verdocs-field-attachment.js +3 -8
  157. package/dist/components/verdocs-field-attachment.js.map +1 -1
  158. package/dist/components/verdocs-field-checkbox2.js +2 -6
  159. package/dist/components/verdocs-field-checkbox2.js.map +1 -1
  160. package/dist/components/verdocs-field-date.js +1 -14
  161. package/dist/components/verdocs-field-date.js.map +1 -1
  162. package/dist/components/verdocs-field-textarea.js +1 -1
  163. package/dist/components/verdocs-field-textarea.js.map +1 -1
  164. package/dist/components/verdocs-field-textbox.js +1 -1
  165. package/dist/components/verdocs-field-textbox.js.map +1 -1
  166. package/dist/components/verdocs-initial-dialog2.js +3 -7
  167. package/dist/components/verdocs-initial-dialog2.js.map +1 -1
  168. package/dist/components/verdocs-kba-dialog.js +4 -8
  169. package/dist/components/verdocs-kba-dialog.js.map +1 -1
  170. package/dist/components/verdocs-ok-dialog2.js +11 -10
  171. package/dist/components/verdocs-ok-dialog2.js.map +1 -1
  172. package/dist/components/verdocs-radio-button2.js +2 -7
  173. package/dist/components/verdocs-radio-button2.js.map +1 -1
  174. package/dist/components/verdocs-select-input2.js +3 -15
  175. package/dist/components/verdocs-select-input2.js.map +1 -1
  176. package/dist/components/verdocs-send.js +2 -2
  177. package/dist/components/verdocs-send.js.map +1 -1
  178. package/dist/components/verdocs-sign.js +2 -2
  179. package/dist/components/verdocs-sign.js.map +1 -1
  180. package/dist/components/verdocs-signature-dialog2.js +4 -5
  181. package/dist/components/verdocs-signature-dialog2.js.map +1 -1
  182. package/dist/components/verdocs-template-create2.js +13 -11
  183. package/dist/components/verdocs-template-create2.js.map +1 -1
  184. package/dist/components/verdocs-template-fields2.js +2 -2
  185. package/dist/components/verdocs-template-fields2.js.map +1 -1
  186. package/dist/components/verdocs-template-properties2.js +3 -24
  187. package/dist/components/verdocs-template-properties2.js.map +1 -1
  188. package/dist/components/verdocs-template-recipients2.js +5 -7
  189. package/dist/components/verdocs-template-recipients2.js.map +1 -1
  190. package/dist/components/verdocs-template-sender-dialog2.js +4 -8
  191. package/dist/components/verdocs-template-sender-dialog2.js.map +1 -1
  192. package/dist/components/verdocs-text-input2.js +1 -10
  193. package/dist/components/verdocs-text-input2.js.map +1 -1
  194. package/dist/components/verdocs-toggle.js +0 -22
  195. package/dist/components/verdocs-toggle.js.map +1 -1
  196. package/dist/components/verdocs-toolbar-icon2.js +5 -7
  197. package/dist/components/verdocs-toolbar-icon2.js.map +1 -1
  198. package/dist/components/verdocs-upload-dialog2.js +9 -23
  199. package/dist/components/verdocs-upload-dialog2.js.map +1 -1
  200. package/dist/components/verdocs-view2.js +0 -24
  201. package/dist/components/verdocs-view2.js.map +1 -1
  202. package/dist/docs.json +76 -301
  203. package/dist/esm/Templates-91922342.js +29 -0
  204. package/dist/esm/Templates-91922342.js.map +1 -0
  205. package/dist/esm/loader.js +1 -1
  206. package/dist/esm/verdocs-auth.entry.js +3 -3
  207. package/dist/esm/verdocs-auth.entry.js.map +1 -1
  208. package/dist/esm/verdocs-build.entry.js +28 -2
  209. package/dist/esm/verdocs-build.entry.js.map +1 -1
  210. package/dist/esm/verdocs-button-panel_3.entry.js +2 -21
  211. package/dist/esm/verdocs-button-panel_3.entry.js.map +1 -1
  212. package/dist/esm/verdocs-button.entry.js +2 -8
  213. package/dist/esm/verdocs-button.entry.js.map +1 -1
  214. package/dist/esm/verdocs-checkbox.entry.js +2 -7
  215. package/dist/esm/verdocs-checkbox.entry.js.map +1 -1
  216. package/dist/esm/verdocs-contact-picker.entry.js +3 -3
  217. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
  218. package/dist/esm/verdocs-dropdown_3.entry.js +5 -10
  219. package/dist/esm/verdocs-dropdown_3.entry.js.map +1 -1
  220. package/dist/esm/verdocs-field-attachment.entry.js +3 -8
  221. package/dist/esm/verdocs-field-attachment.entry.js.map +1 -1
  222. package/dist/esm/verdocs-field-date.entry.js +1 -14
  223. package/dist/esm/verdocs-field-date.entry.js.map +1 -1
  224. package/dist/esm/verdocs-field-signature_3.entry.js +8 -10
  225. package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
  226. package/dist/esm/verdocs-field-textarea.entry.js +1 -1
  227. package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
  228. package/dist/esm/verdocs-field-textbox.entry.js +1 -1
  229. package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
  230. package/dist/esm/verdocs-help-icon_2.entry.js +4 -7
  231. package/dist/esm/verdocs-help-icon_2.entry.js.map +1 -1
  232. package/dist/esm/verdocs-initial-dialog.entry.js +3 -6
  233. package/dist/esm/verdocs-initial-dialog.entry.js.map +1 -1
  234. package/dist/esm/verdocs-kba-dialog.entry.js +4 -7
  235. package/dist/esm/verdocs-kba-dialog.entry.js.map +1 -1
  236. package/dist/esm/verdocs-loader_4.entry.js +0 -24
  237. package/dist/esm/verdocs-loader_4.entry.js.map +1 -1
  238. package/dist/esm/verdocs-ok-dialog.entry.js +10 -8
  239. package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
  240. package/dist/esm/verdocs-preview.entry.js +1 -1
  241. package/dist/esm/verdocs-radio-button.entry.js +2 -7
  242. package/dist/esm/verdocs-radio-button.entry.js.map +1 -1
  243. package/dist/esm/verdocs-send.entry.js +2 -2
  244. package/dist/esm/verdocs-send.entry.js.map +1 -1
  245. package/dist/esm/verdocs-sign.entry.js +2 -2
  246. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  247. package/dist/esm/verdocs-template-create_4.entry.js +23 -43
  248. package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
  249. package/dist/esm/verdocs-toggle.entry.js +0 -22
  250. package/dist/esm/verdocs-toggle.entry.js.map +1 -1
  251. package/dist/esm/verdocs-upload-dialog.entry.js +9 -22
  252. package/dist/esm/verdocs-upload-dialog.entry.js.map +1 -1
  253. package/dist/esm/verdocs-web-sdk.js +1 -1
  254. package/dist/esm-es5/Templates-91922342.js +2 -0
  255. package/dist/esm-es5/Templates-91922342.js.map +1 -0
  256. package/dist/esm-es5/loader.js +1 -1
  257. package/dist/esm-es5/loader.js.map +1 -1
  258. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  259. package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
  260. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  261. package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
  262. package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
  263. package/dist/esm-es5/verdocs-button-panel_3.entry.js.map +1 -1
  264. package/dist/esm-es5/verdocs-button.entry.js +1 -1
  265. package/dist/esm-es5/verdocs-button.entry.js.map +1 -1
  266. package/dist/esm-es5/verdocs-checkbox.entry.js +1 -1
  267. package/dist/esm-es5/verdocs-checkbox.entry.js.map +1 -1
  268. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  269. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
  270. package/dist/esm-es5/verdocs-dropdown_3.entry.js +1 -1
  271. package/dist/esm-es5/verdocs-dropdown_3.entry.js.map +1 -1
  272. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  273. package/dist/esm-es5/verdocs-field-attachment.entry.js.map +1 -1
  274. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  275. package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
  276. package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
  277. package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
  278. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  279. package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
  280. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  281. package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
  282. package/dist/esm-es5/verdocs-help-icon_2.entry.js +1 -1
  283. package/dist/esm-es5/verdocs-help-icon_2.entry.js.map +1 -1
  284. package/dist/esm-es5/verdocs-initial-dialog.entry.js +1 -1
  285. package/dist/esm-es5/verdocs-initial-dialog.entry.js.map +1 -1
  286. package/dist/esm-es5/verdocs-kba-dialog.entry.js +1 -1
  287. package/dist/esm-es5/verdocs-kba-dialog.entry.js.map +1 -1
  288. package/dist/esm-es5/verdocs-loader_4.entry.js.map +1 -1
  289. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  290. package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
  291. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  292. package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
  293. package/dist/esm-es5/verdocs-radio-button.entry.js.map +1 -1
  294. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  295. package/dist/esm-es5/verdocs-send.entry.js.map +1 -1
  296. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  297. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  298. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  299. package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
  300. package/dist/esm-es5/verdocs-toggle.entry.js.map +1 -1
  301. package/dist/esm-es5/verdocs-upload-dialog.entry.js +1 -1
  302. package/dist/esm-es5/verdocs-upload-dialog.entry.js.map +1 -1
  303. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  304. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  305. package/dist/types/components/controls/verdocs-button/verdocs-button.d.ts +6 -8
  306. package/dist/types/components/controls/verdocs-button/verdocs-button.stories.d.ts +2 -2
  307. package/dist/types/components/controls/verdocs-button-panel/verdocs-button-panel.d.ts +9 -1
  308. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +14 -12
  309. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.stories.d.ts +2 -1
  310. package/dist/types/components/controls/verdocs-dropdown/verdocs-dropdown.d.ts +10 -1
  311. package/dist/types/components/controls/verdocs-radio-button/verdocs-radio-button.d.ts +16 -13
  312. package/dist/types/components/controls/verdocs-radio-button/verdocs-radio-button.stories.d.ts +2 -1
  313. package/dist/types/components/controls/verdocs-select-input/verdocs-select-input.d.ts +0 -9
  314. package/dist/types/components/controls/verdocs-select-input/verdocs-select-input.stories.d.ts +2 -2
  315. package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.d.ts +0 -3
  316. package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.stories.d.ts +2 -2
  317. package/dist/types/components/controls/verdocs-toggle/verdocs-toggle.d.ts +0 -4
  318. package/dist/types/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.d.ts +0 -3
  319. package/dist/types/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.d.ts +1 -5
  320. package/dist/types/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.stories.d.ts +3 -3
  321. package/dist/types/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.d.ts +2 -6
  322. package/dist/types/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.stories.d.ts +3 -3
  323. package/dist/types/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.d.ts +9 -8
  324. package/dist/types/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.stories.d.ts +4 -4
  325. package/dist/types/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.d.ts +4 -7
  326. package/dist/types/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.stories.d.ts +3 -3
  327. package/dist/types/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.d.ts +2 -8
  328. package/dist/types/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.stories.d.ts +4 -4
  329. package/dist/types/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.d.ts +7 -9
  330. package/dist/types/components/elements/verdocs-contact-picker/verdocs-contact-picker.d.ts +1 -1
  331. package/dist/types/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.d.ts +3 -3
  332. package/dist/types/components/elements/verdocs-field-attachment/verdocs-field-attachment.d.ts +0 -7
  333. package/dist/types/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.d.ts +1 -13
  334. package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +0 -20
  335. package/dist/types/components/elements/verdocs-template-create/verdocs-template-create.d.ts +3 -5
  336. package/dist/types/components/elements/verdocs-template-fields/verdocs-template-fields.d.ts +2 -2
  337. package/dist/types/components/elements/verdocs-template-fields/verdocs-template-fields.stories.d.ts +3 -3
  338. package/dist/types/components/elements/verdocs-template-properties/verdocs-template-properties.d.ts +1 -2
  339. package/dist/types/components/elements/verdocs-template-properties/verdocs-template-properties.stories.d.ts +3 -3
  340. package/dist/types/components/elements/verdocs-template-recipients/verdocs-template-recipients.d.ts +2 -6
  341. package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +2 -2
  342. package/dist/types/components.d.ts +42 -170
  343. package/dist/verdocs-web-sdk/{p-f5a5e049.system.entry.js → p-0b2290c6.system.entry.js} +2 -2
  344. package/dist/verdocs-web-sdk/p-0b2290c6.system.entry.js.map +1 -0
  345. package/dist/verdocs-web-sdk/{p-a8699c5d.system.entry.js → p-142295dd.system.entry.js} +2 -2
  346. package/dist/verdocs-web-sdk/{p-a8699c5d.system.entry.js.map → p-142295dd.system.entry.js.map} +0 -0
  347. package/dist/verdocs-web-sdk/p-15584ecb.entry.js +2 -0
  348. package/dist/verdocs-web-sdk/p-15584ecb.entry.js.map +1 -0
  349. package/dist/verdocs-web-sdk/p-202a569e.entry.js +2 -0
  350. package/dist/verdocs-web-sdk/p-202a569e.entry.js.map +1 -0
  351. package/dist/verdocs-web-sdk/p-259fd8de.entry.js +2 -0
  352. package/dist/verdocs-web-sdk/p-259fd8de.entry.js.map +1 -0
  353. package/dist/verdocs-web-sdk/p-2b822750.system.entry.js +2 -0
  354. package/dist/verdocs-web-sdk/p-2b822750.system.entry.js.map +1 -0
  355. package/dist/verdocs-web-sdk/p-2bb98709.system.entry.js +2 -0
  356. package/dist/verdocs-web-sdk/p-2bb98709.system.entry.js.map +1 -0
  357. package/dist/verdocs-web-sdk/{p-7a476918.entry.js → p-2fbd4e25.entry.js} +2 -2
  358. package/dist/verdocs-web-sdk/p-2fbd4e25.entry.js.map +1 -0
  359. package/dist/verdocs-web-sdk/p-36700fe4.js +2 -0
  360. package/dist/verdocs-web-sdk/p-36700fe4.js.map +1 -0
  361. package/dist/verdocs-web-sdk/p-37a75b0e.system.entry.js.map +1 -1
  362. package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js.map +1 -1
  363. package/dist/verdocs-web-sdk/{p-4425de92.system.entry.js → p-473165ae.system.entry.js} +2 -2
  364. package/dist/verdocs-web-sdk/p-473165ae.system.entry.js.map +1 -0
  365. package/dist/verdocs-web-sdk/{p-82df4878.entry.js → p-48d9e0d6.entry.js} +2 -2
  366. package/dist/verdocs-web-sdk/{p-82df4878.entry.js.map → p-48d9e0d6.entry.js.map} +0 -0
  367. package/dist/verdocs-web-sdk/p-508192bb.system.entry.js +2 -0
  368. package/dist/verdocs-web-sdk/p-508192bb.system.entry.js.map +1 -0
  369. package/dist/verdocs-web-sdk/p-5bfc608d.entry.js.map +1 -1
  370. package/dist/verdocs-web-sdk/p-5e6134d8.entry.js +2 -0
  371. package/dist/verdocs-web-sdk/p-5e6134d8.entry.js.map +1 -0
  372. package/dist/verdocs-web-sdk/p-6121f103.system.entry.js +2 -0
  373. package/dist/verdocs-web-sdk/p-6121f103.system.entry.js.map +1 -0
  374. package/dist/verdocs-web-sdk/p-63d01d16.system.js +2 -0
  375. package/dist/verdocs-web-sdk/p-63d01d16.system.js.map +1 -0
  376. package/dist/verdocs-web-sdk/p-650e0b71.entry.js +2 -0
  377. package/dist/verdocs-web-sdk/p-650e0b71.entry.js.map +1 -0
  378. package/dist/verdocs-web-sdk/p-71f1e3c9.system.entry.js +2 -0
  379. package/dist/verdocs-web-sdk/p-71f1e3c9.system.entry.js.map +1 -0
  380. package/dist/verdocs-web-sdk/{p-7e7b1a27.system.entry.js → p-78468adf.system.entry.js} +2 -2
  381. package/dist/verdocs-web-sdk/p-78468adf.system.entry.js.map +1 -0
  382. package/dist/verdocs-web-sdk/{p-60f92123.system.entry.js → p-7a5c37cd.system.entry.js} +2 -2
  383. package/dist/verdocs-web-sdk/p-7a5c37cd.system.entry.js.map +1 -0
  384. package/dist/verdocs-web-sdk/{p-1935d358.system.entry.js → p-8574c48b.system.entry.js} +2 -2
  385. package/dist/verdocs-web-sdk/p-8574c48b.system.entry.js.map +1 -0
  386. package/dist/verdocs-web-sdk/{p-f5482845.entry.js → p-8ef53023.entry.js} +2 -2
  387. package/dist/verdocs-web-sdk/p-8ef53023.entry.js.map +1 -0
  388. package/dist/verdocs-web-sdk/{p-4226119d.entry.js → p-932571a1.entry.js} +2 -2
  389. package/dist/verdocs-web-sdk/p-932571a1.entry.js.map +1 -0
  390. package/dist/verdocs-web-sdk/p-aa3a42a4.system.entry.js +2 -0
  391. package/dist/verdocs-web-sdk/p-aa3a42a4.system.entry.js.map +1 -0
  392. package/dist/verdocs-web-sdk/{p-bdc40f6e.entry.js → p-ab23a9d1.entry.js} +2 -2
  393. package/dist/verdocs-web-sdk/p-ab23a9d1.entry.js.map +1 -0
  394. package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js +2 -0
  395. package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js.map +1 -0
  396. package/dist/verdocs-web-sdk/{p-b77e5b39.entry.js → p-b2dea632.entry.js} +2 -2
  397. package/dist/verdocs-web-sdk/p-b2dea632.entry.js.map +1 -0
  398. package/dist/verdocs-web-sdk/p-b95cb372.entry.js +2 -0
  399. package/dist/verdocs-web-sdk/p-b95cb372.entry.js.map +1 -0
  400. package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js +2 -0
  401. package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js.map +1 -0
  402. package/dist/verdocs-web-sdk/p-bcae2278.entry.js +2 -0
  403. package/dist/verdocs-web-sdk/p-bcae2278.entry.js.map +1 -0
  404. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  405. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
  406. package/dist/verdocs-web-sdk/p-c2ad9de3.entry.js +2 -0
  407. package/dist/verdocs-web-sdk/p-c2ad9de3.entry.js.map +1 -0
  408. package/dist/verdocs-web-sdk/{p-62ffe7a3.system.entry.js → p-c37ea778.system.entry.js} +2 -2
  409. package/dist/verdocs-web-sdk/p-c37ea778.system.entry.js.map +1 -0
  410. package/dist/verdocs-web-sdk/p-ca6a1398.system.entry.js +2 -0
  411. package/dist/verdocs-web-sdk/p-ca6a1398.system.entry.js.map +1 -0
  412. package/dist/verdocs-web-sdk/{p-a43e5fb3.system.entry.js → p-ccf983c7.system.entry.js} +2 -2
  413. package/dist/verdocs-web-sdk/p-ccf983c7.system.entry.js.map +1 -0
  414. package/dist/verdocs-web-sdk/{p-b5b9d603.entry.js → p-ce27dc71.entry.js} +2 -2
  415. package/dist/verdocs-web-sdk/p-ce27dc71.entry.js.map +1 -0
  416. package/dist/verdocs-web-sdk/p-d5f48c21.entry.js +2 -0
  417. package/dist/verdocs-web-sdk/p-d5f48c21.entry.js.map +1 -0
  418. package/dist/verdocs-web-sdk/{p-5a9ad57d.entry.js → p-d6390915.entry.js} +2 -2
  419. package/dist/verdocs-web-sdk/p-d6390915.entry.js.map +1 -0
  420. package/dist/verdocs-web-sdk/{p-f972b493.system.entry.js → p-dee9037d.system.entry.js} +2 -2
  421. package/dist/verdocs-web-sdk/p-dee9037d.system.entry.js.map +1 -0
  422. package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js +2 -0
  423. package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js.map +1 -0
  424. package/dist/verdocs-web-sdk/{p-9f8576e1.entry.js → p-e47e3154.entry.js} +2 -2
  425. package/dist/verdocs-web-sdk/p-e47e3154.entry.js.map +1 -0
  426. package/dist/verdocs-web-sdk/p-e96a04c2.entry.js +2 -0
  427. package/dist/verdocs-web-sdk/p-e96a04c2.entry.js.map +1 -0
  428. package/dist/verdocs-web-sdk/p-ed71080a.entry.js +2 -0
  429. package/dist/verdocs-web-sdk/p-ed71080a.entry.js.map +1 -0
  430. package/dist/verdocs-web-sdk/{p-48321abf.system.entry.js → p-ed8e3256.system.entry.js} +2 -2
  431. package/dist/verdocs-web-sdk/p-ed8e3256.system.entry.js.map +1 -0
  432. package/dist/verdocs-web-sdk/p-f06218ed.entry.js +2 -0
  433. package/dist/verdocs-web-sdk/p-f06218ed.entry.js.map +1 -0
  434. package/dist/verdocs-web-sdk/p-f5eb353f.system.entry.js +2 -0
  435. package/dist/verdocs-web-sdk/p-f5eb353f.system.entry.js.map +1 -0
  436. package/dist/verdocs-web-sdk/{p-152dd2f0.system.entry.js → p-fc3a0e2d.system.entry.js} +2 -2
  437. package/dist/verdocs-web-sdk/p-fc3a0e2d.system.entry.js.map +1 -0
  438. package/dist/verdocs-web-sdk/p-fe512c19.entry.js.map +1 -1
  439. package/dist/verdocs-web-sdk/{p-3bc4c242.entry.js → p-ffff808d.entry.js} +2 -2
  440. package/dist/verdocs-web-sdk/p-ffff808d.entry.js.map +1 -0
  441. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  442. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  443. package/package.json +1 -1
  444. package/dist/cjs/Templates-3e6d5043.js +0 -63
  445. package/dist/cjs/Templates-3e6d5043.js.map +0 -1
  446. package/dist/collection/components/dialogs/verdocs-upload-dialog/paperclip.svg +0 -3
  447. package/dist/collection/components/dialogs/verdocs-upload-dialog/trash.svg +0 -3
  448. package/dist/collection/components/elements/verdocs-field-attachment/paperclip.svg +0 -3
  449. package/dist/components/Pages.js +0 -20
  450. package/dist/components/Pages.js.map +0 -1
  451. package/dist/esm/Templates-035e0ea2.js +0 -60
  452. package/dist/esm/Templates-035e0ea2.js.map +0 -1
  453. package/dist/esm-es5/Templates-035e0ea2.js +0 -2
  454. package/dist/esm-es5/Templates-035e0ea2.js.map +0 -1
  455. package/dist/verdocs-web-sdk/p-03677b65.system.js +0 -2
  456. package/dist/verdocs-web-sdk/p-03677b65.system.js.map +0 -1
  457. package/dist/verdocs-web-sdk/p-04373c06.entry.js +0 -2
  458. package/dist/verdocs-web-sdk/p-04373c06.entry.js.map +0 -1
  459. package/dist/verdocs-web-sdk/p-0824553f.system.entry.js +0 -2
  460. package/dist/verdocs-web-sdk/p-0824553f.system.entry.js.map +0 -1
  461. package/dist/verdocs-web-sdk/p-152dd2f0.system.entry.js.map +0 -1
  462. package/dist/verdocs-web-sdk/p-16c77fbb.system.entry.js +0 -2
  463. package/dist/verdocs-web-sdk/p-16c77fbb.system.entry.js.map +0 -1
  464. package/dist/verdocs-web-sdk/p-1935d358.system.entry.js.map +0 -1
  465. package/dist/verdocs-web-sdk/p-3bc4c242.entry.js.map +0 -1
  466. package/dist/verdocs-web-sdk/p-4226119d.entry.js.map +0 -1
  467. package/dist/verdocs-web-sdk/p-4425de92.system.entry.js.map +0 -1
  468. package/dist/verdocs-web-sdk/p-48321abf.system.entry.js.map +0 -1
  469. package/dist/verdocs-web-sdk/p-52179311.entry.js +0 -2
  470. package/dist/verdocs-web-sdk/p-52179311.entry.js.map +0 -1
  471. package/dist/verdocs-web-sdk/p-5713fea6.entry.js +0 -2
  472. package/dist/verdocs-web-sdk/p-5713fea6.entry.js.map +0 -1
  473. package/dist/verdocs-web-sdk/p-5a9ad57d.entry.js.map +0 -1
  474. package/dist/verdocs-web-sdk/p-5c40246d.entry.js +0 -2
  475. package/dist/verdocs-web-sdk/p-5c40246d.entry.js.map +0 -1
  476. package/dist/verdocs-web-sdk/p-60f92123.system.entry.js.map +0 -1
  477. package/dist/verdocs-web-sdk/p-6258ec3f.system.entry.js +0 -2
  478. package/dist/verdocs-web-sdk/p-6258ec3f.system.entry.js.map +0 -1
  479. package/dist/verdocs-web-sdk/p-62ffe7a3.system.entry.js.map +0 -1
  480. package/dist/verdocs-web-sdk/p-656369a3.entry.js +0 -2
  481. package/dist/verdocs-web-sdk/p-656369a3.entry.js.map +0 -1
  482. package/dist/verdocs-web-sdk/p-6d0c6604.system.entry.js +0 -2
  483. package/dist/verdocs-web-sdk/p-6d0c6604.system.entry.js.map +0 -1
  484. package/dist/verdocs-web-sdk/p-7a476918.entry.js.map +0 -1
  485. package/dist/verdocs-web-sdk/p-7e7b1a27.system.entry.js.map +0 -1
  486. package/dist/verdocs-web-sdk/p-824da7e4.entry.js +0 -2
  487. package/dist/verdocs-web-sdk/p-824da7e4.entry.js.map +0 -1
  488. package/dist/verdocs-web-sdk/p-9727d90b.entry.js +0 -2
  489. package/dist/verdocs-web-sdk/p-9727d90b.entry.js.map +0 -1
  490. package/dist/verdocs-web-sdk/p-98a23073.system.entry.js +0 -2
  491. package/dist/verdocs-web-sdk/p-98a23073.system.entry.js.map +0 -1
  492. package/dist/verdocs-web-sdk/p-9e1dda0b.system.entry.js +0 -2
  493. package/dist/verdocs-web-sdk/p-9e1dda0b.system.entry.js.map +0 -1
  494. package/dist/verdocs-web-sdk/p-9f8576e1.entry.js.map +0 -1
  495. package/dist/verdocs-web-sdk/p-a43e5fb3.system.entry.js.map +0 -1
  496. package/dist/verdocs-web-sdk/p-a717d591.system.entry.js +0 -2
  497. package/dist/verdocs-web-sdk/p-a717d591.system.entry.js.map +0 -1
  498. package/dist/verdocs-web-sdk/p-b5b9d603.entry.js.map +0 -1
  499. package/dist/verdocs-web-sdk/p-b77e5b39.entry.js.map +0 -1
  500. package/dist/verdocs-web-sdk/p-b8e6a9b6.system.entry.js +0 -2
  501. package/dist/verdocs-web-sdk/p-b8e6a9b6.system.entry.js.map +0 -1
  502. package/dist/verdocs-web-sdk/p-bdc40f6e.entry.js.map +0 -1
  503. package/dist/verdocs-web-sdk/p-bf8a6175.entry.js +0 -2
  504. package/dist/verdocs-web-sdk/p-bf8a6175.entry.js.map +0 -1
  505. package/dist/verdocs-web-sdk/p-c0c61629.entry.js +0 -2
  506. package/dist/verdocs-web-sdk/p-c0c61629.entry.js.map +0 -1
  507. package/dist/verdocs-web-sdk/p-c1a9eb1f.js +0 -2
  508. package/dist/verdocs-web-sdk/p-c1a9eb1f.js.map +0 -1
  509. package/dist/verdocs-web-sdk/p-c51715f2.entry.js +0 -2
  510. package/dist/verdocs-web-sdk/p-c51715f2.entry.js.map +0 -1
  511. package/dist/verdocs-web-sdk/p-d2b22759.entry.js +0 -2
  512. package/dist/verdocs-web-sdk/p-d2b22759.entry.js.map +0 -1
  513. package/dist/verdocs-web-sdk/p-f29b8035.entry.js +0 -2
  514. package/dist/verdocs-web-sdk/p-f29b8035.entry.js.map +0 -1
  515. package/dist/verdocs-web-sdk/p-f5482845.entry.js.map +0 -1
  516. package/dist/verdocs-web-sdk/p-f5a5e049.system.entry.js.map +0 -1
  517. package/dist/verdocs-web-sdk/p-f972b493.system.entry.js.map +0 -1
  518. package/dist/verdocs-web-sdk/p-fb13e1ce.system.entry.js +0 -2
  519. package/dist/verdocs-web-sdk/p-fb13e1ce.system.entry.js.map +0 -1
  520. package/dist/verdocs-web-sdk/p-fc2d6d85.system.entry.js +0 -2
  521. package/dist/verdocs-web-sdk/p-fc2d6d85.system.entry.js.map +0 -1
  522. package/dist/verdocs-web-sdk/p-ff1e07ee.system.entry.js +0 -2
  523. package/dist/verdocs-web-sdk/p-ff1e07ee.system.entry.js.map +0 -1
@@ -1,6 +1,7 @@
1
- import { Host } from '@stencil/core';
2
1
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
- import { h } from '@stencil/core';
2
+ import { h, Host } from '@stencil/core';
3
+ import { loadTemplate } from '../../../utils/Templates';
4
+ import { SDKError } from '../../../utils/errors';
4
5
  /**
5
6
  * Display a template building experience.
6
7
  */
@@ -13,7 +14,28 @@ export class VerdocsBuild {
13
14
  this.pdfUrl = null;
14
15
  this.template = null;
15
16
  }
16
- async componentDidLoad() { }
17
+ async componentWillLoad() {
18
+ var _a, _b, _c;
19
+ this.endpoint.loadSession();
20
+ if (!this.endpoint.session) {
21
+ console.log('[BUILD] Unable to start builder session, must be authenticated');
22
+ return;
23
+ }
24
+ if (!this.templateId) {
25
+ console.log(`[BUILD] No template ID specified, showing upload option`);
26
+ this.step = 'create';
27
+ return;
28
+ }
29
+ try {
30
+ console.log(`[BUILD] Loading template ${this.templateId}`);
31
+ await loadTemplate(this.endpoint, this.templateId);
32
+ this.step = 'fields';
33
+ }
34
+ catch (e) {
35
+ console.log('[BUILD] Error loading template', e);
36
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
37
+ }
38
+ }
17
39
  handleCancel(e) {
18
40
  console.log('Cancel', e.detail);
19
41
  this.step = '';
@@ -31,7 +53,7 @@ export class VerdocsBuild {
31
53
  this.step = 'fields';
32
54
  }
33
55
  render() {
34
- return (h(Host, null, this.step === 'create' && h("verdocs-template-create", { onCancel: e => this.handleCancel(e), onTemplateCreated: e => this.handleTemplateCreated(e) }), this.step === 'properties' && h("verdocs-template-properties", { onCancel: e => this.handleCancel(e), onSettingsUpdated: e => this.handlePropertiesUpdated(e) }), this.step === 'recipients' && h("verdocs-template-recipients", { onCancel: e => this.handleCancel(e), onSettingsUpdated: e => this.handleRecipientsUpdated(e) }), this.step === 'fields' && h("verdocs-template-fields", { onCancel: e => this.handleCancel(e), onSettingsUpdated: e => this.handleCancel(e) })));
56
+ return (h(Host, null, this.step === 'create' && h("verdocs-template-create", { onCancel: e => this.handleCancel(e), onNext: e => this.handleTemplateCreated(e) }), this.step === 'properties' && h("verdocs-template-properties", { onCancel: e => this.handleCancel(e), onNext: e => this.handlePropertiesUpdated(e) }), this.step === 'recipients' && h("verdocs-template-recipients", { onCancel: e => this.handleCancel(e), onNext: e => this.handleRecipientsUpdated(e) }), this.step === 'fields' && h("verdocs-template-fields", { onCancel: e => this.handleCancel(e), onNext: e => this.handleCancel(e) })));
35
57
  }
36
58
  static get is() { return "verdocs-build"; }
37
59
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-build.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-build/verdocs-build.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAgB,IAAI,EAAC,MAAM,eAAe,CAAC;AACxD,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AAIxD;;GAEG;AAMH,MAAM,OAAO,YAAY;;IAqBvB,WAAM,GAAqB,EAAE,CAAC;oBAjBM,eAAe,CAAC,UAAU,EAAE;sBAK5B,IAAI;gBAQxB,QAAQ;kBACN,IAAI;oBACgB,IAAI;;EAI1C,KAAK,CAAC,gBAAgB,KAAI,CAAC;EAE3B,YAAY,CAAC,CAAM;IACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;EACjB,CAAC;EAED,qBAAqB,CAAC,CAAM;IAC1B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;EAC3B,CAAC;EAED,uBAAuB,CAAC,CAAM;IAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;EAC3B,CAAC;EAED,uBAAuB,CAAC,CAAM;IAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;EACvB,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACF,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,+BAAyB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAI;MACjJ,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,mCAA6B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAI;MAC3J,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,mCAA6B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAI;MAC3J,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,+BAAyB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAI,CACpI,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Event, EventEmitter, Host} from '@stencil/core';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, State, h} from '@stencil/core';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a template building experience.\n */\n@Component({\n tag: 'verdocs-build',\n styleUrl: 'verdocs-build.scss',\n shadow: false,\n})\nexport class VerdocsBuild {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() step = 'create';\n @State() pdfUrl = null;\n @State() template: ITemplate | null = null;\n\n fields: ITemplateField[] = [];\n\n async componentDidLoad() {}\n\n handleCancel(e: any) {\n console.log('Cancel', e.detail);\n this.step = '';\n }\n\n handleTemplateCreated(e: any) {\n console.log('Created', e.detail);\n this.step = 'properties';\n }\n\n handlePropertiesUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'recipients';\n }\n\n handleRecipientsUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'fields';\n }\n\n render() {\n return (\n <Host>\n {this.step === 'create' && <verdocs-template-create onCancel={e => this.handleCancel(e)} onTemplateCreated={e => this.handleTemplateCreated(e)} />}\n {this.step === 'properties' && <verdocs-template-properties onCancel={e => this.handleCancel(e)} onSettingsUpdated={e => this.handlePropertiesUpdated(e)} />}\n {this.step === 'recipients' && <verdocs-template-recipients onCancel={e => this.handleCancel(e)} onSettingsUpdated={e => this.handleRecipientsUpdated(e)} />}\n {this.step === 'fields' && <verdocs-template-fields onCancel={e => this.handleCancel(e)} onSettingsUpdated={e => this.handleCancel(e)} />}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-build.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-build/verdocs-build.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {loadTemplate} from '../../../utils/Templates';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a template building experience.\n */\n@Component({\n tag: 'verdocs-build',\n styleUrl: 'verdocs-build.scss',\n shadow: false,\n})\nexport class VerdocsBuild {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() step = 'create';\n @State() pdfUrl = null;\n @State() template: ITemplate | null = null;\n\n fields: ITemplateField[] = [];\n\n async componentWillLoad() {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[BUILD] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[BUILD] No template ID specified, showing upload option`);\n this.step = 'create';\n return;\n }\n\n try {\n console.log(`[BUILD] Loading template ${this.templateId}`);\n await loadTemplate(this.endpoint, this.templateId);\n this.step = 'fields';\n } catch (e) {\n console.log('[BUILD] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleCancel(e: any) {\n console.log('Cancel', e.detail);\n this.step = '';\n }\n\n handleTemplateCreated(e: any) {\n console.log('Created', e.detail);\n this.step = 'properties';\n }\n\n handlePropertiesUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'recipients';\n }\n\n handleRecipientsUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'fields';\n }\n\n render() {\n return (\n <Host>\n {this.step === 'create' && <verdocs-template-create onCancel={e => this.handleCancel(e)} onNext={e => this.handleTemplateCreated(e)} />}\n {this.step === 'properties' && <verdocs-template-properties onCancel={e => this.handleCancel(e)} onNext={e => this.handlePropertiesUpdated(e)} />}\n {this.step === 'recipients' && <verdocs-template-recipients onCancel={e => this.handleCancel(e)} onNext={e => this.handleRecipientsUpdated(e)} />}\n {this.step === 'fields' && <verdocs-template-fields onCancel={e => this.handleCancel(e)} onNext={e => this.handleCancel(e)} />}\n </Host>\n );\n }\n}\n"]}
@@ -110,8 +110,8 @@ export class VerdocsSend {
110
110
  console.log('assigned', allRecipientsAssigned);
111
111
  return (h(Host, { class: {} }, h("div", { class: "recipients" }, h("div", { class: "left-line" }), h("div", { class: `level level-start` }, this.getLevelIcon(-1), h("div", { class: "complete" }, "Send Document")), this.levels.map(level => (h("div", { class: `level level-${level}` }, this.getLevelIcon(level), this.rolesAtLevel[level].map(role => {
112
112
  var _a, _b, _c;
113
- return (h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, onClick: e => this.handleClickRole(e, role) }, (_b = (_a = this.recipientsAssigned[role.id]) === null || _a === void 0 ? void 0 : _a.full_name) !== null && _b !== void 0 ? _b : role.name, h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (h("verdocs-contact-picker", { onCancel: () => (this.showPickerForId = ''), contactSuggestions: this.sessionContacts, templateRole: (_c = this.recipientsAssigned[role.id]) !== null && _c !== void 0 ? _c : role, onSearchContacts: e => console.log('Search', e.detail), onContactSelected: e => this.handleSelectContact(e, role) }))));
114
- })))), h("div", { class: `level level-done` }, this.getLevelIcon(this.levels.length), h("div", { class: "complete" }, "Document Complete"))), h("div", { class: "buttons" }, h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onPress: e => this.handleCancel(e) }), h("verdocs-button", { label: "Send", size: "small", disabled: !allRecipientsAssigned, onPress: e => this.handleSend(e) }))));
113
+ return (h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, onClick: e => this.handleClickRole(e, role) }, (_b = (_a = this.recipientsAssigned[role.id]) === null || _a === void 0 ? void 0 : _a.full_name) !== null && _b !== void 0 ? _b : role.name, h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (h("verdocs-contact-picker", { onCancel: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: (_c = this.recipientsAssigned[role.id]) !== null && _c !== void 0 ? _c : role, onSearchContacts: e => console.log('Search', e.detail) }))));
114
+ })))), h("div", { class: `level level-done` }, this.getLevelIcon(this.levels.length), h("div", { class: "complete" }, "Document Complete"))), h("div", { class: "buttons" }, h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Send", size: "small", disabled: !allRecipientsAssigned, onClick: e => this.handleSend(e) }))));
115
115
  }
116
116
  static get is() { return "verdocs-send"; }
117
117
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-send.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-send/verdocs-send.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {IRole, ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {getRoleIndex} from '../../../utils/utils';\nimport {SDKError} from '../../../utils/errors';\n\n// TODO: Evaluating this pattern for simple icons vs. importing external SVG files. Try to standardize on an approach soon.\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\ntype TAnnotatedRole = IRole & {id: string};\n\n/**\n * Display a form to collect recipient information for a new Document. If used anonymously, the specified `templateId` must be public.\n * If the user is authenticated\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipientsAssigned: IRole[]}>;\n\n /**\n * The user canceled the process.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() template: ITemplate | null = null;\n\n @State() pdfUrl = null;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n @State() showPickerForId = '';\n\n @State() sessionContacts = [];\n\n @State() recipientsAssigned: Record<string, TAnnotatedRole> = {};\n\n levels: number[] = [];\n\n async componentWillLoad() {\n this.sessionContacts = [];\n try {\n const result = await this.endpoint.loadSession();\n\n if (result.session?.profile) {\n this.sessionContacts.push({\n id: result.session.profile.id,\n name: `${result.session.profile.first_name} ${result.session.profile.last_name}`,\n email: result.session.profile.email,\n phone: result.session.profile.phone,\n });\n }\n } catch (e) {\n console.log('Error loading session', e);\n }\n }\n\n async componentDidLoad() {\n console.log('[SEND] Showing template', this.templateId);\n\n try {\n console.log(`[SEND] Loading template ${this.templateId}`);\n const template = await getTemplate(this.endpoint, this.templateId);\n\n console.log('[SEND] Got template', template);\n this.template = template;\n\n if (template?.roles) {\n const rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n template.roles.forEach(role => {\n const level = role.sequence - 1;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id});\n });\n\n this.rolesAtLevel = rolesAtLevel;\n this.levels = Object.keys(rolesAtLevel).map(levelStr => +levelStr);\n this.levels.sort((a, b) => a - b);\n }\n } catch (e) {\n console.log('[SEND] Error getting template', e);\n }\n }\n\n getLevelIcon(level: number) {\n if (level < 0) {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level >= this.levels.length) {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: TAnnotatedRole) {\n e.preventDefault();\n e.detail; // IContactSelectEvent\n this.recipientsAssigned[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: TAnnotatedRole) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e) {\n e.stopPropagation();\n this.send?.emit({recipientsAssigned: Object.values(this.recipientsAssigned)});\n }\n\n handleCancel(e) {\n e.stopPropagation();\n this.cancel?.emit();\n }\n\n render() {\n const roleNames = this.template?.roles?.map(role => role.name) || [];\n const allRecipientsAssigned =\n Object.values(this.recipientsAssigned).filter(recipient => {\n console.log('valid email', isValidEmail(recipient.email), recipient.email);\n console.log('valid phone', isValidPhone(recipient.phone), recipient.phone);\n return isValidEmail(recipient.email) || isValidPhone(recipient.phone);\n }).length >= this.template?.roles.length;\n console.log('assigned', allRecipientsAssigned);\n\n return (\n <Host class={{}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon(-1)}\n <div class=\"complete\">Send Document</div>\n </div>\n\n {this.levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon(level)}\n\n {this.rolesAtLevel[level].map(role => (\n <div class=\"recipient\" style={{backgroundColor: getRGBA(getRoleIndex(roleNames, role.name))}} onClick={e => this.handleClickRole(e, role)}>\n {this.recipientsAssigned[role.id]?.full_name ?? role.name}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-contact-picker\n onCancel={() => (this.showPickerForId = '')}\n contactSuggestions={this.sessionContacts}\n templateRole={this.recipientsAssigned[role.id] ?? role}\n onSearchContacts={e => console.log('Search', e.detail)}\n onContactSelected={e => this.handleSelectContact(e, role)}\n />\n )}\n </div>\n ))}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon(this.levels.length)}\n <div class=\"complete\">Document Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onPress={e => this.handleCancel(e)} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRecipientsAssigned} onPress={e => this.handleSend(e)} />\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-send.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-send/verdocs-send.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {IRole, ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {getRoleIndex} from '../../../utils/utils';\nimport {SDKError} from '../../../utils/errors';\n\n// TODO: Evaluating this pattern for simple icons vs. importing external SVG files. Try to standardize on an approach soon.\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\ntype TAnnotatedRole = IRole & {id: string};\n\n/**\n * Display a form to collect recipient information for a new Document. If used anonymously, the specified `templateId` must be public.\n * If the user is authenticated\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipientsAssigned: IRole[]}>;\n\n /**\n * The user canceled the process.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() template: ITemplate | null = null;\n\n @State() pdfUrl = null;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n @State() showPickerForId = '';\n\n @State() sessionContacts = [];\n\n @State() recipientsAssigned: Record<string, TAnnotatedRole> = {};\n\n levels: number[] = [];\n\n async componentWillLoad() {\n this.sessionContacts = [];\n try {\n const result = await this.endpoint.loadSession();\n\n if (result.session?.profile) {\n this.sessionContacts.push({\n id: result.session.profile.id,\n name: `${result.session.profile.first_name} ${result.session.profile.last_name}`,\n email: result.session.profile.email,\n phone: result.session.profile.phone,\n });\n }\n } catch (e) {\n console.log('Error loading session', e);\n }\n }\n\n async componentDidLoad() {\n console.log('[SEND] Showing template', this.templateId);\n\n try {\n console.log(`[SEND] Loading template ${this.templateId}`);\n const template = await getTemplate(this.endpoint, this.templateId);\n\n console.log('[SEND] Got template', template);\n this.template = template;\n\n if (template?.roles) {\n const rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n template.roles.forEach(role => {\n const level = role.sequence - 1;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id});\n });\n\n this.rolesAtLevel = rolesAtLevel;\n this.levels = Object.keys(rolesAtLevel).map(levelStr => +levelStr);\n this.levels.sort((a, b) => a - b);\n }\n } catch (e) {\n console.log('[SEND] Error getting template', e);\n }\n }\n\n getLevelIcon(level: number) {\n if (level < 0) {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level >= this.levels.length) {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: TAnnotatedRole) {\n e.preventDefault();\n e.detail; // IContactSelectEvent\n this.recipientsAssigned[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: TAnnotatedRole) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e) {\n e.stopPropagation();\n this.send?.emit({recipientsAssigned: Object.values(this.recipientsAssigned)});\n }\n\n handleCancel(e) {\n e.stopPropagation();\n this.cancel?.emit();\n }\n\n render() {\n const roleNames = this.template?.roles?.map(role => role.name) || [];\n const allRecipientsAssigned =\n Object.values(this.recipientsAssigned).filter(recipient => {\n console.log('valid email', isValidEmail(recipient.email), recipient.email);\n console.log('valid phone', isValidPhone(recipient.phone), recipient.phone);\n return isValidEmail(recipient.email) || isValidPhone(recipient.phone);\n }).length >= this.template?.roles.length;\n console.log('assigned', allRecipientsAssigned);\n\n return (\n <Host class={{}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon(-1)}\n <div class=\"complete\">Send Document</div>\n </div>\n\n {this.levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon(level)}\n\n {this.rolesAtLevel[level].map(role => (\n <div class=\"recipient\" style={{backgroundColor: getRGBA(getRoleIndex(roleNames, role.name))}} onClick={e => this.handleClickRole(e, role)}>\n {this.recipientsAssigned[role.id]?.full_name ?? role.name}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-contact-picker\n onCancel={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={this.recipientsAssigned[role.id] ?? role}\n onSearchContacts={e => console.log('Search', e.detail)}\n />\n )}\n </div>\n ))}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon(this.levels.length)}\n <div class=\"complete\">Document Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRecipientsAssigned} onClick={e => this.handleSend(e)} />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -119,7 +119,7 @@ export class VerdocsSign {
119
119
  }
120
120
  }
121
121
  async handleFieldChange(field, e, optionId) {
122
- console.log('fieldChange', field, e.detail);
122
+ console.log('fieldChange', field, e);
123
123
  switch (field.type) {
124
124
  case 'textbox':
125
125
  Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value: e.detail })
@@ -179,7 +179,7 @@ export class VerdocsSign {
179
179
  transform: `scale(${page.xScale}, ${page.yScale})`,
180
180
  backgroundColor: getRGBA(this.recipientIndex),
181
181
  };
182
- return h("verdocs-field-checkbox", { style: style, field: field, onFieldChange: e => this.handleFieldChange(field, e, option.id) });
182
+ return h("verdocs-field-checkbox", { style: style, field: field, onChange: e => this.handleFieldChange(field, e, option.id) });
183
183
  }
184
184
  renderRadioGroupOption(page, field, option) {
185
185
  const left = rescale(page.xScale, option.x);
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-sign.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Event, EventEmitter, Host} from '@stencil/core';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {rescale} from '@verdocs/js-sdk/Utils/Fields';\nimport {Component, Prop, State, h} from '@stencil/core';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {IEnvelope, IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {IPageRenderEvent} from '../verdocs-view/verdocs-view';\nimport {getFieldId, setControlStyles} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a document signing experience.\n *\n * ***NOTE: This sample document will reset every 10 minutes...***\n */\n@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop() envelopeId: string | null = null;\n\n /**\n * The name of the role that will be signing.\n */\n @Prop() roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop() inviteCode: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() recipient: IRecipient | null = null;\n\n @State() signerToken = null;\n @State() pdfUrl = null;\n @State() recipientIndex: number = -1;\n @State() envelope: IEnvelope | null = null;\n @State() fields: IDocumentField[] = [];\n\n @State() hasSignature = false;\n\n @State() nextButtonLabel = 'Start';\n\n @State() focusedField = '';\n\n async componentDidLoad() {\n try {\n console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.envelopeId}`);\n const {session, recipient, signerToken} = await Envelopes.getSigningSession(this.endpoint, {\n envelopeId: this.envelopeId,\n roleId: this.roleId,\n inviteCode: this.inviteCode,\n });\n\n console.log(`[SIGN] Got signing session ${session.email} / ${session.profile_id}`);\n\n this.recipient = recipient;\n this.signerToken = signerToken;\n this.endpoint.setToken(signerToken);\n\n if (this.recipient.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n this.envelope = envelope;\n console.log('[SIGN] Signing document', document);\n\n this.pdfUrl = `${this.endpoint.getBaseURL()}/documents/${this.envelopeId}/envelope_documents/${envelope.envelope_document_id}?file=true`;\n\n this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n console.log('Found recipient', this.envelope.recipients[this.recipientIndex]);\n }\n\n this.fields = this.envelope.fields.filter(field => field.recipient_role === this.roleId);\n console.log('Loaded fields', this.fields);\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n } catch (e) {\n console.log('Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleClickAgree() {\n console.log('agree clicked');\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n console.log('update result', r);\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n })\n .catch(e => {\n console.log('update failure', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async savePDF() {\n const fileName = `${this.envelope.name} - ${this.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, this.envelope.envelope_document_id);\n\n // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique\n // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'blob';\n xhr.onload = function () {\n let a = document.createElement('a');\n a.href = window.URL.createObjectURL(xhr.response);\n a.download = fileName;\n a.style.display = 'none';\n document.body.appendChild(a);\n a.click();\n a.remove();\n };\n\n const url = `data:application/pdf;base64,${data}`;\n console.log('url', url.length, url);\n xhr.open('GET', `data:application/pdf;base64,${data}`);\n xhr.send();\n }\n\n async handleOptionSelected(e) {\n switch (e.detail.id) {\n case 'later':\n // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n if (!window?.['STORYBOOK_ENV']) {\n window.alert('User intends to sign later.');\n }\n break;\n case 'claim':\n break;\n case 'decline':\n break;\n case 'print':\n break;\n case 'download':\n this.savePDF().catch(() => {});\n break;\n }\n }\n\n async handleFieldChange(field: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e.detail);\n switch (field.type) {\n case 'textbox':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n case 'checkbox_group':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options: [{id: optionId, checked: e.detail}]}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'dropdown':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'initial':\n console.log('Got initial', e.detail);\n break;\n\n case 'signature':\n console.log('Got signature', e.detail);\n break;\n }\n }\n\n renderCheckboxGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-checkbox style={style} field={field} onFieldChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n renderRadioGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-radio-button style={style} field={field} onFieldChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n isFieldValid(field: IDocumentField) {\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(field.settings?.result || '');\n case 'phone':\n return isValidPhone(field.settings?.result || '');\n default:\n return !!field.settings?.result;\n }\n\n case 'signature':\n case 'initial':\n case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n case 'dropdown':\n return !!field.settings?.value;\n case 'checkbox_group':\n const checked = (field.settings?.options?.filter(option => option.checked) || []).length;\n return checked >= (field.settings?.minimum_checked || 0) && checked <= (field.settings?.maximum_checked || 999);\n case 'radio_button_group':\n return (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n // (async () => {\n // await customElements.whenDefined('verdocs-field-signature');\n // const els = document.getElementById('verdocs-field-signature');\n // await els.focusField();\n // })();\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n console.log('required Fields', requiredFields);\n\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n console.log('focused Index', focusedIndex);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n const nextRequiredField = requiredFields[nextFocusedIndex];\n console.log('next required field', nextRequiredField);\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n console.log('focusing', id, el);\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n renderField(field: IDocumentField, docPage: IDocumentPageInfo /*, index: number*/) {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale, this.recipientIndex);\n return;\n }\n\n let el;\n switch (field.type) {\n case 'attachment':\n case 'checkbox_group':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox':\n el = document.createElement(`verdocs-field-${field.type}`);\n break;\n // return field.settings.options.map((option: any, index) => this.renderCheckboxGroupOption(renderOnPage, field, option, index));\n case 'radio_button_group':\n // el = document.createElement('verdocs-field-signature');\n // el.setAttribute('value', base64);\n break;\n // return field.settings.options.map((option: any, index) => this.renderRadioGroupOption(renderOnPage, field, option, index));\n // case 'attachment':\n // el = document.createElement('verdocs-field-attachment');\n // el.setAttribute('value', result || '');\n // break;\n // case 'payment':\n // el = document.createElement('verdocs-field-payment');\n // break;\n default:\n console.log('[SIGN] Skipping unsupported field type', field);\n }\n\n if (el) {\n el.field = field;\n el.recipient = this.recipient;\n el.setAttribute('id', id);\n el.setAttribute('roleindex', this.recipientIndex);\n el.addEventListener('fieldChange', e => this.handleFieldChange(field, e));\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale, this.recipientIndex);\n controlsDiv.appendChild(el);\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IPageRenderEvent;\n console.log('[SIGN] Page rendered', pageInfo);\n\n const fields = this.fields.filter(field => field.page === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', fields);\n fields.forEach(field => this.renderField(field, pageInfo.renderedPage));\n // .map((field, index) => this.renderField(field, index));\n // this.pdfPageInfo = e.detail;\n }\n\n render() {\n const menuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{storybook: !!window?.['STORYBOOK_ENV'], agreed: this.recipient?.agreed}}>\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n\n <div class=\"header\">\n <div class=\"inner\">\n <div class=\"toolbar\">\n <div class=\"tools\">\n <verdocs-dropdown options={menuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n\n {!this.recipient?.agreed ? (\n <div class=\"agree\">\n <div class=\"agree-checkbox\">\n <input type=\"checkbox\" value=\"None\" id=\"agree-checkbox-element\" name=\"agree\" onChange={() => this.handleClickAgree()} />\n <label htmlFor=\"agree-checkbox-element\" />\n </div>\n <span>I agree to use electronic records and signatures.</span>\n </div>\n ) : (\n <div style={{flex: '1'}} />\n )}\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n </div>\n </div>\n </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n {this.pdfUrl ? (\n <div class=\"inner\">\n <verdocs-view\n envelopeId={this.envelopeId}\n endpoint={this.endpoint}\n onPageRendered={e => this.handlePageRendered(e)}\n pageLayers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n </div>\n ) : (\n <verdocs-loader />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-sign.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Event, EventEmitter, Host} from '@stencil/core';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {rescale} from '@verdocs/js-sdk/Utils/Fields';\nimport {Component, Prop, State, h} from '@stencil/core';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {IEnvelope, IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {IPageRenderEvent} from '../verdocs-view/verdocs-view';\nimport {getFieldId, setControlStyles} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a document signing experience.\n *\n * ***NOTE: This sample document will reset every 10 minutes...***\n */\n@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop() envelopeId: string | null = null;\n\n /**\n * The name of the role that will be signing.\n */\n @Prop() roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop() inviteCode: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() recipient: IRecipient | null = null;\n\n @State() signerToken = null;\n @State() pdfUrl = null;\n @State() recipientIndex: number = -1;\n @State() envelope: IEnvelope | null = null;\n @State() fields: IDocumentField[] = [];\n\n @State() hasSignature = false;\n\n @State() nextButtonLabel = 'Start';\n\n @State() focusedField = '';\n\n async componentDidLoad() {\n try {\n console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.envelopeId}`);\n const {session, recipient, signerToken} = await Envelopes.getSigningSession(this.endpoint, {\n envelopeId: this.envelopeId,\n roleId: this.roleId,\n inviteCode: this.inviteCode,\n });\n\n console.log(`[SIGN] Got signing session ${session.email} / ${session.profile_id}`);\n\n this.recipient = recipient;\n this.signerToken = signerToken;\n this.endpoint.setToken(signerToken);\n\n if (this.recipient.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n this.envelope = envelope;\n console.log('[SIGN] Signing document', document);\n\n this.pdfUrl = `${this.endpoint.getBaseURL()}/documents/${this.envelopeId}/envelope_documents/${envelope.envelope_document_id}?file=true`;\n\n this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n console.log('Found recipient', this.envelope.recipients[this.recipientIndex]);\n }\n\n this.fields = this.envelope.fields.filter(field => field.recipient_role === this.roleId);\n console.log('Loaded fields', this.fields);\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n } catch (e) {\n console.log('Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleClickAgree() {\n console.log('agree clicked');\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n console.log('update result', r);\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n })\n .catch(e => {\n console.log('update failure', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async savePDF() {\n const fileName = `${this.envelope.name} - ${this.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, this.envelope.envelope_document_id);\n\n // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique\n // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'blob';\n xhr.onload = function () {\n let a = document.createElement('a');\n a.href = window.URL.createObjectURL(xhr.response);\n a.download = fileName;\n a.style.display = 'none';\n document.body.appendChild(a);\n a.click();\n a.remove();\n };\n\n const url = `data:application/pdf;base64,${data}`;\n console.log('url', url.length, url);\n xhr.open('GET', `data:application/pdf;base64,${data}`);\n xhr.send();\n }\n\n async handleOptionSelected(e) {\n switch (e.detail.id) {\n case 'later':\n // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n if (!window?.['STORYBOOK_ENV']) {\n window.alert('User intends to sign later.');\n }\n break;\n case 'claim':\n break;\n case 'decline':\n break;\n case 'print':\n break;\n case 'download':\n this.savePDF().catch(() => {});\n break;\n }\n }\n\n async handleFieldChange(field: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e);\n switch (field.type) {\n case 'textbox':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n case 'checkbox_group':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options: [{id: optionId, checked: e.detail}]}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'dropdown':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'initial':\n console.log('Got initial', e.detail);\n break;\n\n case 'signature':\n console.log('Got signature', e.detail);\n break;\n }\n }\n\n renderCheckboxGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-checkbox style={style} field={field} onChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n renderRadioGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-radio-button style={style} field={field} onFieldChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n isFieldValid(field: IDocumentField) {\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(field.settings?.result || '');\n case 'phone':\n return isValidPhone(field.settings?.result || '');\n default:\n return !!field.settings?.result;\n }\n\n case 'signature':\n case 'initial':\n case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n case 'dropdown':\n return !!field.settings?.value;\n case 'checkbox_group':\n const checked = (field.settings?.options?.filter(option => option.checked) || []).length;\n return checked >= (field.settings?.minimum_checked || 0) && checked <= (field.settings?.maximum_checked || 999);\n case 'radio_button_group':\n return (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n // (async () => {\n // await customElements.whenDefined('verdocs-field-signature');\n // const els = document.getElementById('verdocs-field-signature');\n // await els.focusField();\n // })();\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n console.log('required Fields', requiredFields);\n\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n console.log('focused Index', focusedIndex);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n const nextRequiredField = requiredFields[nextFocusedIndex];\n console.log('next required field', nextRequiredField);\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n console.log('focusing', id, el);\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n renderField(field: IDocumentField, docPage: IDocumentPageInfo /*, index: number*/) {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale, this.recipientIndex);\n return;\n }\n\n let el;\n switch (field.type) {\n case 'attachment':\n case 'checkbox_group':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox':\n el = document.createElement(`verdocs-field-${field.type}`);\n break;\n // return field.settings.options.map((option: any, index) => this.renderCheckboxGroupOption(renderOnPage, field, option, index));\n case 'radio_button_group':\n // el = document.createElement('verdocs-field-signature');\n // el.setAttribute('value', base64);\n break;\n // return field.settings.options.map((option: any, index) => this.renderRadioGroupOption(renderOnPage, field, option, index));\n // case 'attachment':\n // el = document.createElement('verdocs-field-attachment');\n // el.setAttribute('value', result || '');\n // break;\n // case 'payment':\n // el = document.createElement('verdocs-field-payment');\n // break;\n default:\n console.log('[SIGN] Skipping unsupported field type', field);\n }\n\n if (el) {\n el.field = field;\n el.recipient = this.recipient;\n el.setAttribute('id', id);\n el.setAttribute('roleindex', this.recipientIndex);\n el.addEventListener('fieldChange', e => this.handleFieldChange(field, e));\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale, this.recipientIndex);\n controlsDiv.appendChild(el);\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IPageRenderEvent;\n console.log('[SIGN] Page rendered', pageInfo);\n\n const fields = this.fields.filter(field => field.page === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', fields);\n fields.forEach(field => this.renderField(field, pageInfo.renderedPage));\n // .map((field, index) => this.renderField(field, index));\n // this.pdfPageInfo = e.detail;\n }\n\n render() {\n const menuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{storybook: !!window?.['STORYBOOK_ENV'], agreed: this.recipient?.agreed}}>\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n\n <div class=\"header\">\n <div class=\"inner\">\n <div class=\"toolbar\">\n <div class=\"tools\">\n <verdocs-dropdown options={menuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n\n {!this.recipient?.agreed ? (\n <div class=\"agree\">\n <div class=\"agree-checkbox\">\n <input type=\"checkbox\" value=\"None\" id=\"agree-checkbox-element\" name=\"agree\" onChange={() => this.handleClickAgree()} />\n <label htmlFor=\"agree-checkbox-element\" />\n </div>\n <span>I agree to use electronic records and signatures.</span>\n </div>\n ) : (\n <div style={{flex: '1'}} />\n )}\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n </div>\n </div>\n </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n {this.pdfUrl ? (\n <div class=\"inner\">\n <verdocs-view\n envelopeId={this.envelopeId}\n endpoint={this.endpoint}\n onPageRendered={e => this.handlePageRendered(e)}\n pageLayers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n </div>\n ) : (\n <verdocs-loader />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -46,30 +46,6 @@ export class VerdocsView {
46
46
  this.envelope = await getEnvelope(this.endpoint, this.envelopeId);
47
47
  console.log('[VIEW] Loaded envelope', this.envelope);
48
48
  }
49
- // console.log(`[VIEW] Loading template ${this.templateId}`);
50
- // const template = await getTemplate(this.endpoint, this.templateId);
51
- //
52
- // console.log('[VIEW] Got template', this.template);
53
- // this.template = template;
54
- // this.pageNumbers = integerSequence(1, template.pages.length);
55
- //
56
- // const pageUris: Record<number, string> = {};
57
- // for await (let page of template.pages) {
58
- // console.log('[VIEW] Loading page', page);
59
- // // TODO: Make an endpoint to get all of the pages for a template
60
- // // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,
61
- // // not the primary mechanism.
62
- // const image = await getPageImage(this.endpoint, this.templateId, page.sequence);
63
- // // TODO: Make this uri to match the rest of the terminology?
64
- // pageUris[page.sequence] = image.url;
65
- // console.log('[VIEW] Got image Uri', image.url);
66
- // this.loadProgress = page.sequence / template.pages.length;
67
- // }
68
- //
69
- // this.pageUris = pageUris;
70
- // this.loadProgress = 100;
71
- //
72
- // // this.pdfUrl = `${this.endpoint.getBaseURL()}/templates/${this.templateId}/documents/${template.template_document?.id}?file=true`;
73
49
  }
74
50
  catch (e) {
75
51
  console.log('[VIEW] Error loading data', e);
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-view.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-view/verdocs-view.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelope} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {getEnvelope} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View all of the documents attached to a template or envelope. All documents are displayed, in order. This embed wraps\n * verdocs-view-envelope-document or verdocs-view-template-document, as appropriate, and those controls may be used if\n * fine-grained control over which documents are displayed (or their order) is required.\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 template ID to render. Set ONE OF templateId or envelopeId.\n */\n @Prop() templateId: string = '';\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 * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\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 @State() template?: ITemplate = null;\n @State() envelope?: IEnvelope = null;\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.templateId && !this.envelopeId) {\n console.error(`[VIEW] Must specify one of templateId or envelopeId`);\n return;\n }\n\n if (this.templateId && this.envelopeId) {\n console.warn(`[VIEW] Both templateId and envelopeId specified, using templateId`);\n }\n\n try {\n if (this.templateId) {\n console.log('[VIEW] Loading template', this.templateId);\n this.template = await getTemplate(this.endpoint, this.templateId);\n console.log('[VIEW] Loaded template', this.template);\n } else if (this.envelopeId) {\n console.log('[VIEW] Loading envelope', this.envelopeId);\n this.envelope = await getEnvelope(this.endpoint, this.envelopeId);\n console.log('[VIEW] Loaded envelope', this.envelope);\n }\n\n // console.log(`[VIEW] Loading template ${this.templateId}`);\n // const template = await getTemplate(this.endpoint, this.templateId);\n //\n // console.log('[VIEW] Got template', this.template);\n // this.template = template;\n // this.pageNumbers = integerSequence(1, template.pages.length);\n //\n // const pageUris: Record<number, string> = {};\n // for await (let page of template.pages) {\n // console.log('[VIEW] Loading page', page);\n // // TODO: Make an endpoint to get all of the pages for a template\n // // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,\n // // not the primary mechanism.\n // const image = await getPageImage(this.endpoint, this.templateId, page.sequence);\n // // TODO: Make this uri to match the rest of the terminology?\n // pageUris[page.sequence] = image.url;\n // console.log('[VIEW] Got image Uri', image.url);\n // this.loadProgress = page.sequence / template.pages.length;\n // }\n //\n // this.pageUris = pageUris;\n // this.loadProgress = 100;\n //\n // // this.pdfUrl = `${this.endpoint.getBaseURL()}/templates/${this.templateId}/documents/${template.template_document?.id}?file=true`;\n } catch (e) {\n console.log('[VIEW] Error loading data', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Determine whether a page is \"rotated\" (in either direction)\n // isRotated(rotation) {\n // return rotation !== 0 && rotation % 180 !== 0;\n // }\n\n // Render one document page. Note that pageNumber is 1-based.\n // async renderPage(pageNumber: number): Promise<void> {\n // const domPage = this.domPages[pageNumber];\n //\n // // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n // if (!domPage) {\n // console.log('[VIEW] Skipping rendering page not yet in DOM', {pageNumber});\n // return;\n // }\n //\n // const pageMetrics = this.sourcePageMetrics[pageNumber];\n //\n // console.log('[VIEW] Rendering page', {pageNumber, pageMetrics, domPage});\n // try {\n // // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // // console.log('[VIEW] Page viewport', domPage.xScale, viewport);\n //\n // // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // // if (!canvas) {\n // // console.log('[VIEW] Unable to find canvas element');\n // // return;\n // // }\n // //\n // // canvas.width = domPage.renderedWidth;\n // // canvas.height = domPage.renderedHeight;\n // // const canvasContext = canvas.getContext('2d');\n // // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // // await pdfPage.render({canvasContext, viewport});\n //\n // this.pageRendered.emit({\n // renderedPage: domPage,\n // sourcePageMetrics: pageMetrics,\n // pages: this.domPages,\n // });\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering page', e);\n // }\n // }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW] Loading error', e);\n // });\n // }\n\n // async handlePageRendered(e: any) {\n // e.stopPropagation();\n //\n // const domPage = e.detail as IDocumentPageInfo;\n // this.domPages[domPage.pageNumber] = domPage;\n // await this.renderPage(domPage.pageNumber);\n // }\n\n render() {\n console.log('[VIEW] Rendering', this.templateId, this.envelopeId);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {this.template && (\n <verdocs-view-template-document\n endpoint={this.endpoint}\n templateId={this.templateId}\n documentId={this.template.template_document?.id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n {this.envelope && (\n <verdocs-view-envelope-document\n endpoint={this.endpoint}\n envelopeId={this.envelopeId}\n documentId={this.envelope.envelope_document_id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-view.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-view/verdocs-view.tsx"],"names":[],"mappings":"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","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelope} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {getEnvelope} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View all of the documents attached to a template or envelope. All documents are displayed, in order. This embed wraps\n * verdocs-view-envelope-document or verdocs-view-template-document, as appropriate, and those controls may be used if\n * fine-grained control over which documents are displayed (or their order) is required.\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 template ID to render. Set ONE OF templateId or envelopeId.\n */\n @Prop() templateId: string = '';\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 * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\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 @State() template?: ITemplate = null;\n @State() envelope?: IEnvelope = null;\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.templateId && !this.envelopeId) {\n console.error(`[VIEW] Must specify one of templateId or envelopeId`);\n return;\n }\n\n if (this.templateId && this.envelopeId) {\n console.warn(`[VIEW] Both templateId and envelopeId specified, using templateId`);\n }\n\n try {\n if (this.templateId) {\n console.log('[VIEW] Loading template', this.templateId);\n this.template = await getTemplate(this.endpoint, this.templateId);\n console.log('[VIEW] Loaded template', this.template);\n } else if (this.envelopeId) {\n console.log('[VIEW] Loading envelope', this.envelopeId);\n this.envelope = await getEnvelope(this.endpoint, this.envelopeId);\n console.log('[VIEW] Loaded envelope', this.envelope);\n }\n } catch (e) {\n console.log('[VIEW] Error loading data', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Determine whether a page is \"rotated\" (in either direction)\n // isRotated(rotation) {\n // return rotation !== 0 && rotation % 180 !== 0;\n // }\n\n // Render one document page. Note that pageNumber is 1-based.\n // async renderPage(pageNumber: number): Promise<void> {\n // const domPage = this.domPages[pageNumber];\n //\n // // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n // if (!domPage) {\n // console.log('[VIEW] Skipping rendering page not yet in DOM', {pageNumber});\n // return;\n // }\n //\n // const pageMetrics = this.sourcePageMetrics[pageNumber];\n //\n // console.log('[VIEW] Rendering page', {pageNumber, pageMetrics, domPage});\n // try {\n // // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // // console.log('[VIEW] Page viewport', domPage.xScale, viewport);\n //\n // // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // // if (!canvas) {\n // // console.log('[VIEW] Unable to find canvas element');\n // // return;\n // // }\n // //\n // // canvas.width = domPage.renderedWidth;\n // // canvas.height = domPage.renderedHeight;\n // // const canvasContext = canvas.getContext('2d');\n // // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // // await pdfPage.render({canvasContext, viewport});\n //\n // this.pageRendered.emit({\n // renderedPage: domPage,\n // sourcePageMetrics: pageMetrics,\n // pages: this.domPages,\n // });\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering page', e);\n // }\n // }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW] Loading error', e);\n // });\n // }\n\n // async handlePageRendered(e: any) {\n // e.stopPropagation();\n //\n // const domPage = e.detail as IDocumentPageInfo;\n // this.domPages[domPage.pageNumber] = domPage;\n // await this.renderPage(domPage.pageNumber);\n // }\n\n render() {\n console.log('[VIEW] Rendering', this.templateId, this.envelopeId);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {this.template && (\n <verdocs-view-template-document\n endpoint={this.endpoint}\n templateId={this.templateId}\n documentId={this.template.template_document?.id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n {this.envelope && (\n <verdocs-view-envelope-document\n endpoint={this.endpoint}\n envelopeId={this.envelopeId}\n documentId={this.envelope.envelope_document_id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- import { getPageImage } from '@verdocs/js-sdk/Templates/Pages';
2
1
  import { getTemplate } from '@verdocs/js-sdk/Templates/Templates';
3
2
  import TemplateStore from './templateStore';
4
3
  export const loadTemplate = async (endpoint, templateId) => {
@@ -16,20 +15,6 @@ export const loadTemplate = async (endpoint, templateId) => {
16
15
  return;
17
16
  }
18
17
  TemplateStore.template = template;
19
- const pageUris = {};
20
- for await (let page of TemplateStore.template.pages) {
21
- console.log('[TEMPLATES] Loading page', page);
22
- // TODO: Make an endpoint to get all of the pages for a template
23
- // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,
24
- // not the primary mechanism.
25
- const image = await getPageImage(endpoint, templateId, page.sequence);
26
- // TODO: Make this uri to match the rest of the terminology?
27
- pageUris[page.sequence] = image.url;
28
- console.log('[TEMPLATES] Got image Uri', image.url);
29
- TemplateStore.loadProgress = page.sequence / TemplateStore.template.pages.length;
30
- }
31
- TemplateStore.pageUris = pageUris;
32
- TemplateStore.loadProgress = 100;
33
18
  TemplateStore.loading = false;
34
19
  }
35
20
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"Templates.js","sourceRoot":"","sources":["../../src/utils/Templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,qCAAqC,CAAC;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,QAAyB,EAAE,UAAkB,EAAE,EAAE;EAClF,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;EAE9B,IAAI,CAAC,UAAU,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO;GACR;EAED,aAAa,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,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;MACnD,OAAO;KACR;IAED,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAElC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE;MACnD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;MAC9C,gEAAgE;MAChE,mIAAmI;MACnI,8BAA8B;MAC9B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;MACtE,4DAA4D;MAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;MACpC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;MACpD,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;KAClF;IAED,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,aAAa,CAAC,YAAY,GAAG,GAAG,CAAC;IACjC,aAAa,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,CAAC,CAAC","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getPageImage} from '@verdocs/js-sdk/Templates/Pages';\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);\n if (!template) {\n console.log('[TEMPLATES] Unable to load template');\n return;\n }\n\n TemplateStore.template = template;\n\n const pageUris: Record<number, string> = {};\n for await (let page of TemplateStore.template.pages) {\n console.log('[TEMPLATES] Loading page', page);\n // TODO: Make an endpoint to get all of the pages for a template\n // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,\n // not the primary mechanism.\n const image = await getPageImage(endpoint, templateId, page.sequence);\n // TODO: Make this uri to match the rest of the terminology?\n pageUris[page.sequence] = image.url;\n console.log('[TEMPLATES] Got image Uri', image.url);\n TemplateStore.loadProgress = page.sequence / TemplateStore.template.pages.length;\n }\n\n TemplateStore.pageUris = pageUris;\n TemplateStore.loadProgress = 100;\n TemplateStore.loading = false;\n } catch (e) {\n console.log('[TEMPLATES] Error loading template', e);\n throw e;\n }\n};\n"]}
1
+ {"version":3,"file":"Templates.js","sourceRoot":"","sources":["../../src/utils/Templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,qCAAqC,CAAC;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,QAAyB,EAAE,UAAkB,EAAE,EAAE;EAClF,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;EAE9B,IAAI,CAAC,UAAU,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO;GACR;EAED,aAAa,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,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;MACnD,OAAO;KACR;IAED,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,aAAa,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,CAAC,CAAC","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);\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"]}
@@ -1,4 +1,3 @@
1
- import { g as getPageImage } from './Pages.js';
2
1
  import { g as getTemplate } from './Templates2.js';
3
2
  import { s as state } from './templateStore.js';
4
3
 
@@ -17,20 +16,6 @@ const loadTemplate = async (endpoint, templateId) => {
17
16
  return;
18
17
  }
19
18
  state.template = template;
20
- const pageUris = {};
21
- for await (let page of state.template.pages) {
22
- console.log('[TEMPLATES] Loading page', page);
23
- // TODO: Make an endpoint to get all of the pages for a template
24
- // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,
25
- // not the primary mechanism.
26
- const image = await getPageImage(endpoint, templateId, page.sequence);
27
- // TODO: Make this uri to match the rest of the terminology?
28
- pageUris[page.sequence] = image.url;
29
- console.log('[TEMPLATES] Got image Uri', image.url);
30
- state.loadProgress = page.sequence / state.template.pages.length;
31
- }
32
- state.pageUris = pageUris;
33
- state.loadProgress = 100;
34
19
  state.loading = false;
35
20
  }
36
21
  catch (e) {
@@ -1 +1 @@
1
- {"file":"Templates.js","mappings":";;;;MAKa,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,CAAC,CAAC;IACzD,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,GAA2B,EAAE,CAAC;IAC5C,WAAW,IAAI,IAAI,IAAIA,KAAa,CAAC,QAAQ,CAAC,KAAK,EAAE;MACnD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;;;;MAI9C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;;MAEtE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;MACpC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;MACpDA,KAAa,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAGA,KAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;KAClF;IAEDA,KAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClCA,KAAa,CAAC,YAAY,GAAG,GAAG,CAAC;IACjCA,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 {getPageImage} from '@verdocs/js-sdk/Templates/Pages';\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);\n if (!template) {\n console.log('[TEMPLATES] Unable to load template');\n return;\n }\n\n TemplateStore.template = template;\n\n const pageUris: Record<number, string> = {};\n for await (let page of TemplateStore.template.pages) {\n console.log('[TEMPLATES] Loading page', page);\n // TODO: Make an endpoint to get all of the pages for a template\n // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,\n // not the primary mechanism.\n const image = await getPageImage(endpoint, templateId, page.sequence);\n // TODO: Make this uri to match the rest of the terminology?\n pageUris[page.sequence] = image.url;\n console.log('[TEMPLATES] Got image Uri', image.url);\n TemplateStore.loadProgress = page.sequence / TemplateStore.template.pages.length;\n }\n\n TemplateStore.pageUris = pageUris;\n TemplateStore.loadProgress = 100;\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.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,CAAC,CAAC;IACzD,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);\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}
@@ -95,14 +95,14 @@ const VerdocsAuth$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
95
95
  }
96
96
  if (this.isAuthenticated) {
97
97
  if (this.debug) {
98
- return (h("div", { class: "status-result debug" }, h("verdocs-button", { label: "Logout", disabled: this.loggingIn, onPress: () => this.handleLogout() })));
98
+ return (h("div", { class: "status-result debug" }, h("verdocs-button", { label: "Logout", disabled: this.loggingIn, onClick: () => this.handleLogout() })));
99
99
  }
100
100
  return h("div", { class: "status-result" }, "Authenticated");
101
101
  }
102
102
  if (this.displayMode === 'signup') {
103
- return (h("div", { class: "signup-form" }, h("img", { src: this.logo, alt: "Verdocs Logo", class: "logo" }), h("h3", null, "Sign up for an account"), h("h4", null, "Already have an account?", h("verdocs-button", { label: "Log In", variant: "text", onClick: () => (this.displayMode = 'login'), disabled: this.loggingIn })), h("form", { onSubmit: () => this.handleLogin() }, h("verdocs-text-input", { label: "Email", autocomplete: "username", value: this.username, onInput: (e) => (this.username = e.target.value), disabled: this.loggingIn }), h("verdocs-text-input", { label: "Password", type: "password", autocomplete: "current-password", value: this.password, onInput: (e) => (this.password = e.target.value), disabled: this.loggingIn }), h("verdocs-button", { label: "Signup", disabled: this.loggingIn, onPress: () => this.handleLogin(), style: { display: 'flex', justifyContent: 'center', margin: '30px auto 0' } }))));
103
+ return (h("div", { class: "signup-form" }, h("img", { src: this.logo, alt: "Verdocs Logo", class: "logo" }), h("h3", null, "Sign up for an account"), h("h4", null, "Already have an account?", h("verdocs-button", { label: "Log In", variant: "text", onClick: () => (this.displayMode = 'login'), disabled: this.loggingIn })), h("form", { onSubmit: () => this.handleLogin() }, h("verdocs-text-input", { label: "Email", autocomplete: "username", value: this.username, onInput: (e) => (this.username = e.target.value), disabled: this.loggingIn }), h("verdocs-text-input", { label: "Password", type: "password", autocomplete: "current-password", value: this.password, onInput: (e) => (this.password = e.target.value), disabled: this.loggingIn }), h("verdocs-button", { label: "Signup", disabled: this.loggingIn, onClick: () => this.handleLogin(), style: { display: 'flex', justifyContent: 'center', margin: '30px auto 0' } }))));
104
104
  }
105
- return (h("div", { class: "login-form" }, h("img", { src: this.logo, alt: "Verdocs Logo", class: "logo" }), h("h3", null, "Log in to your account"), h("h4", null, "Don't have an account?", h("verdocs-button", { label: "Sign Up", variant: "text", onClick: () => (this.displayMode = 'signup'), disabled: this.loggingIn })), h("form", { onSubmit: () => this.handleLogin() }, h("verdocs-text-input", { label: "Email", autocomplete: "username", value: this.username, onInput: (e) => (this.username = e.target.value), disabled: this.loggingIn }), h("verdocs-text-input", { label: "Password", type: "password", autocomplete: "current-password", value: this.password, onInput: (e) => (this.password = e.target.value), disabled: this.loggingIn }), h("verdocs-button", { label: "Forgot Your Password?", variant: "text", onClick: () => (this.displayMode = 'signup'), disabled: this.loggingIn, style: { display: 'flex', justifyContent: 'center', margin: '10px auto 20px' } }), h("verdocs-button", { label: "Login", disabled: this.loggingIn, onPress: () => this.handleLogin(), style: { display: 'flex', justifyContent: 'center', margin: '10px auto 0' } })), this.loginError ? h("verdocs-ok-dialog", { open: true, heading: "Login Error", message: this.loginError, onClosed: () => this.handleClearError() }) : h("div", null)));
105
+ return (h("div", { class: "login-form" }, h("img", { src: this.logo, alt: "Verdocs Logo", class: "logo" }), h("h3", null, "Log in to your account"), h("h4", null, "Don't have an account?", h("verdocs-button", { label: "Sign Up", variant: "text", onClick: () => (this.displayMode = 'signup'), disabled: this.loggingIn })), h("form", { onSubmit: () => this.handleLogin() }, h("verdocs-text-input", { label: "Email", autocomplete: "username", value: this.username, onInput: (e) => (this.username = e.target.value), disabled: this.loggingIn }), h("verdocs-text-input", { label: "Password", type: "password", autocomplete: "current-password", value: this.password, onInput: (e) => (this.password = e.target.value), disabled: this.loggingIn }), h("verdocs-button", { label: "Forgot Your Password?", variant: "text", onClick: () => (this.displayMode = 'signup'), disabled: this.loggingIn, style: { display: 'flex', justifyContent: 'center', margin: '10px auto 20px' } }), h("verdocs-button", { label: "Login", disabled: this.loggingIn, onClick: () => this.handleLogin(), style: { display: 'flex', justifyContent: 'center', margin: '10px auto 0' } })), this.loginError ? h("verdocs-ok-dialog", { heading: "Login Error", message: this.loginError, onNext: () => this.handleClearError() }) : h("div", null)));
106
106
  }
107
107
  static get style() { return verdocsAuthCss; }
108
108
  }, [0, "verdocs-auth", {