@verdocs/web-sdk 6.13.3 → 6.14.0

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 (290) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{utils-BtmSHO0F.js → utils-D97WoGBX.js} +12 -2
  3. package/dist/cjs/utils-D97WoGBX.js.map +1 -0
  4. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +3 -3
  5. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js.map +1 -1
  6. package/dist/cjs/verdocs-checkbox_5.cjs.entry.js +56 -11
  7. package/dist/cjs/verdocs-checkbox_5.cjs.entry.js.map +1 -1
  8. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js.map +1 -1
  12. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +89 -9
  14. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js.map +1 -1
  15. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-preview_6.cjs.entry.js +284 -39
  17. package/dist/cjs/verdocs-preview_6.cjs.entry.js.map +1 -1
  18. package/dist/cjs/verdocs-sign.cjs.entry.js +37 -6
  19. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  20. package/dist/cjs/verdocs-signing-progress.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  22. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  23. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +18 -1
  24. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js +3 -3
  25. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js.map +1 -1
  26. package/dist/collection/components/embeds/verdocs-send/verdocs-send.css +3 -0
  27. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +38 -5
  28. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  29. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +1 -1
  30. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js.map +1 -1
  31. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +2 -2
  32. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +1 -1
  33. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.css +22 -0
  34. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +14 -1
  35. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js.map +1 -1
  36. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +1 -2
  37. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
  38. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +1 -1
  39. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  40. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.css +29 -2
  41. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +14 -1
  42. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js.map +1 -1
  43. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +1 -1
  44. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  45. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +1 -1
  46. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  47. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.css +5 -0
  48. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +55 -9
  49. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js.map +1 -1
  50. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.css +4 -0
  51. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +281 -36
  52. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  53. package/dist/collection/utils/ToggleFields.js +61 -0
  54. package/dist/collection/utils/ToggleFields.js.map +1 -0
  55. package/dist/collection/utils/utils.js +9 -0
  56. package/dist/collection/utils/utils.js.map +1 -1
  57. package/dist/components/{p-CEkRxfcu.js → p-58qb6gkU.js} +2 -2
  58. package/dist/components/{p-BKLlc2r0.js → p-5M_R8La0.js} +2 -2
  59. package/dist/components/{p-D-X-Zcsr.js → p-BIi4c9Gz.js} +2 -2
  60. package/dist/components/p-BLsFdjFq.js +2 -0
  61. package/dist/components/p-BLsFdjFq.js.map +1 -0
  62. package/dist/components/{p-CQzPkAVQ.js → p-BPcxbmXF.js} +2 -2
  63. package/dist/components/{p-CQzPkAVQ.js.map → p-BPcxbmXF.js.map} +1 -1
  64. package/dist/components/{p-DTG2X1A2.js → p-BeDDvLcN.js} +2 -2
  65. package/dist/components/p-ByEpps_M.js +2 -0
  66. package/dist/components/p-ByEpps_M.js.map +1 -0
  67. package/dist/components/{p-D0MFs2Dv.js → p-C8ZliaLz.js} +2 -2
  68. package/dist/components/{p-D0MFs2Dv.js.map → p-C8ZliaLz.js.map} +1 -1
  69. package/dist/components/{p-B4tpmyon.js → p-CAJJndLX.js} +2 -2
  70. package/dist/components/{p-lCn8WPSe.js → p-CaFhF-9s.js} +2 -2
  71. package/dist/components/{p-DscL0SIM.js → p-D56nBgHQ.js} +2 -2
  72. package/dist/components/{p-CFacV7mg.js → p-DMaRtkQF.js} +2 -2
  73. package/dist/components/{p-CFacV7mg.js.map → p-DMaRtkQF.js.map} +1 -1
  74. package/dist/components/p-DPF2i0o5.js +2 -0
  75. package/dist/components/p-DPF2i0o5.js.map +1 -0
  76. package/dist/components/{p-CEcG_ay-.js → p-DReW8CSB.js} +2 -2
  77. package/dist/components/{p-BhG0HGg6.js → p-DX713VO2.js} +2 -2
  78. package/dist/components/p-DbWcp3S8.js +2 -0
  79. package/dist/components/p-DbWcp3S8.js.map +1 -0
  80. package/dist/components/p-DvxzLwaB.js +2 -0
  81. package/dist/components/p-DvxzLwaB.js.map +1 -0
  82. package/dist/components/p-NtvxlYzY.js +2 -0
  83. package/dist/components/p-NtvxlYzY.js.map +1 -0
  84. package/dist/components/{p-Cij_2Ym2.js → p-Vs72fn43.js} +2 -2
  85. package/dist/components/p-Vs72fn43.js.map +1 -0
  86. package/dist/components/{p-9kEZy9MP.js → p-YCI5JKXK.js} +2 -2
  87. package/dist/components/{p-B1AE2j97.js → p-h3swu3rA.js} +2 -2
  88. package/dist/components/{p-B1AE2j97.js.map → p-h3swu3rA.js.map} +1 -1
  89. package/dist/components/{p-kHTZa3Ev.js → p-hwu-GrDS.js} +2 -2
  90. package/dist/components/p-qLNetL5t.js +2 -0
  91. package/dist/components/p-qLNetL5t.js.map +1 -0
  92. package/dist/components/{p-06em1_P-.js → p-vuCjHk-M.js} +2 -2
  93. package/dist/components/p-zYtapVJ0.js +2 -0
  94. package/dist/components/p-zYtapVJ0.js.map +1 -0
  95. package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
  96. package/dist/components/verdocs-build.js +1 -1
  97. package/dist/components/verdocs-checkbox.js +1 -1
  98. package/dist/components/verdocs-contact-picker.js +1 -1
  99. package/dist/components/verdocs-disclosure-dialog.js +1 -1
  100. package/dist/components/verdocs-envelope-document-page.js +1 -1
  101. package/dist/components/verdocs-envelope-sidebar.js +1 -1
  102. package/dist/components/verdocs-envelope-sidebar.js.map +1 -1
  103. package/dist/components/verdocs-envelopes-list.js +1 -1
  104. package/dist/components/verdocs-field-attachment.js +1 -1
  105. package/dist/components/verdocs-field-checkbox.js +1 -1
  106. package/dist/components/verdocs-field-date.js +1 -1
  107. package/dist/components/verdocs-field-dropdown.js +1 -1
  108. package/dist/components/verdocs-field-initial.js +1 -1
  109. package/dist/components/verdocs-field-payment.js +1 -1
  110. package/dist/components/verdocs-field-radio.js +1 -1
  111. package/dist/components/verdocs-field-signature.js +1 -1
  112. package/dist/components/verdocs-field-textarea.js +1 -1
  113. package/dist/components/verdocs-field-textbox.js +1 -1
  114. package/dist/components/verdocs-field-timestamp.js +1 -1
  115. package/dist/components/verdocs-kba-dialog.js +1 -1
  116. package/dist/components/verdocs-multiselect.js +1 -1
  117. package/dist/components/verdocs-preview.js +1 -1
  118. package/dist/components/verdocs-quick-filter.js +1 -1
  119. package/dist/components/verdocs-send.js +1 -1
  120. package/dist/components/verdocs-sign.js +1 -1
  121. package/dist/components/verdocs-sign.js.map +1 -1
  122. package/dist/components/verdocs-signing-progress.js +1 -1
  123. package/dist/components/verdocs-template-document-page.js +1 -1
  124. package/dist/components/verdocs-template-field-properties.js +1 -1
  125. package/dist/components/verdocs-template-fields.js +1 -1
  126. package/dist/components/verdocs-templates-list.js +1 -1
  127. package/dist/components/verdocs-view.js +1 -1
  128. package/dist/esm/loader.js +1 -1
  129. package/dist/esm/{utils-Bh3zb1Xs.js → utils-T8dqWH7y.js} +12 -3
  130. package/dist/esm/utils-T8dqWH7y.js.map +1 -0
  131. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +3 -3
  132. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js.map +1 -1
  133. package/dist/esm/verdocs-checkbox_5.entry.js +56 -11
  134. package/dist/esm/verdocs-checkbox_5.entry.js.map +1 -1
  135. package/dist/esm/verdocs-contact-picker.entry.js +1 -1
  136. package/dist/esm/verdocs-download-dialog_4.entry.js +1 -1
  137. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  138. package/dist/esm/verdocs-envelope-sidebar.entry.js.map +1 -1
  139. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  140. package/dist/esm/verdocs-field-attachment_11.entry.js +89 -9
  141. package/dist/esm/verdocs-field-attachment_11.entry.js.map +1 -1
  142. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  143. package/dist/esm/verdocs-preview_6.entry.js +284 -39
  144. package/dist/esm/verdocs-preview_6.entry.js.map +1 -1
  145. package/dist/esm/verdocs-sign.entry.js +37 -6
  146. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  147. package/dist/esm/verdocs-signing-progress.entry.js +1 -1
  148. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  149. package/dist/esm/verdocs-web-sdk.js +1 -1
  150. package/dist/esm-es5/loader.js +1 -1
  151. package/dist/esm-es5/utils-T8dqWH7y.js +2 -0
  152. package/dist/esm-es5/utils-T8dqWH7y.js.map +1 -0
  153. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  154. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js.map +1 -1
  155. package/dist/esm-es5/verdocs-checkbox_5.entry.js +1 -1
  156. package/dist/esm-es5/verdocs-checkbox_5.entry.js.map +1 -1
  157. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  158. package/dist/esm-es5/verdocs-download-dialog_4.entry.js +1 -1
  159. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  160. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js.map +1 -1
  161. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  162. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  163. package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
  164. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  165. package/dist/esm-es5/verdocs-preview_6.entry.js +2 -2
  166. package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
  167. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  168. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  169. package/dist/esm-es5/verdocs-signing-progress.entry.js +1 -1
  170. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  171. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  172. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +3 -0
  173. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +1 -0
  174. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +1 -1
  175. package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +1 -0
  176. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +1 -0
  177. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +50 -3
  178. package/dist/types/utils/ToggleFields.d.ts +12 -0
  179. package/dist/types/utils/utils.d.ts +8 -2
  180. package/dist/verdocs-web-sdk/{p-46d6279e.entry.js → p-002fee52.entry.js} +2 -2
  181. package/dist/verdocs-web-sdk/p-1b4cde18.entry.js +2 -0
  182. package/dist/verdocs-web-sdk/p-1b4cde18.entry.js.map +1 -0
  183. package/dist/verdocs-web-sdk/p-1f708b6a.entry.js +2 -0
  184. package/dist/verdocs-web-sdk/p-1f708b6a.entry.js.map +1 -0
  185. package/dist/verdocs-web-sdk/{p-7dd394be.system.entry.js → p-259e53e2.system.entry.js} +2 -2
  186. package/dist/verdocs-web-sdk/{p-0d19368a.system.entry.js → p-298ee271.system.entry.js} +2 -2
  187. package/dist/verdocs-web-sdk/p-2cddbced.system.entry.js +2 -0
  188. package/dist/verdocs-web-sdk/p-2cddbced.system.entry.js.map +1 -0
  189. package/dist/verdocs-web-sdk/{p-99a6b317.system.entry.js → p-36f2fe29.system.entry.js} +2 -2
  190. package/dist/verdocs-web-sdk/{p-143428bc.system.entry.js → p-4a934b98.system.entry.js} +2 -2
  191. package/dist/verdocs-web-sdk/{p-478de2c9.entry.js → p-6ac28b30.entry.js} +2 -2
  192. package/dist/verdocs-web-sdk/p-6fdd258b.entry.js +2 -0
  193. package/dist/verdocs-web-sdk/p-6fdd258b.entry.js.map +1 -0
  194. package/dist/verdocs-web-sdk/{p-78a18a3b.entry.js → p-72702300.entry.js} +2 -2
  195. package/dist/verdocs-web-sdk/{p-228c0fa3.system.entry.js → p-83b4e117.system.entry.js} +2 -2
  196. package/dist/verdocs-web-sdk/{p-228c0fa3.system.entry.js.map → p-83b4e117.system.entry.js.map} +1 -1
  197. package/dist/verdocs-web-sdk/{p-58b84a5a.entry.js → p-923aabca.entry.js} +2 -2
  198. package/dist/verdocs-web-sdk/{p-58b84a5a.entry.js.map → p-923aabca.entry.js.map} +1 -1
  199. package/dist/verdocs-web-sdk/p-BdZ5Ghsa.system.js +1 -1
  200. package/dist/verdocs-web-sdk/p-CHdb5wzt.js +2 -0
  201. package/dist/verdocs-web-sdk/p-CHdb5wzt.js.map +1 -0
  202. package/dist/verdocs-web-sdk/p-DeoYp6nD.system.js +2 -0
  203. package/dist/verdocs-web-sdk/p-DeoYp6nD.system.js.map +1 -0
  204. package/dist/verdocs-web-sdk/{p-3a97f4b4.system.entry.js → p-b3cad1ae.system.entry.js} +2 -2
  205. package/dist/verdocs-web-sdk/p-b5fbfc6e.system.entry.js +2 -0
  206. package/dist/verdocs-web-sdk/p-b5fbfc6e.system.entry.js.map +1 -0
  207. package/dist/verdocs-web-sdk/p-bd1bcb9d.system.entry.js +8 -0
  208. package/dist/verdocs-web-sdk/p-bd1bcb9d.system.entry.js.map +1 -0
  209. package/dist/verdocs-web-sdk/{p-ea6c0b55.entry.js → p-bdfda300.entry.js} +2 -2
  210. package/dist/verdocs-web-sdk/{p-1a91a922.entry.js → p-c273b465.entry.js} +2 -2
  211. package/dist/verdocs-web-sdk/{p-eccac670.system.entry.js → p-c43a5bce.system.entry.js} +2 -2
  212. package/dist/verdocs-web-sdk/p-d7bb1eaa.system.entry.js +2 -0
  213. package/dist/verdocs-web-sdk/p-d7bb1eaa.system.entry.js.map +1 -0
  214. package/dist/verdocs-web-sdk/p-d8dbcb2c.entry.js +2 -0
  215. package/dist/verdocs-web-sdk/p-d8dbcb2c.entry.js.map +1 -0
  216. package/dist/verdocs-web-sdk/p-e3f13498.entry.js +8 -0
  217. package/dist/verdocs-web-sdk/p-e3f13498.entry.js.map +1 -0
  218. package/dist/verdocs-web-sdk/{p-8f50f83f.entry.js → p-efc80cbf.entry.js} +2 -2
  219. package/dist/verdocs-web-sdk/p-fd614aa0.system.entry.js +2 -0
  220. package/dist/verdocs-web-sdk/p-fd614aa0.system.entry.js.map +1 -0
  221. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  222. package/package.json +2 -2
  223. package/dist/cjs/utils-BtmSHO0F.js.map +0 -1
  224. package/dist/components/p-1FjgijEi.js +0 -2
  225. package/dist/components/p-1FjgijEi.js.map +0 -1
  226. package/dist/components/p-BCwFpXpV.js +0 -2
  227. package/dist/components/p-BCwFpXpV.js.map +0 -1
  228. package/dist/components/p-Bxvw_LqR.js +0 -2
  229. package/dist/components/p-Bxvw_LqR.js.map +0 -1
  230. package/dist/components/p-Cij_2Ym2.js.map +0 -1
  231. package/dist/components/p-DGNIsXfr.js +0 -2
  232. package/dist/components/p-DGNIsXfr.js.map +0 -1
  233. package/dist/components/p-DRP4Xxiu.js +0 -2
  234. package/dist/components/p-DRP4Xxiu.js.map +0 -1
  235. package/dist/components/p-K-sDaUxS.js +0 -2
  236. package/dist/components/p-K-sDaUxS.js.map +0 -1
  237. package/dist/components/p-ek0LNMtb.js +0 -2
  238. package/dist/components/p-ek0LNMtb.js.map +0 -1
  239. package/dist/custom-elements.json +0 -2517
  240. package/dist/esm/utils-Bh3zb1Xs.js.map +0 -1
  241. package/dist/esm-es5/utils-Bh3zb1Xs.js +0 -2
  242. package/dist/esm-es5/utils-Bh3zb1Xs.js.map +0 -1
  243. package/dist/verdocs-web-sdk/p-6fb7fd6d.system.entry.js +0 -2
  244. package/dist/verdocs-web-sdk/p-6fb7fd6d.system.entry.js.map +0 -1
  245. package/dist/verdocs-web-sdk/p-895174e4.system.entry.js +0 -8
  246. package/dist/verdocs-web-sdk/p-895174e4.system.entry.js.map +0 -1
  247. package/dist/verdocs-web-sdk/p-8ec770c3.entry.js +0 -2
  248. package/dist/verdocs-web-sdk/p-8ec770c3.entry.js.map +0 -1
  249. package/dist/verdocs-web-sdk/p-8f7d0062.entry.js +0 -8
  250. package/dist/verdocs-web-sdk/p-8f7d0062.entry.js.map +0 -1
  251. package/dist/verdocs-web-sdk/p-935267a6.entry.js +0 -2
  252. package/dist/verdocs-web-sdk/p-935267a6.entry.js.map +0 -1
  253. package/dist/verdocs-web-sdk/p-CGsVCy75.js +0 -2
  254. package/dist/verdocs-web-sdk/p-CGsVCy75.js.map +0 -1
  255. package/dist/verdocs-web-sdk/p-a9899fce.system.entry.js +0 -2
  256. package/dist/verdocs-web-sdk/p-a9899fce.system.entry.js.map +0 -1
  257. package/dist/verdocs-web-sdk/p-bf38aa98.entry.js +0 -2
  258. package/dist/verdocs-web-sdk/p-bf38aa98.entry.js.map +0 -1
  259. package/dist/verdocs-web-sdk/p-c5f8125b.system.entry.js +0 -2
  260. package/dist/verdocs-web-sdk/p-c5f8125b.system.entry.js.map +0 -1
  261. package/dist/verdocs-web-sdk/p-df921f12.system.entry.js +0 -2
  262. package/dist/verdocs-web-sdk/p-df921f12.system.entry.js.map +0 -1
  263. package/dist/verdocs-web-sdk/p-f6ad24c5.entry.js +0 -2
  264. package/dist/verdocs-web-sdk/p-f6ad24c5.entry.js.map +0 -1
  265. package/dist/verdocs-web-sdk/p-nfw6V5pF.system.js +0 -2
  266. package/dist/verdocs-web-sdk/p-nfw6V5pF.system.js.map +0 -1
  267. /package/dist/components/{p-CEkRxfcu.js.map → p-58qb6gkU.js.map} +0 -0
  268. /package/dist/components/{p-BKLlc2r0.js.map → p-5M_R8La0.js.map} +0 -0
  269. /package/dist/components/{p-D-X-Zcsr.js.map → p-BIi4c9Gz.js.map} +0 -0
  270. /package/dist/components/{p-DTG2X1A2.js.map → p-BeDDvLcN.js.map} +0 -0
  271. /package/dist/components/{p-B4tpmyon.js.map → p-CAJJndLX.js.map} +0 -0
  272. /package/dist/components/{p-lCn8WPSe.js.map → p-CaFhF-9s.js.map} +0 -0
  273. /package/dist/components/{p-DscL0SIM.js.map → p-D56nBgHQ.js.map} +0 -0
  274. /package/dist/components/{p-CEcG_ay-.js.map → p-DReW8CSB.js.map} +0 -0
  275. /package/dist/components/{p-BhG0HGg6.js.map → p-DX713VO2.js.map} +0 -0
  276. /package/dist/components/{p-9kEZy9MP.js.map → p-YCI5JKXK.js.map} +0 -0
  277. /package/dist/components/{p-kHTZa3Ev.js.map → p-hwu-GrDS.js.map} +0 -0
  278. /package/dist/components/{p-06em1_P-.js.map → p-vuCjHk-M.js.map} +0 -0
  279. /package/dist/verdocs-web-sdk/{p-46d6279e.entry.js.map → p-002fee52.entry.js.map} +0 -0
  280. /package/dist/verdocs-web-sdk/{p-7dd394be.system.entry.js.map → p-259e53e2.system.entry.js.map} +0 -0
  281. /package/dist/verdocs-web-sdk/{p-0d19368a.system.entry.js.map → p-298ee271.system.entry.js.map} +0 -0
  282. /package/dist/verdocs-web-sdk/{p-99a6b317.system.entry.js.map → p-36f2fe29.system.entry.js.map} +0 -0
  283. /package/dist/verdocs-web-sdk/{p-143428bc.system.entry.js.map → p-4a934b98.system.entry.js.map} +0 -0
  284. /package/dist/verdocs-web-sdk/{p-478de2c9.entry.js.map → p-6ac28b30.entry.js.map} +0 -0
  285. /package/dist/verdocs-web-sdk/{p-78a18a3b.entry.js.map → p-72702300.entry.js.map} +0 -0
  286. /package/dist/verdocs-web-sdk/{p-3a97f4b4.system.entry.js.map → p-b3cad1ae.system.entry.js.map} +0 -0
  287. /package/dist/verdocs-web-sdk/{p-ea6c0b55.entry.js.map → p-bdfda300.entry.js.map} +0 -0
  288. /package/dist/verdocs-web-sdk/{p-1a91a922.entry.js.map → p-c273b465.entry.js.map} +0 -0
  289. /package/dist/verdocs-web-sdk/{p-eccac670.system.entry.js.map → p-c43a5bce.system.entry.js.map} +0 -0
  290. /package/dist/verdocs-web-sdk/{p-8f50f83f.entry.js.map → p-efc80cbf.entry.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-DLmnUl1_.js');
4
4
  var jsSdk = require('@verdocs/js-sdk');
5
- var utils = require('./utils-BtmSHO0F.js');
5
+ var utils = require('./utils-D97WoGBX.js');
6
6
  var popper = require('./popper-Dmp8OTYh.js');
7
7
  require('./index-FVA5WPhX.js');
8
8
  require('./Types-DB6U9iuZ.js');
@@ -3,7 +3,7 @@
3
3
  var index$1 = require('./index-DLmnUl1_.js');
4
4
  var interact_min = require('./interact.min-CPZxI9Hv.js');
5
5
  var jsSdk = require('@verdocs/js-sdk');
6
- var utils = require('./utils-BtmSHO0F.js');
6
+ var utils = require('./utils-D97WoGBX.js');
7
7
  var errors = require('./errors-D1XRvnet.js');
8
8
  var Datastore = require('./Datastore-C-Pojt3E.js');
9
9
  var Environment = require('./Environment-BNrHCUC8.js');
@@ -128,7 +128,7 @@ VerdocsPreview.style = verdocsPreviewCss();
128
128
  const getRoleNames = (template) => ((template === null || template === void 0 ? void 0 : template.roles) || []).map(role => role.name);
129
129
  const getRoleIndex = (template, role_name) => Math.max(getRoleNames(template).findIndex(name => name === role_name), 0);
130
130
 
131
- const verdocsSendCss = () => `verdocs-send{--send-ink:var(--verdocs-body-color, #111827);--send-ink-2:#374151;--send-muted:#6b7280;--send-faint:#9ca3af;--send-rule:#e5e7eb;--send-control-border:#d1d5db;--send-accent:var(--verdocs-link-color, #4c56cb);--send-accent-tint:#f4f5fc;--send-accent-tint-2:#e6e7f8;--send-warning-bg:#fffbeb;--send-warning-border:#fde68a;--send-warning-icon:#d97706;--send-warning-text:#78350f;--send-radius:var(--verdocs-dialog-radius, 8px);--send-min-height:480px;--send-max-width:480px;display:none;position:relative;overflow:hidden;width:100%;min-width:0;max-width:var(--verdocs-send-max-width, var(--send-max-width));-webkit-box-sizing:border-box;box-sizing:border-box;background:#ffffff;color:var(--send-ink);font-size:14px;border-radius:var(--send-radius);border:1px solid var(--send-rule);font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-send *{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-send.sendable{display:block}verdocs-send .track{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:var(--send-min-height);-webkit-transition:-webkit-transform 220ms ease-out;transition:-webkit-transform 220ms ease-out;transition:transform 220ms ease-out;transition:transform 220ms ease-out, -webkit-transform 220ms ease-out}verdocs-send.detail-open .track{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@media (prefers-reduced-motion: reduce){verdocs-send .track{-webkit-transition:none;transition:none}}verdocs-send .pane{padding:16px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .main-pane{-ms-flex:1;flex:1}verdocs-send .detail-pane{position:absolute;top:0;left:100%;bottom:0;width:100%;overflow:hidden}verdocs-send .detail{-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .detail-body-wrap{position:relative;-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .detail-body{-ms-flex:1;flex:1;min-height:0;overflow-y:auto}verdocs-send .scroll-fade{position:absolute;left:0;right:0;bottom:0;height:36px;opacity:0;pointer-events:none;-webkit-transition:opacity 150ms ease-out;transition:opacity 150ms ease-out;background:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#ffffff));background:linear-gradient(rgba(255, 255, 255, 0), #ffffff)}verdocs-send .scrollable:not(.at-end)>.scroll-fade{opacity:1}verdocs-send .recipient-detail verdocs-contact-picker{-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .section-title{font-size:12px;font-weight:600;color:var(--send-ink-2);margin:0 0 6px 0}verdocs-send .delivery-title{margin-top:16px}verdocs-send .step{font-size:11px;color:var(--send-muted);padding:10px 0 4px 0}verdocs-send .recipient,verdocs-send .kv{all:unset;display:-ms-flexbox;display:flex;width:100%;min-width:0;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-ms-flex-align:center;align-items:center;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;border-top:1px solid var(--send-rule);color:var(--send-ink);font-family:inherit}verdocs-send .recipient:focus-visible,verdocs-send .kv:focus-visible{outline:2px solid var(--send-accent);outline-offset:-2px;border-radius:4px}verdocs-send .recipient .chevron,verdocs-send .kv .chevron{-ms-flex:0 0 16px;flex:0 0 16px;width:16px;height:16px;color:var(--send-faint)}verdocs-send .recipient .chevron svg,verdocs-send .kv .chevron svg{width:16px;height:16px;display:block}verdocs-send .recipient{padding:8px 6px 8px 0}verdocs-send .recipient:last-child{border-bottom:1px solid var(--send-rule)}verdocs-send .recipient .who{-ms-flex:1;flex:1;min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .recipient .role-name{font-size:13px;font-weight:600}verdocs-send .recipient .who-detail{font-size:12px;color:var(--send-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .recipient .who-detail.configure{color:var(--send-accent);font-weight:500}verdocs-send .recipient .options{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px;margin-top:3px}verdocs-send .recipient .pill{height:18px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:500;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;background:var(--send-accent-tint);color:var(--send-ink-2)}verdocs-send .role-dot{-ms-flex:0 0 10px;flex:0 0 10px;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0, 0, 0, 0.1)}verdocs-send .kv{height:40px;padding:0 6px 0 0;font-size:13px}verdocs-send .kv:last-child{border-bottom:1px solid var(--send-rule)}verdocs-send .kv:disabled{cursor:default;color:var(--send-muted)}verdocs-send .kv .key{-ms-flex:0 0 84px;flex:0 0 84px;color:var(--send-muted)}verdocs-send .kv .value{-ms-flex:1;flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .kv .value small{font-size:inherit;font-weight:400;color:var(--send-muted)}verdocs-send .kv .value.stacked{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;row-gap:1px;white-space:normal}verdocs-send .kv .value.stacked .line{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .kv .value.stacked small.line{font-size:12px}verdocs-send .kv .value.off{color:var(--send-warning-icon)}verdocs-send .kv:has(.value.stacked){height:auto;min-height:40px;padding-top:6px;padding-bottom:6px}verdocs-send .main-spacer,verdocs-send .detail-spacer{-ms-flex:1;flex:1}verdocs-send .buttons{display:-ms-flexbox;display:flex;margin-top:14px;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}verdocs-send .buttons .error-message{width:100%;color:#cc0000;font-size:13px;margin-bottom:10px}verdocs-send .detail-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin:-2px 0 14px 0}verdocs-send .detail-header .back{all:unset;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;cursor:pointer;font-size:13px;font-weight:500;color:var(--send-accent);font-family:inherit;-ms-flex:0 0 52px;flex:0 0 52px}verdocs-send .detail-header .back .icon,verdocs-send .detail-header .back .icon svg{width:16px;height:16px;display:block}verdocs-send .detail-header .back:focus-visible{outline:2px solid var(--send-accent);outline-offset:2px;border-radius:4px}verdocs-send .detail-header .detail-title{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;font-size:14px;font-weight:600;text-align:center}verdocs-send .detail-header .detail-header-spacer{-ms-flex:0 0 52px;flex:0 0 52px}verdocs-send .detail-footer{margin-top:10px;padding-top:12px;border-top:1px solid var(--send-rule)}verdocs-send .detail-footer verdocs-button,verdocs-send .detail-footer verdocs-button button{width:100%}verdocs-send .hint{font-size:12px;line-height:1.5;color:var(--send-muted);margin:10px 0 0 0}verdocs-send .option-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .option{all:unset;display:-ms-flexbox;display:flex;width:100%;cursor:pointer;-ms-flex-align:center;align-items:center;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;padding:10px 0;font-size:13px;font-family:inherit;color:var(--send-ink);border-top:1px solid var(--send-rule)}verdocs-send .option:first-child{border-top:0}verdocs-send .option:focus-visible{outline:2px solid var(--send-accent);outline-offset:-2px;border-radius:4px}verdocs-send .option .radio{-ms-flex:0 0 16px;flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:1px solid var(--send-control-border);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-send .option.selected .radio{border-color:var(--send-accent)}verdocs-send .option.selected .radio::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--send-accent)}verdocs-send .option .swatch{-ms-flex:0 0 22px;flex:0 0 22px;width:22px;height:22px;border-radius:5px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-size:9px;font-weight:700;color:#ffffff;overflow:hidden}verdocs-send .option .swatch.logo{background:#ffffff;border:1px solid var(--send-rule)}verdocs-send .option .swatch img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}verdocs-send .option .option-label{-ms-flex:1;flex:1;min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .option .option-label small{font-size:11px;color:var(--send-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .option-divider{height:0;margin:2px 0;border-top:1px solid var(--send-control-border)}verdocs-send .option-divider+.option{border-top:0}verdocs-send .hint a{color:var(--send-accent);font-weight:500;text-decoration:none;border-bottom:1px solid var(--send-accent-tint-2)}verdocs-send .hint a .icon,verdocs-send .hint a .icon svg{width:11px;height:11px;display:inline-block;vertical-align:-1px;margin-left:2px}verdocs-send .expires-field{position:relative}verdocs-send .expires-field input{width:100%;height:36px;padding:0 52px 0 10px;font-size:14px;font-family:inherit;color:var(--send-ink);background:#ffffff;border:1px solid var(--send-control-border);border-radius:6px;outline:none}verdocs-send .expires-field input:focus{border-color:var(--send-accent);-webkit-box-shadow:0 0 0 2px var(--send-accent-tint-2);box-shadow:0 0 0 2px var(--send-accent-tint-2)}verdocs-send .expires-field input::-webkit-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::-moz-placeholder{color:var(--send-faint)}verdocs-send .expires-field input:-ms-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::-ms-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::placeholder{color:var(--send-faint)}verdocs-send .expires-field .suffix{position:absolute;right:10px;top:0;height:36px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:13px;color:var(--send-muted);pointer-events:none}verdocs-send .sender-field{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;row-gap:4px;margin:0 0 10px 0}verdocs-send .sender-field label{font-size:12px;font-weight:500;color:var(--send-ink-2)}verdocs-send .sender-field input{width:100%;height:36px;padding:0 10px;font-size:14px;font-family:inherit;color:var(--send-ink);background:#ffffff;border:1px solid var(--send-control-border);border-radius:6px;outline:none}verdocs-send .sender-field input:focus{border-color:var(--send-accent);-webkit-box-shadow:0 0 0 2px var(--send-accent-tint-2);box-shadow:0 0 0 2px var(--send-accent-tint-2)}verdocs-send .sender-field .field-error{font-size:12px;color:#cc0000}verdocs-send .notice{display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;margin-top:4px;padding:10px 12px;font-size:12px;line-height:1.5;border-radius:6px;color:var(--send-ink-2);background:var(--send-accent-tint);border:1px solid var(--send-accent-tint-2)}verdocs-send .notice>.icon{-ms-flex:0 0 18px;flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--send-accent)}verdocs-send .notice>.icon svg{width:18px;height:18px;display:block}verdocs-send .warning{display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.5;border-radius:6px;color:var(--send-warning-text);background:var(--send-warning-bg);border:1px solid var(--send-warning-border)}verdocs-send .warning>.icon{-ms-flex:0 0 18px;flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--send-warning-icon)}verdocs-send .warning>.icon svg{width:18px;height:18px;display:block}verdocs-send .warning a{color:var(--send-accent);font-weight:500;text-decoration:none;border-bottom:1px solid var(--send-accent-tint-2)}verdocs-send .warning a .icon,verdocs-send .warning a .icon svg{width:11px;height:11px;display:inline-block;vertical-align:-1px;margin-left:2px}verdocs-send verdocs-checkbox{display:block;padding:4px 0;font-size:13px}`;
131
+ const verdocsSendCss = () => `verdocs-send{--send-ink:var(--verdocs-body-color, #111827);--send-ink-2:#374151;--send-muted:#6b7280;--send-faint:#9ca3af;--send-rule:#e5e7eb;--send-control-border:#d1d5db;--send-accent:var(--verdocs-link-color, #4c56cb);--send-accent-tint:#f4f5fc;--send-accent-tint-2:#e6e7f8;--send-warning-bg:#fffbeb;--send-warning-border:#fde68a;--send-warning-icon:#d97706;--send-warning-text:#78350f;--send-radius:var(--verdocs-dialog-radius, 8px);--send-min-height:480px;--send-max-width:480px;display:none;position:relative;overflow:hidden;width:100%;min-width:0;max-width:var(--verdocs-send-max-width, var(--send-max-width));-webkit-box-sizing:border-box;box-sizing:border-box;background:#ffffff;color:var(--send-ink);font-size:14px;border-radius:var(--send-radius);border:1px solid var(--send-rule);font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-send *{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-send.sendable{display:block}verdocs-send .track{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:var(--send-min-height);-webkit-transition:-webkit-transform 220ms ease-out;transition:-webkit-transform 220ms ease-out;transition:transform 220ms ease-out;transition:transform 220ms ease-out, -webkit-transform 220ms ease-out}verdocs-send.detail-open .track{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@media (prefers-reduced-motion: reduce){verdocs-send .track{-webkit-transition:none;transition:none}}verdocs-send .pane{padding:16px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .main-pane{-ms-flex:1;flex:1}verdocs-send .detail-pane{position:absolute;top:0;left:100%;bottom:0;width:100%;overflow:hidden}verdocs-send .detail{-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .detail-body-wrap{position:relative;-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .detail-body{-ms-flex:1;flex:1;min-height:0;overflow-y:auto}verdocs-send .scroll-fade{position:absolute;left:0;right:0;bottom:0;height:36px;opacity:0;pointer-events:none;-webkit-transition:opacity 150ms ease-out;transition:opacity 150ms ease-out;background:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#ffffff));background:linear-gradient(rgba(255, 255, 255, 0), #ffffff)}verdocs-send .scrollable:not(.at-end)>.scroll-fade{opacity:1}verdocs-send .recipient-detail verdocs-contact-picker{-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .section-title{font-size:12px;font-weight:600;color:var(--send-ink-2);margin:0 0 6px 0}verdocs-send .delivery-title{margin-top:16px}verdocs-send .step{font-size:11px;color:var(--send-muted);padding:10px 0 4px 0}verdocs-send .recipient,verdocs-send .kv{all:unset;display:-ms-flexbox;display:flex;width:100%;min-width:0;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-ms-flex-align:center;align-items:center;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;border-top:1px solid var(--send-rule);color:var(--send-ink);font-family:inherit}verdocs-send .recipient:focus-visible,verdocs-send .kv:focus-visible{outline:2px solid var(--send-accent);outline-offset:-2px;border-radius:4px}verdocs-send .recipient .chevron,verdocs-send .kv .chevron{-ms-flex:0 0 16px;flex:0 0 16px;width:16px;height:16px;color:var(--send-faint)}verdocs-send .recipient .chevron svg,verdocs-send .kv .chevron svg{width:16px;height:16px;display:block}verdocs-send .recipient{padding:8px 6px 8px 0}verdocs-send .recipient:last-child{border-bottom:1px solid var(--send-rule)}verdocs-send .recipient .who{-ms-flex:1;flex:1;width:0;min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .recipient .role-name{font-size:13px;font-weight:600}verdocs-send .recipient .who-detail{font-size:12px;color:var(--send-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .recipient .who-detail.configure{color:var(--send-accent);font-weight:500}verdocs-send .recipient .options{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px;margin-top:3px}verdocs-send .recipient .pill{height:18px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:500;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;background:var(--send-accent-tint);color:var(--send-ink-2)}verdocs-send .role-dot{-ms-flex:0 0 10px;flex:0 0 10px;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0, 0, 0, 0.1)}verdocs-send .kv{height:40px;padding:0 6px 0 0;font-size:13px}verdocs-send .kv:last-child{border-bottom:1px solid var(--send-rule)}verdocs-send .kv:disabled{cursor:default;color:var(--send-muted)}verdocs-send .kv .key{-ms-flex:0 0 84px;flex:0 0 84px;color:var(--send-muted)}verdocs-send .kv .value{-ms-flex:1;flex:1;width:0;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .kv .value small{font-size:inherit;font-weight:400;color:var(--send-muted)}verdocs-send .kv .value.stacked{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;row-gap:1px;white-space:normal}verdocs-send .kv .value.stacked .line{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .kv .value.stacked small.line{font-size:12px}verdocs-send .kv .value.off{color:var(--send-warning-icon)}verdocs-send .kv:has(.value.stacked){height:auto;min-height:40px;padding-top:6px;padding-bottom:6px}verdocs-send .main-spacer,verdocs-send .detail-spacer{-ms-flex:1;flex:1}verdocs-send .buttons{display:-ms-flexbox;display:flex;margin-top:14px;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}verdocs-send .buttons .error-message{width:100%;color:#cc0000;font-size:13px;margin-bottom:10px}verdocs-send .detail-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin:-2px 0 14px 0}verdocs-send .detail-header .back{all:unset;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;cursor:pointer;font-size:13px;font-weight:500;color:var(--send-accent);font-family:inherit;-ms-flex:0 0 52px;flex:0 0 52px}verdocs-send .detail-header .back .icon,verdocs-send .detail-header .back .icon svg{width:16px;height:16px;display:block}verdocs-send .detail-header .back:focus-visible{outline:2px solid var(--send-accent);outline-offset:2px;border-radius:4px}verdocs-send .detail-header .detail-title{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;font-size:14px;font-weight:600;text-align:center}verdocs-send .detail-header .detail-header-spacer{-ms-flex:0 0 52px;flex:0 0 52px}verdocs-send .detail-footer{margin-top:10px;padding-top:12px;border-top:1px solid var(--send-rule)}verdocs-send .detail-footer verdocs-button,verdocs-send .detail-footer verdocs-button button{width:100%}verdocs-send .hint{font-size:12px;line-height:1.5;color:var(--send-muted);margin:10px 0 0 0}verdocs-send .option-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .option{all:unset;display:-ms-flexbox;display:flex;width:100%;cursor:pointer;-ms-flex-align:center;align-items:center;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;padding:10px 0;font-size:13px;font-family:inherit;color:var(--send-ink);border-top:1px solid var(--send-rule)}verdocs-send .option:first-child{border-top:0}verdocs-send .option:focus-visible{outline:2px solid var(--send-accent);outline-offset:-2px;border-radius:4px}verdocs-send .option .radio{-ms-flex:0 0 16px;flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:1px solid var(--send-control-border);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-send .option.selected .radio{border-color:var(--send-accent)}verdocs-send .option.selected .radio::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--send-accent)}verdocs-send .option .swatch{-ms-flex:0 0 22px;flex:0 0 22px;width:22px;height:22px;border-radius:5px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-size:9px;font-weight:700;color:#ffffff;overflow:hidden}verdocs-send .option .swatch.logo{background:#ffffff;border:1px solid var(--send-rule)}verdocs-send .option .swatch img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}verdocs-send .option .option-label{-ms-flex:1;flex:1;width:0;min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .option .option-label small{font-size:11px;color:var(--send-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .option-divider{height:0;margin:2px 0;border-top:1px solid var(--send-control-border)}verdocs-send .option-divider+.option{border-top:0}verdocs-send .hint a{color:var(--send-accent);font-weight:500;text-decoration:none;border-bottom:1px solid var(--send-accent-tint-2)}verdocs-send .hint a .icon,verdocs-send .hint a .icon svg{width:11px;height:11px;display:inline-block;vertical-align:-1px;margin-left:2px}verdocs-send .expires-field{position:relative}verdocs-send .expires-field input{width:100%;height:36px;padding:0 52px 0 10px;font-size:14px;font-family:inherit;color:var(--send-ink);background:#ffffff;border:1px solid var(--send-control-border);border-radius:6px;outline:none}verdocs-send .expires-field input:focus{border-color:var(--send-accent);-webkit-box-shadow:0 0 0 2px var(--send-accent-tint-2);box-shadow:0 0 0 2px var(--send-accent-tint-2)}verdocs-send .expires-field input::-webkit-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::-moz-placeholder{color:var(--send-faint)}verdocs-send .expires-field input:-ms-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::-ms-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::placeholder{color:var(--send-faint)}verdocs-send .expires-field .suffix{position:absolute;right:10px;top:0;height:36px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:13px;color:var(--send-muted);pointer-events:none}verdocs-send .sender-field{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;row-gap:4px;margin:0 0 10px 0}verdocs-send .sender-field label{font-size:12px;font-weight:500;color:var(--send-ink-2)}verdocs-send .sender-field input{width:100%;height:36px;padding:0 10px;font-size:14px;font-family:inherit;color:var(--send-ink);background:#ffffff;border:1px solid var(--send-control-border);border-radius:6px;outline:none}verdocs-send .sender-field input:focus{border-color:var(--send-accent);-webkit-box-shadow:0 0 0 2px var(--send-accent-tint-2);box-shadow:0 0 0 2px var(--send-accent-tint-2)}verdocs-send .sender-field .field-error{font-size:12px;color:#cc0000}verdocs-send .notice{display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;margin-top:4px;padding:10px 12px;font-size:12px;line-height:1.5;border-radius:6px;color:var(--send-ink-2);background:var(--send-accent-tint);border:1px solid var(--send-accent-tint-2)}verdocs-send .notice>.icon{-ms-flex:0 0 18px;flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--send-accent)}verdocs-send .notice>.icon svg{width:18px;height:18px;display:block}verdocs-send .warning{display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.5;border-radius:6px;color:var(--send-warning-text);background:var(--send-warning-bg);border:1px solid var(--send-warning-border)}verdocs-send .warning>.icon{-ms-flex:0 0 18px;flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--send-warning-icon)}verdocs-send .warning>.icon svg{width:18px;height:18px;display:block}verdocs-send .warning a{color:var(--send-accent);font-weight:500;text-decoration:none;border-bottom:1px solid var(--send-accent-tint-2)}verdocs-send .warning a .icon,verdocs-send .warning a .icon svg{width:11px;height:11px;display:inline-block;vertical-align:-1px;margin-left:2px}verdocs-send verdocs-checkbox{display:block;padding:4px 0;font-size:13px}`;
132
132
 
133
133
  const chevronRightIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"/></svg>';
134
134
  const chevronLeftIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>';
@@ -919,7 +919,7 @@ const VerdocsTemplateBuildTabs = class {
919
919
  };
920
920
  VerdocsTemplateBuildTabs.style = verdocsTemplateBuildTabsCss();
921
921
 
922
- const verdocsTemplateFieldsCss = () => `verdocs-template-fields{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);position:relative;display:block;min-height:600px}verdocs-template-fields .page-0{padding:65px 15px 0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .page-0 .user-placed-fields{height:100px;position:relative;background:#ffffff;-webkit-box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294);box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294)}verdocs-template-fields .page-0 .user-placed-fields .title{top:0;left:0;color:#ffffff;font-size:12px;padding:3px 6px;font-weight:bold;position:absolute;background:#46497d}verdocs-template-fields .pages{display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-template-fields .pages div,verdocs-template-fields .pages canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .pages .document-separator{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:10px;padding:12px 20px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#33364b;color:white;border-radius:6px;font-size:16px;font-weight:500;margin-top:20px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}verdocs-template-fields .pages .document-separator svg{-ms-flex-negative:0;flex-shrink:0}verdocs-template-fields .pages .document-separator:first-child{margin-top:0}verdocs-template-fields #verdocs-template-fields-toolbar{width:100%;height:50px;display:-ms-flexbox;display:flex;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;font-weight:700;padding:0 20px 0 0;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;color:#f5f5fa;-ms-flex-pack:center;justify-content:center;background:#46497d}verdocs-template-fields #verdocs-template-fields-toolbar>verdocs-select-input{margin:0}verdocs-template-fields #verdocs-template-fields-toolbar svg{width:24px;height:24px}verdocs-template-fields #verdocs-template-fields-toolbar .add-for{margin:0;font-weight:500;color:#f5f5fa}verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{margin:0 20px 0 0}@media all and (max-width: 1000px){verdocs-template-fields #verdocs-template-fields-toolbar{-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;padding:0 10px 0 0}verdocs-template-fields #verdocs-template-fields-toolbar svg{-webkit-transform:scale(0.8);transform:scale(0.8)}verdocs-template-fields #verdocs-template-fields-toolbar .add-for,verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{display:none}}@media all and (max-width: 600px){verdocs-template-fields #verdocs-template-fields-toolbar{-webkit-column-gap:6px;-moz-column-gap:6px;column-gap:6px}verdocs-template-fields #verdocs-template-fields-toolbar svg{-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-template-fields #verdocs-template-fields-toolbar .separator,verdocs-template-fields #verdocs-template-fields-toolbar .add-for,verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{display:none}}verdocs-template-fields.placing-attachment{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-checkbox{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-date{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-dropdown{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25' /%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-initial{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-payment{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-radio{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-signature{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-textarea{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-textbox{cursor:url("data:image/svg+xml,%3Csvg width='32' height='15' viewBox='0 0 32 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='path-1-inside-1_1401_24' fill='white'%3E%3Cpath d='M0 0H32V15H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0H32V15H0V0Z' fill='%234C56CB' fill-opacity='0.1'/%3E%3Cpath d='M0 0V-1H-1V0H0ZM0 15H-1V16H0V15ZM0 1H32V-1H0V1ZM32 14H0V16H32V14ZM1 15V0H-1V15H1Z' fill='%234C56CB' mask='url(%23path-1-inside-1_1401_24)'/%3E%3Cpath d='M3 11.8V8.65H14.15V11.8H3ZM3 6.65V3.5H20.15V6.65H3Z' fill='%234C56CB'/%3E%3Cline x1='31.5' y1='1' x2='31.5' y2='14' stroke='%234C56CB' stroke-opacity='0.32' stroke-dasharray='1 1'/%3E%3C/svg%3E%0A") 0 14, pointer}verdocs-template-fields.placing-timestamp{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z'%3E%3C/path%3E%3C/svg%3E") 16 16, pointer}`;
922
+ const verdocsTemplateFieldsCss = () => `verdocs-template-fields{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);position:relative;display:block;min-height:600px}verdocs-template-fields .verdocs-field-selected{outline:2px solid rgba(101, 77, 203, 0.75);outline-offset:1px}verdocs-template-fields .page-0{padding:65px 15px 0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .page-0 .user-placed-fields{height:100px;position:relative;background:#ffffff;-webkit-box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294);box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294)}verdocs-template-fields .page-0 .user-placed-fields .title{top:0;left:0;color:#ffffff;font-size:12px;padding:3px 6px;font-weight:bold;position:absolute;background:#46497d}verdocs-template-fields .pages{display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-template-fields .pages div,verdocs-template-fields .pages canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .pages .document-separator{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:10px;padding:12px 20px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#33364b;color:white;border-radius:6px;font-size:16px;font-weight:500;margin-top:20px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}verdocs-template-fields .pages .document-separator svg{-ms-flex-negative:0;flex-shrink:0}verdocs-template-fields .pages .document-separator:first-child{margin-top:0}verdocs-template-fields #verdocs-template-fields-toolbar{width:100%;height:50px;display:-ms-flexbox;display:flex;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;font-weight:700;padding:0 20px 0 0;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;color:#f5f5fa;-ms-flex-pack:center;justify-content:center;background:#46497d}verdocs-template-fields #verdocs-template-fields-toolbar>verdocs-select-input{margin:0}verdocs-template-fields #verdocs-template-fields-toolbar svg{width:24px;height:24px}verdocs-template-fields #verdocs-template-fields-toolbar .add-for{margin:0;font-weight:500;color:#f5f5fa}verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{margin:0 20px 0 0}@media all and (max-width: 1000px){verdocs-template-fields #verdocs-template-fields-toolbar{-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;padding:0 10px 0 0}verdocs-template-fields #verdocs-template-fields-toolbar svg{-webkit-transform:scale(0.8);transform:scale(0.8)}verdocs-template-fields #verdocs-template-fields-toolbar .add-for,verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{display:none}}@media all and (max-width: 600px){verdocs-template-fields #verdocs-template-fields-toolbar{-webkit-column-gap:6px;-moz-column-gap:6px;column-gap:6px}verdocs-template-fields #verdocs-template-fields-toolbar svg{-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-template-fields #verdocs-template-fields-toolbar .separator,verdocs-template-fields #verdocs-template-fields-toolbar .add-for,verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{display:none}}verdocs-template-fields.placing-attachment{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-checkbox{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-date{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-dropdown{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25' /%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-initial{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-payment{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-radio{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-signature{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-textarea{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z'/%3E%3C/svg%3E") 16 16, pointer}verdocs-template-fields.placing-textbox{cursor:url("data:image/svg+xml,%3Csvg width='32' height='15' viewBox='0 0 32 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='path-1-inside-1_1401_24' fill='white'%3E%3Cpath d='M0 0H32V15H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0H32V15H0V0Z' fill='%234C56CB' fill-opacity='0.1'/%3E%3Cpath d='M0 0V-1H-1V0H0ZM0 15H-1V16H0V15ZM0 1H32V-1H0V1ZM32 14H0V16H32V14ZM1 15V0H-1V15H1Z' fill='%234C56CB' mask='url(%23path-1-inside-1_1401_24)'/%3E%3Cpath d='M3 11.8V8.65H14.15V11.8H3ZM3 6.65V3.5H20.15V6.65H3Z' fill='%234C56CB'/%3E%3Cline x1='31.5' y1='1' x2='31.5' y2='14' stroke='%234C56CB' stroke-opacity='0.32' stroke-dasharray='1 1'/%3E%3C/svg%3E%0A") 0 14, pointer}verdocs-template-fields.placing-timestamp{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z'%3E%3C/path%3E%3C/svg%3E") 16 16, pointer}`;
923
923
 
924
924
  const iconTextbox = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z"/></svg>';
925
925
  const iconCheck = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z"/></svg>';
@@ -932,6 +932,11 @@ const iconInitial = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="
932
932
  const iconDropdown = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" stroke-width="1.5" stroke="currentColor"><path stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" d="M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25" /></svg>';
933
933
  const iconAttachment = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6"><path stroke-linecap="round" stroke-linejoin="round" d="m18.375 12.739-7.693 7.693a4.5 4.5 0 0 1-6.364-6.364l10.94-10.94A3 3 0 1 1 19.5 7.372L8.552 18.32m.009-.01-.01.01m5.699-9.941-7.81 7.81a1.5 1.5 0 0 0 2.112 2.13" /></svg>';
934
934
  const separator = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.707 14.707"><g><rect x="6.275" y="0" fill="#ffffff7f" width="1" height="15"/></g></svg>';
935
+ const GEOMETRY_KEYS = ['x', 'y', 'width', 'height', 'page', 'multiline'];
936
+ // We save a burst of arrow-key nudges once the keys go quiet instead of on every press.
937
+ const NUDGE_SAVE_DELAY_MS = 400;
938
+ const MAX_UNDO = 50;
939
+ const isTypingTarget = (el) => !!el && (['INPUT', 'TEXTAREA', 'SELECT'].includes(el.tagName) || el.isContentEditable);
935
940
  const menuOptions = [
936
941
  { id: 'signature', tooltip: 'Signature', icon: iconSignature, class: 'signature' },
937
942
  { id: 'initial', tooltip: 'Initials', icon: iconInitial, class: 'initial' },
@@ -977,24 +982,91 @@ const VerdocsTemplateFields = class {
977
982
  this.loading = true;
978
983
  this.template = null;
979
984
  this.pageHeights = {};
985
+ // Selection lives on the DOM (a class on the field element) so picking a field doesn't re-render every page.
986
+ this.selectedFieldName = null;
987
+ // Undo entries are recorded only once their save lands, so the stack never holds a change the server didn't take.
988
+ this.undoStack = [];
989
+ this.pendingNudge = null;
990
+ this.nudgeTimer = null;
991
+ this.dragBefore = null;
992
+ // Geometry we've sent but the server hasn't confirmed yet, so a new nudge or undo starts from where the field is drawn.
993
+ this.optimistic = new Map();
994
+ this.inFlight = new Set();
995
+ // Field components save their own resizes and announce them with settingsChanged; undo waits for that.
996
+ this.pendingResizes = new Map();
997
+ // Stable references so makeDraggable can re-bind them on every render without stacking duplicates.
998
+ this.handleFieldTap = (e) => { var _a, _b; return this.selectField(((_b = (_a = e.currentTarget) === null || _a === void 0 ? void 0 : _a.getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, 'fieldname')) || null); };
999
+ this.handleFieldResizeStart = (e) => {
1000
+ var _a, _b;
1001
+ const name = ((_b = (_a = e.target) === null || _a === void 0 ? void 0 : _a.getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, 'fieldname')) || null;
1002
+ this.flushNudge();
1003
+ this.selectField(name);
1004
+ this.startResize(name);
1005
+ };
980
1006
  this.cachedPageInfo = {};
981
1007
  }
982
1008
  onTemplateIdChanged() {
983
1009
  this.listenToTemplate();
984
1010
  }
985
- // Stop field-placement mode if ESC is pressed
1011
+ // Escape clears placement and selection, arrows nudge the selected field (Shift for 10pt), and Cmd/Ctrl+Z undoes a move or resize.
986
1012
  handleKeyDown(ev) {
1013
+ var _a, _b;
987
1014
  if (ev.key === 'Escape') {
988
1015
  this.placing = null;
1016
+ this.selectField(null);
1017
+ return;
1018
+ }
1019
+ // composedPath reaches inputs inside a host page's shadow DOM, where activeElement would only show the host.
1020
+ const target = (((_a = ev.composedPath) === null || _a === void 0 ? void 0 : _a.call(ev)[0]) || ev.target);
1021
+ if (ev.defaultPrevented || isTypingTarget(target)) {
1022
+ return;
1023
+ }
1024
+ // Keys pressed in a dialog, menu, or anything else outside the builder belong to that control.
1025
+ if (target !== document.body && target !== document.documentElement && !this.el.contains(target)) {
1026
+ return;
1027
+ }
1028
+ if ((ev.metaKey || ev.ctrlKey) && !ev.shiftKey && !ev.altKey && ev.key.toLowerCase() === 'z') {
1029
+ if (this.pendingNudge || this.undoStack.length > 0 || this.inFlight.size > 0 || this.pendingResizes.size > 0) {
1030
+ ev.preventDefault();
1031
+ this.undo();
1032
+ }
1033
+ return;
989
1034
  }
1035
+ const step = ev.shiftKey ? 10 : 1;
1036
+ const delta = { ArrowLeft: [-step, 0], ArrowRight: [step, 0], ArrowUp: [0, step], ArrowDown: [0, -step] }[ev.key];
1037
+ if (!delta || !this.selectedFieldName || ev.metaKey || ev.ctrlKey || ev.altKey) {
1038
+ return;
1039
+ }
1040
+ // Once the selected field has scrolled out of view, arrows go back to scrolling the page.
1041
+ const field = this.findField(this.selectedFieldName);
1042
+ const rect = field ? (_b = document.getElementById(utils.getFieldId(field))) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect() : null;
1043
+ if (!rect || rect.bottom < 0 || rect.top > window.innerHeight || rect.right < 0 || rect.left > window.innerWidth) {
1044
+ this.selectField(null);
1045
+ return;
1046
+ }
1047
+ ev.preventDefault();
1048
+ this.nudge(delta[0], delta[1]);
990
1049
  }
991
- handleFieldSettingsChanged() {
1050
+ handleFieldSettingsChanged(e) {
992
1051
  var _a;
1052
+ const { fieldName, field } = e.detail || {};
1053
+ if (field && fieldName && field.name !== fieldName) {
1054
+ this.renameFieldState(fieldName, field.name);
1055
+ }
1056
+ const resize = field ? this.pendingResizes.get(field.name) : null;
1057
+ if (resize) {
1058
+ this.recordUndo(field.name, resize.before, field);
1059
+ resize.settle();
1060
+ }
993
1061
  (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: this.template, event: 'updated-field' });
994
1062
  }
995
- handleFieldDeleted() {
996
- var _a;
997
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: this.template, event: 'deleted-field' });
1063
+ handleFieldDeleted(e) {
1064
+ var _a, _b;
1065
+ const name = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.fieldName;
1066
+ if (name) {
1067
+ this.forgetField(name);
1068
+ }
1069
+ (_b = this.templateUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, template: this.template, event: 'deleted-field' });
998
1070
  }
999
1071
  async componentWillLoad() {
1000
1072
  var _a, _b, _c;
@@ -1030,6 +1102,7 @@ const VerdocsTemplateFields = class {
1030
1102
  toolbarEl.remove();
1031
1103
  toolbarTarget.append(toolbarEl);
1032
1104
  }
1105
+ this.applySelection();
1033
1106
  }
1034
1107
  componentWillUpdate() {
1035
1108
  var _a, _b;
@@ -1042,6 +1115,8 @@ const VerdocsTemplateFields = class {
1042
1115
  }
1043
1116
  disconnectedCallback() {
1044
1117
  this.unlistenToTemplate();
1118
+ this.flushNudge();
1119
+ this.selectField(null);
1045
1120
  }
1046
1121
  async listenToTemplate() {
1047
1122
  this.unlistenToTemplate();
@@ -1087,13 +1162,196 @@ const VerdocsTemplateFields = class {
1087
1162
  });
1088
1163
  }
1089
1164
  makeDraggable(el) {
1090
- interact_min.interact(el).draggable({
1165
+ interact_min.interact(el)
1166
+ .draggable({
1091
1167
  listeners: {
1168
+ start: this.handleMoveStart.bind(this),
1092
1169
  move: this.handleMoveField.bind(this),
1093
1170
  end: this.handleMoveEnd.bind(this),
1094
1171
  },
1172
+ })
1173
+ .off('tap', this.handleFieldTap)
1174
+ .on('tap', this.handleFieldTap)
1175
+ .off('resizestart', this.handleFieldResizeStart)
1176
+ .on('resizestart', this.handleFieldResizeStart);
1177
+ }
1178
+ findField(name) {
1179
+ var _a;
1180
+ return name ? (((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).find(field => field.name === name) : undefined;
1181
+ }
1182
+ // Where the field is drawn right now: its saved geometry plus anything still on its way to the server.
1183
+ currentGeometry(field) {
1184
+ const { x, y, width, height, page, multiline } = { ...field, ...this.optimistic.get(field.name) };
1185
+ return { x, y, width, height, page, multiline };
1186
+ }
1187
+ selectField(name) {
1188
+ if (this.pendingNudge && this.pendingNudge.name !== name) {
1189
+ this.flushNudge();
1190
+ }
1191
+ this.selectedFieldName = name;
1192
+ this.applySelection();
1193
+ }
1194
+ applySelection() {
1195
+ var _a;
1196
+ document.querySelectorAll('.verdocs-field-selected').forEach(el => el.classList.remove('verdocs-field-selected'));
1197
+ const field = this.findField(this.selectedFieldName);
1198
+ if (field) {
1199
+ (_a = document.getElementById(utils.getFieldId(field))) === null || _a === void 0 ? void 0 : _a.classList.add('verdocs-field-selected');
1200
+ }
1201
+ }
1202
+ recordUndo(name, before, after) {
1203
+ if (GEOMETRY_KEYS.some(key => after[key] !== undefined && after[key] !== before[key])) {
1204
+ this.undoStack.push({ name, before });
1205
+ this.undoStack.splice(0, Math.max(0, this.undoStack.length - MAX_UNDO));
1206
+ }
1207
+ }
1208
+ startResize(name) {
1209
+ var _a;
1210
+ const field = this.findField(name);
1211
+ if (!field) {
1212
+ return;
1213
+ }
1214
+ (_a = this.pendingResizes.get(field.name)) === null || _a === void 0 ? void 0 : _a.settle();
1215
+ let settle;
1216
+ const done = new Promise(resolve => (settle = resolve));
1217
+ const entry = { before: this.currentGeometry(field), settle: () => settle(), done };
1218
+ this.pendingResizes.set(field.name, entry);
1219
+ // A failed resize never announces itself, so stop waiting on it after a while.
1220
+ const timer = setTimeout(() => entry.settle(), 5000);
1221
+ done.then(() => {
1222
+ clearTimeout(timer);
1223
+ if (this.pendingResizes.get(field.name) === entry) {
1224
+ this.pendingResizes.delete(field.name);
1225
+ }
1095
1226
  });
1096
1227
  }
1228
+ renameFieldState(oldName, newName) {
1229
+ this.undoStack.forEach(entry => entry.name === oldName && (entry.name = newName));
1230
+ if (this.selectedFieldName === oldName) {
1231
+ this.selectedFieldName = newName;
1232
+ }
1233
+ }
1234
+ forgetField(name) {
1235
+ var _a, _b;
1236
+ this.undoStack = this.undoStack.filter(entry => entry.name !== name);
1237
+ this.optimistic.delete(name);
1238
+ (_a = this.pendingResizes.get(name)) === null || _a === void 0 ? void 0 : _a.settle();
1239
+ if (((_b = this.pendingNudge) === null || _b === void 0 ? void 0 : _b.name) === name) {
1240
+ clearTimeout(this.nudgeTimer);
1241
+ this.nudgeTimer = null;
1242
+ this.pendingNudge = null;
1243
+ }
1244
+ if (this.selectedFieldName === name) {
1245
+ this.selectField(null);
1246
+ }
1247
+ }
1248
+ drawField(field, geometry = {}) {
1249
+ var _a, _b;
1250
+ const pageInfo = (_a = this.cachedPageInfo[field.document_id]) === null || _a === void 0 ? void 0 : _a[(_b = geometry.page) !== null && _b !== void 0 ? _b : field.page];
1251
+ const el = document.getElementById(utils.getFieldId(field));
1252
+ if (el && pageInfo) {
1253
+ utils.setControlStyles(el, { ...field, ...geometry }, pageInfo.xScale, pageInfo.yScale);
1254
+ }
1255
+ }
1256
+ nudge(dx, dy) {
1257
+ var _a, _b, _c, _d, _e;
1258
+ const field = this.findField(this.selectedFieldName);
1259
+ if (!field || !document.getElementById(utils.getFieldId(field)) || !((_a = this.cachedPageInfo[field.document_id]) === null || _a === void 0 ? void 0 : _a[field.page])) {
1260
+ return;
1261
+ }
1262
+ if (((_b = this.pendingNudge) === null || _b === void 0 ? void 0 : _b.name) !== field.name) {
1263
+ this.flushNudge();
1264
+ const before = this.currentGeometry(field);
1265
+ this.pendingNudge = { name: field.name, before, x: before.x, y: before.y };
1266
+ }
1267
+ // Keep the whole field on the page, measured in PDF points.
1268
+ const pageSize = (_e = (_d = (((_c = this.template) === null || _c === void 0 ? void 0 : _c.documents) || []).find(doc => doc.id === field.document_id)) === null || _d === void 0 ? void 0 : _d.page_sizes) === null || _e === void 0 ? void 0 : _e[field.page];
1269
+ const maxX = ((pageSize === null || pageSize === void 0 ? void 0 : pageSize.width) || 612) - (field.width || utils.defaultWidth(field.type));
1270
+ const maxY = ((pageSize === null || pageSize === void 0 ? void 0 : pageSize.height) || 792) - (field.height || utils.defaultHeight(field.type));
1271
+ this.pendingNudge.x = Math.min(Math.max(this.pendingNudge.x + dx, 0), maxX);
1272
+ this.pendingNudge.y = Math.min(Math.max(this.pendingNudge.y + dy, 0), maxY);
1273
+ this.drawField(field, { x: this.pendingNudge.x, y: this.pendingNudge.y });
1274
+ if (this.nudgeTimer) {
1275
+ clearTimeout(this.nudgeTimer);
1276
+ }
1277
+ this.nudgeTimer = setTimeout(() => this.flushNudge(), NUDGE_SAVE_DELAY_MS);
1278
+ }
1279
+ async flushNudge() {
1280
+ if (this.nudgeTimer) {
1281
+ clearTimeout(this.nudgeTimer);
1282
+ this.nudgeTimer = null;
1283
+ }
1284
+ const pending = this.pendingNudge;
1285
+ this.pendingNudge = null;
1286
+ if (pending) {
1287
+ await this.saveGeometry(pending.name, { x: pending.x, y: pending.y }, pending.before);
1288
+ }
1289
+ }
1290
+ async undo() {
1291
+ await this.flushNudge();
1292
+ await Promise.all([...this.inFlight, ...[...this.pendingResizes.values()].map(resize => resize.done)]);
1293
+ while (this.undoStack.length > 0) {
1294
+ const { name, before } = this.undoStack.pop();
1295
+ const field = this.findField(name);
1296
+ if (field && GEOMETRY_KEYS.some(key => field[key] !== before[key])) {
1297
+ this.selectField(name);
1298
+ await this.saveGeometry(name, before);
1299
+ return;
1300
+ }
1301
+ }
1302
+ }
1303
+ // Saves a move, nudge, or undo, drawing the field at its new spot right away. Pass `before` to make it undoable.
1304
+ saveGeometry(name, geometry, before) {
1305
+ const field = this.findField(name);
1306
+ if (!field) {
1307
+ return Promise.resolve();
1308
+ }
1309
+ const sent = { ...geometry };
1310
+ this.optimistic.set(name, sent);
1311
+ this.drawField(field, geometry);
1312
+ const save = (async () => {
1313
+ var _a, _b, _c, _d, _e, _f;
1314
+ try {
1315
+ const updatedField = await jsSdk.updateField(this.endpoint, this.templateId, name, geometry);
1316
+ const newTemplate = JSON.parse(JSON.stringify(this.template));
1317
+ const fieldIndex = newTemplate.fields.findIndex(field => field.name === name);
1318
+ if (fieldIndex > -1) {
1319
+ newTemplate.fields[fieldIndex] = updatedField;
1320
+ }
1321
+ Datastore.Store.updateTemplate(this.templateId, newTemplate);
1322
+ this.drawField(updatedField);
1323
+ if (before) {
1324
+ this.recordUndo(name, before, updatedField);
1325
+ }
1326
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: newTemplate, event: 'updated-field' });
1327
+ }
1328
+ catch (e) {
1329
+ console.log('[FIELDS] Error saving field position', e);
1330
+ Toast.VerdocsToast(((_c = (_b = e.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.error) || 'Unable to move the field. Please try again.', { style: 'error' });
1331
+ (_d = this.sdkError) === null || _d === void 0 ? void 0 : _d.emit(new errors.SDKError(e.message, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status, (_f = e.response) === null || _f === void 0 ? void 0 : _f.data));
1332
+ // Put it back where the server still has it.
1333
+ const saved = this.findField(name);
1334
+ if (saved) {
1335
+ this.drawField(saved);
1336
+ }
1337
+ }
1338
+ finally {
1339
+ if (this.optimistic.get(name) === sent) {
1340
+ this.optimistic.delete(name);
1341
+ }
1342
+ }
1343
+ })();
1344
+ this.inFlight.add(save);
1345
+ save.finally(() => this.inFlight.delete(save));
1346
+ return save;
1347
+ }
1348
+ handleMoveStart(event) {
1349
+ const name = event.target.getAttribute('fieldname');
1350
+ this.flushNudge();
1351
+ this.selectField(name);
1352
+ const field = this.findField(name);
1353
+ this.dragBefore = field ? { name, before: this.currentGeometry(field) } : null;
1354
+ }
1097
1355
  async handleMoveField(event) {
1098
1356
  const oldX = +(event.target.getAttribute('posX') || 0);
1099
1357
  const oldY = +(event.target.getAttribute('posY') || 0);
@@ -1106,7 +1364,7 @@ const VerdocsTemplateFields = class {
1106
1364
  utils.updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
1107
1365
  }
1108
1366
  async handleMoveEnd(event) {
1109
- var _a, _b, _c, _d, _e, _f, _g, _h;
1367
+ var _a, _b, _c, _d, _e;
1110
1368
  const name = event.target.getAttribute('fieldname');
1111
1369
  const field = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).find(field => field.name === name);
1112
1370
  if (!field) {
@@ -1139,31 +1397,12 @@ const VerdocsTemplateFields = class {
1139
1397
  console.log('[FIELDS] Next page', { newPageNumber, newY, renderedHeight });
1140
1398
  }
1141
1399
  const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, documentId, pageNumber, naturalWidth - width, naturalHeight - height);
1142
- try {
1143
- const params = { x, y, page: newPageNumber };
1144
- const updatedField = await jsSdk.updateField(this.endpoint, this.templateId, name, params);
1145
- console.log('[FIELDS] Updated', updatedField);
1146
- const newTemplate = JSON.parse(JSON.stringify(this.template));
1147
- const fieldIndex = newTemplate.fields.findIndex(field => field.name === name);
1148
- if (fieldIndex > -1) {
1149
- newTemplate.fields[fieldIndex] = updatedField;
1150
- }
1151
- Datastore.Store.updateTemplate(this.templateId, newTemplate);
1152
- event.target.removeAttribute('posX');
1153
- event.target.removeAttribute('posY');
1154
- utils.removeCssTransform(event.target);
1155
- const { xScale = 1, yScale = 1 } = this.cachedPageInfo[documentId][pageNumber];
1156
- utils.setControlStyles(event.target, updatedField, xScale, yScale);
1157
- (_e = this.templateUpdated) === null || _e === void 0 ? void 0 : _e.emit({ endpoint: this.endpoint, template: newTemplate, event: 'updated-field' });
1158
- }
1159
- catch (e) {
1160
- Toast.VerdocsToast('Error updating field, please try again later', { style: 'error' });
1161
- console.log('[FIELDS] Error updating field', e);
1162
- (_f = this.sdkError) === null || _f === void 0 ? void 0 : _f.emit(new errors.SDKError(e.message, (_g = e.response) === null || _g === void 0 ? void 0 : _g.status, (_h = e.response) === null || _h === void 0 ? void 0 : _h.data));
1163
- event.target.removeAttribute('posX');
1164
- event.target.removeAttribute('posY');
1165
- utils.removeCssTransform(event.target);
1166
- }
1400
+ event.target.removeAttribute('posX');
1401
+ event.target.removeAttribute('posY');
1402
+ utils.removeCssTransform(event.target);
1403
+ const before = ((_e = this.dragBefore) === null || _e === void 0 ? void 0 : _e.name) === name ? this.dragBefore.before : undefined;
1404
+ this.dragBefore = null;
1405
+ await this.saveGeometry(name, { x, y, page: newPageNumber }, before);
1167
1406
  }
1168
1407
  generateFieldName(type, pageNumber) {
1169
1408
  var _a;
@@ -1178,12 +1417,17 @@ const VerdocsTemplateFields = class {
1178
1417
  // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
1179
1418
  viewCoordinatesToPageCoordinates(viewX, viewY, documentId, pageNumber, xMax, yMax) {
1180
1419
  const { xScale = 1, yScale = 1, renderedHeight = 792 } = this.cachedPageInfo[documentId][pageNumber];
1181
- const x = Math.floor(Math.min(viewX / xScale, xMax));
1182
- const y = Math.floor(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));
1420
+ // Round rather than floor: PDF y counts up from the bottom, so flooring would pull every drop down and to the left.
1421
+ const x = Math.round(Math.min(viewX / xScale, xMax));
1422
+ const y = Math.round(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));
1183
1423
  return { x, y };
1184
1424
  }
1185
1425
  async handleClickPage(e, documentId, pageNumber) {
1186
- var _a;
1426
+ var _a, _b, _c;
1427
+ // Clicks on a field select it through interact's tap, so only a click on the bare page clears the selection.
1428
+ if (!this.placing && !((_b = (_a = e.target) === null || _a === void 0 ? void 0 : _a.closest) === null || _b === void 0 ? void 0 : _b.call(_a, '.verdocs-field'))) {
1429
+ this.selectField(null);
1430
+ }
1187
1431
  if (this.placing) {
1188
1432
  // console.log('Placing field', {documentId, pageNumber});
1189
1433
  const clickedX = e.offsetX;
@@ -1222,7 +1466,7 @@ const VerdocsTemplateFields = class {
1222
1466
  const newTemplate = JSON.parse(JSON.stringify(this.template));
1223
1467
  newTemplate.fields.push(newField);
1224
1468
  Datastore.Store.updateTemplate(this.templateId, newTemplate);
1225
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: newTemplate, event: 'added-field' });
1469
+ (_c = this.templateUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, template: newTemplate, event: 'added-field' });
1226
1470
  this.placing = null;
1227
1471
  }
1228
1472
  }
@@ -1260,6 +1504,7 @@ const VerdocsTemplateFields = class {
1260
1504
  });
1261
1505
  })), this.showMustSelectRole && (index$1.h("verdocs-ok-dialog", { heading: "Unable to add field", message: (((_c = this.template) === null || _c === void 0 ? void 0 : _c.roles) || []).length > 0 ? 'Please select a role before adding fields.' : 'Please add at least one role before adding fields.', onNext: () => (this.showMustSelectRole = false) }))));
1262
1506
  }
1507
+ get el() { return index$1.getElement(this); }
1263
1508
  static get watchers() { return {
1264
1509
  "templateId": [{
1265
1510
  "onTemplateIdChanged": 0