@verdocs/web-sdk 1.9.14 → 1.9.16

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 (516) hide show
  1. package/dist/cjs/{Envelopes-aec4ee3d.js → Envelopes-ea5bf3fc.js} +83 -4
  2. package/dist/cjs/Envelopes-ea5bf3fc.js.map +1 -0
  3. package/dist/cjs/{Templates-0051d647.js → Templates-01d520ad.js} +4 -4
  4. package/dist/cjs/Templates-01d520ad.js.map +1 -0
  5. package/dist/cjs/{Templates-eb100ab3.js → Templates-8ef16e3d.js} +3 -3
  6. package/dist/cjs/Templates-8ef16e3d.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{templateStore-974781a8.js → templateStore-42a49905.js} +2 -2
  9. package/dist/cjs/{templateStore-974781a8.js.map → templateStore-42a49905.js.map} +1 -1
  10. package/dist/cjs/{utils-e0f38696.js → utils-beee79a1.js} +7 -11
  11. package/dist/cjs/utils-beee79a1.js.map +1 -0
  12. package/dist/cjs/verdocs-build.cjs.entry.js +4 -4
  13. package/dist/cjs/verdocs-checkbox.cjs.entry.js +4 -2
  14. package/dist/cjs/verdocs-checkbox.cjs.entry.js.map +1 -1
  15. package/dist/cjs/verdocs-dropdown.cjs.entry.js +91 -0
  16. package/dist/cjs/verdocs-dropdown.cjs.entry.js.map +1 -0
  17. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +4 -2
  18. package/dist/cjs/verdocs-field-attachment.cjs.entry.js.map +1 -1
  19. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +32 -0
  20. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js.map +1 -0
  21. package/dist/cjs/verdocs-field-date.cjs.entry.js +10 -13
  22. package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
  23. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +5 -16
  24. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
  25. package/dist/cjs/verdocs-field-initial.cjs.entry.js +4 -5
  26. package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
  27. package/dist/cjs/verdocs-field-payment.cjs.entry.js +5 -3
  28. package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
  29. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +36 -0
  30. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js.map +1 -0
  31. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +8 -10
  32. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
  33. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -24
  34. package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
  35. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +10 -28
  36. package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
  37. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -25
  38. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
  39. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +10 -13
  40. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js.map +1 -1
  41. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  42. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js.map +1 -1
  43. package/dist/cjs/verdocs-preview.cjs.entry.js +6 -6
  44. package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
  45. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +1 -1
  46. package/dist/cjs/verdocs-send.cjs.entry.js +2 -2
  47. package/dist/cjs/verdocs-sign.cjs.entry.js +154 -186
  48. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  49. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +7 -10
  50. package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
  51. package/dist/cjs/verdocs-view.cjs.entry.js +20 -75
  52. package/dist/cjs/verdocs-view.cjs.entry.js.map +1 -1
  53. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  54. package/dist/collection/collection-manifest.json +2 -2
  55. package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js +3 -3
  56. package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js.map +1 -1
  57. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +32 -18
  58. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +40 -2
  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 +6 -4
  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 +22 -12
  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.stories.js +2 -2
  65. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js.map +1 -1
  66. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js +2 -2
  67. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js.map +1 -1
  68. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js +2 -2
  69. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js.map +1 -1
  70. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.css +1 -7
  71. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +9 -12
  72. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js.map +1 -1
  73. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.css +1 -1
  74. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.css +2 -2
  75. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +3 -3
  76. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js.map +1 -1
  77. package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js +21 -21
  78. package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
  79. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.css +0 -1
  80. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js +22 -22
  81. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +1 -1
  82. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +9 -33
  83. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
  84. package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js +21 -67
  85. package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
  86. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +5 -26
  87. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  88. package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js +22 -22
  89. package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
  90. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.css +0 -1
  91. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +22 -22
  92. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js.map +1 -1
  93. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js +4 -26
  94. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  95. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +2 -108
  96. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  97. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +9 -108
  98. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  99. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.js +7 -2
  100. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.js.map +1 -1
  101. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js +1 -122
  102. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
  103. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +3 -6
  104. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  105. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +2 -2
  106. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
  107. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +6 -45
  108. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +133 -190
  109. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  110. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +2 -2
  111. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -1
  112. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +4 -6
  113. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
  114. package/dist/collection/utils/Envelopes.js +1 -1
  115. package/dist/collection/utils/Envelopes.js.map +1 -1
  116. package/dist/collection/utils/Templates.js +1 -1
  117. package/dist/collection/utils/Templates.js.map +1 -1
  118. package/dist/collection/utils/utils.js +6 -8
  119. package/dist/collection/utils/utils.js.map +1 -1
  120. package/dist/components/Envelopes.js +79 -3
  121. package/dist/components/Envelopes.js.map +1 -1
  122. package/dist/components/Templates.js +1 -1
  123. package/dist/components/Templates.js.map +1 -1
  124. package/dist/components/Templates2.js +2 -2
  125. package/dist/components/Templates2.js.map +1 -1
  126. package/dist/components/utils.js +7 -9
  127. package/dist/components/utils.js.map +1 -1
  128. package/dist/components/verdocs-checkbox2.js +6 -2
  129. package/dist/components/verdocs-checkbox2.js.map +1 -1
  130. package/dist/components/verdocs-dropdown2.js +21 -11
  131. package/dist/components/verdocs-dropdown2.js.map +1 -1
  132. package/dist/components/verdocs-field-attachment.js +5 -3
  133. package/dist/components/verdocs-field-attachment.js.map +1 -1
  134. package/dist/components/verdocs-field-checkbox.js +44 -1
  135. package/dist/components/verdocs-field-checkbox.js.map +1 -1
  136. package/dist/components/verdocs-field-date.js +9 -14
  137. package/dist/components/verdocs-field-date.js.map +1 -1
  138. package/dist/components/verdocs-field-dropdown.js +5 -17
  139. package/dist/components/verdocs-field-dropdown.js.map +1 -1
  140. package/dist/components/verdocs-field-initial.js +4 -6
  141. package/dist/components/verdocs-field-initial.js.map +1 -1
  142. package/dist/components/verdocs-field-payment.js +5 -3
  143. package/dist/components/verdocs-field-payment.js.map +1 -1
  144. package/dist/components/verdocs-field-radio-button.js +48 -1
  145. package/dist/components/verdocs-field-radio-button.js.map +1 -1
  146. package/dist/components/verdocs-field-signature2.js +4 -7
  147. package/dist/components/verdocs-field-signature2.js.map +1 -1
  148. package/dist/components/verdocs-field-textarea.js +3 -27
  149. package/dist/components/verdocs-field-textarea.js.map +1 -1
  150. package/dist/components/verdocs-field-textbox.js +9 -29
  151. package/dist/components/verdocs-field-textbox.js.map +1 -1
  152. package/dist/components/verdocs-field-timestamp.js +2 -27
  153. package/dist/components/verdocs-field-timestamp.js.map +1 -1
  154. package/dist/components/verdocs-initial-dialog2.js +10 -13
  155. package/dist/components/verdocs-initial-dialog2.js.map +1 -1
  156. package/dist/components/verdocs-ok-dialog2.js +1 -1
  157. package/dist/components/verdocs-ok-dialog2.js.map +1 -1
  158. package/dist/components/verdocs-preview.js +2 -2
  159. package/dist/components/verdocs-preview.js.map +1 -1
  160. package/dist/components/verdocs-sign.js +170 -196
  161. package/dist/components/verdocs-sign.js.map +1 -1
  162. package/dist/components/verdocs-signature-dialog2.js +4 -4
  163. package/dist/components/verdocs-signature-dialog2.js.map +1 -1
  164. package/dist/components/verdocs-template-fields2.js +3 -6
  165. package/dist/components/verdocs-template-fields2.js.map +1 -1
  166. package/dist/components/verdocs-view.js +5 -61
  167. package/dist/components/verdocs-view.js.map +1 -1
  168. package/dist/docs.json +113 -286
  169. package/dist/esm/{Envelopes-b031f847.js → Envelopes-8038ca25.js} +80 -4
  170. package/dist/esm/Envelopes-8038ca25.js.map +1 -0
  171. package/dist/esm/{Templates-f7c590c0.js → Templates-0638b1e4.js} +3 -3
  172. package/dist/esm/Templates-0638b1e4.js.map +1 -0
  173. package/dist/esm/{Templates-1034fade.js → Templates-e77fb578.js} +4 -4
  174. package/dist/esm/Templates-e77fb578.js.map +1 -0
  175. package/dist/esm/loader.js +1 -1
  176. package/dist/esm/{templateStore-96a39844.js → templateStore-b8512d36.js} +2 -2
  177. package/dist/esm/{templateStore-96a39844.js.map → templateStore-b8512d36.js.map} +1 -1
  178. package/dist/esm/{utils-99a3c1f0.js → utils-2e6beff8.js} +8 -10
  179. package/dist/esm/utils-2e6beff8.js.map +1 -0
  180. package/dist/esm/verdocs-build.entry.js +4 -4
  181. package/dist/esm/verdocs-checkbox.entry.js +4 -2
  182. package/dist/esm/verdocs-checkbox.entry.js.map +1 -1
  183. package/dist/esm/verdocs-dropdown.entry.js +87 -0
  184. package/dist/esm/verdocs-dropdown.entry.js.map +1 -0
  185. package/dist/esm/verdocs-field-attachment.entry.js +4 -2
  186. package/dist/esm/verdocs-field-attachment.entry.js.map +1 -1
  187. package/dist/esm/verdocs-field-checkbox.entry.js +28 -0
  188. package/dist/esm/verdocs-field-checkbox.entry.js.map +1 -0
  189. package/dist/esm/verdocs-field-date.entry.js +10 -13
  190. package/dist/esm/verdocs-field-date.entry.js.map +1 -1
  191. package/dist/esm/verdocs-field-dropdown.entry.js +5 -16
  192. package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
  193. package/dist/esm/verdocs-field-initial.entry.js +4 -5
  194. package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
  195. package/dist/esm/verdocs-field-payment.entry.js +5 -3
  196. package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
  197. package/dist/esm/verdocs-field-radio-button.entry.js +32 -0
  198. package/dist/esm/verdocs-field-radio-button.entry.js.map +1 -0
  199. package/dist/esm/verdocs-field-signature_3.entry.js +8 -10
  200. package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
  201. package/dist/esm/verdocs-field-textarea.entry.js +3 -25
  202. package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
  203. package/dist/esm/verdocs-field-textbox.entry.js +10 -28
  204. package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
  205. package/dist/esm/verdocs-field-timestamp.entry.js +3 -26
  206. package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
  207. package/dist/esm/verdocs-initial-dialog.entry.js +10 -13
  208. package/dist/esm/verdocs-initial-dialog.entry.js.map +1 -1
  209. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  210. package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
  211. package/dist/esm/verdocs-preview.entry.js +6 -6
  212. package/dist/esm/verdocs-preview.entry.js.map +1 -1
  213. package/dist/esm/verdocs-quick-functions_3.entry.js +1 -1
  214. package/dist/esm/verdocs-send.entry.js +2 -2
  215. package/dist/esm/verdocs-sign.entry.js +155 -187
  216. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  217. package/dist/esm/verdocs-template-create_4.entry.js +7 -10
  218. package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
  219. package/dist/esm/verdocs-view.entry.js +7 -62
  220. package/dist/esm/verdocs-view.entry.js.map +1 -1
  221. package/dist/esm/verdocs-web-sdk.js +1 -1
  222. package/dist/esm-es5/Envelopes-8038ca25.js +2 -0
  223. package/dist/esm-es5/Envelopes-8038ca25.js.map +1 -0
  224. package/dist/esm-es5/Templates-0638b1e4.js +2 -0
  225. package/dist/esm-es5/Templates-0638b1e4.js.map +1 -0
  226. package/dist/esm-es5/{Templates-1034fade.js → Templates-e77fb578.js} +2 -2
  227. package/dist/esm-es5/Templates-e77fb578.js.map +1 -0
  228. package/dist/esm-es5/loader.js +1 -1
  229. package/dist/esm-es5/loader.js.map +1 -1
  230. package/dist/esm-es5/{templateStore-96a39844.js → templateStore-b8512d36.js} +2 -2
  231. package/dist/esm-es5/{templateStore-96a39844.js.map → templateStore-b8512d36.js.map} +0 -0
  232. package/dist/esm-es5/utils-2e6beff8.js +2 -0
  233. package/dist/esm-es5/utils-2e6beff8.js.map +1 -0
  234. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  235. package/dist/esm-es5/verdocs-checkbox.entry.js +1 -1
  236. package/dist/esm-es5/verdocs-checkbox.entry.js.map +1 -1
  237. package/dist/esm-es5/verdocs-dropdown.entry.js +2 -0
  238. package/dist/esm-es5/verdocs-dropdown.entry.js.map +1 -0
  239. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  240. package/dist/esm-es5/verdocs-field-attachment.entry.js.map +1 -1
  241. package/dist/esm-es5/verdocs-field-checkbox.entry.js +2 -0
  242. package/dist/esm-es5/verdocs-field-checkbox.entry.js.map +1 -0
  243. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  244. package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
  245. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  246. package/dist/esm-es5/verdocs-field-dropdown.entry.js.map +1 -1
  247. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  248. package/dist/esm-es5/verdocs-field-initial.entry.js.map +1 -1
  249. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  250. package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
  251. package/dist/esm-es5/verdocs-field-radio-button.entry.js +2 -0
  252. package/dist/esm-es5/verdocs-field-radio-button.entry.js.map +1 -0
  253. package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
  254. package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
  255. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  256. package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
  257. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  258. package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
  259. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  260. package/dist/esm-es5/verdocs-field-timestamp.entry.js.map +1 -1
  261. package/dist/esm-es5/verdocs-initial-dialog.entry.js +1 -1
  262. package/dist/esm-es5/verdocs-initial-dialog.entry.js.map +1 -1
  263. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  264. package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
  265. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  266. package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
  267. package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
  268. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  269. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  270. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  271. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  272. package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
  273. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  274. package/dist/esm-es5/verdocs-view.entry.js.map +1 -1
  275. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  276. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  277. package/dist/types/components/controls/verdocs-button/verdocs-button.stories.d.ts +2 -2
  278. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +12 -1
  279. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.stories.d.ts +4 -2
  280. package/dist/types/components/controls/verdocs-dropdown/verdocs-dropdown.d.ts +6 -9
  281. package/dist/types/components/controls/verdocs-radio-button/verdocs-radio-button.stories.d.ts +2 -2
  282. package/dist/types/components/controls/verdocs-select-input/verdocs-select-input.stories.d.ts +2 -2
  283. package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.stories.d.ts +2 -2
  284. package/dist/types/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.d.ts +2 -3
  285. package/dist/types/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.d.ts +1 -1
  286. package/dist/types/components/elements/verdocs-field-attachment/verdocs-field-attachment.d.ts +5 -5
  287. package/dist/types/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.d.ts +5 -5
  288. package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +1 -8
  289. package/dist/types/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +3 -14
  290. package/dist/types/components/elements/verdocs-field-initial/verdocs-field-initial.d.ts +1 -5
  291. package/dist/types/components/elements/verdocs-field-payment/verdocs-field-payment.d.ts +5 -5
  292. package/dist/types/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +5 -5
  293. package/dist/types/components/elements/verdocs-field-signature/verdocs-field-signature.d.ts +1 -5
  294. package/dist/types/components/elements/verdocs-field-textarea/verdocs-field-textarea.d.ts +1 -29
  295. package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -28
  296. package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.d.ts +2 -1
  297. package/dist/types/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +1 -33
  298. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +8 -8
  299. package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +0 -10
  300. package/dist/types/components.d.ts +43 -143
  301. package/dist/types/utils/utils.d.ts +7 -1
  302. package/dist/verdocs-web-sdk/{p-d1a97a03.system.js → p-00dec610.system.js} +2 -2
  303. package/dist/verdocs-web-sdk/{p-d1a97a03.system.js.map → p-00dec610.system.js.map} +0 -0
  304. package/dist/verdocs-web-sdk/p-04f84127.system.entry.js +2 -0
  305. package/dist/verdocs-web-sdk/p-04f84127.system.entry.js.map +1 -0
  306. package/dist/verdocs-web-sdk/p-05433ef8.entry.js +2 -0
  307. package/dist/verdocs-web-sdk/p-05433ef8.entry.js.map +1 -0
  308. package/dist/verdocs-web-sdk/{p-b2dea632.entry.js → p-11fbd83d.entry.js} +2 -2
  309. package/dist/verdocs-web-sdk/p-11fbd83d.entry.js.map +1 -0
  310. package/dist/verdocs-web-sdk/p-12a82c8b.entry.js +2 -0
  311. package/dist/verdocs-web-sdk/p-12a82c8b.entry.js.map +1 -0
  312. package/dist/verdocs-web-sdk/p-2467a244.entry.js +2 -0
  313. package/dist/verdocs-web-sdk/p-2467a244.entry.js.map +1 -0
  314. package/dist/verdocs-web-sdk/p-26dc355e.entry.js +2 -0
  315. package/dist/verdocs-web-sdk/p-26dc355e.entry.js.map +1 -0
  316. package/dist/verdocs-web-sdk/p-27707de4.system.entry.js +2 -0
  317. package/dist/verdocs-web-sdk/p-27707de4.system.entry.js.map +1 -0
  318. package/dist/verdocs-web-sdk/p-2870fa81.js +2 -0
  319. package/dist/verdocs-web-sdk/p-2870fa81.js.map +1 -0
  320. package/dist/verdocs-web-sdk/{p-9236d9df.entry.js → p-2b44d1b3.entry.js} +2 -2
  321. package/dist/verdocs-web-sdk/{p-9236d9df.entry.js.map → p-2b44d1b3.entry.js.map} +0 -0
  322. package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js +2 -0
  323. package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js.map +1 -0
  324. package/dist/verdocs-web-sdk/p-339c7685.system.entry.js +2 -0
  325. package/dist/verdocs-web-sdk/p-339c7685.system.entry.js.map +1 -0
  326. package/dist/verdocs-web-sdk/{p-aa2d9932.system.entry.js → p-3629c585.system.entry.js} +2 -2
  327. package/dist/verdocs-web-sdk/{p-aa2d9932.system.entry.js.map → p-3629c585.system.entry.js.map} +0 -0
  328. package/dist/verdocs-web-sdk/p-3bc9be49.entry.js +2 -0
  329. package/dist/verdocs-web-sdk/p-3bc9be49.entry.js.map +1 -0
  330. package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js +2 -0
  331. package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js.map +1 -0
  332. package/dist/verdocs-web-sdk/p-40565c66.system.entry.js +2 -0
  333. package/dist/verdocs-web-sdk/p-40565c66.system.entry.js.map +1 -0
  334. package/dist/verdocs-web-sdk/p-4125b8e7.system.entry.js +2 -0
  335. package/dist/verdocs-web-sdk/p-4125b8e7.system.entry.js.map +1 -0
  336. package/dist/verdocs-web-sdk/p-430df46a.entry.js +2 -0
  337. package/dist/verdocs-web-sdk/p-430df46a.entry.js.map +1 -0
  338. package/dist/verdocs-web-sdk/p-4a332358.system.entry.js +2 -0
  339. package/dist/verdocs-web-sdk/p-4a332358.system.entry.js.map +1 -0
  340. package/dist/verdocs-web-sdk/p-524017b8.entry.js +2 -0
  341. package/dist/verdocs-web-sdk/p-524017b8.entry.js.map +1 -0
  342. package/dist/verdocs-web-sdk/p-5a323cf3.system.js +2 -0
  343. package/dist/verdocs-web-sdk/p-5a323cf3.system.js.map +1 -0
  344. package/dist/verdocs-web-sdk/{p-a7ac4da8.system.entry.js → p-690ade87.system.entry.js} +2 -2
  345. package/dist/verdocs-web-sdk/p-690ade87.system.entry.js.map +1 -0
  346. package/dist/verdocs-web-sdk/{p-dd864f36.system.entry.js → p-6f7e9e81.system.entry.js} +2 -2
  347. package/dist/verdocs-web-sdk/{p-dd864f36.system.entry.js.map → p-6f7e9e81.system.entry.js.map} +0 -0
  348. package/dist/verdocs-web-sdk/{p-baa985a4.entry.js → p-751e0c80.entry.js} +2 -2
  349. package/dist/verdocs-web-sdk/{p-baa985a4.entry.js.map → p-751e0c80.entry.js.map} +0 -0
  350. package/dist/verdocs-web-sdk/p-76fd7afd.entry.js +2 -0
  351. package/dist/verdocs-web-sdk/p-76fd7afd.entry.js.map +1 -0
  352. package/dist/verdocs-web-sdk/{p-5bb42252.system.entry.js → p-79c160f4.system.entry.js} +2 -2
  353. package/dist/verdocs-web-sdk/{p-5bb42252.system.entry.js.map → p-79c160f4.system.entry.js.map} +0 -0
  354. package/dist/verdocs-web-sdk/p-8bd71fb6.system.entry.js +2 -0
  355. package/dist/verdocs-web-sdk/p-8bd71fb6.system.entry.js.map +1 -0
  356. package/dist/verdocs-web-sdk/{p-0b2290c6.system.entry.js → p-8cce81ff.system.entry.js} +2 -2
  357. package/dist/verdocs-web-sdk/p-8cce81ff.system.entry.js.map +1 -0
  358. package/dist/verdocs-web-sdk/{p-32da34af.system.js → p-90d7da87.system.js} +2 -2
  359. package/dist/verdocs-web-sdk/p-90d7da87.system.js.map +1 -0
  360. package/dist/verdocs-web-sdk/p-9cecb5df.system.js +2 -0
  361. package/dist/verdocs-web-sdk/p-9cecb5df.system.js.map +1 -0
  362. package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js +2 -0
  363. package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js.map +1 -0
  364. package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js +2 -0
  365. package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js.map +1 -0
  366. package/dist/verdocs-web-sdk/{p-f8c49765.system.entry.js → p-a6fca8c0.system.entry.js} +2 -2
  367. package/dist/verdocs-web-sdk/p-a6fca8c0.system.entry.js.map +1 -0
  368. package/dist/verdocs-web-sdk/p-aad63275.entry.js +2 -0
  369. package/dist/verdocs-web-sdk/p-aad63275.entry.js.map +1 -0
  370. package/dist/verdocs-web-sdk/{p-a8c25a4a.system.entry.js → p-b3ee5dd5.system.entry.js} +2 -2
  371. package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js.map +1 -0
  372. package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js +2 -0
  373. package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js.map +1 -0
  374. package/dist/verdocs-web-sdk/{p-30424967.entry.js → p-c0875b7d.entry.js} +2 -2
  375. package/dist/verdocs-web-sdk/p-c0875b7d.entry.js.map +1 -0
  376. package/dist/verdocs-web-sdk/p-c132d66e.entry.js +2 -0
  377. package/dist/verdocs-web-sdk/p-c132d66e.entry.js.map +1 -0
  378. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  379. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
  380. package/dist/verdocs-web-sdk/p-c2cc4492.js +2 -0
  381. package/dist/verdocs-web-sdk/p-c2cc4492.js.map +1 -0
  382. package/dist/verdocs-web-sdk/p-c803da60.system.js +2 -0
  383. package/dist/verdocs-web-sdk/p-c803da60.system.js.map +1 -0
  384. package/dist/verdocs-web-sdk/p-d1256888.entry.js +2 -0
  385. package/dist/verdocs-web-sdk/{p-f19e600e.entry.js.map → p-d1256888.entry.js.map} +1 -1
  386. package/dist/verdocs-web-sdk/{p-cb7d9ff5.js → p-d1f922c2.js} +2 -2
  387. package/dist/verdocs-web-sdk/{p-cb7d9ff5.js.map → p-d1f922c2.js.map} +0 -0
  388. package/dist/verdocs-web-sdk/p-d48d78a2.entry.js +2 -0
  389. package/dist/verdocs-web-sdk/p-d48d78a2.entry.js.map +1 -0
  390. package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js +2 -0
  391. package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js.map +1 -0
  392. package/dist/verdocs-web-sdk/p-d8e182fb.system.entry.js +2 -0
  393. package/dist/verdocs-web-sdk/p-d8e182fb.system.entry.js.map +1 -0
  394. package/dist/verdocs-web-sdk/p-d942510c.system.entry.js +2 -0
  395. package/dist/verdocs-web-sdk/p-d942510c.system.entry.js.map +1 -0
  396. package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js +2 -0
  397. package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js.map +1 -0
  398. package/dist/verdocs-web-sdk/{p-4b4c610f.entry.js → p-deb5b86b.entry.js} +2 -2
  399. package/dist/verdocs-web-sdk/p-deb5b86b.entry.js.map +1 -0
  400. package/dist/verdocs-web-sdk/p-df877830.entry.js +2 -0
  401. package/dist/verdocs-web-sdk/p-df877830.entry.js.map +1 -0
  402. package/dist/verdocs-web-sdk/p-e6f928eb.js +2 -0
  403. package/dist/verdocs-web-sdk/p-e6f928eb.js.map +1 -0
  404. package/dist/verdocs-web-sdk/p-e918e13e.entry.js +2 -0
  405. package/dist/verdocs-web-sdk/p-e918e13e.entry.js.map +1 -0
  406. package/dist/verdocs-web-sdk/p-e920fbe1.js +2 -0
  407. package/dist/verdocs-web-sdk/p-e920fbe1.js.map +1 -0
  408. package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js +2 -0
  409. package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js.map +1 -0
  410. package/dist/verdocs-web-sdk/p-fb391ca5.entry.js +2 -0
  411. package/dist/verdocs-web-sdk/p-fb391ca5.entry.js.map +1 -0
  412. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  413. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  414. package/package.json +2 -2
  415. package/dist/cjs/Envelopes-aec4ee3d.js.map +0 -1
  416. package/dist/cjs/Templates-0051d647.js.map +0 -1
  417. package/dist/cjs/Templates-eb100ab3.js.map +0 -1
  418. package/dist/cjs/utils-e0f38696.js.map +0 -1
  419. package/dist/cjs/verdocs-dropdown_3.cjs.entry.js +0 -128
  420. package/dist/cjs/verdocs-dropdown_3.cjs.entry.js.map +0 -1
  421. package/dist/components/verdocs-field-checkbox2.js +0 -46
  422. package/dist/components/verdocs-field-checkbox2.js.map +0 -1
  423. package/dist/components/verdocs-field-radio-button2.js +0 -50
  424. package/dist/components/verdocs-field-radio-button2.js.map +0 -1
  425. package/dist/esm/Envelopes-b031f847.js.map +0 -1
  426. package/dist/esm/Templates-1034fade.js.map +0 -1
  427. package/dist/esm/Templates-f7c590c0.js.map +0 -1
  428. package/dist/esm/utils-99a3c1f0.js.map +0 -1
  429. package/dist/esm/verdocs-dropdown_3.entry.js +0 -122
  430. package/dist/esm/verdocs-dropdown_3.entry.js.map +0 -1
  431. package/dist/esm-es5/Envelopes-b031f847.js +0 -2
  432. package/dist/esm-es5/Envelopes-b031f847.js.map +0 -1
  433. package/dist/esm-es5/Templates-1034fade.js.map +0 -1
  434. package/dist/esm-es5/Templates-f7c590c0.js +0 -2
  435. package/dist/esm-es5/Templates-f7c590c0.js.map +0 -1
  436. package/dist/esm-es5/utils-99a3c1f0.js +0 -2
  437. package/dist/esm-es5/utils-99a3c1f0.js.map +0 -1
  438. package/dist/esm-es5/verdocs-dropdown_3.entry.js +0 -2
  439. package/dist/esm-es5/verdocs-dropdown_3.entry.js.map +0 -1
  440. package/dist/verdocs-web-sdk/p-0a2efec0.system.entry.js +0 -2
  441. package/dist/verdocs-web-sdk/p-0a2efec0.system.entry.js.map +0 -1
  442. package/dist/verdocs-web-sdk/p-0a3d0ca9.js +0 -2
  443. package/dist/verdocs-web-sdk/p-0a3d0ca9.js.map +0 -1
  444. package/dist/verdocs-web-sdk/p-0b2290c6.system.entry.js.map +0 -1
  445. package/dist/verdocs-web-sdk/p-112c8e05.system.entry.js +0 -2
  446. package/dist/verdocs-web-sdk/p-112c8e05.system.entry.js.map +0 -1
  447. package/dist/verdocs-web-sdk/p-15584ecb.entry.js +0 -2
  448. package/dist/verdocs-web-sdk/p-15584ecb.entry.js.map +0 -1
  449. package/dist/verdocs-web-sdk/p-21ec6ff0.system.js +0 -2
  450. package/dist/verdocs-web-sdk/p-21ec6ff0.system.js.map +0 -1
  451. package/dist/verdocs-web-sdk/p-2cf3843a.entry.js +0 -2
  452. package/dist/verdocs-web-sdk/p-2cf3843a.entry.js.map +0 -1
  453. package/dist/verdocs-web-sdk/p-30424967.entry.js.map +0 -1
  454. package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js +0 -2
  455. package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js.map +0 -1
  456. package/dist/verdocs-web-sdk/p-32da34af.system.js.map +0 -1
  457. package/dist/verdocs-web-sdk/p-32e3a428.entry.js +0 -2
  458. package/dist/verdocs-web-sdk/p-32e3a428.entry.js.map +0 -1
  459. package/dist/verdocs-web-sdk/p-3585534a.system.entry.js +0 -2
  460. package/dist/verdocs-web-sdk/p-3585534a.system.entry.js.map +0 -1
  461. package/dist/verdocs-web-sdk/p-35fec075.system.entry.js +0 -2
  462. package/dist/verdocs-web-sdk/p-35fec075.system.entry.js.map +0 -1
  463. package/dist/verdocs-web-sdk/p-4b4c610f.entry.js.map +0 -1
  464. package/dist/verdocs-web-sdk/p-5b636344.entry.js +0 -2
  465. package/dist/verdocs-web-sdk/p-5b636344.entry.js.map +0 -1
  466. package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js +0 -2
  467. package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js.map +0 -1
  468. package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js +0 -2
  469. package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js.map +0 -1
  470. package/dist/verdocs-web-sdk/p-8095fab3.system.entry.js +0 -2
  471. package/dist/verdocs-web-sdk/p-8095fab3.system.entry.js.map +0 -1
  472. package/dist/verdocs-web-sdk/p-868f497f.entry.js +0 -2
  473. package/dist/verdocs-web-sdk/p-868f497f.entry.js.map +0 -1
  474. package/dist/verdocs-web-sdk/p-92b0fc42.js +0 -2
  475. package/dist/verdocs-web-sdk/p-92b0fc42.js.map +0 -1
  476. package/dist/verdocs-web-sdk/p-a760546b.entry.js +0 -2
  477. package/dist/verdocs-web-sdk/p-a760546b.entry.js.map +0 -1
  478. package/dist/verdocs-web-sdk/p-a7ac4da8.system.entry.js.map +0 -1
  479. package/dist/verdocs-web-sdk/p-a8c25a4a.system.entry.js.map +0 -1
  480. package/dist/verdocs-web-sdk/p-a9068845.entry.js +0 -2
  481. package/dist/verdocs-web-sdk/p-a9068845.entry.js.map +0 -1
  482. package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js +0 -2
  483. package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js.map +0 -1
  484. package/dist/verdocs-web-sdk/p-af1063e3.entry.js +0 -2
  485. package/dist/verdocs-web-sdk/p-af1063e3.entry.js.map +0 -1
  486. package/dist/verdocs-web-sdk/p-b2dea632.entry.js.map +0 -1
  487. package/dist/verdocs-web-sdk/p-b6c24f97.system.entry.js +0 -2
  488. package/dist/verdocs-web-sdk/p-b6c24f97.system.entry.js.map +0 -1
  489. package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js +0 -2
  490. package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js.map +0 -1
  491. package/dist/verdocs-web-sdk/p-be8004c0.entry.js +0 -2
  492. package/dist/verdocs-web-sdk/p-be8004c0.entry.js.map +0 -1
  493. package/dist/verdocs-web-sdk/p-c5a43bb3.js +0 -2
  494. package/dist/verdocs-web-sdk/p-c5a43bb3.js.map +0 -1
  495. package/dist/verdocs-web-sdk/p-cd7b475a.system.js +0 -2
  496. package/dist/verdocs-web-sdk/p-cd7b475a.system.js.map +0 -1
  497. package/dist/verdocs-web-sdk/p-d534fffb.js +0 -2
  498. package/dist/verdocs-web-sdk/p-d534fffb.js.map +0 -1
  499. package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js +0 -2
  500. package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js.map +0 -1
  501. package/dist/verdocs-web-sdk/p-df878df9.system.js +0 -2
  502. package/dist/verdocs-web-sdk/p-df878df9.system.js.map +0 -1
  503. package/dist/verdocs-web-sdk/p-e4fa4969.entry.js +0 -2
  504. package/dist/verdocs-web-sdk/p-e4fa4969.entry.js.map +0 -1
  505. package/dist/verdocs-web-sdk/p-e96a04c2.entry.js +0 -2
  506. package/dist/verdocs-web-sdk/p-e96a04c2.entry.js.map +0 -1
  507. package/dist/verdocs-web-sdk/p-ed71080a.entry.js +0 -2
  508. package/dist/verdocs-web-sdk/p-ed71080a.entry.js.map +0 -1
  509. package/dist/verdocs-web-sdk/p-f19e600e.entry.js +0 -2
  510. package/dist/verdocs-web-sdk/p-f8c49765.system.entry.js.map +0 -1
  511. package/dist/verdocs-web-sdk/p-f9a9b3a2.entry.js +0 -2
  512. package/dist/verdocs-web-sdk/p-f9a9b3a2.entry.js.map +0 -1
  513. package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js +0 -2
  514. package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js.map +0 -1
  515. package/dist/verdocs-web-sdk/p-ff0b44f9.system.entry.js +0 -2
  516. package/dist/verdocs-web-sdk/p-ff0b44f9.system.entry.js.map +0 -1
@@ -11,21 +11,30 @@ import SortDown from './down-arrow.svg';
11
11
  * options={[
12
12
  * {label: 'Option 1', disabled: true},
13
13
  * {label: 'Option 2', id: '2'}
14
- * ]}
14
+ * ]}
15
15
  * label="OK" onClick={() => (console.log('OK clicked'))}
16
16
  * />
17
17
  * ```
18
18
  */
19
19
  export class VerdocsDropdown {
20
20
  constructor() {
21
+ // We need to do this to reliably disconnect the click-away listener
22
+ this.clickListenerSymbol = new AbortController();
21
23
  this.options = [];
22
- this.isOpen = undefined;
23
- }
24
- componentWillLoad() {
25
- // this.isOpen = !!this.open;
24
+ this.open = undefined;
26
25
  }
27
26
  componentDidLoad() {
28
27
  this.popper = createPopper(this.dropdownButton, this.dropdownMenu, { placement: 'bottom-start', modifiers: [{ name: 'offset', options: { offset: [0, 6] } }] });
28
+ window.addEventListener('click', this.clickListener.bind(this), { signal: this.clickListenerSymbol.signal });
29
+ }
30
+ disconnectedCallback() {
31
+ this.clickListenerSymbol.abort();
32
+ }
33
+ clickListener(e) {
34
+ const outside = !(e.target == this.el || this.el.contains(e.target));
35
+ if (outside) {
36
+ this.hide();
37
+ }
29
38
  }
30
39
  handleSelectOption(e, option) {
31
40
  e.stopPropagation();
@@ -43,8 +52,8 @@ export class VerdocsDropdown {
43
52
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions(options => ({
44
53
  ...options,
45
54
  modifiers: [...options.modifiers, { name: 'eventListeners', enabled: true }],
46
- }));
47
- (_b = this.popper) === null || _b === void 0 ? void 0 : _b.update();
55
+ })).catch(() => { });
56
+ (_b = this.popper) === null || _b === void 0 ? void 0 : _b.update().catch(() => { });
48
57
  }
49
58
  handleHideDropdown(e) {
50
59
  var _a, _b;
@@ -56,7 +65,7 @@ export class VerdocsDropdown {
56
65
  }
57
66
  toggleDropdown(e) {
58
67
  e.stopPropagation();
59
- if (this.isOpen) {
68
+ if (this.open) {
60
69
  this.hide();
61
70
  }
62
71
  else {
@@ -65,17 +74,17 @@ export class VerdocsDropdown {
65
74
  }
66
75
  hide() {
67
76
  var _a;
68
- this.isOpen = false;
77
+ this.open = false;
69
78
  this.dropdownMenu.removeAttribute('data-show');
70
79
  this.dropdownMenu.setAttribute('aria-hidden', 'true');
71
80
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions(options => ({
72
81
  ...options,
73
82
  modifiers: [...options.modifiers, { name: 'eventListeners', enabled: false }],
74
- }));
83
+ })).catch(() => { });
75
84
  }
76
85
  render() {
77
86
  var _a;
78
- return (h(Host, { class: { storybook: !!(window === null || window === void 0 ? void 0 : window['STORYBOOK_ENV']), open: !!this.isOpen } }, h("button", { class: "arrow", innerHTML: SortDown, "aria-label": "Open Menu", onClick: e => this.toggleDropdown(e), onBlur: e => this.handleHideDropdown(e), ref: el => (this.dropdownButton = el) }), h("div", { class: "items", "aria-hidden": !this.isOpen, ref: el => (this.dropdownMenu = el) }, (_a = this.options) === null || _a === void 0 ? void 0 : _a.map(option => (h("button", { onClick: e => this.handleSelectOption(e, option), class: "option", disabled: option.disabled }, option.label))))));
87
+ return (h(Host, { class: { open: !!this.open } }, h("button", { class: "arrow", innerHTML: SortDown, "aria-label": "Open Menu", onClick: e => this.toggleDropdown(e), onBlur: e => this.handleHideDropdown(e), ref: el => (this.dropdownButton = el) }), h("div", { class: "items", "aria-hidden": !this.open, ref: el => (this.dropdownMenu = el) }, (_a = this.options) === null || _a === void 0 ? void 0 : _a.map(option => (h("button", { onClick: e => this.handleSelectOption(e, option), class: "option", disabled: option.disabled }, option.label))))));
79
88
  }
80
89
  static get is() { return "verdocs-dropdown"; }
81
90
  static get originalStyleUrls() {
@@ -114,7 +123,7 @@ export class VerdocsDropdown {
114
123
  }
115
124
  static get states() {
116
125
  return {
117
- "isOpen": {}
126
+ "open": {}
118
127
  };
119
128
  }
120
129
  static get events() {
@@ -139,5 +148,6 @@ export class VerdocsDropdown {
139
148
  }
140
149
  }];
141
150
  }
151
+ static get elementRef() { return "el"; }
142
152
  }
143
153
  //# sourceMappingURL=verdocs-dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-dropdown.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-dropdown/verdocs-dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Host} from '@stencil/core';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport SortDown from './down-arrow.svg';\n\nexport interface IMenuOption {\n label: string;\n id?: any;\n faIcon?: any;\n disabled?: boolean;\n}\n\n/**\n * Display a drop-down menu button. A menu of the specified options will be displayed when the button is pressed. The menu will be hidden\n * when the button is pressed again, or an option is selected.\n *\n * ```html\n * <verdocs-dropdown\n * options={[\n * {label: 'Option 1', disabled: true},\n * {label: 'Option 2', id: '2'}\n* ]}\n * label=\"OK\" onClick={() => (console.log('OK clicked'))}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-dropdown',\n styleUrl: 'verdocs-dropdown.scss',\n})\nexport class VerdocsDropdown {\n private dropdownButton?: HTMLButtonElement;\n private dropdownMenu?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The menu options to display.\n */\n @Prop() options: IMenuOption[] = [];\n\n /**\n * If set, the component will be open by default. This is primarily intended to be used for testing.\n */\n // @Prop() open: boolean;\n\n /**\n * If set, the component will be open by default.\n */\n @State() isOpen: boolean;\n\n /**\n * Event fired when a menu option is clicked.\n * Web Component events need to be \"composed\" to cross the Shadow DOM and be received by parent frameworks.\n */\n @Event({composed: true}) optionSelected: EventEmitter<IMenuOption>;\n\n componentWillLoad() {\n // this.isOpen = !!this.open;\n }\n\n componentDidLoad() {\n this.popper = createPopper(this.dropdownButton, this.dropdownMenu, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [0, 6]}}]});\n }\n\n handleSelectOption(e: any, option: IMenuOption) {\n e.stopPropagation();\n // this.isOpen = false;\n this.optionSelected.emit(option);\n this.hide();\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n // this.isOpen = true;\n this.dropdownMenu.setAttribute('data-show', '');\n this.dropdownMenu.removeAttribute('aria-hidden');\n\n this.popper?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }));\n\n this.popper?.update();\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown(e: any) {\n e.stopPropagation();\n\n if (this.isOpen) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.isOpen = false;\n this.dropdownMenu.removeAttribute('data-show');\n this.dropdownMenu.setAttribute('aria-hidden', 'true');\n this.popper?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }));\n }\n\n render() {\n return (\n <Host class={{storybook: !!window?.['STORYBOOK_ENV'], open: !!this.isOpen}}>\n <button\n class=\"arrow\"\n innerHTML={SortDown}\n aria-label=\"Open Menu\"\n onClick={e => this.toggleDropdown(e)}\n onBlur={e => this.handleHideDropdown(e)}\n ref={el => (this.dropdownButton = el as HTMLButtonElement)}\n />\n\n <div class=\"items\" aria-hidden={!this.isOpen} ref={el => (this.dropdownMenu = el as HTMLDivElement)}>\n {this.options?.map(option => (\n <button onClick={e => this.handleSelectOption(e, option)} class=\"option\" disabled={option.disabled}>\n {option.label}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-dropdown.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-dropdown/verdocs-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,YAAY,EAAW,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAe,MAAM,eAAe,CAAC;AACtF,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AASxC;;;;;;;;;;;;;GAaG;AAKH,MAAM,OAAO,eAAe;;IAqB1B,oEAAoE;IACpE,wBAAmB,GAAG,IAAI,eAAe,EAAE,CAAC;mBAXX,EAAE;;;EAYnC,gBAAgB;IACd,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,EAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IAE1J,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAC,CAAC,CAAC;EAC7G,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;EACnC,CAAC;EAED,aAAa,CAAC,CAAM;IAClB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE;MACX,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;EACH,CAAC;EAED,kBAAkB,CAAC,CAAM,EAAE,MAAmB;IAC5C,CAAC,CAAC,eAAe,EAAE,CAAC;IACpB,uBAAuB;IACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;EACd,CAAC;EAED,8CAA8C;EAC9C,8GAA8G;EAC9G,YAAY;;IACV,sBAAsB;IACtB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAEjD,MAAA,IAAI,CAAC,MAAM,0CACP,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;MACvB,GAAG,OAAO;MACV,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;KAC3E,CAAC,EACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEnB,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;EACxC,CAAC;EAED,kBAAkB,CAAC,CAAM;;IACvB,IAAI,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,0CAAE,SAAS,MAAK,QAAQ,IAAI,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,0CAAE,SAAS,MAAK,OAAO,EAAE;MACzE,+FAA+F;MAC/F,OAAO;KACR;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;EACd,CAAC;EAED,cAAc,CAAC,CAAM;IACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IAEpB,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;SAAM;MACL,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;EACH,CAAC;EAED,IAAI;;IACF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACtD,MAAA,IAAI,CAAC,MAAM,0CACP,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;MACvB,GAAG,OAAO;MACV,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;KAC5E,CAAC,EACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;EACrB,CAAC;EAED,MAAM;;IACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC;MAC9B,cACE,KAAK,EAAC,OAAO,EACb,SAAS,EAAE,QAAQ,gBACR,WAAW,EACtB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EACpC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACvC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,EAAuB,CAAC,GAC1D;MAEF,WAAK,KAAK,EAAC,OAAO,iBAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAoB,CAAC,IAC9F,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC3B,cAAQ,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAC/F,MAAM,CAAC,KAAK,CACN,CACV,CAAC,CACE,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Host} from '@stencil/core';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, Element, State, h, Event, EventEmitter} from '@stencil/core';\nimport SortDown from './down-arrow.svg';\n\nexport interface IMenuOption {\n label: string;\n id?: any;\n faIcon?: any;\n disabled?: boolean;\n}\n\n/**\n * Display a drop-down menu button. A menu of the specified options will be displayed when the button is pressed. The menu will be hidden\n * when the button is pressed again, or an option is selected.\n *\n * ```html\n * <verdocs-dropdown\n * options={[\n * {label: 'Option 1', disabled: true},\n * {label: 'Option 2', id: '2'}\n * ]}\n * label=\"OK\" onClick={() => (console.log('OK clicked'))}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-dropdown',\n styleUrl: 'verdocs-dropdown.scss',\n})\nexport class VerdocsDropdown {\n @Element()\n el: HTMLElement;\n\n private dropdownButton?: HTMLButtonElement;\n private dropdownMenu?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The menu options to display.\n */\n @Prop() options: IMenuOption[] = [];\n\n /**\n * Event fired when a menu option is clicked.\n * Web Component events need to be \"composed\" to cross the Shadow DOM and be received by parent frameworks.\n */\n @Event({composed: true}) optionSelected: EventEmitter<IMenuOption>;\n\n @State() open: boolean;\n\n // We need to do this to reliably disconnect the click-away listener\n clickListenerSymbol = new AbortController();\n componentDidLoad() {\n this.popper = createPopper(this.dropdownButton, this.dropdownMenu, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [0, 6]}}]});\n\n window.addEventListener('click', this.clickListener.bind(this), {signal: this.clickListenerSymbol.signal});\n }\n\n disconnectedCallback() {\n this.clickListenerSymbol.abort();\n }\n\n clickListener(e: any) {\n const outside = !(e.target == this.el || this.el.contains(e.target));\n if (outside) {\n this.hide();\n }\n }\n\n handleSelectOption(e: any, option: IMenuOption) {\n e.stopPropagation();\n // this.isOpen = false;\n this.optionSelected.emit(option);\n this.hide();\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n // this.isOpen = true;\n this.dropdownMenu.setAttribute('data-show', '');\n this.dropdownMenu.removeAttribute('aria-hidden');\n\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }))\n .catch(() => {});\n\n this.popper?.update().catch(() => {});\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown(e: any) {\n e.stopPropagation();\n\n if (this.open) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.open = false;\n this.dropdownMenu.removeAttribute('data-show');\n this.dropdownMenu.setAttribute('aria-hidden', 'true');\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }))\n .catch(() => {});\n }\n\n render() {\n return (\n <Host class={{open: !!this.open}}>\n <button\n class=\"arrow\"\n innerHTML={SortDown}\n aria-label=\"Open Menu\"\n onClick={e => this.toggleDropdown(e)}\n onBlur={e => this.handleHideDropdown(e)}\n ref={el => (this.dropdownButton = el as HTMLButtonElement)}\n />\n\n <div class=\"items\" aria-hidden={!this.open} ref={el => (this.dropdownMenu = el as HTMLDivElement)}>\n {this.options?.map(option => (\n <button onClick={e => this.handleSelectOption(e, option)} class=\"option\" disabled={option.disabled}>\n {option.label}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -9,11 +9,11 @@ export default {
9
9
  disabled: false,
10
10
  },
11
11
  argTypes: {
12
- onInput: {
12
+ input: {
13
13
  action: 'input',
14
14
  description: 'Fired when the radio button is clicked. e.target.checked will always be true, because radio button onChange events are fired only when the radio button is clicked to select it.',
15
15
  },
16
16
  },
17
17
  };
18
- export const RadioButton = ({ checked, name, value, disabled, onInput }) => html ` <verdocs-radio-button .checked=${checked} .name=${name} .value=${value} .disabled="${disabled}" @input=${onInput} /> `;
18
+ export const RadioButton = ({ checked, name, value, disabled, input }) => html ` <verdocs-radio-button .checked=${checked} .name=${name} .value=${value} .disabled="${disabled}" @input=${input} /> `;
19
19
  //# sourceMappingURL=verdocs-radio-button.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-radio-button.stories.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-radio-button/verdocs-radio-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,uBAAuB;EAC9B,SAAS,EAAE,sBAAsB;EACjC,IAAI,EAAE;IACJ,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,KAAK;GAChB;EACD,QAAQ,EAAE;IACR,OAAO,EAAE;MACP,MAAM,EAAE,OAAO;MACf,WAAW,EACT,kLAAkL;KACrL;GACF;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAC,EAAE,EAAE,CACvE,IAAI,CAAA,mCAAmC,OAAO,UAAU,IAAI,WAAW,KAAK,eAAe,QAAQ,YAAY,OAAO,MAAM,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Controls/Radio Button',\n component: 'verdocs-radio-button',\n args: {\n checked: false,\n name: 'test',\n value: '1',\n disabled: false,\n },\n argTypes: {\n onInput: {\n action: 'input',\n description:\n 'Fired when the radio button is clicked. e.target.checked will always be true, because radio button onChange events are fired only when the radio button is clicked to select it.',\n },\n },\n} as Meta;\n\nexport const RadioButton = ({checked, name, value, disabled, onInput}) =>\n html` <verdocs-radio-button .checked=${checked} .name=${name} .value=${value} .disabled=\"${disabled}\" @input=${onInput} /> `;\n"]}
1
+ {"version":3,"file":"verdocs-radio-button.stories.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-radio-button/verdocs-radio-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,uBAAuB;EAC9B,SAAS,EAAE,sBAAsB;EACjC,IAAI,EAAE;IACJ,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,KAAK;GAChB;EACD,QAAQ,EAAE;IACR,KAAK,EAAE;MACL,MAAM,EAAE,OAAO;MACf,WAAW,EACT,kLAAkL;KACrL;GACF;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAC,EAAE,EAAE,CACrE,IAAI,CAAA,mCAAmC,OAAO,UAAU,IAAI,WAAW,KAAK,eAAe,QAAQ,YAAY,KAAK,MAAM,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Controls/Radio Button',\n component: 'verdocs-radio-button',\n args: {\n checked: false,\n name: 'test',\n value: '1',\n disabled: false,\n },\n argTypes: {\n input: {\n action: 'input',\n description:\n 'Fired when the radio button is clicked. e.target.checked will always be true, because radio button onChange events are fired only when the radio button is clicked to select it.',\n },\n },\n} as Meta;\n\nexport const RadioButton = ({checked, name, value, disabled, input}) =>\n html` <verdocs-radio-button .checked=${checked} .name=${name} .value=${value} .disabled=\"${disabled}\" @input=${input} /> `;\n"]}
@@ -12,11 +12,11 @@ export default {
12
12
  ],
13
13
  },
14
14
  argTypes: {
15
- onInput: {
15
+ input: {
16
16
  action: 'input',
17
17
  description: 'Fired when a new value is selected. e.target.value will contain the selected value.',
18
18
  },
19
19
  },
20
20
  };
21
- export const SelectInput = ({ type, label, value, placeholder, options, disabled, onInput }) => html `<verdocs-select-input .type=${type} .label=${label} .placeholder=${placeholder} .value=${value} .options=${options} .disabled=${disabled} @input=${onInput} />`;
21
+ export const SelectInput = ({ type, label, value, placeholder, options, disabled, input }) => html `<verdocs-select-input .type=${type} .label=${label} .placeholder=${placeholder} .value=${value} .options=${options} .disabled=${disabled} @input=${input} />`;
22
22
  //# sourceMappingURL=verdocs-select-input.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-select-input.stories.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-select-input/verdocs-select-input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,uBAAuB;EAC9B,SAAS,EAAE,sBAAsB;EACjC,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,EAAE;IACT,OAAO,EAAE;MACP,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAC;MAC/B,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAC;MAC/B,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAC;KAChC;GACF;EACD,QAAQ,EAAE;IACR,OAAO,EAAE;MACP,MAAM,EAAE,OAAO;MACf,WAAW,EAAE,qFAAqF;KACnG;GACF;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAC,EAAE,EAAE,CAC3F,IAAI,CAAA,+BAA+B,IAAI,WAAW,KAAK,iBAAiB,WAAW,WAAW,KAAK,aAAa,OAAO,cAAc,QAAQ,WAAW,OAAO,KAAK,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Controls/Select Input',\n component: 'verdocs-select-input',\n args: {\n label: 'Name',\n value: '',\n options: [\n {label: 'Option 1', value: '1'},\n {label: 'Option 2', value: '2'},\n {label: 'Option 3', value: '3'},\n ],\n },\n argTypes: {\n onInput: {\n action: 'input',\n description: 'Fired when a new value is selected. e.target.value will contain the selected value.',\n },\n },\n} as Meta;\n\nexport const SelectInput = ({type, label, value, placeholder, options, disabled, onInput}) =>\n html`<verdocs-select-input .type=${type} .label=${label} .placeholder=${placeholder} .value=${value} .options=${options} .disabled=${disabled} @input=${onInput} />`;\n"]}
1
+ {"version":3,"file":"verdocs-select-input.stories.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-select-input/verdocs-select-input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,uBAAuB;EAC9B,SAAS,EAAE,sBAAsB;EACjC,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,EAAE;IACT,OAAO,EAAE;MACP,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAC;MAC/B,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAC;MAC/B,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAC;KAChC;GACF;EACD,QAAQ,EAAE;IACR,KAAK,EAAE;MACL,MAAM,EAAE,OAAO;MACf,WAAW,EAAE,qFAAqF;KACnG;GACF;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAC,EAAE,EAAE,CACzF,IAAI,CAAA,+BAA+B,IAAI,WAAW,KAAK,iBAAiB,WAAW,WAAW,KAAK,aAAa,OAAO,cAAc,QAAQ,WAAW,KAAK,KAAK,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Controls/Select Input',\n component: 'verdocs-select-input',\n args: {\n label: 'Name',\n value: '',\n options: [\n {label: 'Option 1', value: '1'},\n {label: 'Option 2', value: '2'},\n {label: 'Option 3', value: '3'},\n ],\n },\n argTypes: {\n input: {\n action: 'input',\n description: 'Fired when a new value is selected. e.target.value will contain the selected value.',\n },\n },\n} as Meta;\n\nexport const SelectInput = ({type, label, value, placeholder, options, disabled, input}) =>\n html`<verdocs-select-input .type=${type} .label=${label} .placeholder=${placeholder} .value=${value} .options=${options} .disabled=${disabled} @input=${input} />`;\n"]}
@@ -8,11 +8,11 @@ export default {
8
8
  placeholder: 'Enter your name...',
9
9
  },
10
10
  argTypes: {
11
- onInput: {
11
+ input: {
12
12
  action: 'input',
13
13
  description: 'Fired for each character entered in the field. e.target.value will contain the current text value.',
14
14
  },
15
15
  },
16
16
  };
17
- export const TextInput = ({ type, label, value, placeholder, disabled, onInput }) => html `<verdocs-text-input .type=${type} .label=${label} .placeholder=${placeholder} .value=${value} .disabled=${disabled} @input=${onInput} />`;
17
+ export const TextInput = ({ type, label, value, placeholder, disabled, input }) => html `<verdocs-text-input .type=${type} .label=${label} .placeholder=${placeholder} .value=${value} .disabled=${disabled} @input=${input} />`;
18
18
  //# sourceMappingURL=verdocs-text-input.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-text-input.stories.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-text-input/verdocs-text-input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,qBAAqB;EAC5B,SAAS,EAAE,oBAAoB;EAC/B,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,oBAAoB;GAClC;EACD,QAAQ,EAAE;IACR,OAAO,EAAE;MACP,MAAM,EAAE,OAAO;MACf,WAAW,EAAE,oGAAoG;KAClH;GACF;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAC,EAAE,EAAE,CAChF,IAAI,CAAA,6BAA6B,IAAI,WAAW,KAAK,iBAAiB,WAAW,WAAW,KAAK,cAAc,QAAQ,WAAW,OAAO,KAAK,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Controls/Text Input',\n component: 'verdocs-text-input',\n args: {\n label: 'Name',\n value: '',\n placeholder: 'Enter your name...',\n },\n argTypes: {\n onInput: {\n action: 'input',\n description: 'Fired for each character entered in the field. e.target.value will contain the current text value.',\n },\n },\n} as Meta;\n\nexport const TextInput = ({type, label, value, placeholder, disabled, onInput}) =>\n html`<verdocs-text-input .type=${type} .label=${label} .placeholder=${placeholder} .value=${value} .disabled=${disabled} @input=${onInput} />`;\n"]}
1
+ {"version":3,"file":"verdocs-text-input.stories.js","sourceRoot":"","sources":["../../../../src/components/controls/verdocs-text-input/verdocs-text-input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,qBAAqB;EAC5B,SAAS,EAAE,oBAAoB;EAC/B,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,oBAAoB;GAClC;EACD,QAAQ,EAAE;IACR,KAAK,EAAE;MACL,MAAM,EAAE,OAAO;MACf,WAAW,EAAE,oGAAoG;KAClH;GACF;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAC,EAAE,EAAE,CAC9E,IAAI,CAAA,6BAA6B,IAAI,WAAW,KAAK,iBAAiB,WAAW,WAAW,KAAK,cAAc,QAAQ,WAAW,KAAK,KAAK,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Controls/Text Input',\n component: 'verdocs-text-input',\n args: {\n label: 'Name',\n value: '',\n placeholder: 'Enter your name...',\n },\n argTypes: {\n input: {\n action: 'input',\n description: 'Fired for each character entered in the field. e.target.value will contain the current text value.',\n },\n },\n} as Meta;\n\nexport const TextInput = ({type, label, value, placeholder, disabled, input}) =>\n html`<verdocs-text-input .type=${type} .label=${label} .placeholder=${placeholder} .value=${value} .disabled=${disabled} @input=${input} />`;\n"]}
@@ -1,13 +1,7 @@
1
1
  verdocs-initial-dialog {
2
2
  font-family: "Barlow", sans-serif;
3
3
  box-sizing: border-box;
4
- display: none;
5
- }
6
- verdocs-initial-dialog.open {
7
- display: block;
8
- }
9
- verdocs-initial-dialog .background-overlay {
10
- position: absolute;
4
+ position: fixed;
11
5
  z-index: 10000;
12
6
  top: 0;
13
7
  left: 0;
@@ -41,23 +41,20 @@ export class VerdocsInitialDialog {
41
41
  context.font = `${fontSize}px Dancing Script`;
42
42
  context.fillText(this.enteredInitials, this.canvasElement.width / 2, this.canvasElement.height / 2);
43
43
  }
44
- // We need a separate event handler for clicking the background because it can receive events "through" other child components
45
- handleDismiss(e) {
46
- e.stopPropagation();
47
- if (e.target.className === 'background-overlay') {
48
- this.handleCancel();
49
- }
50
- }
51
44
  handleNameChange(e) {
52
45
  this.enteredInitials = e.target.value;
53
46
  }
54
- handleAdopt() {
47
+ handleCancel(e) {
48
+ e.stopPropagation();
49
+ e.preventDefault();
50
+ this.cancel.emit();
51
+ }
52
+ handleAdopt(e) {
53
+ e.stopPropagation();
54
+ e.preventDefault();
55
55
  const data = this.canvasElement.toDataURL('image/png');
56
56
  this.next.emit(data);
57
57
  }
58
- handleCancel() {
59
- this.cancel.emit();
60
- }
61
58
  /*
62
59
  selColor(hex: string) {
63
60
  this.color = hex;
@@ -216,7 +213,7 @@ export class VerdocsInitialDialog {
216
213
  }
217
214
  */
218
215
  render() {
219
- return (h(Host, null, h("div", { class: "background-overlay", onClick: e => this.handleDismiss(e) }, h("div", { class: "dialog" }, h("div", { class: "heading" }, "Create Your Initial"), h("div", { class: "content" }, h("verdocs-text-input", { placeholder: "Initials...", label: "Initials", value: this.enteredInitials, onInput: e => this.handleNameChange(e) }), h("div", { class: "as-shown" }, "As shown on driver's license or govt. ID card."), this.fontLoaded ? h("canvas", { ref: el => (this.canvasElement = el) }) : h("div", { style: { display: 'none' } }), h("div", { class: "disclaimer" }, "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, including legally binding contracts \u2014 just the same as a pen-and-paper signature or initial."), h("div", { class: "buttons" }, h("verdocs-button", { label: "CANCEL", variant: "outline", onClick: () => this.handleCancel() }), h("verdocs-button", { label: "Adopt & Sign", onClick: () => this.handleAdopt() })))))));
216
+ return (h(Host, { onClick: e => this.handleCancel(e) }, h("div", { class: "dialog" }, h("div", { class: "heading" }, "Create Your Initial"), h("div", { class: "content" }, h("verdocs-text-input", { placeholder: "Initials...", label: "Initials", value: this.enteredInitials, onInput: e => this.handleNameChange(e) }), h("div", { class: "as-shown" }, "As shown on driver's license or govt. ID card."), this.fontLoaded ? h("canvas", { ref: el => (this.canvasElement = el) }) : h("div", { style: { display: 'none' } }), h("div", { class: "disclaimer" }, "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, including legally binding contracts \u2014 just the same as a pen-and-paper signature or initial."), h("div", { class: "buttons" }, h("verdocs-button", { label: "CANCEL", variant: "outline", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Adopt & Sign", onClick: e => this.handleAdopt(e) }))))));
220
217
  }
221
218
  static get is() { return "verdocs-initial-dialog"; }
222
219
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-initial-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Prop, Host, h, Event, EventEmitter, State} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify an initials image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their initials with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-initial-dialog',\n styleUrl: 'verdocs-initial-dialog.scss',\n})\nexport class VerdocsInitialDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() initials: string = '';\n\n /**\n * Event fired when the initials are adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredInitials: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredInitials = this.initials.toUpperCase();\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n if (!this.canvasElement) {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredInitials).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredInitials, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n e.stopPropagation();\n if (e.target.className === 'background-overlay') {\n this.handleCancel();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredInitials = e.target.value;\n }\n\n handleAdopt() {\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n handleCancel() {\n this.cancel.emit();\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Initial</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Initials...\" label=\"Initials\" value={this.enteredInitials} onInput={e => this.handleNameChange(e)} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n {/*<div class=\"tabs\">*/}\n {/* <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>*/}\n {/* Type*/}\n {/* </div>*/}\n {/* <div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>*/}\n {/* Draw*/}\n {/* </div>*/}\n {/*</div>*/}\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Adopt & Sign\" onClick={() => this.handleAdopt()} />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-initial-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["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 handleNameChange(e: any) {\n this.enteredInitials = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.cancel.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\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 onClick={e => this.handleCancel(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={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" onClick={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -26,9 +26,9 @@ verdocs-ok-dialog .heading {
26
26
  display: flex;
27
27
  font-size: 16px;
28
28
  flex-direction: row;
29
- background: #444444;
30
29
  padding: 8px 16px;
31
30
  color: #ffffff;
31
+ background: #46497d;
32
32
  }
33
33
  verdocs-ok-dialog .content {
34
34
  font-size: 16px;
@@ -1,7 +1,7 @@
1
1
  verdocs-signature-dialog {
2
2
  font-family: "Barlow", sans-serif;
3
3
  box-sizing: border-box;
4
- position: absolute;
4
+ position: fixed;
5
5
  z-index: 10000;
6
6
  top: 0;
7
7
  left: 0;
@@ -18,7 +18,7 @@ verdocs-signature-dialog .dialog {
18
18
  border-radius: 4px;
19
19
  overflow: hidden;
20
20
  box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);
21
- background: #f5f5fa;
21
+ background: #f9f9f9;
22
22
  }
23
23
  verdocs-signature-dialog .heading {
24
24
  display: flex;
@@ -41,14 +41,14 @@ export class VerdocsSignatureDialog {
41
41
  context.font = `${fontSize}px Dancing Script`;
42
42
  context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);
43
43
  }
44
+ handleNameChange(e) {
45
+ this.enteredName = e.target.value;
46
+ }
44
47
  handleCancel(e) {
45
48
  e.stopPropagation();
46
49
  e.preventDefault();
47
50
  this.cancel.emit();
48
51
  }
49
- handleNameChange(e) {
50
- this.enteredName = e.target.value;
51
- }
52
52
  handleAdopt(e) {
53
53
  e.stopPropagation();
54
54
  e.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-signature-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Prop, h, Event, EventEmitter, State, Host} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Fired if the user cancels the dialog.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredName = this.name;\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.enteredName).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.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.cancel.emit();\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\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 onClick={e => this.handleCancel(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Signature</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Full Name...\" label=\"Full Name\" value={this.enteredName} onInput={e => this.handleNameChange(e)} onClick={e => e.stopPropagation()} />\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\" size=\"normal\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onClick={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-signature-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Prop, h, Event, EventEmitter, State, Host} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Fired if the user cancels the dialog.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredName = this.name;\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.enteredName).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.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.cancel.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\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 onClick={e => this.handleCancel(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Signature</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Full Name...\" label=\"Full Name\" value={this.enteredName} onInput={e => this.handleNameChange(e)} onClick={e => e.stopPropagation()} />\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\" size=\"normal\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onClick={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
1
2
  import { h, Host } from '@stencil/core';
2
3
  const PaperclipIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13" /></svg>`;
3
4
  /**
@@ -7,8 +8,8 @@ const PaperclipIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewB
7
8
  export class VerdocsFieldAttachment {
8
9
  constructor() {
9
10
  this.field = null;
10
- this.recipient = undefined;
11
11
  this.disabled = false;
12
+ this.roleIndex = 0;
12
13
  }
13
14
  async focusField() {
14
15
  this.handleShow();
@@ -30,7 +31,8 @@ export class VerdocsFieldAttachment {
30
31
  settings = this.field.setting;
31
32
  }
32
33
  const disabled = (_d = (_c = this.disabled) !== null && _c !== void 0 ? _c : settings.disabled) !== null && _d !== void 0 ? _d : false;
33
- return (h(Host, { class: { required: settings.required, disabled } }, h("span", { innerHTML: PaperclipIcon, onClick: () => !disabled && this.handleShow() })));
34
+ const backgroundColor = this.field['rgba'] || getRGBA(this.roleIndex);
35
+ return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("span", { innerHTML: PaperclipIcon, onClick: () => !disabled && this.handleShow() })));
34
36
  }
35
37
  static get is() { return "verdocs-field-attachment"; }
36
38
  static get originalStyleUrls() {
@@ -70,43 +72,41 @@ export class VerdocsFieldAttachment {
70
72
  },
71
73
  "defaultValue": "null"
72
74
  },
73
- "recipient": {
74
- "type": "unknown",
75
+ "disabled": {
76
+ "type": "boolean",
75
77
  "mutable": false,
76
78
  "complexType": {
77
- "original": "IRecipient",
78
- "resolved": "IRecipient",
79
- "references": {
80
- "IRecipient": {
81
- "location": "import",
82
- "path": "@verdocs/js-sdk/Envelopes/Types"
83
- }
84
- }
79
+ "original": "boolean",
80
+ "resolved": "boolean",
81
+ "references": {}
85
82
  },
86
83
  "required": false,
87
84
  "optional": true,
88
85
  "docs": {
89
86
  "tags": [],
90
- "text": "The recipient completing the form, if known."
91
- }
87
+ "text": "If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled."
88
+ },
89
+ "attribute": "disabled",
90
+ "reflect": false,
91
+ "defaultValue": "false"
92
92
  },
93
- "disabled": {
94
- "type": "boolean",
93
+ "roleIndex": {
94
+ "type": "number",
95
95
  "mutable": false,
96
96
  "complexType": {
97
- "original": "boolean",
98
- "resolved": "boolean",
97
+ "original": "number",
98
+ "resolved": "number",
99
99
  "references": {}
100
100
  },
101
101
  "required": false,
102
102
  "optional": true,
103
103
  "docs": {
104
104
  "tags": [],
105
- "text": "If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled."
105
+ "text": "If set, the field will be colored using this index value to select the background color."
106
106
  },
107
- "attribute": "disabled",
107
+ "attribute": "role-index",
108
108
  "reflect": false,
109
- "defaultValue": "false"
109
+ "defaultValue": "0"
110
110
  }
111
111
  };
112
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-field-attachment.js","sourceRoot":"","sources":["../../../../src/components/elements/verdocs-field-attachment/verdocs-field-attachment.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAI/D,MAAM,aAAa,GAAG,uSAAuS,CAAC;AAE9T;;;GAGG;AAMH,MAAM,OAAO,sBAAsB;;iBAIuB,IAAI;;oBAU/B,KAAK;;EAExB,KAAK,CAAC,UAAU;IACxB,IAAI,CAAC,UAAU,EAAE,CAAC;EACpB,CAAC;EAID,UAAU;IACR,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,EAAE,CAAA,EAAA,CAAC,CAAC;IACpE,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,EAAE,CAAA,EAAA,CAAC,CAAC;IAC/D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACpC,CAAC;EAED,MAAM;;IACJ,IAAI,QAAQ,GAAmD,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;IAC5E,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAA,EAAE;MACpD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;KAChC;SAAM,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAA,EAAE;MACzD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;KAC/B;IAED,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,mCAAI,QAAQ,CAAC,QAAQ,mCAAI,KAAK,CAAC;IAC7D,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAC;MAClD,YAAM,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,GAAI,CAC5E,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, h, Host, Prop, Method} from '@stencil/core';\nimport {ITemplateField, ITemplateFieldSetting} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IDocumentFieldSettings, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-attachment',\n styleUrl: 'verdocs-field-attachment.scss',\n shadow: false,\n})\nexport class VerdocsFieldAttachment {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * The recipient completing the form, if known.\n */\n @Prop() recipient?: IRecipient;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n @Method() async focusField() {\n this.handleShow();\n }\n\n private dialog?: any;\n\n handleShow() {\n this.dialog = document.createElement('verdocs-upload-dialog');\n this.dialog.open = true;\n this.dialog.addEventListener('cancel', () => this.dialog?.remove());\n document.addEventListener('done', () => this.dialog?.remove());\n document.body.append(this.dialog);\n }\n\n render() {\n let settings: IDocumentFieldSettings | ITemplateFieldSetting = {x: 0, y: 0};\n if ('settings' in this.field && this.field?.settings) {\n settings = this.field.settings;\n } else if ('setting' in this.field && this.field?.setting) {\n settings = this.field.setting;\n }\n\n const disabled = this.disabled ?? settings.disabled ?? false;\n return (\n <Host class={{required: settings.required, disabled}}>\n <span innerHTML={PaperclipIcon} onClick={() => !disabled && this.handleShow()} />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"verdocs-field-attachment.js","sourceRoot":"","sources":["../../../../src/components/elements/verdocs-field-attachment/verdocs-field-attachment.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAI/D,MAAM,aAAa,GAAG,uSAAuS,CAAC;AAE9T;;;GAGG;AAMH,MAAM,OAAO,sBAAsB;;iBAIuB,IAAI;oBAK/B,KAAK;qBAKL,CAAC;;EAEpB,KAAK,CAAC,UAAU;IACxB,IAAI,CAAC,UAAU,EAAE,CAAC;EACpB,CAAC;EAID,UAAU;IACR,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,EAAE,CAAA,EAAA,CAAC,CAAC;IACpE,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,EAAE,CAAA,EAAA,CAAC,CAAC;IAC/D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACpC,CAAC;EAED,MAAM;;IACJ,IAAI,QAAQ,GAAmD,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;IAC5E,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAA,EAAE;MACpD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;KAChC;SAAM,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAA,EAAE;MACzD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;KAC/B;IAED,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,mCAAI,QAAQ,CAAC,QAAQ,mCAAI,KAAK,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtE,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAC,EAAE,KAAK,EAAE,EAAC,eAAe,EAAC;MAC5E,YAAM,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,GAAI,CAC5E,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {Component, h, Host, Prop, Method} from '@stencil/core';\nimport {ITemplateField, ITemplateFieldSetting} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IDocumentFieldSettings} from '@verdocs/js-sdk/Envelopes/Types';\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-attachment',\n styleUrl: 'verdocs-field-attachment.scss',\n shadow: false,\n})\nexport class VerdocsFieldAttachment {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleIndex?: number = 0;\n\n @Method() async focusField() {\n this.handleShow();\n }\n\n private dialog?: any;\n\n handleShow() {\n this.dialog = document.createElement('verdocs-upload-dialog');\n this.dialog.open = true;\n this.dialog.addEventListener('cancel', () => this.dialog?.remove());\n document.addEventListener('done', () => this.dialog?.remove());\n document.body.append(this.dialog);\n }\n\n render() {\n let settings: IDocumentFieldSettings | ITemplateFieldSetting = {x: 0, y: 0};\n if ('settings' in this.field && this.field?.settings) {\n settings = this.field.settings;\n } else if ('setting' in this.field && this.field?.setting) {\n settings = this.field.setting;\n }\n\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleIndex);\n\n return (\n <Host class={{required: settings.required, disabled}} style={{backgroundColor}}>\n <span innerHTML={PaperclipIcon} onClick={() => !disabled && this.handleShow()} />\n </Host>\n );\n }\n}\n"]}
@@ -21,7 +21,6 @@ verdocs-field-checkbox label > input[type=checkbox] + *::before {
21
21
  width: 10px;
22
22
  height: 10px;
23
23
  border-radius: 2px;
24
- background: #f5f5fa;
25
24
  border: 1px solid rgba(0, 0, 0, 0.7);
26
25
  }
27
26
  verdocs-field-checkbox label > input[type=checkbox]:checked + * {