@verdocs/web-sdk 4.2.119 → 4.2.121

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 (302) hide show
  1. package/dist/cjs/{format-0f565a28.js → format-dc0f3757.js} +10 -37
  2. package/dist/cjs/index-a27a7f77.js +4 -4
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{utils-469e8fc5.js → utils-6a8c3390.js} +1 -1
  5. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +3 -3
  6. package/dist/cjs/verdocs-button_3.cjs.entry.js +5 -5
  7. package/dist/cjs/verdocs-checkbox_4.cjs.entry.js +3 -3
  8. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +30 -20
  9. package/dist/cjs/verdocs-dialog.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +3 -3
  12. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +2 -2
  13. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +8 -8
  15. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +39 -33
  16. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +2 -2
  17. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js +3 -3
  18. package/dist/cjs/verdocs-loader.cjs.entry.js +1 -1
  19. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +3 -3
  21. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +4 -4
  22. package/dist/cjs/verdocs-preview_9.cjs.entry.js +2 -2
  23. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-radio-button_3.cjs.entry.js +10 -10
  25. package/dist/cjs/verdocs-search-box.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-sign.cjs.entry.js +27 -18
  28. package/dist/cjs/verdocs-spinner.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -2
  30. package/dist/cjs/verdocs-table.cjs.entry.js +2 -2
  31. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  32. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +4 -4
  33. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  34. package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
  35. package/dist/cjs/verdocs-templates-list.cjs.entry.js +8 -8
  36. package/dist/cjs/verdocs-toggle.cjs.entry.js +1 -1
  37. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  38. package/dist/collection/components/controls/verdocs-button/verdocs-button.js +1 -1
  39. package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +2 -2
  40. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +1 -1
  41. package/dist/collection/components/controls/verdocs-component-error/verdocs-component-error.js +1 -1
  42. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +1 -1
  43. package/dist/collection/components/controls/verdocs-file-chooser/verdocs-file-chooser.js +1 -1
  44. package/dist/collection/components/controls/verdocs-help-icon/verdocs-help-icon.js +1 -1
  45. package/dist/collection/components/controls/verdocs-loader/verdocs-loader.js +1 -1
  46. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js +1 -1
  47. package/dist/collection/components/controls/verdocs-pagination/verdocs-pagination.js +1 -1
  48. package/dist/collection/components/controls/verdocs-portal/verdocs-portal.js +1 -1
  49. package/dist/collection/components/controls/verdocs-progress-bar/verdocs-progress-bar.js +1 -1
  50. package/dist/collection/components/controls/verdocs-quick-filter/verdocs-quick-filter.js +1 -1
  51. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.js +1 -1
  52. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js +1 -1
  53. package/dist/collection/components/controls/verdocs-spinner/verdocs-spinner.js +1 -1
  54. package/dist/collection/components/controls/verdocs-switch/verdocs-switch.js +2 -2
  55. package/dist/collection/components/controls/verdocs-table/verdocs-table.js +2 -2
  56. package/dist/collection/components/controls/verdocs-tabs/verdocs-tabs.js +1 -1
  57. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +3 -3
  58. package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js +1 -1
  59. package/dist/collection/components/controls/verdocs-toggle-button/verdocs-toggle-button.js +1 -1
  60. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +1 -1
  61. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +1 -1
  62. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
  63. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js +1 -1
  64. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
  65. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
  66. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +11 -12
  67. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
  68. package/dist/collection/components/elements/verdocs-search-box/verdocs-search-box.js +1 -1
  69. package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
  70. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +12 -0
  71. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +26 -16
  72. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.css +30 -12
  73. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +37 -18
  74. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
  75. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
  76. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
  77. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.css +3 -3
  78. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +15 -22
  79. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +10 -5
  80. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.css +3 -0
  81. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +29 -3
  82. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
  83. package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js +1 -1
  84. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +8 -8
  85. package/dist/collection/components/templates/verdocs-template-sender/verdocs-template-sender.js +1 -1
  86. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  87. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  88. package/dist/collection/components/templates/verdocs-templates-list/verdocs-templates-list.js +7 -7
  89. package/dist/components/format.js +10 -37
  90. package/dist/components/verdocs-button-panel2.js +2 -2
  91. package/dist/components/verdocs-button2.js +1 -1
  92. package/dist/components/verdocs-checkbox2.js +1 -1
  93. package/dist/components/verdocs-component-error2.js +1 -1
  94. package/dist/components/verdocs-contact-picker2.js +30 -19
  95. package/dist/components/verdocs-dialog.js +1 -1
  96. package/dist/components/verdocs-dropdown2.js +1 -1
  97. package/dist/components/verdocs-envelope-document-page2.js +1 -1
  98. package/dist/components/verdocs-envelopes-list.js +6 -6
  99. package/dist/components/verdocs-field-attachment2.js +15 -22
  100. package/dist/components/verdocs-field-dropdown2.js +9 -4
  101. package/dist/components/verdocs-field-radio2.js +13 -3
  102. package/dist/components/verdocs-file-chooser2.js +1 -1
  103. package/dist/components/verdocs-help-icon2.js +1 -1
  104. package/dist/components/verdocs-initial-dialog2.js +1 -1
  105. package/dist/components/verdocs-kba-dialog2.js +1 -1
  106. package/dist/components/verdocs-loader2.js +1 -1
  107. package/dist/components/verdocs-ok-dialog2.js +1 -1
  108. package/dist/components/verdocs-organization-card.js +1 -1
  109. package/dist/components/verdocs-pagination2.js +1 -1
  110. package/dist/components/verdocs-portal2.js +1 -1
  111. package/dist/components/verdocs-progress-bar2.js +1 -1
  112. package/dist/components/verdocs-quick-filter2.js +1 -1
  113. package/dist/components/verdocs-quick-functions.js +1 -1
  114. package/dist/components/verdocs-radio-button2.js +1 -1
  115. package/dist/components/verdocs-search-box.js +1 -1
  116. package/dist/components/verdocs-search-tabs.js +1 -1
  117. package/dist/components/verdocs-select-input2.js +1 -1
  118. package/dist/components/verdocs-sign.js +49 -33
  119. package/dist/components/verdocs-signature-dialog2.js +1 -1
  120. package/dist/components/verdocs-spinner2.js +1 -1
  121. package/dist/components/verdocs-status-indicator2.js +2 -2
  122. package/dist/components/verdocs-switch2.js +2 -2
  123. package/dist/components/verdocs-table.js +2 -2
  124. package/dist/components/verdocs-tabs2.js +1 -1
  125. package/dist/components/verdocs-template-card.js +1 -1
  126. package/dist/components/verdocs-template-document-page2.js +1 -1
  127. package/dist/components/verdocs-template-role-properties2.js +8 -8
  128. package/dist/components/verdocs-template-sender2.js +1 -1
  129. package/dist/components/verdocs-template-star2.js +1 -1
  130. package/dist/components/verdocs-template-tags.js +1 -1
  131. package/dist/components/verdocs-templates-list.js +7 -7
  132. package/dist/components/verdocs-text-input2.js +3 -3
  133. package/dist/components/verdocs-toggle-button2.js +1 -1
  134. package/dist/components/verdocs-toggle.js +1 -1
  135. package/dist/components/verdocs-toolbar-icon2.js +1 -1
  136. package/dist/components/verdocs-upload-dialog2.js +4 -2
  137. package/dist/esm/{format-0771834a.js → format-b8602175.js} +10 -37
  138. package/dist/esm/index-a68c7262.js +4 -4
  139. package/dist/esm/loader.js +1 -1
  140. package/dist/esm/{utils-06448b9b.js → utils-8f3ace81.js} +1 -1
  141. package/dist/esm/verdocs-button-panel_2.entry.js +3 -3
  142. package/dist/esm/verdocs-button_3.entry.js +5 -5
  143. package/dist/esm/verdocs-checkbox_4.entry.js +3 -3
  144. package/dist/esm/verdocs-contact-picker_2.entry.js +30 -20
  145. package/dist/esm/verdocs-dialog.entry.js +1 -1
  146. package/dist/esm/verdocs-dropdown.entry.js +1 -1
  147. package/dist/esm/verdocs-envelope-document-page.entry.js +3 -3
  148. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +2 -2
  149. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  150. package/dist/esm/verdocs-envelopes-list.entry.js +8 -8
  151. package/dist/esm/verdocs-field-attachment_13.entry.js +39 -33
  152. package/dist/esm/verdocs-file-chooser_2.entry.js +2 -2
  153. package/dist/esm/verdocs-kba-dialog_2.entry.js +3 -3
  154. package/dist/esm/verdocs-loader.entry.js +1 -1
  155. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  156. package/dist/esm/verdocs-organization-card_2.entry.js +3 -3
  157. package/dist/esm/verdocs-pagination_2.entry.js +4 -4
  158. package/dist/esm/verdocs-preview_9.entry.js +2 -2
  159. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  160. package/dist/esm/verdocs-radio-button_3.entry.js +10 -10
  161. package/dist/esm/verdocs-search-box.entry.js +1 -1
  162. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  163. package/dist/esm/verdocs-sign.entry.js +27 -18
  164. package/dist/esm/verdocs-spinner.entry.js +1 -1
  165. package/dist/esm/verdocs-status-indicator.entry.js +2 -2
  166. package/dist/esm/verdocs-table.entry.js +2 -2
  167. package/dist/esm/verdocs-template-card.entry.js +1 -1
  168. package/dist/esm/verdocs-template-document-page_2.entry.js +4 -4
  169. package/dist/esm/verdocs-template-star.entry.js +1 -1
  170. package/dist/esm/verdocs-template-tags.entry.js +1 -1
  171. package/dist/esm/verdocs-templates-list.entry.js +8 -8
  172. package/dist/esm/verdocs-toggle.entry.js +1 -1
  173. package/dist/esm/verdocs-web-sdk.js +1 -1
  174. package/dist/esm-es5/format-b8602175.js +1 -0
  175. package/dist/esm-es5/index-a68c7262.js +1 -1
  176. package/dist/esm-es5/loader.js +1 -1
  177. package/dist/esm-es5/{utils-06448b9b.js → utils-8f3ace81.js} +1 -1
  178. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  179. package/dist/esm-es5/verdocs-button_3.entry.js +1 -1
  180. package/dist/esm-es5/verdocs-checkbox_4.entry.js +1 -1
  181. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  182. package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
  183. package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
  184. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  185. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  186. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  187. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  188. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  189. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  190. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +1 -1
  191. package/dist/esm-es5/verdocs-loader.entry.js +1 -1
  192. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  193. package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
  194. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  195. package/dist/esm-es5/verdocs-preview_9.entry.js +1 -1
  196. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  197. package/dist/esm-es5/verdocs-radio-button_3.entry.js +1 -1
  198. package/dist/esm-es5/verdocs-search-box.entry.js +1 -1
  199. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  200. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  201. package/dist/esm-es5/verdocs-spinner.entry.js +1 -1
  202. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  203. package/dist/esm-es5/verdocs-table.entry.js +1 -1
  204. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  205. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  206. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  207. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  208. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  209. package/dist/esm-es5/verdocs-toggle.entry.js +1 -1
  210. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  211. package/dist/types/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.d.ts +1 -1
  212. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -0
  213. package/dist/types/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.d.ts +12 -2
  214. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +1 -1
  215. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +1 -1
  216. package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +2 -0
  217. package/dist/types/components.d.ts +31 -2
  218. package/dist/verdocs-web-sdk/{p-b96a9a0f.system.js → p-04cb12eb.system.js} +2 -2
  219. package/dist/verdocs-web-sdk/{p-521120c3.entry.js → p-069574d7.entry.js} +1 -1
  220. package/dist/verdocs-web-sdk/{p-87d67a36.system.entry.js → p-070549e6.system.entry.js} +1 -1
  221. package/dist/verdocs-web-sdk/{p-89b4d602.entry.js → p-101f3138.entry.js} +1 -1
  222. package/dist/verdocs-web-sdk/{p-72039b1d.entry.js → p-12608391.entry.js} +1 -1
  223. package/dist/verdocs-web-sdk/p-12bab948.js +1 -0
  224. package/dist/verdocs-web-sdk/{p-3bd8fbaa.entry.js → p-147f2526.entry.js} +1 -1
  225. package/dist/verdocs-web-sdk/{p-83c7a81f.system.entry.js → p-24c226e1.system.entry.js} +1 -1
  226. package/dist/verdocs-web-sdk/{p-8f68db2b.system.entry.js → p-2510a25a.system.entry.js} +1 -1
  227. package/dist/verdocs-web-sdk/p-267df026.system.js +1 -1
  228. package/dist/verdocs-web-sdk/{p-94accf87.entry.js → p-2717a4d8.entry.js} +1 -1
  229. package/dist/verdocs-web-sdk/{p-ee8850a5.system.entry.js → p-2acc0c5c.system.entry.js} +1 -1
  230. package/dist/verdocs-web-sdk/p-2c5350ec.system.js +1 -0
  231. package/dist/verdocs-web-sdk/p-2cc041aa.system.entry.js +1 -0
  232. package/dist/verdocs-web-sdk/{p-be4db1ce.entry.js → p-2eca2eda.entry.js} +1 -1
  233. package/dist/verdocs-web-sdk/p-3164d8c4.system.entry.js +1 -0
  234. package/dist/verdocs-web-sdk/{p-1db51126.system.entry.js → p-317f7a56.system.entry.js} +1 -1
  235. package/dist/verdocs-web-sdk/{p-c4ddbaf8.entry.js → p-329e5d8b.entry.js} +1 -1
  236. package/dist/verdocs-web-sdk/{p-fb70eb59.entry.js → p-34439493.entry.js} +1 -1
  237. package/dist/verdocs-web-sdk/{p-73d4eae3.system.entry.js → p-34f114de.system.entry.js} +1 -1
  238. package/dist/verdocs-web-sdk/{p-0da80893.system.entry.js → p-3af0fcae.system.entry.js} +1 -1
  239. package/dist/verdocs-web-sdk/{p-ddcffa6b.js → p-3b6dfc9f.js} +1 -1
  240. package/dist/verdocs-web-sdk/{p-b6689317.entry.js → p-3de99865.entry.js} +1 -1
  241. package/dist/verdocs-web-sdk/{p-1875e0c1.system.entry.js → p-46f5c0f0.system.entry.js} +1 -1
  242. package/dist/verdocs-web-sdk/{p-33f1e46c.entry.js → p-4a20885d.entry.js} +1 -1
  243. package/dist/verdocs-web-sdk/p-4cdc47be.system.entry.js +1 -0
  244. package/dist/verdocs-web-sdk/{p-c9063efa.entry.js → p-4fb62279.entry.js} +1 -1
  245. package/dist/verdocs-web-sdk/{p-ccc2ab25.system.entry.js → p-54ef19e9.system.entry.js} +1 -1
  246. package/dist/verdocs-web-sdk/{p-8bd00498.entry.js → p-5d2c7c6c.entry.js} +1 -1
  247. package/dist/verdocs-web-sdk/{p-e4b9cd95.system.entry.js → p-60ae48fb.system.entry.js} +1 -1
  248. package/dist/verdocs-web-sdk/{p-345f08c2.entry.js → p-6885774c.entry.js} +1 -1
  249. package/dist/verdocs-web-sdk/{p-4af90836.system.entry.js → p-68c7371d.system.entry.js} +1 -1
  250. package/dist/verdocs-web-sdk/p-68eceea2.entry.js +1 -0
  251. package/dist/verdocs-web-sdk/{p-919cfc98.entry.js → p-6975a763.entry.js} +1 -1
  252. package/dist/verdocs-web-sdk/{p-c6786b1f.system.entry.js → p-6ab8ef68.system.entry.js} +1 -1
  253. package/dist/verdocs-web-sdk/{p-7c233a05.entry.js → p-6cadd2b5.entry.js} +1 -1
  254. package/dist/verdocs-web-sdk/{p-bab9ba61.system.entry.js → p-7798b826.system.entry.js} +1 -1
  255. package/dist/verdocs-web-sdk/{p-75079e4e.system.entry.js → p-7a3a3c2c.system.entry.js} +1 -1
  256. package/dist/verdocs-web-sdk/{p-3d0cec1e.system.entry.js → p-7fb3ba8a.system.entry.js} +1 -1
  257. package/dist/verdocs-web-sdk/{p-5d045d1f.system.entry.js → p-9458de83.system.entry.js} +1 -1
  258. package/dist/verdocs-web-sdk/{p-3e118891.entry.js → p-9567cba1.entry.js} +1 -1
  259. package/dist/verdocs-web-sdk/{p-5901418b.entry.js → p-96393d62.entry.js} +1 -1
  260. package/dist/verdocs-web-sdk/{p-7c27c2a9.system.entry.js → p-a12ed59f.system.entry.js} +1 -1
  261. package/dist/verdocs-web-sdk/p-a146e2b0.system.entry.js +1 -0
  262. package/dist/verdocs-web-sdk/p-a91eadcc.entry.js +1 -0
  263. package/dist/verdocs-web-sdk/{p-9f68f41b.entry.js → p-aa599c94.entry.js} +1 -1
  264. package/dist/verdocs-web-sdk/{p-0576809a.system.entry.js → p-ab97a806.system.entry.js} +1 -1
  265. package/dist/verdocs-web-sdk/{p-7d560c5c.system.entry.js → p-adbf48ae.system.entry.js} +1 -1
  266. package/dist/verdocs-web-sdk/{p-ced09ac4.entry.js → p-ae0ec155.entry.js} +1 -1
  267. package/dist/verdocs-web-sdk/p-af74d24f.entry.js +1 -0
  268. package/dist/verdocs-web-sdk/{p-e2dd4857.entry.js → p-b4b064ad.entry.js} +1 -1
  269. package/dist/verdocs-web-sdk/{p-2e5f2378.system.entry.js → p-b4e6217b.system.entry.js} +1 -1
  270. package/dist/verdocs-web-sdk/{p-995157e8.system.entry.js → p-b5a223b6.system.entry.js} +1 -1
  271. package/dist/verdocs-web-sdk/{p-00fce956.entry.js → p-c539cdb9.entry.js} +1 -1
  272. package/dist/verdocs-web-sdk/{p-687afca9.system.entry.js → p-c56a9fd0.system.entry.js} +1 -1
  273. package/dist/verdocs-web-sdk/{p-cbac8750.entry.js → p-c5b6c6b0.entry.js} +1 -1
  274. package/dist/verdocs-web-sdk/{p-289e9196.entry.js → p-cb645d07.entry.js} +1 -1
  275. package/dist/verdocs-web-sdk/{p-8ac88c27.system.entry.js → p-d00fb7f3.system.entry.js} +1 -1
  276. package/dist/verdocs-web-sdk/{p-11b787f8.system.entry.js → p-d078d872.system.entry.js} +1 -1
  277. package/dist/verdocs-web-sdk/{p-0fbad066.entry.js → p-d93a51b0.entry.js} +1 -1
  278. package/dist/verdocs-web-sdk/{p-186bca33.entry.js → p-e15086a1.entry.js} +1 -1
  279. package/dist/verdocs-web-sdk/{p-4d9b8926.entry.js → p-e2a9ee8d.entry.js} +1 -1
  280. package/dist/verdocs-web-sdk/{p-79d28740.system.entry.js → p-e621a28c.system.entry.js} +1 -1
  281. package/dist/verdocs-web-sdk/p-e723c6b1.entry.js +1 -0
  282. package/dist/verdocs-web-sdk/p-e9513023.system.entry.js +1 -0
  283. package/dist/verdocs-web-sdk/{p-fbe1e6c3.entry.js → p-e9c5d985.entry.js} +1 -1
  284. package/dist/verdocs-web-sdk/p-ea093336.system.entry.js +1 -0
  285. package/dist/verdocs-web-sdk/p-f3d00620.entry.js +1 -0
  286. package/dist/verdocs-web-sdk/{p-66f9af42.system.entry.js → p-f52adfeb.system.entry.js} +1 -1
  287. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  288. package/package.json +3 -3
  289. package/dist/esm-es5/format-0771834a.js +0 -1
  290. package/dist/verdocs-web-sdk/p-00963c82.system.entry.js +0 -1
  291. package/dist/verdocs-web-sdk/p-0ee8319c.system.entry.js +0 -1
  292. package/dist/verdocs-web-sdk/p-1151b8f6.system.entry.js +0 -1
  293. package/dist/verdocs-web-sdk/p-195fbae1.entry.js +0 -1
  294. package/dist/verdocs-web-sdk/p-1cf84ac4.entry.js +0 -1
  295. package/dist/verdocs-web-sdk/p-35fa7834.entry.js +0 -1
  296. package/dist/verdocs-web-sdk/p-583b39ec.entry.js +0 -1
  297. package/dist/verdocs-web-sdk/p-6465a990.system.entry.js +0 -1
  298. package/dist/verdocs-web-sdk/p-77feaf73.system.entry.js +0 -1
  299. package/dist/verdocs-web-sdk/p-ba49517a.entry.js +0 -1
  300. package/dist/verdocs-web-sdk/p-d38f1299.js +0 -1
  301. package/dist/verdocs-web-sdk/p-db854498.system.js +0 -1
  302. package/dist/verdocs-web-sdk/p-de095f6c.system.entry.js +0 -1
@@ -64,6 +64,7 @@ export class VerdocsSign {
64
64
  this.agreed = false;
65
65
  this.documentsSingularPlural = 'document';
66
66
  this.kbaStep = '';
67
+ this.showSpinner = true;
67
68
  }
68
69
  componentWillLoad() {
69
70
  if (!this.endpoint) {
@@ -213,6 +214,7 @@ export class VerdocsSign {
213
214
  this.getRecipientFields().forEach(oldField => {
214
215
  if (oldField.name === fieldName) {
215
216
  oldField.value = updateResult.value;
217
+ // TODO: Keeping this while attachments still rely on it
216
218
  oldField.settings = updateResult.settings;
217
219
  updateDocumentFieldValue(oldField);
218
220
  this.checkRecipientFields();
@@ -342,7 +344,7 @@ export class VerdocsSign {
342
344
  return recipientFields;
343
345
  }
344
346
  async handleNext() {
345
- var _a, _b;
347
+ var _a;
346
348
  if (this.nextSubmits) {
347
349
  try {
348
350
  // Patches the date picker to be forcibly removed if still showing during submission
@@ -370,8 +372,8 @@ export class VerdocsSign {
370
372
  this.submitting = false;
371
373
  return;
372
374
  }
373
- // Find and focus the next incomplete` field (that is fillable)
374
- const emptyFields = this.getSortedFillableFields().filter(field => !this.isFieldFilled(field));
375
+ // Find and focus the next incomplete field (that is fillable)
376
+ const emptyFields = this.getSortedFillableFields().filter(field => field.required && !this.isFieldFilled(field));
375
377
  sortFields(emptyFields);
376
378
  const focusedIndex = emptyFields.findIndex(field => field.name === this.focusedField);
377
379
  let nextFocusedIndex = focusedIndex + 1;
@@ -379,9 +381,10 @@ export class VerdocsSign {
379
381
  nextFocusedIndex = 0;
380
382
  }
381
383
  let nextRequiredField = emptyFields[nextFocusedIndex];
384
+ console.log('Next field', nextRequiredField);
382
385
  // Skip signature and initial fields that are already filled in. We have to count our "skips" just in case, to avoid infinite loops.
383
386
  let skips = 0;
384
- if (skips < emptyFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && ((_b = nextRequiredField.settings) === null || _b === void 0 ? void 0 : _b.result) === 'signed') {
387
+ if (skips < emptyFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && ['initialed', 'signed'].includes(nextRequiredField.value)) {
385
388
  skips++;
386
389
  nextFocusedIndex++;
387
390
  if (nextFocusedIndex >= emptyFields.length) {
@@ -419,6 +422,7 @@ export class VerdocsSign {
419
422
  }
420
423
  }
421
424
  attachFieldAttributes(pageInfo, field, el) {
425
+ // console.log('attach', field.name);
422
426
  el.addEventListener('input', (e) => {
423
427
  // console.log('[SIGN] onfieldInput', e.detail, e.target.value);
424
428
  // These field types don't emit fieldChange. Should we standardize on that? We don't tap "input" for fields like
@@ -435,10 +439,19 @@ export class VerdocsSign {
435
439
  el.addEventListener('attached', async (e) => {
436
440
  // TODO: Show a spinner and/or progress bar
437
441
  console.log('[SIGN] onAttached', e.detail, e.target.value);
438
- const r = await uploadEnvelopeFieldAttachment(this.endpoint, this.envelopeId, field.name, e.detail);
439
- console.log('upload result', r);
440
- // this.updateRecipientFieldValue(fieldName, updateResult)
441
- this.checkRecipientFields();
442
+ this.showSpinner = true;
443
+ try {
444
+ const r = await uploadEnvelopeFieldAttachment(this.endpoint, this.envelopeId, field.name, e.detail);
445
+ console.log('upload result', r);
446
+ // this.updateRecipientFieldValue(fieldName, updateResult)
447
+ this.checkRecipientFields();
448
+ this.showSpinner = false;
449
+ }
450
+ catch (e) {
451
+ console.log('Error uploading attachment', e);
452
+ VerdocsToast('Unable to upload attachment, please try again later', { style: 'error' });
453
+ this.showSpinner = false;
454
+ }
442
455
  });
443
456
  el.addEventListener('remove', (e) => {
444
457
  console.log('[SIGN] onRemoved', e.detail, e.target.value);
@@ -450,7 +463,8 @@ export class VerdocsSign {
450
463
  .catch(e => console.log('[SIGN] Error deleting attachment', e));
451
464
  });
452
465
  el.addEventListener('focusout', e => {
453
- if (field.type !== 'dropdown') {
466
+ // These field types trigger focusout as they're used, even without a value change
467
+ if (field.type !== 'dropdown' && field.type !== 'attachment') {
454
468
  this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());
455
469
  }
456
470
  });
@@ -471,12 +485,7 @@ export class VerdocsSign {
471
485
  // NOTE: We don't filter on pageNumber here because we need the position in the
472
486
  // entire list to set the tabIndex.
473
487
  const recipientFields = this.getSortedFillableFields();
474
- console.log('Recipient fields', recipientFields);
475
- // this.getRecipientFields().filter(field => field.page === pageInfo.pageNumber);
476
488
  // First render the fields for the signer
477
- // Also show field placeholders for other signers who have yet to act
478
- // In template list in Beta, show second date being sorted on
479
- // Sign top to bottom left to right
480
489
  recipientFields.forEach((field, tabIndex) => {
481
490
  if (field.page !== pageInfo.pageNumber) {
482
491
  return;
@@ -566,7 +575,7 @@ export class VerdocsSign {
566
575
  })), this.showFinishLater && (h("verdocs-ok-dialog", { heading: "You've saved your document to finish later.", message: `To complete the ${this.documentsSingularPlural}, use the link in the original email notification inviting you to review and finish the document.`, onNext: () => (this.showFinishLater = false) })), this.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') }), this.showDone && (h("verdocs-ok-dialog", { heading: "You're Done!", message: `You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`, onNext: () => {
567
576
  this.showDone = false;
568
577
  this.isDone = true;
569
- } })), this.submitting && (h("div", { class: "loading-indicator" }, h("verdocs-loader", null)))));
578
+ } })), this.submitting && (h("div", { class: "loading-indicator" }, h("verdocs-loader", null))), this.showSpinner && (h("verdocs-portal", null, h("div", { class: "spinner-overlay" }, h("verdocs-spinner", null))))));
570
579
  }
571
580
  static get is() { return "verdocs-sign"; }
572
581
  static get originalStyleUrls() {
@@ -699,7 +708,8 @@ export class VerdocsSign {
699
708
  "showFinishLater": {},
700
709
  "agreed": {},
701
710
  "documentsSingularPlural": {},
702
- "kbaStep": {}
711
+ "kbaStep": {},
712
+ "showSpinner": {}
703
713
  };
704
714
  }
705
715
  static get events() {
@@ -17,8 +17,7 @@ verdocs-contact-picker {
17
17
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
18
18
  }
19
19
  verdocs-contact-picker form {
20
- display: flex;
21
- gap: 14px;
20
+ gap: 12px;
22
21
  width: 300px;
23
22
  padding: 12px;
24
23
  display: flex;
@@ -27,7 +26,6 @@ verdocs-contact-picker form {
27
26
  }
28
27
  verdocs-contact-picker form .row {
29
28
  gap: 8px;
30
- width: 276px;
31
29
  display: flex;
32
30
  position: relative;
33
31
  flex-direction: row;
@@ -44,7 +42,7 @@ verdocs-contact-picker form .names-row {
44
42
  }
45
43
  verdocs-contact-picker form .names-row > input {
46
44
  font-size: 14px;
47
- width: 110px;
45
+ width: 103px;
48
46
  }
49
47
  verdocs-contact-picker form .kba-row {
50
48
  gap: 8px;
@@ -52,13 +50,33 @@ verdocs-contact-picker form .kba-row {
52
50
  align-items: center;
53
51
  flex-direction: row;
54
52
  }
55
- verdocs-contact-picker form .kba-row > input {
56
- font-size: 14px;
57
- width: 110px;
58
- }
59
53
  verdocs-contact-picker form .kba-row verdocs-select-input {
60
54
  margin: 0;
61
55
  }
56
+ verdocs-contact-picker form .pin-code {
57
+ gap: 8px;
58
+ display: flex;
59
+ align-items: center;
60
+ flex-direction: row;
61
+ }
62
+ verdocs-contact-picker form .pin-code > input {
63
+ flex: 0;
64
+ width: 133px;
65
+ font-size: 14px;
66
+ margin-left: 58px;
67
+ }
68
+ verdocs-contact-picker form .zip-code {
69
+ gap: 8px;
70
+ display: flex;
71
+ align-items: center;
72
+ flex-direction: row;
73
+ }
74
+ verdocs-contact-picker form .zip-code > input {
75
+ flex: 0;
76
+ width: 133px;
77
+ font-size: 14px;
78
+ margin-left: 58px;
79
+ }
62
80
  verdocs-contact-picker form label {
63
81
  display: flex;
64
82
  flex: 0 0 50px;
@@ -74,11 +92,11 @@ verdocs-contact-picker form .row.message input {
74
92
  }
75
93
  verdocs-contact-picker form input {
76
94
  flex: 1;
77
- border: none;
95
+ padding: 6px;
78
96
  font-size: 14px;
79
- padding: 3px 6px 3px 0;
80
- background: transparent;
81
- border-bottom: 1px solid #33364b;
97
+ border-radius: 3px;
98
+ background: rgba(0, 0, 0, 0.0196078431);
99
+ border: 1px solid rgba(112, 122, 229, 0.3725490196);
82
100
  }
83
101
  verdocs-contact-picker form input:focus {
84
102
  outline: none;
@@ -14,6 +14,14 @@ const addrBookIcon = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"
14
14
  * The parent can use that text as a query string to call a backend to obtain appropriate contacts to show. This list may also be
15
15
  * hard-coded ahead of time to provide the user with smart suggestions on initial display, such as "Recently Used" contacts, or
16
16
  * to always display the user's own contact record.
17
+ *
18
+ * ```ts
19
+ * <verdocs-contact-picker
20
+ * templateRole={role}
21
+ * contactSuggestions={[]}
22
+ * onNext={e => console.log('Contact completed', e.detail)}
23
+ * />
24
+ * ```
17
25
  */
18
26
  export class VerdocsContactPicker {
19
27
  constructor() {
@@ -24,13 +32,14 @@ export class VerdocsContactPicker {
24
32
  this.last_name = undefined;
25
33
  this.email = undefined;
26
34
  this.phone = undefined;
35
+ this.zip = undefined;
27
36
  this.message = undefined;
28
37
  this.showSuggestions = false;
29
38
  this.showMessage = false;
30
39
  this.delegator = false;
31
40
  this.showKba = false;
32
- this.kbaMethod = '';
33
- this.pinCode = '';
41
+ this.kba_method = '';
42
+ this.kba_pin = '';
34
43
  this.nameFieldId = `verdocs-contact-picker-name-${Math.random().toString(36).substring(2, 11)}`;
35
44
  this.firstNameFieldId = `verdocs-contact-picker-firstname-${Math.random().toString(36).substring(2, 11)}`;
36
45
  this.lastNameFieldId = `verdocs-contact-picker-lastname-${Math.random().toString(36).substring(2, 11)}`;
@@ -39,7 +48,6 @@ export class VerdocsContactPicker {
39
48
  }
40
49
  componentWillLoad() {
41
50
  if (this.templateRole) {
42
- // TODO: For backwards compatibility, may be removed once templateRole no longer has a full_name
43
51
  const fullName = formatFullName(this.templateRole);
44
52
  const nameComponents = fullName.split(' ');
45
53
  const firstName = this.templateRole.first_name || nameComponents.shift() || '';
@@ -51,9 +59,10 @@ export class VerdocsContactPicker {
51
59
  this.delegator = this.templateRole.delegator || false;
52
60
  this.message = this.templateRole.message || '';
53
61
  this.showMessage = this.message !== '';
54
- this.kbaMethod = this.templateRole.kba_method || '';
55
- this.pinCode = this.templateRole.kba_pin || '';
56
- this.showKba = !!this.kbaMethod;
62
+ this.kba_method = this.templateRole.kba_method || '';
63
+ this.kba_pin = this.templateRole.kba_pin || '';
64
+ this.showKba = !!this.kba_method;
65
+ // TODO: Allow template roles to have zip codes predefined?
57
66
  }
58
67
  }
59
68
  handleFirstNameChange(e) {
@@ -83,8 +92,9 @@ export class VerdocsContactPicker {
83
92
  phone: this.phone,
84
93
  message: this.message,
85
94
  delegator: this.delegator,
86
- kba_method: this.kbaMethod,
87
- kba_pin: this.pinCode,
95
+ kba_method: this.kba_method,
96
+ kba_pin: this.kba_pin,
97
+ zip: this.zip,
88
98
  });
89
99
  }
90
100
  handleSelectSuggestion(e, suggestion) {
@@ -98,26 +108,34 @@ export class VerdocsContactPicker {
98
108
  // The reason for the random names/IDs is to disable browser autocomplete. We set the autocomplete tags but many browsers ignore them
99
109
  // and show a duplicate autocomplete picker on top of our own.
100
110
  render() {
101
- return (h("form", { key: '7ed697ee6acfcb2062280a820496aa1b186bcea9', onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { key: 'f15d572ec332e405250d6c477f127e2d8a82fd25', class: "row" }, h("label", { key: 'fe0bcdd7753f1c966afa60c1571bb7a7eca5b867', htmlFor: this.nameFieldId }, "Name:"), h("div", { key: '8867d1d70cce8fa44af315a0f6b960f42e009836', class: "names-row" }, h("input", { key: '1fe63076788f4d19541755cb577cc7afca222d69', id: this.firstNameFieldId, name: this.firstNameFieldId, type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.first_name, placeholder: "First...", onFocus: () => { var _a; return (this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0); }, onInput: e => this.handleFirstNameChange(e) }), h("input", { key: 'a6817292e059865c633be5ab4afba63a561fb07d', id: this.lastNameFieldId, name: this.lastNameFieldId, type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.last_name, placeholder: "Last...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleLastNameChange(e) })), this.showSuggestions && (h("div", { key: '6cb90ca5096cc3573873de6e59f77cb88a792047', class: "dropdown" }, this.contactSuggestions
111
+ const hasBasics = this.first_name && this.last_name && (this.email || this.phone);
112
+ const hasKbaRequirements = !this.kba_method || (this.kba_method === 'pin' && this.kba_pin) || (this.kba_method === 'identity' && this.zip);
113
+ const canSubmit = hasBasics && hasKbaRequirements;
114
+ return (h("form", { key: '7294747ca679694dc795001c654c3451602430ea', onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { key: '15c6ac1100095543590800d0ab09b6e1fb270d18', class: "row" }, h("label", { key: '1b06b8a15f67015eee52012ebf4f179ceb0e0442', htmlFor: this.nameFieldId }, "Name:"), h("div", { key: '3578e8898d0d4f62784e46c7be13d38bb017b54d', class: "names-row" }, h("input", { key: 'e23199d423f95756526551efc9ee59cc0fac35d7', id: this.firstNameFieldId, name: this.firstNameFieldId, type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.first_name, placeholder: "First...", onFocus: () => { var _a; return (this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0); }, onInput: e => this.handleFirstNameChange(e) }), h("input", { key: 'f32adffb0b5de42ced7c866c21d0e316efea6c43', id: this.lastNameFieldId, name: this.lastNameFieldId, type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.last_name, placeholder: "Last...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleLastNameChange(e) })), this.showSuggestions && (h("div", { key: '581c0c9332814b3e9fe2c6a5accc17537eff2527', class: "dropdown" }, this.contactSuggestions
102
115
  .filter(suggestion => !this.first_name || suggestion.first_name.toLowerCase().includes(this.first_name.toLowerCase()))
103
116
  .map(suggestion => {
104
117
  var _a;
105
118
  return (h("div", { key: (_a = suggestion.id) !== null && _a !== void 0 ? _a : suggestion.email, class: "suggestion", onClick: e => this.handleSelectSuggestion(e, suggestion) }, suggestion.picture ? h("img", { alt: "Avatar", class: "avatar", src: suggestion.picture }) : h("div", { class: "avatar", innerHTML: addrBookIcon }), h("div", { class: "details" }, h("div", { class: "name" }, formatFullName(suggestion)), suggestion.email && h("div", { class: "destination" }, suggestion.email), suggestion.phone && h("div", { class: "destination" }, suggestion.phone))));
106
- })))), h("div", { key: 'f60a340ab55e8415452e85f833e284de8237aa08', class: "row" }, h("label", { key: 'f0c0370b4cd9900f7fce27a1ced2d45e97475ed5', htmlFor: this.emailFieldId }, "Email:"), h("input", { key: '32d1e8768de34ba305a44bfafd9642f9587cb1a8', id: this.emailFieldId, name: this.emailFieldId, type: "text", "data-lpignore": "true", autoComplete: "blocked", value: this.email, placeholder: "Email address...", onFocus: () => (this.showSuggestions = false), onInput: (e) => (this.email = e.target.value) })), h("div", { key: '5be8b8e7b42c344a4fe18761b561e634b05ae718', class: "row" }, h("label", { key: 'f19e5ea6f3639dc28e2776e6f447b901f3ab3a31', htmlFor: this.phoneFieldId }, "Phone:"), h("input", { key: '3d910de57ae8dcf5e5ad9bd9ba4cb164de47eaad', id: this.phoneFieldId, name: this.phoneFieldId, type: "text", "data-lpignore": "true", autoComplete: "blocked", value: this.phone, placeholder: "Phone (SMS)...", onFocus: () => (this.showSuggestions = false), onInput: (e) => convertToE164(e.target.value) })), this.showKba && (h(Fragment, { key: '7f905e47123df6733b4abcf4b5f4b1951a8abb04' }, h("div", { key: '8eb65bd012848e33f7c485a5059879fb71d05db2', class: "kba-row" }, h("label", { key: '16a4024baf3b7316e8a9f3320b710783e2feb1d4' }, "KBA:"), h("verdocs-select-input", { key: '889100e6e474fd750b566d60eec5a0f87c9c33a9', value: this.kbaMethod, onInput: (e) => (this.kbaMethod = e.target.value), options: [
119
+ })))), h("div", { key: '206cac1ceb6f07d79022fdf7157e19f9683ba2cf', class: "row" }, h("label", { key: 'a695a0975d7d1786d5e7a61bf31bb6f6c3aeb6f8', htmlFor: this.emailFieldId }, "Email:"), h("input", { key: '9f3c8ae1475eda947a2f9ea78de2df3d088058ad', id: this.emailFieldId, name: this.emailFieldId, type: "text", "data-lpignore": "true", autoComplete: "blocked", value: this.email, placeholder: "Email address...", onFocus: () => (this.showSuggestions = false), onInput: (e) => (this.email = e.target.value) })), h("div", { key: '557cbc19d97671dc89e0e3a94a925f41963924cc', class: "row" }, h("label", { key: 'e94c9521ff3e15bdff1c1d00b1039220ace4a15e', htmlFor: this.phoneFieldId }, "Phone:"), h("input", { key: '4a32ee79ec7280fccafaab5c20b4de9fbd4a07c6', id: this.phoneFieldId, name: this.phoneFieldId, type: "text", "data-lpignore": "true", autoComplete: "blocked", value: this.phone, placeholder: "Phone (SMS)...", onFocus: () => (this.showSuggestions = false), onInput: (e) => convertToE164(e.target.value) })), this.showKba && (h(Fragment, { key: '85605b9ad8792de727994fce8f571a277781e60e' }, h("div", { key: '72f588d9842917bf07a978fa6f22f3e0b2a5d400', class: "kba-row" }, h("label", { key: '84b55053d2ba286f3c319e995973c9bba3eca481' }, "KBA:"), h("verdocs-select-input", { key: '82aa458e82904711790e814e631061093d0f808b', value: this.kba_method, onInput: (e) => {
120
+ this.kba_method = e.target.value;
121
+ this.zip = '';
122
+ this.kba_pin = '';
123
+ }, options: [
107
124
  { label: 'None', value: '' },
108
125
  { label: 'PIN Code', value: 'pin' },
109
- { label: 'Full Verification', value: 'kba' },
110
- ] }), h("div", { key: '5b80e6e7a249229363b78fea8529a6d5dfa299d7', style: { flex: '1' } }), h("verdocs-help-icon", { key: 'cb8be539954343749053aacb2d8b97f331d58ef2', text: "Knowledge-Based Authentication adds additional authentication for this user either via a simple PIN code or full address validation. NOTE: There may be a fee for using this feature." })), this.kbaMethod === 'pin' && (h("div", { key: 'ea1604394bcbdc74485f393f732f56cd72b16456', class: "row pin-code" }, h("input", { key: '220a6ecc193996b8324fc0857fdbedc5e0c9180c', id: "verdocs-pin-code", name: "verdocs-pin-code", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.pinCode, placeholder: "KBA PIN Code...", onFocus: () => (this.showSuggestions = false), onInput: (e) => (this.pinCode = e.target.value) }))))), this.showMessage && (h("div", { key: '1b28ed1eaa9f4b9732047f1310201e62dba098bb', class: "row message" }, h("label", { key: 'f0b2a337ad490405ac0d077519a9b716fbf6d8d1', htmlFor: "verdocs-contact-picker-message" }, "Message:"), h("input", { key: '4f06ae76980ad130f064d6d4e69312aa9384b15f', id: "verdocs-contact-picker-message", name: "verdocs-contact-picker-message", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.message, placeholder: "Message shown in invitation...", onFocus: () => (this.showSuggestions = false), onInput: (e) => (this.message = e.target.value) }))), h("div", { key: 'f81cff9b0ff13ba4a643aba20c3b9d4a2c4f9876', class: "buttons" }, h("verdocs-toggle-button", { key: '038477d4a09c003ee888d5fd6bf50cd1e412fe81', icon: kbaIcon, size: "small", active: this.showKba, onToggle: e => {
126
+ { label: 'Full Verification', value: 'identity' },
127
+ ] }), h("div", { key: '473a6afc0526166923ee52dbf3d58ac010417632', style: { flex: '1' } }), h("verdocs-help-icon", { key: '19a702f79ee06507a8d7d5df39e7bf143afee1ba', text: "Knowledge-Based Authentication adds additional authentication for this user either via a simple PIN code or full address validation. NOTE: There may be a fee for using this feature." })), this.kba_method === 'pin' && (h("div", { key: 'd6b40b1635f8b34babad7e5aa5f59c805f498675', class: "row pin-code" }, h("input", { key: '5d5b69f18b8d6fc730a25796c4988ca8089f8713', id: "verdocs-pin-code", name: "verdocs-pin-code", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.kba_pin, placeholder: "PIN Code...", onFocus: () => (this.showSuggestions = false), onInput: (e) => (this.kba_pin = e.target.value) }))), this.kba_method === 'identity' && (h("div", { key: '1fd10328d614a60d046e8e5bb5256b7cedf48031', class: "row zip-code" }, h("input", { key: '5bc3fe7cf69208cfdd4ab0471ce50d4ce6488f34', id: "verdocs-zip-code", name: "verdocs-zip-code", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.zip, placeholder: "Zip Code...", onFocus: () => (this.showSuggestions = false), onInput: (e) => (this.zip = e.target.value) }))))), this.showMessage && (h("div", { key: 'a618f1924afbf97051d92cbac1b60fac6b1b41c0', class: "row message" }, h("label", { key: '013453934007a7146d4cd1b7216de02f4f592cf8', htmlFor: "verdocs-contact-picker-message" }, "Message:"), h("input", { key: 'a7984b0dc78ae4b4aba2dff258ffce6258742049', id: "verdocs-contact-picker-message", name: "verdocs-contact-picker-message", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.message, placeholder: "Message shown in invitation...", onFocus: () => (this.showSuggestions = false), onInput: (e) => (this.message = e.target.value) }))), h("div", { key: 'c8c3cdc7b905dda4d430b050a42d12fe5a4330d6', class: "buttons" }, h("verdocs-toggle-button", { key: 'ed784a9910c000ca8704a6281dc1851beedbd8cb', icon: kbaIcon, size: "small", active: this.showKba, onToggle: e => {
111
128
  this.showKba = e.detail.active;
112
129
  if (!e.detail.active) {
113
- this.pinCode = '';
114
- this.kbaMethod = '';
130
+ this.kba_pin = '';
131
+ this.kba_method = '';
132
+ this.zip = '';
115
133
  }
116
134
  this.showSuggestions = false;
117
- } }), h("verdocs-toggle-button", { key: '689ac4fbbcae076aa2b23e4552ee8e9ffde3e3f1', icon: messageIcon, size: "small", active: this.showMessage, onToggle: e => {
135
+ } }), h("verdocs-toggle-button", { key: 'b6d705f7d20d22e3f7d97b399096507912f8c11b', icon: messageIcon, size: "small", active: this.showMessage, onToggle: e => {
118
136
  this.showMessage = e.detail.active;
119
137
  this.showSuggestions = false;
120
- } }), h("div", { key: '79acd11f45019554126cb2dca15c30e3b8bfe86c', class: "flex-fill" }), h("verdocs-button", { key: '63ce6fb6c58955c19dddfc7ca7187ff5ad4ea86a', variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { key: 'e1523687c11224c74a6235adcc23e9e53eb995bc', label: "OK", size: "small", onClick: e => this.handleSubmit(e) }))));
138
+ } }), h("div", { key: '73db7367acc8b9573bcd51eafc5d5c6c6d09f04c', class: "flex-fill" }), h("verdocs-button", { key: '9cf8f79300ed93a65d6e570f87151c131327109b', variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { key: 'c4f6732a45409ccc7bd9927c3fd7ab97db8c301d', label: "OK", size: "small", disabled: !canSubmit, onClick: e => this.handleSubmit(e) }))));
121
139
  }
122
140
  static get is() { return "verdocs-contact-picker"; }
123
141
  static get originalStyleUrls() {
@@ -210,13 +228,14 @@ export class VerdocsContactPicker {
210
228
  "last_name": {},
211
229
  "email": {},
212
230
  "phone": {},
231
+ "zip": {},
213
232
  "message": {},
214
233
  "showSuggestions": {},
215
234
  "showMessage": {},
216
235
  "delegator": {},
217
236
  "showKba": {},
218
- "kbaMethod": {},
219
- "pinCode": {},
237
+ "kba_method": {},
238
+ "kba_pin": {},
220
239
  "nameFieldId": {},
221
240
  "firstNameFieldId": {},
222
241
  "lastNameFieldId": {},
@@ -74,7 +74,7 @@ export class VerdocsEnvelopeDocumentPage {
74
74
  }
75
75
  render() {
76
76
  const height = `${this.renderedHeight}px`;
77
- return (h(Host, { key: 'c36ed131abfd6604c5a48d6cc02384c4c35c5653', id: `${this.containerId}`, style: { height, flex: `0 0 ${height}` } }, this.layers.map(layer => layer.type === 'div' ? (h("div", { class: "verdocs-envelope-document-page-layer", id: `${this.containerId}-${layer.name}`, style: { height } })) : this.pageDisplayUri ? (h("img", { class: "verdocs-envelope-document-page-layer img", id: `${this.containerId}-${layer.name}`, src: this.pageDisplayUri, alt: `Page ${this.pageNumber}`, "aria-hidden": true, loading: "lazy", onLoad: (e) => {
77
+ return (h(Host, { key: 'd0b33866715373307c93aa63a2d669180d137c31', id: `${this.containerId}`, style: { height, flex: `0 0 ${height}` } }, this.layers.map(layer => layer.type === 'div' ? (h("div", { class: "verdocs-envelope-document-page-layer", id: `${this.containerId}-${layer.name}`, style: { height } })) : this.pageDisplayUri ? (h("img", { class: "verdocs-envelope-document-page-layer img", id: `${this.containerId}-${layer.name}`, src: this.pageDisplayUri, alt: `Page ${this.pageNumber}`, "aria-hidden": true, loading: "lazy", onLoad: (e) => {
78
78
  // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that
79
79
  // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).
80
80
  // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values
@@ -191,18 +191,18 @@ export class VerdocsEnvelopesList {
191
191
  });
192
192
  }
193
193
  render() {
194
- return (h(Host, { key: 'afc4e894ffe975884de4740ab191141f45ae8dd3' }, h("div", { key: 'a31c5d67b40c79977ef398ade34906083386a6df', class: "header" }, h("div", { key: '4c9e4e53ad08e7ac14d6567da0bc9d8e076f3550', class: "filter" }, h("verdocs-text-input", { key: 'ea20a5b962b13f678a333c246cde83ce6d8ee9d7', id: "verdocs-filter-name", value: this.match, clearable: true, autocomplete: "off", placeholder: "Filter by Name, Recipient, or Field...", onFocusout: (e) => {
194
+ return (h(Host, { key: '108b5afd94968cb2801ed59a0ac22415b69089d2' }, h("div", { key: 'ce4fc0e1f129cb7628cfc3f6f082074637cff0b7', class: "header" }, h("div", { key: 'ad67a17d11cd9b599242813f3868b58e4296d82d', class: "filter" }, h("verdocs-text-input", { key: '3c516592fdfc4215734c8c84c3553ff368867652', id: "verdocs-filter-name", value: this.match, clearable: true, autocomplete: "off", placeholder: "Filter by Name, Recipient, or Field...", onFocusout: (e) => {
195
195
  var _a;
196
196
  // We don't locally filter envelopes because there are too many fields to match against efficiently.
197
197
  this.match = e.target.value.trim();
198
198
  (_a = this.changeMatch) === null || _a === void 0 ? void 0 : _a.emit(this.match);
199
- } })), h("verdocs-quick-filter", { key: '32a191d2d8e67c2d6633e4ae43ed16d82bc9fa8d', label: "View", value: this.view, options: ViewFilters, onOptionSelected: e => {
199
+ } })), h("verdocs-quick-filter", { key: '215d014e581b9bff84a56ee919810b6329a2789e', label: "View", value: this.view, options: ViewFilters, onOptionSelected: e => {
200
200
  this.view = e.detail.value;
201
- } }), this.view === 'all' && (h("verdocs-quick-filter", { key: '41ff33e406d7c7b40512e1ce3bbfbcc883b4871a', label: "Status", value: this.status, options: StatusFilters, onOptionSelected: e => {
201
+ } }), this.view === 'all' && (h("verdocs-quick-filter", { key: '69f79850d7165d1150383f845909dd3cfd23255e', label: "Status", value: this.status, options: StatusFilters, onOptionSelected: e => {
202
202
  this.status = e.detail.value;
203
- } })), this.view === 'all' && (h("verdocs-quick-filter", { key: '28ca07defeb30f227345dd691a1672200c071c9f', label: "Sort By", value: this.sort, options: SortFilters, onOptionSelected: e => {
203
+ } })), this.view === 'all' && (h("verdocs-quick-filter", { key: 'eb5b7ff77417c2432a9963fa1cffb30e09bf3e05', label: "Sort By", value: this.sort, options: SortFilters, onOptionSelected: e => {
204
204
  this.sort = e.detail.value;
205
- } })), this.loading && h("verdocs-spinner", { key: '8cac7f3bd1c013d04a355e38ff8d299f33de8d71', mode: "dark", size: 24 }), h("div", { key: 'f3e30dd1d638900f27b618c467b2e954de3da4a6', style: { display: 'flex', flex: '1' } }), this.selectedEnvelopes.length > 0 && h("verdocs-button", { key: 'afa9d35d7c33ea1d6a6dcb44572d83f9195ffaed', label: `Download (${this.selectedEnvelopes.length})`, onClick: () => this.handleDownload() })), this.envelopes.map(envelope => {
205
+ } })), this.loading && h("verdocs-spinner", { key: 'a1869793d432b972161301903df300a9e972728b', mode: "dark", size: 24 }), h("div", { key: '9ad9261f2c1fac268483b2caf7c5f4b67f1a5236', style: { display: 'flex', flex: '1' } }), this.selectedEnvelopes.length > 0 && h("verdocs-button", { key: '47d7186632c3823a573f4b034e8c301dc842992e', label: `Download (${this.selectedEnvelopes.length})`, onClick: () => this.handleDownload() })), this.envelopes.map(envelope => {
206
206
  var _a;
207
207
  const recipientsWithActions = getRecipientsWithActions(envelope);
208
208
  const userCanCancel = userCanCancelEnvelope(this.endpoint.profile, envelope);
@@ -243,7 +243,7 @@ export class VerdocsEnvelopesList {
243
243
  break;
244
244
  }
245
245
  } }))));
246
- }), !this.initiallyLoaded && (h("div", { key: 'c9208b59bfe96f706bfb30e5ced6e9024e2d93a4', style: { width: '100%' } }, integerSequence(0, this.rowsPerPage).map(() => (h("div", { class: "envelope-placeholder" }))))), this.initiallyLoaded && !this.envelopes.length && h("div", { key: '169424956740f02d92be417c370cbce2621a233c', class: "empty-text" }, "No matching envelopes found. Please adjust your filters and try again."), this.initiallyLoaded && this.envelopes.length && this.showPagination ? (h("div", { style: { marginTop: '20px' } }, h("verdocs-pagination", { selectedPage: this.selectedPage, perPage: this.rowsPerPage, itemCount: this.count, onSelectPage: e => {
246
+ }), !this.initiallyLoaded && (h("div", { key: '8b16c1e78ed0b9263e6831e8e84c7f92863a5225', style: { width: '100%' } }, integerSequence(0, this.rowsPerPage).map(() => (h("div", { class: "envelope-placeholder" }))))), this.initiallyLoaded && !this.envelopes.length && h("div", { key: '9b7aeee48c38402025afec1e8584be15c9160eb1', class: "empty-text" }, "No matching envelopes found. Please adjust your filters and try again."), this.initiallyLoaded && this.envelopes.length && this.showPagination ? (h("div", { style: { marginTop: '20px' } }, h("verdocs-pagination", { selectedPage: this.selectedPage, perPage: this.rowsPerPage, itemCount: this.count, onSelectPage: e => {
247
247
  this.selectedPage = e.detail.selectedPage;
248
248
  } }))) : (h("div", null))));
249
249
  }
@@ -238,11 +238,11 @@ export class VerdocsStatusIndicator {
238
238
  }
239
239
  const icon = this.getStatusIcon(status);
240
240
  const statusMessage = this.getStatusMessage(status);
241
- return (h(Host, { key: '59e5538e41c29b74d4f8d53c8674fb2d0d159ab9', ref: el => (this.summaryComponent = el), class: `${this.theme} ${this.size} ${this.envelope ? 'has-document' : ''}`, "aria-label": "Click to View Details", onClick: e => {
241
+ return (h(Host, { key: 'a579d2ed18289b75beaaaf5fef322db25d0a4e93', ref: el => (this.summaryComponent = el), class: `${this.theme} ${this.size} ${this.envelope ? 'has-document' : ''}`, "aria-label": "Click to View Details", onClick: e => {
242
242
  e.stopPropagation();
243
243
  e.preventDefault();
244
244
  this.envelope && this.toggleDropdown();
245
- }, onBlur: e => this.envelope && this.handleHideDropdown(e) }, h("span", { key: 'c3fda712b9cbede053c1ed89914d85b3eb8c8d96', class: "icon", innerHTML: icon }), h("span", { key: 'da87a24aef046a682a479580f7157f22778c1344', class: "content" }, statusMessage), h("div", { key: '37ca0dc5c864927f40b6bacaff2aed3a8b9b892b', class: "detail-panel", ref: el => (this.detailPanel = el) }, h("div", { key: 'cd4ebea386ae4abd6c95720c7f8c3cf640e33c3d', id: `${this.containerId}` }), this.recipientStatusIcons.map(icon => (h("span", { innerHTML: icon.icon, style: { position: 'absolute', top: `${icon.y}px`, left: `${icon.x}px` } }))))));
245
+ }, onBlur: e => this.envelope && this.handleHideDropdown(e) }, h("span", { key: 'c59f8b21dce6f4fe2cd7bdc1124c6af339e70de7', class: "icon", innerHTML: icon }), h("span", { key: '1c96b95b111836c791a14e22c28defc43db1cc48', class: "content" }, statusMessage), h("div", { key: 'd673852a5e1a03656cb15d39d7f469a6e43f45a9', class: "detail-panel", ref: el => (this.detailPanel = el) }, h("div", { key: '0d1597689117ca7419f556fc38ff55711644f55f', id: `${this.containerId}` }), this.recipientStatusIcons.map(icon => (h("span", { innerHTML: icon.icon, style: { position: 'absolute', top: `${icon.y}px`, left: `${icon.x}px` } }))))));
246
246
  }
247
247
  static get is() { return "verdocs-status-indicator"; }
248
248
  static get originalStyleUrls() {
@@ -20,6 +20,9 @@ verdocs-field-attachment {
20
20
  background-color: transparent;
21
21
  transform-origin: bottom left;
22
22
  }
23
+ verdocs-field-attachment.focused {
24
+ animation: verdocs-field-pulse 0.4s 1;
25
+ }
23
26
  verdocs-field-attachment label {
24
27
  top: -14px;
25
28
  left: -1px;
@@ -54,9 +57,6 @@ verdocs-field-attachment .attach {
54
57
  verdocs-field-attachment.required .attach {
55
58
  border: 1px solid #cc0000;
56
59
  }
57
- verdocs-field-attachment.focused {
58
- animation: verdocs-field-pulse 0.4s 1;
59
- }
60
60
  verdocs-field-attachment verdocs-button-panel {
61
61
  top: 1px;
62
62
  left: -19px;
@@ -15,6 +15,7 @@ export class VerdocsFieldAttachment {
15
15
  this.handleUploadNext = (e) => {
16
16
  var _a;
17
17
  console.log('Upload next', e);
18
+ this.dialogOpen = false;
18
19
  this.selectedFile = e.detail[0];
19
20
  (_a = this.attached) === null || _a === void 0 ? void 0 : _a.emit(e.detail[0]);
20
21
  };
@@ -31,9 +32,14 @@ export class VerdocsFieldAttachment {
31
32
  this.showingProperties = false;
32
33
  this.dialogOpen = false;
33
34
  this.selectedFile = null;
35
+ this.focused = false;
34
36
  }
35
37
  async focusField() {
36
- this.inputEl.focus();
38
+ // Our input field is fake, so we fake the flash too
39
+ this.focused = true;
40
+ setTimeout(() => {
41
+ this.focused = false;
42
+ }, 500);
37
43
  }
38
44
  async showSettingsPanel() {
39
45
  const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
@@ -53,29 +59,18 @@ export class VerdocsFieldAttachment {
53
59
  }
54
60
  handleShow() {
55
61
  this.dialogOpen = true;
56
- // this.dialog = document.createElement('verdocs-upload-dialog');
57
- // this.dialog.open = true;
58
- // this.dialog.existingFile = {name: 'image.png', size: 1000, type: 'image/png', lastModified: Date.now(), data: ''};
59
- // this.dialog.addEventListener('exit', () => this.dialog?.remove());
60
- // this.dialog.addEventListener('remove', () => this.remove?.emit());
61
- // document.addEventListener('next', (e: any) => {
62
- // console.log('attach onNext', e.detail[0]);
63
- // this.selectedFile = e.detail[0];
64
- // this.attached?.emit(e.detail[0]);
65
- // this.dialog.open = false;
66
- // });
67
- // document.body.append(this.dialog);
68
62
  }
69
63
  render() {
70
- const { templateid, fieldname = '', editable = false, done = false, disabled = false, xscale = 1, yscale = 1 } = this;
64
+ const { templateid, fieldname = '', editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
71
65
  const field = this.fieldStore.get('fields').find(field => field.name === fieldname);
72
- const { required = false, role_name = '', value = '', label = '' } = field || {};
66
+ console.log('Rendering attachment', field);
67
+ const { required = false, role_name = '', value = '', label = '', settings = {} } = field || {};
73
68
  const backgroundColor = getRGBA(getRoleIndex(this.roleStore, role_name));
74
69
  const hasFile = value || !!this.selectedFile;
75
70
  if (done) {
76
71
  return (h(Host, { class: { done } }, h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon })));
77
72
  }
78
- return (h(Host, { class: { required, disabled, done }, style: { backgroundColor } }, label && h("label", null, label), h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon, onClick: () => !disabled && this.handleShow() }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
73
+ return (h(Host, { class: { required, disabled, done, focused }, style: { backgroundColor } }, label && h("label", null, label), h("div", { class: "attach", innerHTML: hasFile ? AttachedIcon : PaperclipIcon, onClick: () => !disabled && this.handleShow() }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
79
74
  e.stopPropagation();
80
75
  this.showingProperties = !this.showingProperties;
81
76
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: templateid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -86,12 +81,9 @@ export class VerdocsFieldAttachment {
86
81
  var _a;
87
82
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
88
83
  return this.hideSettingsPanel();
89
- }, helpText: 'Attachments allow the user to attach their own documents (e.g. resumes or disclosures) to a signing flow.' }))))), this.dialogOpen && (h("verdocs-upload-dialog", {
90
- // existingFile={{name: 'image.png', size: 1000, type: 'image/png', lastModified: Date.now(), data: ''}}
91
- onNext: e => this.handleUploadNext(e), onExit: () => (this.dialogOpen = false), onRemove: e => {
84
+ }, helpText: 'Attachments allow the user to attach their own documents (e.g. resumes or disclosures) to a signing flow.' }))))), this.dialogOpen && (h("verdocs-portal", null, h("verdocs-upload-dialog", { existingFile: settings, onNext: e => this.handleUploadNext(e), onExit: () => (this.dialogOpen = false), onRemove: e => {
92
85
  console.log('remove', e);
93
- }
94
- }))));
86
+ } })))));
95
87
  }
96
88
  static get is() { return "verdocs-field-attachment"; }
97
89
  static get originalStyleUrls() {
@@ -296,7 +288,8 @@ export class VerdocsFieldAttachment {
296
288
  return {
297
289
  "showingProperties": {},
298
290
  "dialogOpen": {},
299
- "selectedFile": {}
291
+ "selectedFile": {},
292
+ "focused": {}
300
293
  };
301
294
  }
302
295
  static get events() {
@@ -20,9 +20,14 @@ export class VerdocsFieldDropdown {
20
20
  this.yscale = 1;
21
21
  this.pagenumber = 1;
22
22
  this.showingProperties = false;
23
+ this.focused = false;
23
24
  }
24
25
  async focusField() {
25
- this.el.focus();
26
+ // Our input field is fake, so we fake the flash too
27
+ this.focused = true;
28
+ setTimeout(() => {
29
+ this.focused = false;
30
+ }, 500);
26
31
  }
27
32
  handleChange(e) {
28
33
  this.fieldChange.emit(e.target.value);
@@ -44,15 +49,14 @@ export class VerdocsFieldDropdown {
44
49
  this.roleStore = getTemplateRoleStore(this.templateid);
45
50
  }
46
51
  render() {
47
- const { templateid, fieldname = '', editable = false, done = false, disabled = false, xscale = 1, yscale = 1 } = this;
52
+ const { templateid, fieldname = '', editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
48
53
  const field = this.fieldStore.get('fields').find(field => field.name === fieldname);
49
54
  const { required = false, role_name = '', value = '', label = '', options = [] } = field || {};
50
55
  const backgroundColor = getRGBA(getRoleIndex(this.roleStore, role_name));
51
56
  if (done) {
52
57
  return h(Host, { class: { done } }, value);
53
58
  }
54
- // TODO: Remove as any when JS SDK is updated
55
- return (h(Host, { class: { required, disabled, done }, style: { backgroundColor } }, label && h("label", null, label), h("select", { disabled: disabled, ref: el => (this.el = el), onChange: e => this.handleChange(e) }, h("option", { value: "" }, "Select..."), (options || []).map(option => (h("option", { value: option.id, selected: option.id === value }, option.label)))), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
59
+ return (h(Host, { class: { required, disabled, done, focused }, style: { backgroundColor } }, label && h("label", null, label), h("select", { disabled: disabled, onChange: e => this.handleChange(e) }, h("option", { value: "" }, "Select..."), options.map(option => (h("option", { value: option.id, selected: option.id === value }, option.label)))), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
56
60
  e.stopPropagation();
57
61
  this.showingProperties = !this.showingProperties;
58
62
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: templateid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -244,7 +248,8 @@ export class VerdocsFieldDropdown {
244
248
  }
245
249
  static get states() {
246
250
  return {
247
- "showingProperties": {}
251
+ "showingProperties": {},
252
+ "focused": {}
248
253
  };
249
254
  }
250
255
  static get events() {
@@ -20,6 +20,9 @@ verdocs-field-radio {
20
20
  transform-origin: bottom left;
21
21
  border-radius: 100%;
22
22
  }
23
+ verdocs-field-radio.focused {
24
+ animation: verdocs-field-pulse 0.4s 1;
25
+ }
23
26
  verdocs-field-radio svg {
24
27
  margin-top: 4px;
25
28
  }