@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
- {"file":"verdocs-initial-dialog.entry.js","mappings":"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","names":[],"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"],"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"],"version":3}
1
+ {"file":"verdocs-initial-dialog.entry.js","mappings":"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","names":[],"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"],"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"],"version":3}
@@ -12,7 +12,7 @@ const VerdocsKbaDialog = class {
12
12
  constructor(hostRef) {
13
13
  registerInstance(this, hostRef);
14
14
  this.cancel = createEvent(this, "cancel", 7);
15
- this.done = createEvent(this, "done", 7);
15
+ this.next = createEvent(this, "next", 7);
16
16
  this.step = 1;
17
17
  this.steps = 3;
18
18
  this.helptitle = 'One Time Code';
@@ -21,12 +21,10 @@ const VerdocsKbaDialog = class {
21
21
  this.label = 'PIN';
22
22
  this.placeholder = 'Enter your PIN...';
23
23
  this.choices = ['553 Arbor Dr', '18 Lacey Ln', '23A Ball Ct', '2375 Cavallo Blvd', '23-1 RR-7', '151 Boulder Rd'];
24
- this.open = false;
25
24
  this.response = '';
26
25
  }
27
26
  handleCancel() {
28
27
  this.cancel.emit();
29
- this.open = false;
30
28
  }
31
29
  // We need a separate event handler for clicking the background because it can receive events "through" other child components
32
30
  handleDismiss(e) {
@@ -36,13 +34,12 @@ const VerdocsKbaDialog = class {
36
34
  }
37
35
  }
38
36
  handleDone() {
39
- this.done.emit(this.response);
40
- this.open = false;
37
+ this.next.emit(this.response);
41
38
  }
42
39
  render() {
43
- return (h(Host, { style: { display: this.open ? 'block' : 'none' } }, h("div", { class: "background-overlay", onClick: e => this.handleDismiss(e) }, 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(choice => (h("div", { class: `choice ${choice === this.response ? 'selected' : ''}`, onClick: () => {
40
+ return (h(Host, null, h("div", { class: "background-overlay", onClick: e => this.handleDismiss(e) }, 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(choice => (h("div", { class: `choice ${choice === this.response ? 'selected' : ''}`, onClick: () => {
44
41
  this.response = choice;
45
- } }, choice))))) : (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: () => this.handleCancel() }), h("verdocs-button", { label: "Done", onPress: () => this.handleDone(), disabled: !this.response }))))));
42
+ } }, choice))))) : (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: () => this.handleCancel() }), h("verdocs-button", { label: "Done", onClick: () => this.handleDone(), disabled: !this.response }))))));
46
43
  }
47
44
  };
48
45
  VerdocsKbaDialog.style = verdocsKbaDialogCss;
@@ -1 +1 @@
1
- {"file":"verdocs-kba-dialog.entry.js","mappings":";;;;;;;;AAAA,MAAM,mBAAmB,GAAG,kkEAAkkE;;MCYjlE,gBAAgB;;;;;gBAIJ,CAAC;iBAKA,CAAC;qBAKG,eAAe;oBAKhB,gFAAgF;gBAKzE,QAAQ;iBAKlB,KAAK;uBAKC,mBAAmB;mBAKrB,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,CAAC;gBAKtG,KAAK;oBAYT,EAAE;;EAEtB,YAAY;IACV,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;GACnB;;EAGD,aAAa,CAAC,CAAM;IAClB,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,oBAAoB,EAAE;MAC/C,CAAC,CAAC,cAAc,EAAE,CAAC;MACnB,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;GACF;EAED,UAAU;IACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;GACnB;EAED,MAAM;IACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,EAAC,IAClD,WAAK,KAAK,EAAC,oBAAoB,EAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IACjE,WAAK,KAAK,EAAC,QAAQ,IACjB,WAAK,KAAK,EAAC,SAAS,6BAEjB,IAAI,CAAC,KAAK,GAAG,CAAC,IACb,YAAM,KAAK,EAAC,MAAM,SACd,IAAI,CAAC,IAAI,OAAG,IAAI,CAAC,KAAK,MACnB,KAEP,EAAC,QAAQ,OAAG,CACb,CACG,EAEN,WAAK,KAAK,EAAC,UAAU,IACnB,WAAK,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,QAAQ,GAAI,EAC9C,WAAK,KAAK,EAAC,cAAc,IACvB,WAAK,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,SAAS,CAAO,EAC9C,WAAK,KAAK,EAAC,WAAW,IAAE,IAAI,CAAC,QAAQ,CAAO,CACxC,CACF,EAEL,IAAI,CAAC,IAAI,KAAK,QAAQ,IACrB,WAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KACtB,WACE,KAAK,EAAE,UAAU,MAAM,KAAK,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,EAAE,EAC7D,OAAO,EAAE;QACP,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;OACxB,IAEA,MAAM,CACH,CACP,CAAC,CACE,KAEN,WAAK,KAAK,EAAC,OAAO,IAChB,aAAO,OAAO,EAAC,mBAAmB,IAAE,IAAI,CAAC,KAAK,CAAS,EACvD,aAAO,IAAI,EAAC,MAAM,EAAC,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,mBAAmB,EAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAI,CAChG,CACP,EAED,WAAK,KAAK,EAAC,SAAS,IAClB,sBAAgB,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,GAAI,EACvF,sBAAgB,KAAK,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAI,CACvF,CACF,CACF,CACD,EACP;GACH;;;;;;","names":[],"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"],"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"],"version":3}
1
+ {"file":"verdocs-kba-dialog.entry.js","mappings":";;;;;;;;AAAA,MAAM,mBAAmB,GAAG,kkEAAkkE;;MCYjlE,gBAAgB;;;;;gBAIJ,CAAC;iBAKA,CAAC;qBAKG,eAAe;oBAKhB,gFAAgF;gBAKzE,QAAQ;iBAKlB,KAAK;uBAKC,mBAAmB;mBAKrB,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,CAAC;oBAY1G,EAAE;;EAEtB,YAAY;IACV,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;GACpB;;EAGD,aAAa,CAAC,CAAM;IAClB,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,oBAAoB,EAAE;MAC/C,CAAC,CAAC,cAAc,EAAE,CAAC;MACnB,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;GACF;EAED,UAAU;IACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;GAC/B;EAED,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAC,oBAAoB,EAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IACjE,WAAK,KAAK,EAAC,QAAQ,IACjB,WAAK,KAAK,EAAC,SAAS,6BAEjB,IAAI,CAAC,KAAK,GAAG,CAAC,IACb,YAAM,KAAK,EAAC,MAAM,SACd,IAAI,CAAC,IAAI,OAAG,IAAI,CAAC,KAAK,MACnB,KAEP,EAAC,QAAQ,OAAG,CACb,CACG,EAEN,WAAK,KAAK,EAAC,UAAU,IACnB,WAAK,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,QAAQ,GAAI,EAC9C,WAAK,KAAK,EAAC,cAAc,IACvB,WAAK,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,SAAS,CAAO,EAC9C,WAAK,KAAK,EAAC,WAAW,IAAE,IAAI,CAAC,QAAQ,CAAO,CACxC,CACF,EAEL,IAAI,CAAC,IAAI,KAAK,QAAQ,IACrB,WAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KACtB,WACE,KAAK,EAAE,UAAU,MAAM,KAAK,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,EAAE,EAC7D,OAAO,EAAE;QACP,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;OACxB,IAEA,MAAM,CACH,CACP,CAAC,CACE,KAEN,WAAK,KAAK,EAAC,OAAO,IAChB,aAAO,OAAO,EAAC,mBAAmB,IAAE,IAAI,CAAC,KAAK,CAAS,EACvD,aAAO,IAAI,EAAC,MAAM,EAAC,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,mBAAmB,EAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAI,CAChG,CACP,EAED,WAAK,KAAK,EAAC,SAAS,IAClB,sBAAgB,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,GAAI,EACvF,sBAAgB,KAAK,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAI,CACvF,CACF,CACF,CACD,EACP;GACH;;;;;;","names":[],"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"],"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"],"version":3}
@@ -65,30 +65,6 @@ const VerdocsView = class {
65
65
  this.envelope = await getEnvelope(this.endpoint, this.envelopeId);
66
66
  console.log('[VIEW] Loaded envelope', this.envelope);
67
67
  }
68
- // console.log(`[VIEW] Loading template ${this.templateId}`);
69
- // const template = await getTemplate(this.endpoint, this.templateId);
70
- //
71
- // console.log('[VIEW] Got template', this.template);
72
- // this.template = template;
73
- // this.pageNumbers = integerSequence(1, template.pages.length);
74
- //
75
- // const pageUris: Record<number, string> = {};
76
- // for await (let page of template.pages) {
77
- // console.log('[VIEW] Loading page', page);
78
- // // TODO: Make an endpoint to get all of the pages for a template
79
- // // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,
80
- // // not the primary mechanism.
81
- // const image = await getPageImage(this.endpoint, this.templateId, page.sequence);
82
- // // TODO: Make this uri to match the rest of the terminology?
83
- // pageUris[page.sequence] = image.url;
84
- // console.log('[VIEW] Got image Uri', image.url);
85
- // this.loadProgress = page.sequence / template.pages.length;
86
- // }
87
- //
88
- // this.pageUris = pageUris;
89
- // this.loadProgress = 100;
90
- //
91
- // // this.pdfUrl = `${this.endpoint.getBaseURL()}/templates/${this.templateId}/documents/${template.template_document?.id}?file=true`;
92
68
  }
93
69
  catch (e) {
94
70
  console.log('[VIEW] Error loading data', e);
@@ -1 +1 @@
1
- {"file":"verdocs-loader.verdocs-view.verdocs-view-envelope-document.verdocs-view-template-document.entry.js","mappings":"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","names":[],"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"],"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"],"version":3}
1
+ {"file":"verdocs-loader.verdocs-view.verdocs-view-envelope-document.verdocs-view-template-document.entry.js","mappings":"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","names":[],"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"],"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"],"version":3}
@@ -5,25 +5,27 @@ const verdocsOkDialogCss = "verdocs-ok-dialog{font-family:\"Barlow\", sans-serif
5
5
  const VerdocsOkDialog = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
- this.closed = createEvent(this, "closed", 7);
8
+ this.next = createEvent(this, "next", 7);
9
+ this.cancel = createEvent(this, "cancel", 7);
9
10
  this.heading = '';
10
11
  this.message = '';
11
- this.open = false;
12
- this.cancel = false;
12
+ this.showCancel = false;
13
13
  }
14
- handleClose(reason) {
15
- this.closed.emit(reason);
16
- this.open = false;
14
+ handleOk() {
15
+ this.next.emit();
16
+ }
17
+ handleCancel() {
18
+ this.cancel.emit();
17
19
  }
18
20
  // We need a separate event handler for clicking the background because it can receive events "through" other child components
19
21
  handleDismiss(e) {
20
22
  if (e.target.className === 'background-overlay') {
21
23
  e.preventDefault();
22
- this.handleClose('cancel');
24
+ this.cancel.emit();
23
25
  }
24
26
  }
25
27
  render() {
26
- return (h(Host, { style: { display: this.open ? 'block' : 'none' } }, h("div", { class: "background-overlay", onClick: e => this.handleDismiss(e) }, 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: () => this.handleClose('cancel') }) : h("div", { style: { display: 'none' } }), h("verdocs-button", { label: "OK", onPress: () => this.handleClose('ok') })))))));
28
+ return (h(Host, null, h("div", { class: "background-overlay", onClick: e => this.handleDismiss(e) }, 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: () => this.handleCancel() }) : h("div", { style: { display: 'none' } }), h("verdocs-button", { label: "OK", onClick: () => this.handleOk() })))))));
27
29
  }
28
30
  };
29
31
  VerdocsOkDialog.style = verdocsOkDialogCss;
@@ -1 +1 @@
1
- {"file":"verdocs-ok-dialog.entry.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,ulCAAulC;;MCWrmC,eAAe;;;;mBAIA,EAAE;mBAKF,EAAE;gBAKJ,KAAK;kBAMH,KAAK;;EAO/B,WAAW,CAAC,MAAuB;IACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;GACnB;;EAGD,aAAa,CAAC,CAAM;IAClB,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,oBAAoB,EAAE;MAC/C,CAAC,CAAC,cAAc,EAAE,CAAC;MACnB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAC5B;GACF;EAED,MAAM;IACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,EAAC,IAClD,WAAK,KAAK,EAAC,oBAAoB,EAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IACjE,WAAK,KAAK,EAAC,QAAQ,IACjB,WAAK,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAO,EACzC,WAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,OAAO,EAEb,WAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,MAAM,GAAG,sBAAgB,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAI,GAAG,WAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,GAAI,EACjJ,sBAAgB,KAAK,EAAC,IAAI,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAI,CAChE,CACF,CACF,CACF,CACD,EACP;GACH;;;;;;","names":[],"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"],"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"],"version":3}
1
+ {"file":"verdocs-ok-dialog.entry.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,ulCAAulC;;MCWrmC,eAAe;;;;;mBAIA,EAAE;mBAKF,EAAE;sBAME,KAAK;;EAYnC,QAAQ;IACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;GAClB;EAED,YAAY;IACV,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;GACpB;;EAGD,aAAa,CAAC,CAAM;IAClB,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,oBAAoB,EAAE;MAC/C,CAAC,CAAC,cAAc,EAAE,CAAC;MACnB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB;GACF;EAED,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAC,oBAAoB,EAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IACjE,WAAK,KAAK,EAAC,QAAQ,IACjB,WAAK,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAO,EACzC,WAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,OAAO,EAEb,WAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,UAAU,GAAG,sBAAgB,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,GAAI,GAAG,WAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,GAAI,EAC9I,sBAAgB,KAAK,EAAC,IAAI,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAI,CACzD,CACF,CACF,CACF,CACD,EACP;GACH;;;;;;","names":[],"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"],"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"],"version":3}
@@ -3,7 +3,7 @@ import './Types-ab9f6af8.js';
3
3
  import { V as VerdocsEndpoint } from './VerdocsEndpoint-82f4600d.js';
4
4
  import { r as renderDocumentField, a as getRoleIndex } from './utils-3f23facc.js';
5
5
  import { s as state } from './templateStore-3b26e38d.js';
6
- import { l as loadTemplate } from './Templates-035e0ea2.js';
6
+ import { l as loadTemplate } from './Templates-91922342.js';
7
7
  import { S as SDKError } from './errors-9b5498c8.js';
8
8
  import './Templates-f7c590c0.js';
9
9
 
@@ -1,22 +1,17 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-f78d163d.js';
1
+ import { r as registerInstance, h, H as Host } from './index-f78d163d.js';
2
2
 
3
3
  const 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}";
4
4
 
5
5
  const VerdocsRadioButton = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
- this.selected = createEvent(this, "selected", 7);
9
8
  this.checked = false;
10
9
  this.name = '';
11
10
  this.value = '';
12
11
  this.disabled = false;
13
12
  }
14
- handleChange(e) {
15
- console.log('changed', e.target.checked);
16
- this.selected.emit({ value: this.value });
17
- }
18
13
  render() {
19
- return (h(Host, { class: { disabled: this.disabled } }, h("input", { type: "radio", value: this.value, name: this.name, id: `verdocs-radio-button-${this.name}-${this.value}`, checked: this.checked, disabled: this.disabled, onChange: e => this.handleChange(e) }), h("label", { htmlFor: `verdocs-radio-button-${this.name}-${this.value}` })));
14
+ return (h(Host, { class: { disabled: this.disabled } }, h("input", { type: "radio", value: this.value, name: this.name, id: `verdocs-radio-button-${this.name}-${this.value}`, checked: this.checked, disabled: this.disabled }), h("label", { htmlFor: `verdocs-radio-button-${this.name}-${this.value}` })));
20
15
  }
21
16
  };
22
17
  VerdocsRadioButton.style = verdocsRadioButtonCss;
@@ -1 +1 @@
1
- {"file":"verdocs-radio-button.entry.js","mappings":";;AAAA,MAAM,qBAAqB,GAAG,27CAA27C;;MCY58C,kBAAkB;;;;mBAIF,KAAK;gBAKT,EAAE;iBAKD,EAAE;oBAKG,KAAK;;EASlC,YAAY,CAAC,CAAM;IACjB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;GACzC;EAED,MAAM;IACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,IACpC,aACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,EAAE,EAAE,wBAAwB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EACrD,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GACnC,EACF,aAAO,OAAO,EAAE,wBAAwB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,GAAI,CAChE,EACP;GACH;;;;;;","names":[],"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"],"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"],"version":3}
1
+ {"file":"verdocs-radio-button.entry.js","mappings":";;AAAA,MAAM,qBAAqB,GAAG,27CAA27C;;MCyB58C,kBAAkB;;;mBAIF,KAAK;gBAKT,EAAE;iBAKD,EAAE;oBAKG,KAAK;;EAElC,MAAM;IACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,IACpC,aACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,EAAE,EAAE,wBAAwB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EACrD,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAEvB,EACF,aAAO,OAAO,EAAE,wBAAwB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,GAAI,CAChE,EACP;GACH;;;;;;","names":[],"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"],"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"],"version":3}
@@ -113,8 +113,8 @@ const VerdocsSend = class {
113
113
  console.log('assigned', allRecipientsAssigned);
114
114
  return (h(Host, { class: {} }, h("div", { class: "recipients" }, h("div", { class: "left-line" }), h("div", { class: `level level-start` }, this.getLevelIcon(-1), h("div", { class: "complete" }, "Send Document")), this.levels.map(level => (h("div", { class: `level level-${level}` }, this.getLevelIcon(level), this.rolesAtLevel[level].map(role => {
115
115
  var _a, _b, _c;
116
- return (h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, onClick: e => this.handleClickRole(e, role) }, (_b = (_a = this.recipientsAssigned[role.id]) === null || _a === void 0 ? void 0 : _a.full_name) !== null && _b !== void 0 ? _b : role.name, h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (h("verdocs-contact-picker", { onCancel: () => (this.showPickerForId = ''), contactSuggestions: this.sessionContacts, templateRole: (_c = this.recipientsAssigned[role.id]) !== null && _c !== void 0 ? _c : role, onSearchContacts: e => console.log('Search', e.detail), onContactSelected: e => this.handleSelectContact(e, role) }))));
117
- })))), h("div", { class: `level level-done` }, this.getLevelIcon(this.levels.length), h("div", { class: "complete" }, "Document Complete"))), h("div", { class: "buttons" }, h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onPress: e => this.handleCancel(e) }), h("verdocs-button", { label: "Send", size: "small", disabled: !allRecipientsAssigned, onPress: e => this.handleSend(e) }))));
116
+ return (h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, onClick: e => this.handleClickRole(e, role) }, (_b = (_a = this.recipientsAssigned[role.id]) === null || _a === void 0 ? void 0 : _a.full_name) !== null && _b !== void 0 ? _b : role.name, h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (h("verdocs-contact-picker", { onCancel: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: (_c = this.recipientsAssigned[role.id]) !== null && _c !== void 0 ? _c : role, onSearchContacts: e => console.log('Search', e.detail) }))));
117
+ })))), h("div", { class: `level level-done` }, this.getLevelIcon(this.levels.length), h("div", { class: "complete" }, "Document Complete"))), h("div", { class: "buttons" }, h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Send", size: "small", disabled: !allRecipientsAssigned, onClick: e => this.handleSend(e) }))));
118
118
  }
119
119
  };
120
120
  VerdocsSend.style = verdocsSendCss;