@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 +1 @@
1
- {"version":3,"sources":["src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.scss?tag=verdocs-initial-dialog","src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.tsx"],"names":["verdocsInitialDialogCss","VerdocsInitialDialog","prototype","componentWillLoad","_this","this","enteredInitials","initials","toUpperCase","ds","FontFace","load","then","font","document","fonts","add","fontLoaded","componentDidLoad","redrawSignature","componentDidUpdate","canvasElement","canvasWidth","width","context","getContext","clearRect","height","fontSize","concat","measureText","textAlign","textBaseline","fillText","handleDismiss","e","stopPropagation","target","className","handleCancel","handleNameChange","value","handleAdopt","data","toDataURL","adopt","emit","open","cancel","render","h","Host","class","onClick","placeholder","label","onInput","tab","active","mode","ref","el","style","display","variant","onPress"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-initial-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n display: none;\n\n &.open {\n display: block;\n }\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n width: 100%;\n max-width: 340px;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n background: $dialog-bg;\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n padding: 20px 20px 0 20px;\n line-height: 28px;\n font-size: 20px;\n font-weight: 500;\n }\n\n .content {\n font-size: 14px;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n canvas {\n background: #fff;\n box-sizing: border-box;\n margin: 0 auto;\n width: 300px;\n // TODO: The original app had an aspect ratio of (80 / 305) * (signatureBodyWidth - 20)\n height: 79px;\n max-width: 100%;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n text-align: justify;\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .as-shown {\n font-size: 11px;\n margin: 4px 0 20px 4px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n\n .tab {\n padding: 8px 15px;\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid $light-border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n }\n }\n}\n","import {Component, Prop, Host, h, Event, EventEmitter, State} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify an initials image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their initials with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-initial-dialog',\n styleUrl: 'verdocs-initial-dialog.scss',\n})\nexport class VerdocsInitialDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() initials: string = '';\n\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() open: boolean = false;\n\n /**\n * Event fired when the initials are adopted.\n */\n @Event({composed: true}) adopt: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredInitials: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredInitials = this.initials.toUpperCase();\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n if (!this.canvasElement) {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredInitials).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredInitials, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n e.stopPropagation();\n if (e.target.className === 'background-overlay') {\n this.handleCancel();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredInitials = e.target.value;\n }\n\n handleAdopt() {\n const data = this.canvasElement.toDataURL('image/png');\n this.adopt.emit(data);\n this.open = false;\n }\n\n handleCancel() {\n this.cancel.emit();\n this.open = false;\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host class={{open: this.open}}>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Initial</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Initials...\" label=\"Initials\" value={this.enteredInitials} onInput={e => this.handleNameChange(e)} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n <div class=\"tabs\">\n <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>\n Type\n </div>\n <div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>\n Draw\n </div>\n </div>\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" variant=\"outline\" onPress={() => this.handleCancel()} />\n <verdocs-button label=\"Adopt & Sign\" onPress={() => this.handleAdopt()} />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.scss?tag=verdocs-initial-dialog","src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.tsx"],"names":["verdocsInitialDialogCss","VerdocsInitialDialog","prototype","componentWillLoad","_this","this","enteredInitials","initials","toUpperCase","ds","FontFace","load","then","font","document","fonts","add","fontLoaded","componentDidLoad","redrawSignature","componentDidUpdate","canvasElement","canvasWidth","width","context","getContext","clearRect","height","fontSize","concat","measureText","textAlign","textBaseline","fillText","handleDismiss","e","stopPropagation","target","className","handleCancel","handleNameChange","value","handleAdopt","data","toDataURL","next","emit","cancel","render","h","Host","class","onClick","placeholder","label","onInput","ref","el","style","display","variant"],"mappings":"oFAAA,IAAMA,wBAA0B,41DCUnBC,qBAAoB,8IAMJ,mBAYL,2BAEa,aAEX,OAExBA,EAAAC,UAAAC,kBAAA,WAAA,IAAAC,EAAAC,KACEA,KAAKC,gBAAkBD,KAAKE,SAASC,cAErC,IAAMC,EAAK,IAAIC,SAAS,iBAAkB,oHAC1CD,EAAGE,OAAOC,MAAK,SAAAC,GACbC,SAASC,MAAMC,IAAIH,GACnBT,EAAKa,WAAa,SAItBhB,EAAAC,UAAAgB,iBAAA,WACEb,KAAKc,mBAGPlB,EAAAC,UAAAkB,mBAAA,WACEf,KAAKc,mBAGPlB,EAAAC,UAAAiB,gBAAA,WACE,IAAKd,KAAKgB,cAAe,CACvB,OAGF,IAAMC,EAAcjB,KAAKgB,cAAcE,MAEvC,IAAMC,EAAUnB,KAAKgB,cAAcI,WAAW,MAC9CD,EAAQE,UAAU,EAAG,EAAGrB,KAAKgB,cAAcE,MAAOlB,KAAKgB,cAAcM,QAErE,IAAIC,EAAW,IACf,EAAG,CACDA,GAAY,EACZJ,EAAQX,KAAO,GAAAgB,OAAGD,EAAQ,2BACnBJ,EAAQM,YAAYzB,KAAKC,iBAAiBiB,MAAQD,EAAc,IAEzEE,EAAQO,UAAY,SACpBP,EAAQQ,aAAe,SACvBR,EAAQX,KAAO,GAAAgB,OAAGD,EAAQ,qBAC1BJ,EAAQS,SAAS5B,KAAKC,gBAAiBD,KAAKgB,cAAcE,MAAQ,EAAGlB,KAAKgB,cAAcM,OAAS,IAInG1B,EAAAC,UAAAgC,cAAA,SAAcC,GACZA,EAAEC,kBACF,GAAID,EAAEE,OAAOC,YAAc,qBAAsB,CAC/CjC,KAAKkC,iBAITtC,EAAAC,UAAAsC,iBAAA,SAAiBL,GACf9B,KAAKC,gBAAkB6B,EAAEE,OAAOI,OAGlCxC,EAAAC,UAAAwC,YAAA,WACE,IAAMC,EAAOtC,KAAKgB,cAAcuB,UAAU,aAC1CvC,KAAKwC,KAAKC,KAAKH,IAGjB1C,EAAAC,UAAAqC,aAAA,WACElC,KAAK0C,OAAOD,QAiKd7C,EAAAC,UAAA8C,OAAA,WAAA,IAAA5C,EAAAC,KACE,OACE4C,EAACC,KAAI,KACHD,EAAA,MAAA,CAAKE,MAAM,qBAAqBC,QAAS,SAAAjB,GAAK,OAAA/B,EAAK8B,cAAcC,KAC/Dc,EAAA,MAAA,CAAKE,MAAM,UACTF,EAAA,MAAA,CAAKE,MAAM,WAAS,uBAEpBF,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,qBAAA,CAAoBI,YAAY,cAAcC,MAAM,WAAWb,MAAOpC,KAAKC,gBAAiBiD,QAAS,SAAApB,GAAK,OAAA/B,EAAKoC,iBAAiBL,MAChIc,EAAA,MAAA,CAAKE,MAAM,YAAU,kDAWpB9C,KAAKY,WAAagC,EAAA,SAAA,CAAQO,IAAK,SAAAC,GAAE,OAAKrD,EAAKiB,cAAgBoC,KAA+BR,EAAA,MAAA,CAAKS,MAAO,CAACC,QAAS,UAEjHV,EAAA,MAAA,CAAKE,MAAM,cAAY,iQAKvBF,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,iBAAA,CAAgBK,MAAM,SAASM,QAAQ,UAAUR,QAAS,WAAM,OAAAhD,EAAKmC,kBACrEU,EAAA,iBAAA,CAAgBK,MAAM,eAAeF,QAAS,WAAM,OAAAhD,EAAKsC,gCAhRxC","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-initial-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n display: none;\n\n &.open {\n display: block;\n }\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n width: 100%;\n max-width: 340px;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n background: $dialog-bg;\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n padding: 20px 20px 0 20px;\n line-height: 28px;\n font-size: 20px;\n font-weight: 500;\n }\n\n .content {\n font-size: 14px;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n canvas {\n background: #fff;\n box-sizing: border-box;\n margin: 0 auto;\n width: 300px;\n // TODO: The original app had an aspect ratio of (80 / 305) * (signatureBodyWidth - 20)\n height: 79px;\n max-width: 100%;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n text-align: justify;\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .as-shown {\n font-size: 11px;\n margin: 4px 0 20px 4px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n\n .tab {\n padding: 8px 15px;\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid $light-border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n }\n }\n}\n","import {Component, Prop, Host, h, Event, EventEmitter, State} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify an initials image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their initials with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-initial-dialog',\n styleUrl: 'verdocs-initial-dialog.scss',\n})\nexport class VerdocsInitialDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() initials: string = '';\n\n /**\n * Event fired when the initials are adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredInitials: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredInitials = this.initials.toUpperCase();\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n if (!this.canvasElement) {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredInitials).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredInitials, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n e.stopPropagation();\n if (e.target.className === 'background-overlay') {\n this.handleCancel();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredInitials = e.target.value;\n }\n\n handleAdopt() {\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n handleCancel() {\n this.cancel.emit();\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Initial</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Initials...\" label=\"Initials\" value={this.enteredInitials} onInput={e => this.handleNameChange(e)} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n {/*<div class=\"tabs\">*/}\n {/* <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>*/}\n {/* Type*/}\n {/* </div>*/}\n {/* <div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>*/}\n {/* Draw*/}\n {/* </div>*/}\n {/*</div>*/}\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Adopt & Sign\" onClick={() => this.handleAdopt()} />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as registerInstance,c as createEvent,h,F as Fragment,H as Host}from"./index-f78d163d.js";var Question='<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 0C8.95313 0 0 8.95313 0 20C0 31.0469 8.95313 40 20 40C31.0469 40 40 31.0469 40 20C40 8.95313 31.0469 0 20 0ZM20 36.25C11.0391 36.25 3.75 28.9602 3.75 20C3.75 11.0398 11.0391 3.75 20 3.75C28.9609 3.75 36.25 11.0398 36.25 20C36.25 28.9602 28.9609 36.25 20 36.25Z" fill="white"/>\n<path d="M20 26.25C18.5938 26.25 17.5 27.3438 17.5 28.75C17.5 30.1562 18.5234 31.25 20 31.25C21.3359 31.25 22.5 30.1562 22.5 28.75C22.5 27.3438 21.3359 26.25 20 26.25ZM22.5859 10H18.5938C15.5469 10 13.125 12.4219 13.125 15.4688C13.125 16.4844 13.9844 17.3438 15 17.3438C16.0156 17.3438 16.875 16.4844 16.875 15.4688C16.875 14.5312 17.5859 13.75 18.5234 13.75H22.5156C23.5234 13.75 24.375 14.5312 24.375 15.4688C24.375 16.0938 24.0625 16.5703 23.5156 16.8828L19.0625 19.6094C18.4375 20 18.125 20.625 18.125 21.25V22.5C18.125 23.5156 18.9844 24.375 20 24.375C21.0156 24.375 21.875 23.5156 21.875 22.5V22.3438L25.3984 20.1562C27.0391 19.1406 28.0547 17.3438 28.0547 15.4688C28.125 12.4219 25.7031 10 22.5859 10Z" fill="#E7E7E7"/>\n</svg>\n';var verdocsKbaDialogCss='verdocs-kba-dialog{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-kba-dialog div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-kba-dialog .background-overlay{position:absolute;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#0000007f}verdocs-kba-dialog .dialog{width:440px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;background:#fff;padding:16px;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4)}verdocs-kba-dialog .heading{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;font-size:20px;font-weight:500}verdocs-kba-dialog .step{margin-left:6px;color:#666}verdocs-kba-dialog .help-box{background-color:#707ae5;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:14px 0;padding:14px;-ms-flex-align:center;align-items:center;color:white}verdocs-kba-dialog .help-details{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin-left:15px;font-size:14px}verdocs-kba-dialog .help-icon{width:40px;height:40px}verdocs-kba-dialog .help-title{font-weight:600;margin-bottom:4px}verdocs-kba-dialog .help-text{font-weight:400}verdocs-kba-dialog .choices{display:grid;gap:15px;grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));margin:0 0 15px 0}verdocs-kba-dialog .choice{border:1px solid #707ae5;border-radius:5px;display:-ms-flexbox;display:flex;height:60px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center;color:#5c6575;cursor:pointer}verdocs-kba-dialog .choice.selected{background-color:#707ae5;color:#ffffff}verdocs-kba-dialog .buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-kba-dialog .buttons verdocs-button{margin-left:16px}';var VerdocsKbaDialog=function(){function e(e){registerInstance(this,e);this.cancel=createEvent(this,"cancel",7);this.done=createEvent(this,"done",7);this.step=1;this.steps=3;this.helptitle="One Time Code";this.helptext="Please check your text messages for a security code, and enter the code below.";this.mode="choice";this.label="PIN";this.placeholder="Enter your PIN...";this.choices=["553 Arbor Dr","18 Lacey Ln","23A Ball Ct","2375 Cavallo Blvd","23-1 RR-7","151 Boulder Rd"];this.open=false;this.response=""}e.prototype.handleCancel=function(){this.cancel.emit();this.open=false};e.prototype.handleDismiss=function(e){if(e.target.className==="background-overlay"){e.preventDefault();this.handleCancel()}};e.prototype.handleDone=function(){this.done.emit(this.response);this.open=false};e.prototype.render=function(){var e=this;return h(Host,{style:{display:this.open?"block":"none"}},h("div",{class:"background-overlay",onClick:function(o){return e.handleDismiss(o)}},h("div",{class:"dialog"},h("div",{class:"heading"},"Confirm Your Identity",this.steps>1?h("span",{class:"step"},"(",this.step,"/",this.steps,")"):h(Fragment,null)),h("div",{class:"help-box"},h("div",{class:"help-icon",innerHTML:Question}),h("div",{class:"help-details"},h("div",{class:"help-title"},this.helptitle),h("div",{class:"help-text"},this.helptext))),this.mode==="choice"?h("div",{class:"choices"},this.choices.map((function(o){return h("div",{class:"choice ".concat(o===e.response?"selected":""),onClick:function(){e.response=o}},o)}))):h("div",{class:"input"},h("label",{htmlFor:"verdocs-kba-input"},this.label),h("input",{type:"text",id:"verdocs-kba-input",name:"verdocs-kba-input",placeholder:this.placeholder})),h("div",{class:"buttons"},h("verdocs-button",{label:"Cancel",variant:"outline",onPress:function(){return e.handleCancel()}}),h("verdocs-button",{label:"Done",onPress:function(){return e.handleDone()},disabled:!this.response})))))};return e}();VerdocsKbaDialog.style=verdocsKbaDialogCss;export{VerdocsKbaDialog as verdocs_kba_dialog};
1
+ import{r as registerInstance,c as createEvent,h,F as Fragment,H as Host}from"./index-f78d163d.js";var Question='<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 0C8.95313 0 0 8.95313 0 20C0 31.0469 8.95313 40 20 40C31.0469 40 40 31.0469 40 20C40 8.95313 31.0469 0 20 0ZM20 36.25C11.0391 36.25 3.75 28.9602 3.75 20C3.75 11.0398 11.0391 3.75 20 3.75C28.9609 3.75 36.25 11.0398 36.25 20C36.25 28.9602 28.9609 36.25 20 36.25Z" fill="white"/>\n<path d="M20 26.25C18.5938 26.25 17.5 27.3438 17.5 28.75C17.5 30.1562 18.5234 31.25 20 31.25C21.3359 31.25 22.5 30.1562 22.5 28.75C22.5 27.3438 21.3359 26.25 20 26.25ZM22.5859 10H18.5938C15.5469 10 13.125 12.4219 13.125 15.4688C13.125 16.4844 13.9844 17.3438 15 17.3438C16.0156 17.3438 16.875 16.4844 16.875 15.4688C16.875 14.5312 17.5859 13.75 18.5234 13.75H22.5156C23.5234 13.75 24.375 14.5312 24.375 15.4688C24.375 16.0938 24.0625 16.5703 23.5156 16.8828L19.0625 19.6094C18.4375 20 18.125 20.625 18.125 21.25V22.5C18.125 23.5156 18.9844 24.375 20 24.375C21.0156 24.375 21.875 23.5156 21.875 22.5V22.3438L25.3984 20.1562C27.0391 19.1406 28.0547 17.3438 28.0547 15.4688C28.125 12.4219 25.7031 10 22.5859 10Z" fill="#E7E7E7"/>\n</svg>\n';var verdocsKbaDialogCss='verdocs-kba-dialog{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-kba-dialog div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-kba-dialog .background-overlay{position:absolute;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#0000007f}verdocs-kba-dialog .dialog{width:440px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;background:#fff;padding:16px;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4)}verdocs-kba-dialog .heading{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;font-size:20px;font-weight:500}verdocs-kba-dialog .step{margin-left:6px;color:#666}verdocs-kba-dialog .help-box{background-color:#707ae5;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:14px 0;padding:14px;-ms-flex-align:center;align-items:center;color:white}verdocs-kba-dialog .help-details{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin-left:15px;font-size:14px}verdocs-kba-dialog .help-icon{width:40px;height:40px}verdocs-kba-dialog .help-title{font-weight:600;margin-bottom:4px}verdocs-kba-dialog .help-text{font-weight:400}verdocs-kba-dialog .choices{display:grid;gap:15px;grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));margin:0 0 15px 0}verdocs-kba-dialog .choice{border:1px solid #707ae5;border-radius:5px;display:-ms-flexbox;display:flex;height:60px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center;color:#5c6575;cursor:pointer}verdocs-kba-dialog .choice.selected{background-color:#707ae5;color:#ffffff}verdocs-kba-dialog .buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-kba-dialog .buttons verdocs-button{margin-left:16px}';var VerdocsKbaDialog=function(){function e(e){registerInstance(this,e);this.cancel=createEvent(this,"cancel",7);this.next=createEvent(this,"next",7);this.step=1;this.steps=3;this.helptitle="One Time Code";this.helptext="Please check your text messages for a security code, and enter the code below.";this.mode="choice";this.label="PIN";this.placeholder="Enter your PIN...";this.choices=["553 Arbor Dr","18 Lacey Ln","23A Ball Ct","2375 Cavallo Blvd","23-1 RR-7","151 Boulder Rd"];this.response=""}e.prototype.handleCancel=function(){this.cancel.emit()};e.prototype.handleDismiss=function(e){if(e.target.className==="background-overlay"){e.preventDefault();this.handleCancel()}};e.prototype.handleDone=function(){this.next.emit(this.response)};e.prototype.render=function(){var e=this;return h(Host,null,h("div",{class:"background-overlay",onClick:function(i){return e.handleDismiss(i)}},h("div",{class:"dialog"},h("div",{class:"heading"},"Confirm Your Identity",this.steps>1?h("span",{class:"step"},"(",this.step,"/",this.steps,")"):h(Fragment,null)),h("div",{class:"help-box"},h("div",{class:"help-icon",innerHTML:Question}),h("div",{class:"help-details"},h("div",{class:"help-title"},this.helptitle),h("div",{class:"help-text"},this.helptext))),this.mode==="choice"?h("div",{class:"choices"},this.choices.map((function(i){return h("div",{class:"choice ".concat(i===e.response?"selected":""),onClick:function(){e.response=i}},i)}))):h("div",{class:"input"},h("label",{htmlFor:"verdocs-kba-input"},this.label),h("input",{type:"text",id:"verdocs-kba-input",name:"verdocs-kba-input",placeholder:this.placeholder})),h("div",{class:"buttons"},h("verdocs-button",{label:"Cancel",variant:"outline",onClick:function(){return e.handleCancel()}}),h("verdocs-button",{label:"Done",onClick:function(){return e.handleDone()},disabled:!this.response})))))};return e}();VerdocsKbaDialog.style=verdocsKbaDialogCss;export{VerdocsKbaDialog as verdocs_kba_dialog};
2
2
  //# sourceMappingURL=verdocs-kba-dialog.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.scss?tag=verdocs-kba-dialog","src/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.tsx"],"names":["verdocsKbaDialogCss","VerdocsKbaDialog","prototype","handleCancel","this","cancel","emit","open","handleDismiss","e","target","className","preventDefault","handleDone","done","response","render","_this","h","Host","style","display","class","onClick","steps","step","Fragment","innerHTML","Question","helptitle","helptext","mode","choices","map","choice","concat","htmlFor","label","type","id","name","placeholder","variant","onPress","disabled"],"mappings":"stCAAA,IAAMA,oBAAsB,qkECYfC,iBAAgB,0IAIJ,aAKC,iBAKI,8BAKD,2FAKO,oBAKV,uBAKM,iCAKF,CAAC,eAAgB,cAAe,cAAe,oBAAqB,YAAa,4BAKrF,oBAYJ,GAEpBA,EAAAC,UAAAC,aAAA,WACEC,KAAKC,OAAOC,OACZF,KAAKG,KAAO,OAIdN,EAAAC,UAAAM,cAAA,SAAcC,GACZ,GAAIA,EAAEC,OAAOC,YAAc,qBAAsB,CAC/CF,EAAEG,iBACFR,KAAKD,iBAITF,EAAAC,UAAAW,WAAA,WACET,KAAKU,KAAKR,KAAKF,KAAKW,UACpBX,KAAKG,KAAO,OAGdN,EAAAC,UAAAc,OAAA,WAAA,IAAAC,EAAAb,KACE,OACEc,EAACC,KAAI,CAACC,MAAO,CAACC,QAASjB,KAAKG,KAAO,QAAU,SAC3CW,EAAA,MAAA,CAAKI,MAAM,qBAAqBC,QAAS,SAAAd,GAAK,OAAAQ,EAAKT,cAAcC,KAC/DS,EAAA,MAAA,CAAKI,MAAM,UACTJ,EAAA,MAAA,CAAKI,MAAM,WAAS,wBAEjBlB,KAAKoB,MAAQ,EACZN,EAAA,OAAA,CAAMI,MAAM,QAAM,IACdlB,KAAKqB,KAAI,IAAGrB,KAAKoB,MAAK,KAG1BN,EAACQ,SAAQ,OAIbR,EAAA,MAAA,CAAKI,MAAM,YACTJ,EAAA,MAAA,CAAKI,MAAM,YAAYK,UAAWC,WAClCV,EAAA,MAAA,CAAKI,MAAM,gBACTJ,EAAA,MAAA,CAAKI,MAAM,cAAclB,KAAKyB,WAC9BX,EAAA,MAAA,CAAKI,MAAM,aAAalB,KAAK0B,YAIhC1B,KAAK2B,OAAS,SACbb,EAAA,MAAA,CAAKI,MAAM,WACRlB,KAAK4B,QAAQC,KAAI,SAAAC,GAAM,OACtBhB,EAAA,MAAA,CACEI,MAAO,UAAAa,OAAUD,IAAWjB,EAAKF,SAAW,WAAa,IACzDQ,QAAS,WACPN,EAAKF,SAAWmB,IAGjBA,OAKPhB,EAAA,MAAA,CAAKI,MAAM,SACTJ,EAAA,QAAA,CAAOkB,QAAQ,qBAAqBhC,KAAKiC,OACzCnB,EAAA,QAAA,CAAOoB,KAAK,OAAOC,GAAG,oBAAoBC,KAAK,oBAAoBC,YAAarC,KAAKqC,eAIzFvB,EAAA,MAAA,CAAKI,MAAM,WACTJ,EAAA,iBAAA,CAAgBmB,MAAM,SAASK,QAAQ,UAAUC,QAAS,WAAM,OAAA1B,EAAKd,kBACrEe,EAAA,iBAAA,CAAgBmB,MAAM,OAAOM,QAAS,WAAM,OAAA1B,EAAKJ,cAAc+B,UAAWxC,KAAKW,yBA1HhE","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-kba-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n width: 440px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: #fff;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n font-size: 20px;\n font-weight: 500;\n }\n\n .step {\n margin-left: 6px;\n color: #666;\n }\n\n .help-box {\n background-color: $border-color;\n display: flex;\n flex-direction: row;\n margin: 14px 0;\n padding: 14px;\n align-items: center;\n color: white;\n }\n\n .help-details {\n display: flex;\n flex-direction: column;\n margin-left: 15px;\n font-size: 14px;\n }\n\n .help-icon {\n width: 40px;\n height: 40px;\n }\n\n .help-title {\n font-weight: 600;\n margin-bottom: 4px;\n }\n\n .help-text {\n font-weight: 400;\n }\n\n .choices {\n display: grid;\n gap: 15px;\n grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\n margin: 0 0 15px 0;\n }\n\n .choice {\n border: 1px solid $border-color;\n border-radius: 5px;\n display: flex;\n height: 60px;\n justify-content: center;\n align-items: center;\n text-align: center;\n color: $choice-available-color;\n cursor: pointer;\n\n &.selected {\n background-color: $border-color;\n color: $verdocs-grey-4;\n }\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Fragment, Host, State} from '@stencil/core';\nimport Question from './question.svg';\n\n/**\n * Display a text input field. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-kba-dialog',\n styleUrl: 'verdocs-kba-dialog.scss',\n})\nexport class VerdocsKbaDialog {\n /**\n * Which step this confirmation is for, in a multi-step process. Ignored if `steps` is < 2.\n */\n @Prop() step: number = 1;\n\n /**\n * How many steps exist in a multi-step process. Set to 1 for a single-step process (hides the indicator).\n */\n @Prop() steps: number = 3;\n\n /**\n * If set, a help/instructions box will be displayed with this title\n */\n @Prop() helptitle: string = 'One Time Code';\n\n /**\n * If set, a help/instructions box will be displayed with this text\n */\n @Prop() helptext: string = 'Please check your text messages for a security code, and enter the code below.';\n\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() mode: 'text' | 'choice' = 'choice';\n\n /**\n * For text input challenges, the label to display next to the input field.\n */\n @Prop() label: string = 'PIN';\n\n /**\n * For text input challenges, the placeholder to display inside the input field.\n */\n @Prop() placeholder: string = 'Enter your PIN...';\n\n /**\n * For choice challenges, a set of choices to choose from. 6 choices is recommended to fit most screen sizes.\n */\n @Prop() choices: string[] = ['553 Arbor Dr', '18 Lacey Ln', '23A Ball Ct', '2375 Cavallo Blvd', '23-1 RR-7', '151 Boulder Rd'];\n\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() open: boolean = false;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the closure reason.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the closure reason.\n */\n @Event({composed: true}) done: EventEmitter<string>;\n\n @State() response = '';\n\n handleCancel() {\n this.cancel.emit();\n this.open = false;\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.done.emit(this.response);\n this.open = false;\n }\n\n render() {\n return (\n <Host style={{display: this.open ? 'block' : 'none'}}>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">\n Confirm Your Identity\n {this.steps > 1 ? (\n <span class=\"step\">\n ({this.step}/{this.steps})\n </span>\n ) : (\n <Fragment />\n )}\n </div>\n\n <div class=\"help-box\">\n <div class=\"help-icon\" innerHTML={Question} />\n <div class=\"help-details\">\n <div class=\"help-title\">{this.helptitle}</div>\n <div class=\"help-text\">{this.helptext}</div>\n </div>\n </div>\n\n {this.mode === 'choice' ? (\n <div class=\"choices\">\n {this.choices.map(choice => (\n <div\n class={`choice ${choice === this.response ? 'selected' : ''}`}\n onClick={() => {\n this.response = choice;\n }}\n >\n {choice}\n </div>\n ))}\n </div>\n ) : (\n <div class=\"input\">\n <label htmlFor=\"verdocs-kba-input\">{this.label}</label>\n <input type=\"text\" id=\"verdocs-kba-input\" name=\"verdocs-kba-input\" placeholder={this.placeholder} />\n </div>\n )}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onPress={() => this.handleCancel()} />\n <verdocs-button label=\"Done\" onPress={() => this.handleDone()} disabled={!this.response} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.scss?tag=verdocs-kba-dialog","src/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.tsx"],"names":["verdocsKbaDialogCss","VerdocsKbaDialog","prototype","handleCancel","this","cancel","emit","handleDismiss","e","target","className","preventDefault","handleDone","next","response","render","_this","h","Host","class","onClick","steps","step","Fragment","innerHTML","Question","helptitle","helptext","mode","choices","map","choice","concat","htmlFor","label","type","id","name","placeholder","variant","disabled"],"mappings":"stCAAA,IAAMA,oBAAsB,qkECYfC,iBAAgB,0IAIJ,aAKC,iBAKI,8BAKD,2FAKO,oBAKV,uBAKM,iCAKF,CAAC,eAAgB,cAAe,cAAe,oBAAqB,YAAa,gCAYzF,GAEpBA,EAAAC,UAAAC,aAAA,WACEC,KAAKC,OAAOC,QAIdL,EAAAC,UAAAK,cAAA,SAAcC,GACZ,GAAIA,EAAEC,OAAOC,YAAc,qBAAsB,CAC/CF,EAAEG,iBACFP,KAAKD,iBAITF,EAAAC,UAAAU,WAAA,WACER,KAAKS,KAAKP,KAAKF,KAAKU,WAGtBb,EAAAC,UAAAa,OAAA,WAAA,IAAAC,EAAAZ,KACE,OACEa,EAACC,KAAI,KACHD,EAAA,MAAA,CAAKE,MAAM,qBAAqBC,QAAS,SAAAZ,GAAK,OAAAQ,EAAKT,cAAcC,KAC/DS,EAAA,MAAA,CAAKE,MAAM,UACTF,EAAA,MAAA,CAAKE,MAAM,WAAS,wBAEjBf,KAAKiB,MAAQ,EACZJ,EAAA,OAAA,CAAME,MAAM,QAAM,IACdf,KAAKkB,KAAI,IAAGlB,KAAKiB,MAAK,KAG1BJ,EAACM,SAAQ,OAIbN,EAAA,MAAA,CAAKE,MAAM,YACTF,EAAA,MAAA,CAAKE,MAAM,YAAYK,UAAWC,WAClCR,EAAA,MAAA,CAAKE,MAAM,gBACTF,EAAA,MAAA,CAAKE,MAAM,cAAcf,KAAKsB,WAC9BT,EAAA,MAAA,CAAKE,MAAM,aAAaf,KAAKuB,YAIhCvB,KAAKwB,OAAS,SACbX,EAAA,MAAA,CAAKE,MAAM,WACRf,KAAKyB,QAAQC,KAAI,SAAAC,GAAM,OACtBd,EAAA,MAAA,CACEE,MAAO,UAAAa,OAAUD,IAAWf,EAAKF,SAAW,WAAa,IACzDM,QAAS,WACPJ,EAAKF,SAAWiB,IAGjBA,OAKPd,EAAA,MAAA,CAAKE,MAAM,SACTF,EAAA,QAAA,CAAOgB,QAAQ,qBAAqB7B,KAAK8B,OACzCjB,EAAA,QAAA,CAAOkB,KAAK,OAAOC,GAAG,oBAAoBC,KAAK,oBAAoBC,YAAalC,KAAKkC,eAIzFrB,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,iBAAA,CAAgBiB,MAAM,SAASK,QAAQ,UAAUnB,QAAS,WAAM,OAAAJ,EAAKb,kBACrEc,EAAA,iBAAA,CAAgBiB,MAAM,OAAOd,QAAS,WAAM,OAAAJ,EAAKJ,cAAc4B,UAAWpC,KAAKU,yBAnHhE","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-kba-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n width: 440px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: #fff;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n font-size: 20px;\n font-weight: 500;\n }\n\n .step {\n margin-left: 6px;\n color: #666;\n }\n\n .help-box {\n background-color: $border-color;\n display: flex;\n flex-direction: row;\n margin: 14px 0;\n padding: 14px;\n align-items: center;\n color: white;\n }\n\n .help-details {\n display: flex;\n flex-direction: column;\n margin-left: 15px;\n font-size: 14px;\n }\n\n .help-icon {\n width: 40px;\n height: 40px;\n }\n\n .help-title {\n font-weight: 600;\n margin-bottom: 4px;\n }\n\n .help-text {\n font-weight: 400;\n }\n\n .choices {\n display: grid;\n gap: 15px;\n grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\n margin: 0 0 15px 0;\n }\n\n .choice {\n border: 1px solid $border-color;\n border-radius: 5px;\n display: flex;\n height: 60px;\n justify-content: center;\n align-items: center;\n text-align: center;\n color: $choice-available-color;\n cursor: pointer;\n\n &.selected {\n background-color: $border-color;\n color: $verdocs-grey-4;\n }\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Fragment, Host, State} from '@stencil/core';\nimport Question from './question.svg';\n\n/**\n * Display a text input field. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-kba-dialog',\n styleUrl: 'verdocs-kba-dialog.scss',\n})\nexport class VerdocsKbaDialog {\n /**\n * Which step this confirmation is for, in a multi-step process. Ignored if `steps` is < 2.\n */\n @Prop() step: number = 1;\n\n /**\n * How many steps exist in a multi-step process. Set to 1 for a single-step process (hides the indicator).\n */\n @Prop() steps: number = 3;\n\n /**\n * If set, a help/instructions box will be displayed with this title\n */\n @Prop() helptitle: string = 'One Time Code';\n\n /**\n * If set, a help/instructions box will be displayed with this text\n */\n @Prop() helptext: string = 'Please check your text messages for a security code, and enter the code below.';\n\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() mode: 'text' | 'choice' = 'choice';\n\n /**\n * For text input challenges, the label to display next to the input field.\n */\n @Prop() label: string = 'PIN';\n\n /**\n * For text input challenges, the placeholder to display inside the input field.\n */\n @Prop() placeholder: string = 'Enter your PIN...';\n\n /**\n * For choice challenges, a set of choices to choose from. 6 choices is recommended to fit most screen sizes.\n */\n @Prop() choices: string[] = ['553 Arbor Dr', '18 Lacey Ln', '23A Ball Ct', '2375 Cavallo Blvd', '23-1 RR-7', '151 Boulder Rd'];\n\n /**\n * Event fired when the dialog is closed. The event data will contain the closure reason.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the value selected.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n @State() response = '';\n\n handleCancel() {\n this.cancel.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.next.emit(this.response);\n }\n\n render() {\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">\n Confirm Your Identity\n {this.steps > 1 ? (\n <span class=\"step\">\n ({this.step}/{this.steps})\n </span>\n ) : (\n <Fragment />\n )}\n </div>\n\n <div class=\"help-box\">\n <div class=\"help-icon\" innerHTML={Question} />\n <div class=\"help-details\">\n <div class=\"help-title\">{this.helptitle}</div>\n <div class=\"help-text\">{this.helptext}</div>\n </div>\n </div>\n\n {this.mode === 'choice' ? (\n <div class=\"choices\">\n {this.choices.map(choice => (\n <div\n class={`choice ${choice === this.response ? 'selected' : ''}`}\n onClick={() => {\n this.response = choice;\n }}\n >\n {choice}\n </div>\n ))}\n </div>\n ) : (\n <div class=\"input\">\n <label htmlFor=\"verdocs-kba-input\">{this.label}</label>\n <input type=\"text\" id=\"verdocs-kba-input\" name=\"verdocs-kba-input\" placeholder={this.placeholder} />\n </div>\n )}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Done\" onClick={() => this.handleDone()} disabled={!this.response} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","src/components/controls/verdocs-loader/verdocs-loader.tsx","src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","src/components/embeds/verdocs-view/verdocs-view.tsx","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.scss?tag=verdocs-view-envelope-document","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.tsx","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.scss?tag=verdocs-view-template-document","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.tsx"],"names":["verdocsLoaderCss","VerdocsLoader","prototype","render","h","Host","verdocsViewCss","VerdocsView","VerdocsEndpoint","getDefault","name","type","class_1","componentWillLoad","this","endpoint","loadSession","componentDidLoad","templateId","envelopeId","console","error","warn","log","_d","getTemplate","template","_f","sent","_e","getEnvelope","envelope","e_1","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","_this","documentId","template_document","id","onPageRendered","p","pageRendered","detail","envelope_document_id","verdocsViewEnvelopeDocumentCss","VerdocsViewEnvelopeDocument","domPages","sourcePageMetrics","class_2","concat","getEnvelopeDocument","envelopeDocument","e_2","renderPage","pageNumber","domPage","pageMetrics","renderedPage","pages","e","handlePageRendered","stopPropagation","__spreadArray","sort","a","b","sequence","map","page","pageImageUri","display_uri","virtualWidth","virtualHeight","layers","pageLayers","verdocsViewTemplateDocumentCss","VerdocsViewTemplateDocument","class_3","getTemplateDocument","templateDocument","e_3"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","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","@import '../../../theme.scss';\n\nverdocs-view-envelope-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelopeDocument} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getEnvelopeDocument} 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 a single document attached to an envelope. Note that envelopes always require authentication to access them. If you are viewing\n * this component in Storybook, visit Embeds > Auth first to log in, then paste a valid envelopeId and documentId in the properties\n * below from your account to view that envelope. If you want to see an anonymous-access use case, this component is functionally similar\n * to ViewTemplateDocument, which is pre-configured to display a public template.\n */\n@Component({\n tag: 'verdocs-view-envelope-document',\n styleUrl: 'verdocs-view-envelope-document.scss',\n shadow: false,\n})\nexport class VerdocsViewEnvelopeDocument {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The document ID to render\n */\n @Prop() documentId: 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() envelopeDocument: IEnvelopeDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.envelopeId || !this.documentId) {\n console.log(`[VIEW-ENVELOPE] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-ENVELOPE] Loading envelope ${this.envelopeId}`);\n this.envelopeDocument = await getEnvelopeDocument(this.endpoint, this.envelopeId, this.documentId);\n if (!this.envelopeDocument) {\n console.error('[VIEW-ENVELOPE] Unable to load envelope document', this.envelopeId, this.documentId);\n }\n\n console.log('[VIEW-ENVELOPE] Got envelope document', this.envelopeDocument);\n } catch (e) {\n console.log('[VIEW-ENVELOPE] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\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-ENVELOPE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n console.log('[VIEW-ENVELOPE] 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-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] 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-ENVELOPE] 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-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] 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-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] 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-TEMPLATE] 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-TEMPLATE] 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-ENVELOPE] Rendering pages', this.envelopeDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view-template-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {getTemplateDocument} from '@verdocs/js-sdk/Templates/TemplateDocuments';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {ITemplateDocument} from '@verdocs/js-sdk/Templates/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 a single document attached to a template. Note that if you are accessing a template that is not public, you must be authenticated.\n * You can authenticate within this Storybook via the Embeds > Auth control.\n */\n@Component({\n tag: 'verdocs-view-template-document',\n styleUrl: 'verdocs-view-template-document.scss',\n shadow: false,\n})\nexport class VerdocsViewTemplateDocument {\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\n */\n @Prop() templateId: string = '';\n\n /**\n * The document ID to render within the template\n */\n @Prop() documentId: 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() templateDocument: ITemplateDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\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.documentId) {\n console.log(`[VIEW-TEMPLATE] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-TEMPLATE] Loading template ${this.templateId}`);\n this.templateDocument = await getTemplateDocument(this.endpoint, this.templateId, this.documentId);\n if (!this.templateDocument) {\n console.error('[VIEW-TEMPLATE] Unable to load template document', this.templateId, this.documentId);\n }\n\n console.log('[VIEW-TEMPLATE] Got template', this.templateDocument);\n } catch (e) {\n console.log('[VIEW-TEMPLATE] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\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-TEMPLATE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n // console.log('[VIEW-TEMPLATE] 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-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] 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-TEMPLATE] 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-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] 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-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] 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-TEMPLATE] 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-TEMPLATE] 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-TEMPLATE] Rendering pages', this.templateDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.templateDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","src/components/controls/verdocs-loader/verdocs-loader.tsx","src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","src/components/embeds/verdocs-view/verdocs-view.tsx","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.scss?tag=verdocs-view-envelope-document","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.tsx","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.scss?tag=verdocs-view-template-document","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.tsx"],"names":["verdocsLoaderCss","VerdocsLoader","prototype","render","h","Host","verdocsViewCss","VerdocsView","VerdocsEndpoint","getDefault","name","type","class_1","componentWillLoad","this","endpoint","loadSession","componentDidLoad","templateId","envelopeId","console","error","warn","log","_d","getTemplate","template","_f","sent","_e","getEnvelope","envelope","e_1","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","_this","documentId","template_document","id","onPageRendered","p","pageRendered","detail","envelope_document_id","verdocsViewEnvelopeDocumentCss","VerdocsViewEnvelopeDocument","domPages","sourcePageMetrics","class_2","concat","getEnvelopeDocument","envelopeDocument","e_2","renderPage","pageNumber","domPage","pageMetrics","renderedPage","pages","e","handlePageRendered","stopPropagation","__spreadArray","sort","a","b","sequence","map","page","pageImageUri","display_uri","virtualWidth","virtualHeight","layers","pageLayers","verdocsViewTemplateDocumentCss","VerdocsViewTemplateDocument","class_3","getTemplateDocument","templateDocument","e_3"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","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","@import '../../../theme.scss';\n\nverdocs-view-envelope-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelopeDocument} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getEnvelopeDocument} 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 a single document attached to an envelope. Note that envelopes always require authentication to access them. If you are viewing\n * this component in Storybook, visit Embeds > Auth first to log in, then paste a valid envelopeId and documentId in the properties\n * below from your account to view that envelope. If you want to see an anonymous-access use case, this component is functionally similar\n * to ViewTemplateDocument, which is pre-configured to display a public template.\n */\n@Component({\n tag: 'verdocs-view-envelope-document',\n styleUrl: 'verdocs-view-envelope-document.scss',\n shadow: false,\n})\nexport class VerdocsViewEnvelopeDocument {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The document ID to render\n */\n @Prop() documentId: 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() envelopeDocument: IEnvelopeDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.envelopeId || !this.documentId) {\n console.log(`[VIEW-ENVELOPE] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-ENVELOPE] Loading envelope ${this.envelopeId}`);\n this.envelopeDocument = await getEnvelopeDocument(this.endpoint, this.envelopeId, this.documentId);\n if (!this.envelopeDocument) {\n console.error('[VIEW-ENVELOPE] Unable to load envelope document', this.envelopeId, this.documentId);\n }\n\n console.log('[VIEW-ENVELOPE] Got envelope document', this.envelopeDocument);\n } catch (e) {\n console.log('[VIEW-ENVELOPE] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\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-ENVELOPE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n console.log('[VIEW-ENVELOPE] 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-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] 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-ENVELOPE] 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-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] 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-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] 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-TEMPLATE] 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-TEMPLATE] 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-ENVELOPE] Rendering pages', this.envelopeDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view-template-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {getTemplateDocument} from '@verdocs/js-sdk/Templates/TemplateDocuments';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {ITemplateDocument} from '@verdocs/js-sdk/Templates/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 a single document attached to a template. Note that if you are accessing a template that is not public, you must be authenticated.\n * You can authenticate within this Storybook via the Embeds > Auth control.\n */\n@Component({\n tag: 'verdocs-view-template-document',\n styleUrl: 'verdocs-view-template-document.scss',\n shadow: false,\n})\nexport class VerdocsViewTemplateDocument {\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\n */\n @Prop() templateId: string = '';\n\n /**\n * The document ID to render within the template\n */\n @Prop() documentId: 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() templateDocument: ITemplateDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\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.documentId) {\n console.log(`[VIEW-TEMPLATE] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-TEMPLATE] Loading template ${this.templateId}`);\n this.templateDocument = await getTemplateDocument(this.endpoint, this.templateId, this.documentId);\n if (!this.templateDocument) {\n console.error('[VIEW-TEMPLATE] Unable to load template document', this.templateId, this.documentId);\n }\n\n console.log('[VIEW-TEMPLATE] Got template', this.templateDocument);\n } catch (e) {\n console.log('[VIEW-TEMPLATE] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\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-TEMPLATE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n // console.log('[VIEW-TEMPLATE] 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-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] 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-TEMPLATE] 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-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] 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-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] 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-TEMPLATE] 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-TEMPLATE] 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-TEMPLATE] Rendering pages', this.templateDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.templateDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";var verdocsOkDialogCss='verdocs-ok-dialog{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-ok-dialog .background-overlay{position:absolute;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#0000007f}verdocs-ok-dialog .dialog{max-width:50%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4)}verdocs-ok-dialog .heading{display:-ms-flexbox;display:flex;font-size:16px;-ms-flex-direction:row;flex-direction:row;background:#444444;padding:8px 16px;color:#ffffff}verdocs-ok-dialog .content{font-size:16px;background:#ffffff;padding:20px}verdocs-ok-dialog .buttons{display:-ms-flexbox;display:flex;margin:20px 0 0 0;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}verdocs-ok-dialog .buttons verdocs-button{margin-left:16px}';var VerdocsOkDialog=function(){function e(e){registerInstance(this,e);this.closed=createEvent(this,"closed",7);this.heading="";this.message="";this.open=false;this.cancel=false}e.prototype.handleClose=function(e){this.closed.emit(e);this.open=false};e.prototype.handleDismiss=function(e){if(e.target.className==="background-overlay"){e.preventDefault();this.handleClose("cancel")}};e.prototype.render=function(){var e=this;return h(Host,{style:{display:this.open?"block":"none"}},h("div",{class:"background-overlay",onClick:function(o){return e.handleDismiss(o)}},h("div",{class:"dialog"},h("div",{class:"heading"},this.heading),h("div",{class:"content"},this.message,h("div",{class:"buttons"},this.cancel?h("verdocs-button",{label:"CANCEL",variant:"outline",onPress:function(){return e.handleClose("cancel")}}):h("div",{style:{display:"none"}}),h("verdocs-button",{label:"OK",onPress:function(){return e.handleClose("ok")}}))))))};return e}();VerdocsOkDialog.style=verdocsOkDialogCss;export{VerdocsOkDialog as verdocs_ok_dialog};
1
+ import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";var verdocsOkDialogCss='verdocs-ok-dialog{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-ok-dialog .background-overlay{position:absolute;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#0000007f}verdocs-ok-dialog .dialog{max-width:50%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4)}verdocs-ok-dialog .heading{display:-ms-flexbox;display:flex;font-size:16px;-ms-flex-direction:row;flex-direction:row;background:#444444;padding:8px 16px;color:#ffffff}verdocs-ok-dialog .content{font-size:16px;background:#ffffff;padding:20px}verdocs-ok-dialog .buttons{display:-ms-flexbox;display:flex;margin:20px 0 0 0;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}verdocs-ok-dialog .buttons verdocs-button{margin-left:16px}';var VerdocsOkDialog=function(){function e(e){registerInstance(this,e);this.next=createEvent(this,"next",7);this.cancel=createEvent(this,"cancel",7);this.heading="";this.message="";this.showCancel=false}e.prototype.handleOk=function(){this.next.emit()};e.prototype.handleCancel=function(){this.cancel.emit()};e.prototype.handleDismiss=function(e){if(e.target.className==="background-overlay"){e.preventDefault();this.cancel.emit()}};e.prototype.render=function(){var e=this;return h(Host,null,h("div",{class:"background-overlay",onClick:function(o){return e.handleDismiss(o)}},h("div",{class:"dialog"},h("div",{class:"heading"},this.heading),h("div",{class:"content"},this.message,h("div",{class:"buttons"},this.showCancel?h("verdocs-button",{label:"CANCEL",variant:"outline",onClick:function(){return e.handleCancel()}}):h("div",{style:{display:"none"}}),h("verdocs-button",{label:"OK",onClick:function(){return e.handleOk()}}))))))};return e}();VerdocsOkDialog.style=verdocsOkDialogCss;export{VerdocsOkDialog as verdocs_ok_dialog};
2
2
  //# sourceMappingURL=verdocs-ok-dialog.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.scss?tag=verdocs-ok-dialog","src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.tsx"],"names":["verdocsOkDialogCss","VerdocsOkDialog","prototype","handleClose","reason","this","closed","emit","open","handleDismiss","e","target","className","preventDefault","render","_this","h","Host","style","display","class","onClick","heading","message","cancel","label","variant","onPress"],"mappings":"oFAAA,IAAMA,mBAAqB,0lCCWdC,gBAAe,wGAIA,gBAKA,aAKF,kBAME,MAO1BA,EAAAC,UAAAC,YAAA,SAAYC,GACVC,KAAKC,OAAOC,KAAKH,GACjBC,KAAKG,KAAO,OAIdP,EAAAC,UAAAO,cAAA,SAAcC,GACZ,GAAIA,EAAEC,OAAOC,YAAc,qBAAsB,CAC/CF,EAAEG,iBACFR,KAAKF,YAAY,YAIrBF,EAAAC,UAAAY,OAAA,WAAA,IAAAC,EAAAV,KACE,OACEW,EAACC,KAAI,CAACC,MAAO,CAACC,QAASd,KAAKG,KAAO,QAAU,SAC3CQ,EAAA,MAAA,CAAKI,MAAM,qBAAqBC,QAAS,SAAAX,GAAK,OAAAK,EAAKN,cAAcC,KAC/DM,EAAA,MAAA,CAAKI,MAAM,UACTJ,EAAA,MAAA,CAAKI,MAAM,WAAWf,KAAKiB,SAC3BN,EAAA,MAAA,CAAKI,MAAM,WACRf,KAAKkB,QAENP,EAAA,MAAA,CAAKI,MAAM,WACRf,KAAKmB,OAASR,EAAA,iBAAA,CAAgBS,MAAM,SAASC,QAAQ,UAAUC,QAAS,WAAM,OAAAZ,EAAKZ,YAAY,aAAgBa,EAAA,MAAA,CAAKE,MAAO,CAACC,QAAS,UACtIH,EAAA,iBAAA,CAAgBS,MAAM,KAAKE,QAAS,WAAM,OAAAZ,EAAKZ,YAAY,wBAnD/C","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-ok-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n max-width: 50%;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 16px;\n flex-direction: row;\n background: #444444;\n padding: 8px 16px;\n color: $verdocs-grey-4;\n }\n\n .content {\n font-size: 16px;\n background: $verdocs-grey-4;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host} from '@stencil/core';\n\n/**\n * Display a simple text dialog box with an Ok button. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-ok-dialog',\n styleUrl: 'verdocs-ok-dialog.scss',\n})\nexport class VerdocsOkDialog {\n /**\n * The title of the dialog. \"title\" is a reserved word, so we use heading.\n */\n @Prop() heading: string = '';\n\n /**\n * The message content to display.\n */\n @Prop() message: string = '';\n\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() open: boolean = false;\n\n /**\n * If set, a cancel button will also be displayed. Note that the dialog is always cancelable by clicking the background\n * overlay to dismiss it.\n */\n @Prop() cancel: boolean = false;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the closure reason.\n */\n @Event({composed: true}) closed: EventEmitter<'cancel' | 'ok'>;\n\n handleClose(reason: 'cancel' | 'ok') {\n this.closed.emit(reason);\n this.open = false;\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.handleClose('cancel');\n }\n }\n\n render() {\n return (\n <Host style={{display: this.open ? 'block' : 'none'}}>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">{this.heading}</div>\n <div class=\"content\">\n {this.message}\n\n <div class=\"buttons\">\n {this.cancel ? <verdocs-button label=\"CANCEL\" variant=\"outline\" onPress={() => this.handleClose('cancel')} /> : <div style={{display: 'none'}} />}\n <verdocs-button label=\"OK\" onPress={() => this.handleClose('ok')} />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.scss?tag=verdocs-ok-dialog","src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.tsx"],"names":["verdocsOkDialogCss","VerdocsOkDialog","prototype","handleOk","this","next","emit","handleCancel","cancel","handleDismiss","e","target","className","preventDefault","render","_this","h","Host","class","onClick","heading","message","showCancel","label","variant","style","display"],"mappings":"oFAAA,IAAMA,mBAAqB,0lCCWdC,gBAAe,6IAIA,gBAKA,mBAMI,MAY9BA,EAAAC,UAAAC,SAAA,WACEC,KAAKC,KAAKC,QAGZL,EAAAC,UAAAK,aAAA,WACEH,KAAKI,OAAOF,QAIdL,EAAAC,UAAAO,cAAA,SAAcC,GACZ,GAAIA,EAAEC,OAAOC,YAAc,qBAAsB,CAC/CF,EAAEG,iBACFT,KAAKI,OAAOF,SAIhBL,EAAAC,UAAAY,OAAA,WAAA,IAAAC,EAAAX,KACE,OACEY,EAACC,KAAI,KACHD,EAAA,MAAA,CAAKE,MAAM,qBAAqBC,QAAS,SAAAT,GAAK,OAAAK,EAAKN,cAAcC,KAC/DM,EAAA,MAAA,CAAKE,MAAM,UACTF,EAAA,MAAA,CAAKE,MAAM,WAAWd,KAAKgB,SAC3BJ,EAAA,MAAA,CAAKE,MAAM,WACRd,KAAKiB,QAENL,EAAA,MAAA,CAAKE,MAAM,WACRd,KAAKkB,WAAaN,EAAA,iBAAA,CAAgBO,MAAM,SAASC,QAAQ,UAAUL,QAAS,WAAM,OAAAJ,EAAKR,kBAAqBS,EAAA,MAAA,CAAKS,MAAO,CAACC,QAAS,UACnIV,EAAA,iBAAA,CAAgBO,MAAM,KAAKJ,QAAS,WAAM,OAAAJ,EAAKZ,6BAtDnC","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-ok-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n max-width: 50%;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 16px;\n flex-direction: row;\n background: #444444;\n padding: 8px 16px;\n color: $verdocs-grey-4;\n }\n\n .content {\n font-size: 16px;\n background: $verdocs-grey-4;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host} from '@stencil/core';\n\n/**\n * Display a simple text dialog box with an Ok button. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-ok-dialog',\n styleUrl: 'verdocs-ok-dialog.scss',\n})\nexport class VerdocsOkDialog {\n /**\n * The title of the dialog. \"title\" is a reserved word, so we use heading.\n */\n @Prop() heading: string = '';\n\n /**\n * The message content to display.\n */\n @Prop() message: string = '';\n\n /**\n * If set, a cancel button will also be displayed. Note that the dialog is always cancelable by clicking the background\n * overlay to dismiss it.\n */\n @Prop() showCancel: boolean = false;\n\n /**\n * Event fired when the user clicks the OK button.\n */\n @Event({composed: true}) next: EventEmitter;\n\n /**\n * Event fired when the user clicks the background overlay or Cancel button.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n handleOk() {\n this.next.emit();\n }\n\n handleCancel() {\n this.cancel.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.cancel.emit();\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">{this.heading}</div>\n <div class=\"content\">\n {this.message}\n\n <div class=\"buttons\">\n {this.showCancel ? <verdocs-button label=\"CANCEL\" variant=\"outline\" onClick={() => this.handleCancel()} /> : <div style={{display: 'none'}} />}\n <verdocs-button label=\"OK\" onClick={() => this.handleOk()} />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n["throw"](e))}catch(e){a(e)}}function l(e){e.done?r(e.value):o(e.value).then(i,s)}l((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,o,a,i;return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(e){return function(t){return l([e,t])}}function l(i){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,o&&(a=i[0]&2?o["return"]:i[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;if(o=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:r.label++;return{value:i[1],done:false};case 5:r.label++;o=i[1];i=[0];continue;case 7:i=r.ops.pop();r.trys.pop();continue;default:if(!(a=r.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){r=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){r.label=i[1];break}if(i[0]===6&&r.label<a[1]){r.label=a[1];a=i;break}if(a&&r.label<a[2]){r.label=a[2];r.ops.push(i);break}if(a[2])r.ops.pop();r.trys.pop();continue}i=t.call(e,r)}catch(e){i=[6,e];o=0}finally{n=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";import"./Types-ab9f6af8.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-82f4600d.js";import{r as renderDocumentField,a as getRoleIndex}from"./utils-3f23facc.js";import{s as state}from"./templateStore-3b26e38d.js";import{l as loadTemplate}from"./Templates-035e0ea2.js";import{S as SDKError}from"./errors-9b5498c8.js";import"./Templates-f7c590c0.js";var verdocsPreviewCss="";var VerdocsPreview=function(){function e(e){registerInstance(this,e);this.sdkError=createEvent(this,"sdkError",7);this.endpoint=VerdocsEndpoint.getDefault();this.templateId=null}e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,n;return __generator(this,(function(o){switch(o.label){case 0:this.endpoint.loadSession();if(!this.templateId){console.log("[PREVIEW] Missing required template ID ".concat(this.templateId));return[2]}o.label=1;case 1:o.trys.push([1,3,,4]);console.log("[PREVIEW] Loading template ".concat(this.templateId));return[4,loadTemplate(this.endpoint,this.templateId)];case 2:o.sent();return[3,4];case 3:n=o.sent();console.log("[PREVIEW] Error loading template",n);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new SDKError(n.message,(t=n.response)===null||t===void 0?void 0:t.status,(r=n.response)===null||r===void 0?void 0:r.data));return[3,4];case 4:return[2]}}))}))};e.prototype.handleFieldChange=function(e,t,r){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){console.log("[PREVIEW] handleFieldChange",e,t,r);return[2]}))}))};e.prototype.handlePageRendered=function(e){var t=this;var r=e.detail;console.log("[PREVIEW] Page rendered",r);var n=state.fields.filter((function(e){return e.page_sequence===r.renderedPage.pageNumber}));console.log("[PREVIEW] Fields on page",n);n.forEach((function(e){return renderDocumentField(e,r.renderedPage,getRoleIndex(state.roleNames,e.role_name),t.handleFieldChange,true)}))};e.prototype.render=function(){var e=this;if(state.loading){return h(Host,null,h("verdocs-loader",null))}return h(Host,null,state.template?h("div",{class:"inner"},h("verdocs-view",{templateId:this.templateId,endpoint:this.endpoint,onPageRendered:function(t){return e.handlePageRendered(t)},pageLayers:[{name:"page",type:"canvas"},{name:"controls",type:"div"}]})):h("div",null,"Error loading Template. Please try again later."))};return e}();VerdocsPreview.style=verdocsPreviewCss;export{VerdocsPreview as verdocs_preview};
1
+ var __awaiter=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n["throw"](e))}catch(e){a(e)}}function l(e){e.done?r(e.value):o(e.value).then(i,s)}l((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,o,a,i;return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(e){return function(t){return l([e,t])}}function l(i){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,o&&(a=i[0]&2?o["return"]:i[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;if(o=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:r.label++;return{value:i[1],done:false};case 5:r.label++;o=i[1];i=[0];continue;case 7:i=r.ops.pop();r.trys.pop();continue;default:if(!(a=r.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){r=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){r.label=i[1];break}if(i[0]===6&&r.label<a[1]){r.label=a[1];a=i;break}if(a&&r.label<a[2]){r.label=a[2];r.ops.push(i);break}if(a[2])r.ops.pop();r.trys.pop();continue}i=t.call(e,r)}catch(e){i=[6,e];o=0}finally{n=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";import"./Types-ab9f6af8.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-82f4600d.js";import{r as renderDocumentField,a as getRoleIndex}from"./utils-3f23facc.js";import{s as state}from"./templateStore-3b26e38d.js";import{l as loadTemplate}from"./Templates-91922342.js";import{S as SDKError}from"./errors-9b5498c8.js";import"./Templates-f7c590c0.js";var verdocsPreviewCss="";var VerdocsPreview=function(){function e(e){registerInstance(this,e);this.sdkError=createEvent(this,"sdkError",7);this.endpoint=VerdocsEndpoint.getDefault();this.templateId=null}e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,n;return __generator(this,(function(o){switch(o.label){case 0:this.endpoint.loadSession();if(!this.templateId){console.log("[PREVIEW] Missing required template ID ".concat(this.templateId));return[2]}o.label=1;case 1:o.trys.push([1,3,,4]);console.log("[PREVIEW] Loading template ".concat(this.templateId));return[4,loadTemplate(this.endpoint,this.templateId)];case 2:o.sent();return[3,4];case 3:n=o.sent();console.log("[PREVIEW] Error loading template",n);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new SDKError(n.message,(t=n.response)===null||t===void 0?void 0:t.status,(r=n.response)===null||r===void 0?void 0:r.data));return[3,4];case 4:return[2]}}))}))};e.prototype.handleFieldChange=function(e,t,r){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){console.log("[PREVIEW] handleFieldChange",e,t,r);return[2]}))}))};e.prototype.handlePageRendered=function(e){var t=this;var r=e.detail;console.log("[PREVIEW] Page rendered",r);var n=state.fields.filter((function(e){return e.page_sequence===r.renderedPage.pageNumber}));console.log("[PREVIEW] Fields on page",n);n.forEach((function(e){return renderDocumentField(e,r.renderedPage,getRoleIndex(state.roleNames,e.role_name),t.handleFieldChange,true)}))};e.prototype.render=function(){var e=this;if(state.loading){return h(Host,null,h("verdocs-loader",null))}return h(Host,null,state.template?h("div",{class:"inner"},h("verdocs-view",{templateId:this.templateId,endpoint:this.endpoint,onPageRendered:function(t){return e.handlePageRendered(t)},pageLayers:[{name:"page",type:"canvas"},{name:"controls",type:"div"}]})):h("div",null,"Error loading Template. Please try again later."))};return e}();VerdocsPreview.style=verdocsPreviewCss;export{VerdocsPreview as verdocs_preview};
2
2
  //# sourceMappingURL=verdocs-preview.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";var verdocsRadioButtonCss='verdocs-radio-button{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:20px;height:20px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100%}verdocs-radio-button.disabled{opacity:0.5}verdocs-radio-button input[type=radio]{position:absolute;opacity:0}verdocs-radio-button input[type=radio]+label:before{content:"";background:#f5f5fa;border-radius:100%;border:1px solid rgba(0, 0, 0, 0.6);display:inline-block;width:16px;height:16px;position:absolute;left:1px;top:1px;cursor:pointer;text-align:center;-webkit-transition:all 250ms ease;transition:all 250ms ease}verdocs-radio-button input[type=radio]:checked+label:before{background-color:#55bc81;-webkit-box-shadow:inset 0 0 0 2px #f5f5fa;box-shadow:inset 0 0 0 2px #f5f5fa}verdocs-radio-button input[type=radio]:focus+label:before{outline:none;border-color:#55bc81}verdocs-radio-button input[type=radio]:disabled+label:before{-webkit-box-shadow:inset 0 0 0 4px #f5f5fa;box-shadow:inset 0 0 0 4px #f5f5fa;border-color:#a0a0d0;background:#a0a0d0}verdocs-radio-button input[type=radio]+label:empty:before{margin-right:0}verdocs-radio-button.required input[type=radio]+label:before{border:1px solid #cc0000}verdocs-radio-button.hide{display:none}verdocs-radio-button.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';var VerdocsRadioButton=function(){function e(e){registerInstance(this,e);this.selected=createEvent(this,"selected",7);this.checked=false;this.name="";this.value="";this.disabled=false}e.prototype.handleChange=function(e){console.log("changed",e.target.checked);this.selected.emit({value:this.value})};e.prototype.render=function(){var e=this;return h(Host,{class:{disabled:this.disabled}},h("input",{type:"radio",value:this.value,name:this.name,id:"verdocs-radio-button-".concat(this.name,"-").concat(this.value),checked:this.checked,disabled:this.disabled,onChange:function(o){return e.handleChange(o)}}),h("label",{htmlFor:"verdocs-radio-button-".concat(this.name,"-").concat(this.value)}))};return e}();VerdocsRadioButton.style=verdocsRadioButtonCss;export{VerdocsRadioButton as verdocs_radio_button};
1
+ import{r as registerInstance,h,H as Host}from"./index-f78d163d.js";var verdocsRadioButtonCss='verdocs-radio-button{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:20px;height:20px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100%}verdocs-radio-button.disabled{opacity:0.5}verdocs-radio-button input[type=radio]{position:absolute;opacity:0}verdocs-radio-button input[type=radio]+label:before{content:"";background:#f5f5fa;border-radius:100%;border:1px solid rgba(0, 0, 0, 0.6);display:inline-block;width:16px;height:16px;position:absolute;left:1px;top:1px;cursor:pointer;text-align:center;-webkit-transition:all 250ms ease;transition:all 250ms ease}verdocs-radio-button input[type=radio]:checked+label:before{background-color:#55bc81;-webkit-box-shadow:inset 0 0 0 2px #f5f5fa;box-shadow:inset 0 0 0 2px #f5f5fa}verdocs-radio-button input[type=radio]:focus+label:before{outline:none;border-color:#55bc81}verdocs-radio-button input[type=radio]:disabled+label:before{-webkit-box-shadow:inset 0 0 0 4px #f5f5fa;box-shadow:inset 0 0 0 4px #f5f5fa;border-color:#a0a0d0;background:#a0a0d0}verdocs-radio-button input[type=radio]+label:empty:before{margin-right:0}verdocs-radio-button.required input[type=radio]+label:before{border:1px solid #cc0000}verdocs-radio-button.hide{display:none}verdocs-radio-button.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';var VerdocsRadioButton=function(){function o(o){registerInstance(this,o);this.checked=false;this.name="";this.value="";this.disabled=false}o.prototype.render=function(){return h(Host,{class:{disabled:this.disabled}},h("input",{type:"radio",value:this.value,name:this.name,id:"verdocs-radio-button-".concat(this.name,"-").concat(this.value),checked:this.checked,disabled:this.disabled}),h("label",{htmlFor:"verdocs-radio-button-".concat(this.name,"-").concat(this.value)}))};return o}();VerdocsRadioButton.style=verdocsRadioButtonCss;export{VerdocsRadioButton as verdocs_radio_button};
2
2
  //# sourceMappingURL=verdocs-radio-button.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/controls/verdocs-radio-button/verdocs-radio-button.scss?tag=verdocs-radio-button","src/components/controls/verdocs-radio-button/verdocs-radio-button.tsx"],"names":["verdocsRadioButtonCss","VerdocsRadioButton","prototype","handleChange","e","console","log","target","checked","this","selected","emit","value","render","_this","h","Host","class","disabled","type","name","id","concat","onChange","htmlFor"],"mappings":"oFAAA,IAAMA,sBAAwB,s7CCYjBC,mBAAkB,4GAIF,gBAKJ,cAKC,iBAKK,MAS7BA,EAAAC,UAAAC,aAAA,SAAaC,GACXC,QAAQC,IAAI,UAAWF,EAAEG,OAAOC,SAChCC,KAAKC,SAASC,KAAK,CAACC,MAAOH,KAAKG,SAGlCX,EAAAC,UAAAW,OAAA,WAAA,IAAAC,EAAAL,KACE,OACEM,EAACC,KAAI,CAACC,MAAO,CAACC,SAAUT,KAAKS,WAC3BH,EAAA,QAAA,CACEI,KAAK,QACLP,MAAOH,KAAKG,MACZQ,KAAMX,KAAKW,KACXC,GAAI,wBAAAC,OAAwBb,KAAKW,KAAI,KAAAE,OAAIb,KAAKG,OAC9CJ,QAASC,KAAKD,QACdU,SAAUT,KAAKS,SACfK,SAAU,SAAAnB,GAAK,OAAAU,EAAKX,aAAaC,MAEnCW,EAAA,QAAA,CAAOS,QAAS,wBAAAF,OAAwBb,KAAKW,KAAI,KAAAE,OAAIb,KAAKG,oBA7CnC","sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-radio-button {\n font-family: $verdocs-primary-font;\n width: 20px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n &.disabled {\n opacity: 0.5;\n }\n\n input[type='radio'] {\n position: absolute;\n opacity: 0;\n\n + label {\n &:before {\n content: '';\n background: $verdocs-grey-3;\n border-radius: 100%;\n border: 1px solid rgba(0, 0, 0, 0.6);\n display: inline-block;\n width: 16px;\n height: 16px;\n position: absolute;\n left: 1px;\n top: 1px;\n cursor: pointer;\n text-align: center;\n transition: all 250ms ease;\n }\n }\n\n &:checked {\n + label {\n &:before {\n background-color: $verdocs-green;\n box-shadow: inset 0 0 0 2px $verdocs-grey-3;\n }\n }\n }\n\n &:focus {\n + label {\n &:before {\n outline: none;\n border-color: $verdocs-green;\n }\n }\n }\n\n &:disabled {\n + label {\n &:before {\n box-shadow: inset 0 0 0 4px $verdocs-grey-3;\n border-color: darken($verdocs-grey-3, 25%);\n background: darken($verdocs-grey-3, 25%);\n }\n }\n }\n\n + label {\n &:empty {\n &:before {\n margin-right: 0;\n }\n }\n }\n }\n\n &.required {\n input[type='radio'] {\n + label {\n &:before {\n border: 1px solid $verdocs-red-1;\n }\n }\n }\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {Component, h, Host, Prop, Event, EventEmitter} from '@stencil/core';\n\n/**\n * Displays a radio button. Note that this is different from the `verdocs-field-radio-button` component, which is designed\n * to be used in signing experiences and contains settings that connect to template fields. This is just a simple radio\n * button for UI displays e.g. dialogs and .\n */\n@Component({\n tag: 'verdocs-radio-button',\n styleUrl: 'verdocs-radio-button.scss',\n shadow: false,\n})\nexport class VerdocsRadioButton {\n /**\n * Whether the radio button is currently selected.\n */\n @Prop() checked: boolean = false;\n\n /**\n * HTML form field name for the input.\n */\n @Prop() name: string = '';\n\n /**\n * Value to track with the input.\n */\n @Prop() value: string = '';\n\n /**\n * If set, the button will still be displayed but not selectable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) selected: EventEmitter<{value: string}>;\n\n handleChange(e: any) {\n console.log('changed', e.target.checked);\n this.selected.emit({value: this.value});\n }\n\n render() {\n return (\n <Host class={{disabled: this.disabled}}>\n <input\n type=\"radio\"\n value={this.value}\n name={this.name}\n id={`verdocs-radio-button-${this.name}-${this.value}`}\n checked={this.checked}\n disabled={this.disabled}\n onChange={e => this.handleChange(e)}\n />\n <label htmlFor={`verdocs-radio-button-${this.name}-${this.value}`} />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/controls/verdocs-radio-button/verdocs-radio-button.scss?tag=verdocs-radio-button","src/components/controls/verdocs-radio-button/verdocs-radio-button.tsx"],"names":["verdocsRadioButtonCss","VerdocsRadioButton","prototype","render","h","Host","class","disabled","this","type","value","name","id","concat","checked","htmlFor"],"mappings":"mEAAA,IAAMA,sBAAwB,s7CCyBjBC,mBAAkB,+DAIF,gBAKJ,cAKC,iBAKK,MAE7BA,EAAAC,UAAAC,OAAA,WACE,OACEC,EAACC,KAAI,CAACC,MAAO,CAACC,SAAUC,KAAKD,WAC3BH,EAAA,QAAA,CACEK,KAAK,QACLC,MAAOF,KAAKE,MACZC,KAAMH,KAAKG,KACXC,GAAI,wBAAAC,OAAwBL,KAAKG,KAAI,KAAAE,OAAIL,KAAKE,OAC9CI,QAASN,KAAKM,QACdP,SAAUC,KAAKD,WAGjBH,EAAA,QAAA,CAAOW,QAAS,wBAAAF,OAAwBL,KAAKG,KAAI,KAAAE,OAAIL,KAAKE,oBAjCnC","sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-radio-button {\n font-family: $verdocs-primary-font;\n width: 20px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n &.disabled {\n opacity: 0.5;\n }\n\n input[type='radio'] {\n position: absolute;\n opacity: 0;\n\n + label {\n &:before {\n content: '';\n background: $verdocs-grey-3;\n border-radius: 100%;\n border: 1px solid rgba(0, 0, 0, 0.6);\n display: inline-block;\n width: 16px;\n height: 16px;\n position: absolute;\n left: 1px;\n top: 1px;\n cursor: pointer;\n text-align: center;\n transition: all 250ms ease;\n }\n }\n\n &:checked {\n + label {\n &:before {\n background-color: $verdocs-green;\n box-shadow: inset 0 0 0 2px $verdocs-grey-3;\n }\n }\n }\n\n &:focus {\n + label {\n &:before {\n outline: none;\n border-color: $verdocs-green;\n }\n }\n }\n\n &:disabled {\n + label {\n &:before {\n box-shadow: inset 0 0 0 4px $verdocs-grey-3;\n border-color: darken($verdocs-grey-3, 25%);\n background: darken($verdocs-grey-3, 25%);\n }\n }\n }\n\n + label {\n &:empty {\n &:before {\n margin-right: 0;\n }\n }\n }\n }\n\n &.required {\n input[type='radio'] {\n + label {\n &:before {\n border: 1px solid $verdocs-red-1;\n }\n }\n }\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {Component, h, Host, Prop} from '@stencil/core';\n\n/**\n * Displays a radio button. Note that this is different from the `verdocs-field-radio-button` component, which is\n * designed to be used in signing experiences and contains settings that connect to template fields. This is just a\n * simple radio button for UI displays e.g. dialog boxes.\n *\n * This control encapsulates a standard HTML radio button. To subscribe to change events, connect an `onChange`\n * handler. Sample usage:\n *\n * ```html\n * <verdocs-radio-button\n * value=\"val1\"\n * name=\"someProperty\"\n * checked={this.someProperty === 'val1'}\n * onInput={(e: any) => { this.someProperty = 'val1' }}\n * disabled={false}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-radio-button',\n styleUrl: 'verdocs-radio-button.scss',\n shadow: false,\n})\nexport class VerdocsRadioButton {\n /**\n * Whether the radio button is currently selected.\n */\n @Prop() checked: boolean = false;\n\n /**\n * HTML form field name for the input.\n */\n @Prop() name: string = '';\n\n /**\n * Value to track with the input.\n */\n @Prop() value: string = '';\n\n /**\n * If set, the button will still be displayed but not selectable.\n */\n @Prop() disabled?: boolean = false;\n\n render() {\n return (\n <Host class={{disabled: this.disabled}}>\n <input\n type=\"radio\"\n value={this.value}\n name={this.name}\n id={`verdocs-radio-button-${this.name}-${this.value}`}\n checked={this.checked}\n disabled={this.disabled}\n // onChange={e => this.handleChange(e)}\n />\n <label htmlFor={`verdocs-radio-button-${this.name}-${this.value}`} />\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- var __assign=this&&this.__assign||function(){__assign=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++){t=arguments[n];for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i))e[i]=t[i]}return e};return __assign.apply(this,arguments)};var __awaiter=this&&this.__awaiter||function(e,t,n,o){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function l(e){try{a(o.next(e))}catch(e){s(e)}}function r(e){try{a(o["throw"](e))}catch(e){s(e)}}function a(e){e.done?n(e.value):i(e.value).then(l,r)}a((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o,i,s,l;return l={next:r(0),throw:r(1),return:r(2)},typeof Symbol==="function"&&(l[Symbol.iterator]=function(){return this}),l;function r(e){return function(t){return a([e,t])}}function a(l){if(o)throw new TypeError("Generator is already executing.");while(n)try{if(o=1,i&&(s=l[0]&2?i["return"]:l[0]?i["throw"]||((s=i["return"])&&s.call(i),0):i.next)&&!(s=s.call(i,l[1])).done)return s;if(i=0,s)l=[l[0]&2,s.value];switch(l[0]){case 0:case 1:s=l;break;case 4:n.label++;return{value:l[1],done:false};case 5:n.label++;i=l[1];l=[0];continue;case 7:l=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!s||l[1]>s[0]&&l[1]<s[3])){n.label=l[1];break}if(l[0]===6&&n.label<s[1]){n.label=s[1];s=l;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(l);break}if(s[2])n.ops.pop();n.trys.pop();continue}l=t.call(e,n)}catch(e){l=[6,e];i=0}finally{o=s=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";import{g as getTemplate}from"./Templates-f7c590c0.js";import"./Types-ab9f6af8.js";import{i as isValidEmail,a as isValidPhone}from"./Validators-f110bae2.js";import{g as getRGBA}from"./Colors-1b298092.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-82f4600d.js";import{a as getRoleIndex}from"./utils-3f23facc.js";var verdocsSendCss='verdocs-send{display:-ms-flexbox;display:flex;padding:10px;position:relative;background:#ffffff;-ms-flex-direction:column;flex-direction:column;font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif}verdocs-send .recipients{position:relative}verdocs-send .left-line{top:32px;left:20px;z-index:1;width:12px;bottom:30px;position:absolute;background:#ffffff;border-left:3px dotted #9b9b9b}verdocs-send .level{display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;margin-left:50px;position:relative;-ms-flex-direction:row;flex-direction:row;padding:8px 0 4px 0;border-bottom:1px solid #97979744}verdocs-send .level .level-icon{top:14px;z-index:2;left:-40px;width:24px;height:24px;position:absolute;background:#ffffff}verdocs-send .level .level-icon svg{fill:#00000089}verdocs-send .level .recipient{height:30px;display:-ms-flexbox;display:flex;-ms-flex:0 0 30px;flex:0 0 30px;color:#000000;cursor:pointer;font-size:14px;-ms-flex-align:center;align-items:center;border-radius:30px;-ms-flex-direction:row;flex-direction:row;background:#dddddd;white-space:nowrap;padding:2px 10px 2px 14px}verdocs-send .level .recipient .icon{width:22px;height:22px;-ms-flex:0 0 22px;flex:0 0 22px;margin:0 0 0 10px}verdocs-send .level .recipient .icon svg{width:22px;height:22px;fill:#333333;outline:none}verdocs-send .level .complete{-ms-flex:1;flex:1;height:30px;display:-ms-flexbox;display:flex;color:#000000;font-size:14px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;padding:3px 10px 3px 2px}verdocs-send .buttons{display:-ms-flexbox;display:flex;margin-top:10px;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;-ms-flex-direction:row;flex-direction:row}verdocs-send verdocs-contact-picker{left:0;top:41px;z-index:10;position:absolute;border:1px solid #dddddd;-webkit-box-shadow:0 0 6px 3px rgba(0, 0, 0, 0.1);box-shadow:0 0 6px 3px rgba(0, 0, 0, 0.1)}';var editIcon='<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>';var startIcon='<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>';var stepIcon='<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>';var doneIcon='<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>';var VerdocsSend=function(){function e(e){registerInstance(this,e);this.send=createEvent(this,"send",7);this.cancel=createEvent(this,"cancel",7);this.sdkError=createEvent(this,"sdkError",7);this.levels=[];this.endpoint=VerdocsEndpoint.getDefault();this.templateId=null;this.template=null;this.pdfUrl=null;this.containerId="verdocs-send-".concat(Math.random().toString(36).substring(2,11));this.rolesAtLevel={};this.showPickerForId="";this.sessionContacts=[];this.recipientsAssigned={}}e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n;return __generator(this,(function(o){switch(o.label){case 0:this.sessionContacts=[];o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.endpoint.loadSession()];case 2:t=o.sent();if((e=t.session)===null||e===void 0?void 0:e.profile){this.sessionContacts.push({id:t.session.profile.id,name:"".concat(t.session.profile.first_name," ").concat(t.session.profile.last_name),email:t.session.profile.email,phone:t.session.profile.phone})}return[3,4];case 3:n=o.sent();console.log("Error loading session",n);return[3,4];case 4:return[2]}}))}))};e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n;return __generator(this,(function(o){switch(o.label){case 0:console.log("[SEND] Showing template",this.templateId);o.label=1;case 1:o.trys.push([1,3,,4]);console.log("[SEND] Loading template ".concat(this.templateId));return[4,getTemplate(this.endpoint,this.templateId)];case 2:e=o.sent();console.log("[SEND] Got template",e);this.template=e;if(e===null||e===void 0?void 0:e.roles){t={};e.roles.forEach((function(e){var n=e.sequence-1;t[n]||(t[n]=[]);var o="r-".concat(n,"-").concat(t[n].length);t[n].push(__assign(__assign({},e),{id:o}))}));this.rolesAtLevel=t;this.levels=Object.keys(t).map((function(e){return+e}));this.levels.sort((function(e,t){return e-t}))}return[3,4];case 3:n=o.sent();console.log("[SEND] Error getting template",n);return[3,4];case 4:return[2]}}))}))};e.prototype.getLevelIcon=function(e){if(e<0){return h("div",{class:"level-icon",innerHTML:startIcon})}else if(e>=this.levels.length){return h("div",{class:"level-icon",innerHTML:doneIcon})}else{return h("div",{class:"level-icon",innerHTML:stepIcon})}};e.prototype.handleSelectContact=function(e,t){e.preventDefault();this.recipientsAssigned[t.id]=__assign(__assign({},t),e.detail);this.showPickerForId=""};e.prototype.handleClickRole=function(e,t){e.stopPropagation();this.showPickerForId=t.id};e.prototype.handleSend=function(e){var t;e.stopPropagation();(t=this.send)===null||t===void 0?void 0:t.emit({recipientsAssigned:Object.values(this.recipientsAssigned)})};e.prototype.handleCancel=function(e){var t;e.stopPropagation();(t=this.cancel)===null||t===void 0?void 0:t.emit()};e.prototype.render=function(){var e=this;var t,n,o;var i=((n=(t=this.template)===null||t===void 0?void 0:t.roles)===null||n===void 0?void 0:n.map((function(e){return e.name})))||[];var s=Object.values(this.recipientsAssigned).filter((function(e){console.log("valid email",isValidEmail(e.email),e.email);console.log("valid phone",isValidPhone(e.phone),e.phone);return isValidEmail(e.email)||isValidPhone(e.phone)})).length>=((o=this.template)===null||o===void 0?void 0:o.roles.length);console.log("assigned",s);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((function(t){return h("div",{class:"level level-".concat(t)},e.getLevelIcon(t),e.rolesAtLevel[t].map((function(t){var n,o,s;return h("div",{class:"recipient",style:{backgroundColor:getRGBA(getRoleIndex(i,t.name))},onClick:function(n){return e.handleClickRole(n,t)}},(o=(n=e.recipientsAssigned[t.id])===null||n===void 0?void 0:n.full_name)!==null&&o!==void 0?o:t.name,h("div",{class:"icon",innerHTML:editIcon}),e.showPickerForId===t.id&&h("verdocs-contact-picker",{onCancel:function(){return e.showPickerForId=""},contactSuggestions:e.sessionContacts,templateRole:(s=e.recipientsAssigned[t.id])!==null&&s!==void 0?s:t,onSearchContacts:function(e){return console.log("Search",e.detail)},onContactSelected:function(n){return e.handleSelectContact(n,t)}}))})))})),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:function(t){return e.handleCancel(t)}}),h("verdocs-button",{label:"Send",size:"small",disabled:!s,onPress:function(t){return e.handleSend(t)}})))};return e}();VerdocsSend.style=verdocsSendCss;export{VerdocsSend as verdocs_send};
1
+ var __assign=this&&this.__assign||function(){__assign=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o))e[o]=t[o]}return e};return __assign.apply(this,arguments)};var __awaiter=this&&this.__awaiter||function(e,t,n,i){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function l(e){try{a(i.next(e))}catch(e){s(e)}}function r(e){try{a(i["throw"](e))}catch(e){s(e)}}function a(e){e.done?n(e.value):o(e.value).then(l,r)}a((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,o,s,l;return l={next:r(0),throw:r(1),return:r(2)},typeof Symbol==="function"&&(l[Symbol.iterator]=function(){return this}),l;function r(e){return function(t){return a([e,t])}}function a(l){if(i)throw new TypeError("Generator is already executing.");while(n)try{if(i=1,o&&(s=l[0]&2?o["return"]:l[0]?o["throw"]||((s=o["return"])&&s.call(o),0):o.next)&&!(s=s.call(o,l[1])).done)return s;if(o=0,s)l=[l[0]&2,s.value];switch(l[0]){case 0:case 1:s=l;break;case 4:n.label++;return{value:l[1],done:false};case 5:n.label++;o=l[1];l=[0];continue;case 7:l=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!s||l[1]>s[0]&&l[1]<s[3])){n.label=l[1];break}if(l[0]===6&&n.label<s[1]){n.label=s[1];s=l;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(l);break}if(s[2])n.ops.pop();n.trys.pop();continue}l=t.call(e,n)}catch(e){l=[6,e];o=0}finally{i=s=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";import{g as getTemplate}from"./Templates-f7c590c0.js";import"./Types-ab9f6af8.js";import{i as isValidEmail,a as isValidPhone}from"./Validators-f110bae2.js";import{g as getRGBA}from"./Colors-1b298092.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-82f4600d.js";import{a as getRoleIndex}from"./utils-3f23facc.js";var verdocsSendCss='verdocs-send{display:-ms-flexbox;display:flex;padding:10px;position:relative;background:#ffffff;-ms-flex-direction:column;flex-direction:column;font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif}verdocs-send .recipients{position:relative}verdocs-send .left-line{top:32px;left:20px;z-index:1;width:12px;bottom:30px;position:absolute;background:#ffffff;border-left:3px dotted #9b9b9b}verdocs-send .level{display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;margin-left:50px;position:relative;-ms-flex-direction:row;flex-direction:row;padding:8px 0 4px 0;border-bottom:1px solid #97979744}verdocs-send .level .level-icon{top:14px;z-index:2;left:-40px;width:24px;height:24px;position:absolute;background:#ffffff}verdocs-send .level .level-icon svg{fill:#00000089}verdocs-send .level .recipient{height:30px;display:-ms-flexbox;display:flex;-ms-flex:0 0 30px;flex:0 0 30px;color:#000000;cursor:pointer;font-size:14px;-ms-flex-align:center;align-items:center;border-radius:30px;-ms-flex-direction:row;flex-direction:row;background:#dddddd;white-space:nowrap;padding:2px 10px 2px 14px}verdocs-send .level .recipient .icon{width:22px;height:22px;-ms-flex:0 0 22px;flex:0 0 22px;margin:0 0 0 10px}verdocs-send .level .recipient .icon svg{width:22px;height:22px;fill:#333333;outline:none}verdocs-send .level .complete{-ms-flex:1;flex:1;height:30px;display:-ms-flexbox;display:flex;color:#000000;font-size:14px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;padding:3px 10px 3px 2px}verdocs-send .buttons{display:-ms-flexbox;display:flex;margin-top:10px;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;-ms-flex-direction:row;flex-direction:row}verdocs-send verdocs-contact-picker{left:0;top:41px;z-index:10;position:absolute;border:1px solid #dddddd;-webkit-box-shadow:0 0 6px 3px rgba(0, 0, 0, 0.1);box-shadow:0 0 6px 3px rgba(0, 0, 0, 0.1)}';var editIcon='<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>';var startIcon='<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>';var stepIcon='<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>';var doneIcon='<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>';var VerdocsSend=function(){function e(e){registerInstance(this,e);this.send=createEvent(this,"send",7);this.cancel=createEvent(this,"cancel",7);this.sdkError=createEvent(this,"sdkError",7);this.levels=[];this.endpoint=VerdocsEndpoint.getDefault();this.templateId=null;this.template=null;this.pdfUrl=null;this.containerId="verdocs-send-".concat(Math.random().toString(36).substring(2,11));this.rolesAtLevel={};this.showPickerForId="";this.sessionContacts=[];this.recipientsAssigned={}}e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n;return __generator(this,(function(i){switch(i.label){case 0:this.sessionContacts=[];i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.endpoint.loadSession()];case 2:t=i.sent();if((e=t.session)===null||e===void 0?void 0:e.profile){this.sessionContacts.push({id:t.session.profile.id,name:"".concat(t.session.profile.first_name," ").concat(t.session.profile.last_name),email:t.session.profile.email,phone:t.session.profile.phone})}return[3,4];case 3:n=i.sent();console.log("Error loading session",n);return[3,4];case 4:return[2]}}))}))};e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n;return __generator(this,(function(i){switch(i.label){case 0:console.log("[SEND] Showing template",this.templateId);i.label=1;case 1:i.trys.push([1,3,,4]);console.log("[SEND] Loading template ".concat(this.templateId));return[4,getTemplate(this.endpoint,this.templateId)];case 2:e=i.sent();console.log("[SEND] Got template",e);this.template=e;if(e===null||e===void 0?void 0:e.roles){t={};e.roles.forEach((function(e){var n=e.sequence-1;t[n]||(t[n]=[]);var i="r-".concat(n,"-").concat(t[n].length);t[n].push(__assign(__assign({},e),{id:i}))}));this.rolesAtLevel=t;this.levels=Object.keys(t).map((function(e){return+e}));this.levels.sort((function(e,t){return e-t}))}return[3,4];case 3:n=i.sent();console.log("[SEND] Error getting template",n);return[3,4];case 4:return[2]}}))}))};e.prototype.getLevelIcon=function(e){if(e<0){return h("div",{class:"level-icon",innerHTML:startIcon})}else if(e>=this.levels.length){return h("div",{class:"level-icon",innerHTML:doneIcon})}else{return h("div",{class:"level-icon",innerHTML:stepIcon})}};e.prototype.handleSelectContact=function(e,t){e.preventDefault();this.recipientsAssigned[t.id]=__assign(__assign({},t),e.detail);this.showPickerForId=""};e.prototype.handleClickRole=function(e,t){e.stopPropagation();this.showPickerForId=t.id};e.prototype.handleSend=function(e){var t;e.stopPropagation();(t=this.send)===null||t===void 0?void 0:t.emit({recipientsAssigned:Object.values(this.recipientsAssigned)})};e.prototype.handleCancel=function(e){var t;e.stopPropagation();(t=this.cancel)===null||t===void 0?void 0:t.emit()};e.prototype.render=function(){var e=this;var t,n,i;var o=((n=(t=this.template)===null||t===void 0?void 0:t.roles)===null||n===void 0?void 0:n.map((function(e){return e.name})))||[];var s=Object.values(this.recipientsAssigned).filter((function(e){console.log("valid email",isValidEmail(e.email),e.email);console.log("valid phone",isValidPhone(e.phone),e.phone);return isValidEmail(e.email)||isValidPhone(e.phone)})).length>=((i=this.template)===null||i===void 0?void 0:i.roles.length);console.log("assigned",s);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((function(t){return h("div",{class:"level level-".concat(t)},e.getLevelIcon(t),e.rolesAtLevel[t].map((function(t){var n,i,s;return h("div",{class:"recipient",style:{backgroundColor:getRGBA(getRoleIndex(o,t.name))},onClick:function(n){return e.handleClickRole(n,t)}},(i=(n=e.recipientsAssigned[t.id])===null||n===void 0?void 0:n.full_name)!==null&&i!==void 0?i:t.name,h("div",{class:"icon",innerHTML:editIcon}),e.showPickerForId===t.id&&h("verdocs-contact-picker",{onCancel:function(){return e.showPickerForId=""},onNext:function(n){return e.handleSelectContact(n,t)},contactSuggestions:e.sessionContacts,templateRole:(s=e.recipientsAssigned[t.id])!==null&&s!==void 0?s:t,onSearchContacts:function(e){return console.log("Search",e.detail)}}))})))})),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:function(t){return e.handleCancel(t)}}),h("verdocs-button",{label:"Send",size:"small",disabled:!s,onClick:function(t){return e.handleSend(t)}})))};return e}();VerdocsSend.style=verdocsSendCss;export{VerdocsSend as verdocs_send};
2
2
  //# sourceMappingURL=verdocs-send.entry.js.map