@verdocs/web-sdk 6.5.0-beta.2 → 6.5.0-beta.21

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 (641) hide show
  1. package/dist/cjs/{Datastore-CIzsoGWH.js → Datastore-B-sxWSPD.js} +3 -3
  2. package/dist/{esm-es5/Datastore-DmsV595e.js.map → cjs/Datastore-B-sxWSPD.js.map} +1 -1
  3. package/dist/cjs/{Icons-DTZAw6hQ.js → Icons-Dr02rZHd.js} +12 -2
  4. package/dist/cjs/Icons-Dr02rZHd.js.map +1 -0
  5. package/dist/cjs/index-CQ5bTnED.js +12 -4
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/{utils-4rWXSNpE.js → utils-BhOPnF8L.js} +2 -12
  8. package/dist/{esm-es5/utils-NHDsmnv8.js.map → cjs/utils-BhOPnF8L.js.map} +1 -1
  9. package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-download-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.cjs.js.map +1 -0
  10. package/dist/cjs/{verdocs-adopt-signature-dialog_7.cjs.entry.js → verdocs-adopt-signature-dialog_9.cjs.entry.js} +126 -47
  11. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.cjs.js.map +1 -1
  13. package/dist/cjs/verdocs-button_3.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.cjs.js.map +1 -1
  15. package/dist/cjs/verdocs-checkbox_5.cjs.entry.js +2 -2
  16. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +145 -166
  17. package/dist/cjs/verdocs-contact-picker.entry.cjs.js.map +1 -1
  18. package/dist/cjs/verdocs-dialog.cjs.entry.js +9 -2
  19. package/dist/cjs/verdocs-dialog.entry.cjs.js.map +1 -1
  20. package/dist/cjs/verdocs-envelope-document-page.verdocs-question-dialog.verdocs-sign-footer.entry.cjs.js.map +1 -1
  21. package/dist/cjs/verdocs-envelope-document-page_3.cjs.entry.js +5 -5
  22. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
  23. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  25. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +7 -7
  26. package/dist/cjs/{verdocs-field-attachment_13.cjs.entry.js → verdocs-field-attachment_11.cjs.entry.js} +73 -628
  27. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -2
  28. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +229 -0
  30. package/dist/cjs/verdocs-initial-dialog.entry.cjs.js.map +1 -0
  31. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +8 -8
  32. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +2 -2
  33. package/dist/cjs/verdocs-ok-dialog.entry.cjs.js.map +1 -1
  34. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  35. package/dist/cjs/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.cjs.js.map +1 -1
  36. package/dist/cjs/verdocs-preview_7.cjs.entry.js +19 -8
  37. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  38. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  39. package/dist/cjs/verdocs-sign.cjs.entry.js +411 -176
  40. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  41. package/dist/cjs/verdocs-signature-dialog.cjs.entry.js +355 -0
  42. package/dist/cjs/verdocs-signature-dialog.entry.cjs.js.map +1 -0
  43. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -2
  44. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  45. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +2 -2
  46. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  47. package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
  48. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  49. package/dist/collection/collection-manifest.json +2 -0
  50. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.css +1 -1
  51. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.css +1 -1
  52. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.css +73 -20
  53. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js +27 -17
  54. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js.map +1 -1
  55. package/dist/collection/components/dialogs/verdocs-delegate-dialog/verdocs-delegate-dialog.css +58 -72
  56. package/dist/collection/components/dialogs/verdocs-delegate-dialog/verdocs-delegate-dialog.js +1 -1
  57. package/dist/collection/components/dialogs/verdocs-delegate-dialog/verdocs-delegate-dialog.js.map +1 -1
  58. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.css +19 -1
  59. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +34 -1
  60. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js.map +1 -1
  61. package/dist/collection/components/dialogs/verdocs-disclosure-dialog/verdocs-disclosure-dialog.css +14 -18
  62. package/dist/collection/components/dialogs/verdocs-disclosure-dialog/verdocs-disclosure-dialog.js +5 -5
  63. package/dist/collection/components/dialogs/verdocs-disclosure-dialog/verdocs-disclosure-dialog.js.map +1 -1
  64. package/dist/collection/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.css +74 -0
  65. package/dist/collection/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.js +91 -0
  66. package/dist/collection/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.js.map +1 -0
  67. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
  68. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.css +6 -0
  69. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js +1 -1
  70. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js.map +1 -1
  71. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.css +19 -13
  72. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
  73. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.css +11 -109
  74. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js +2 -38
  75. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js.map +1 -1
  76. package/dist/collection/components/dialogs/verdocs-passcode-dialog/verdocs-passcode-dialog.css +65 -0
  77. package/dist/collection/components/dialogs/verdocs-passcode-dialog/verdocs-passcode-dialog.js +118 -0
  78. package/dist/collection/components/dialogs/verdocs-passcode-dialog/verdocs-passcode-dialog.js.map +1 -0
  79. package/dist/collection/components/dialogs/verdocs-question-dialog/verdocs-question-dialog.js +1 -1
  80. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
  81. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.css +7 -1
  82. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js +59 -5
  83. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js.map +1 -1
  84. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -1
  85. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
  86. package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
  87. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +16 -4
  88. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
  89. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +199 -2
  90. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +441 -181
  91. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  92. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
  93. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
  94. package/dist/collection/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.js +1 -1
  95. package/dist/collection/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.js.map +1 -1
  96. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
  97. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.css +56 -4
  98. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +62 -25
  99. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  100. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.css +54 -2
  101. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +77 -25
  102. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  103. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
  104. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -7
  105. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  106. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  107. package/dist/collection/utils/Datastore.js +1 -1
  108. package/dist/collection/utils/Datastore.js.map +1 -1
  109. package/dist/collection/utils/Icons.js +6 -0
  110. package/dist/collection/utils/Icons.js.map +1 -1
  111. package/dist/collection/utils/utils.js +0 -1
  112. package/dist/collection/utils/utils.js.map +1 -1
  113. package/dist/components/index.js +4 -0
  114. package/dist/components/index.js.map +1 -1
  115. package/dist/components/{p-0p8NaKpS.js → p-5G9qfsgg.js} +57 -58
  116. package/dist/components/p-5G9qfsgg.js.map +1 -0
  117. package/dist/components/p-B-ZoFCli.js +108 -0
  118. package/dist/components/p-B-ZoFCli.js.map +1 -0
  119. package/dist/components/p-B8w3BMgj.js +63 -0
  120. package/dist/components/p-B8w3BMgj.js.map +1 -0
  121. package/dist/components/{p-BgintEvn.js → p-BAwv4SNb.js} +5 -5
  122. package/dist/components/{p-BgintEvn.js.map → p-BAwv4SNb.js.map} +1 -1
  123. package/dist/components/{p-C-9CfxhN.js → p-BGxpdi-a.js} +3 -3
  124. package/dist/components/{p-C-9CfxhN.js.map → p-BGxpdi-a.js.map} +1 -1
  125. package/dist/components/{p-DdnddN_K.js → p-BKKdT2Pm.js} +6 -6
  126. package/dist/components/{p-DdnddN_K.js.map → p-BKKdT2Pm.js.map} +1 -1
  127. package/dist/components/p-BctpAp4o.js +58 -0
  128. package/dist/components/p-BctpAp4o.js.map +1 -0
  129. package/dist/components/p-BeDjuReL.js +86 -0
  130. package/dist/components/p-BeDjuReL.js.map +1 -0
  131. package/dist/components/{p-C1KzzI_w.js → p-BiLR1bo2.js} +3 -3
  132. package/dist/components/{p-C1KzzI_w.js.map → p-BiLR1bo2.js.map} +1 -1
  133. package/dist/components/{p-kbW0me2Y.js → p-BqX9pHlZ.js} +147 -168
  134. package/dist/components/p-BqX9pHlZ.js.map +1 -0
  135. package/dist/components/{p-Dr4C7GlH.js → p-ByT59bSa.js} +48 -60
  136. package/dist/components/p-ByT59bSa.js.map +1 -0
  137. package/dist/components/{p-CuOsqbUL.js → p-C-gHAARh.js} +3 -3
  138. package/dist/components/{p-CuOsqbUL.js.map → p-C-gHAARh.js.map} +1 -1
  139. package/dist/components/{p-Ce79yI27.js → p-C4OPC14W.js} +5 -5
  140. package/dist/components/{p-Ce79yI27.js.map → p-C4OPC14W.js.map} +1 -1
  141. package/dist/components/{p-QjwQw9ZJ.js → p-CFZQhAqt.js} +8 -8
  142. package/dist/components/{p-QjwQw9ZJ.js.map → p-CFZQhAqt.js.map} +1 -1
  143. package/dist/components/{p-C_fTZqX_.js → p-CMpYlbLu.js} +10 -10
  144. package/dist/components/{p-C_fTZqX_.js.map → p-CMpYlbLu.js.map} +1 -1
  145. package/dist/components/{p-a2gHu10Y.js → p-CTninn6T.js} +3 -3
  146. package/dist/components/{p-a2gHu10Y.js.map → p-CTninn6T.js.map} +1 -1
  147. package/dist/components/{p-DpF1OjCe.js → p-CUrnqIyl.js} +5 -5
  148. package/dist/components/p-CUrnqIyl.js.map +1 -0
  149. package/dist/components/{p-BJ1x02dk.js → p-CV0M8_uS.js} +6 -6
  150. package/dist/components/p-CV0M8_uS.js.map +1 -0
  151. package/dist/components/{p-IF2BYQ14.js → p-CYgAI8GQ.js} +4 -4
  152. package/dist/components/{p-IF2BYQ14.js.map → p-CYgAI8GQ.js.map} +1 -1
  153. package/dist/components/{p-BqBR9AeQ.js → p-CbtdkfOR.js} +3 -3
  154. package/dist/components/p-CbtdkfOR.js.map +1 -0
  155. package/dist/components/{p-CT33lvBJ.js → p-CkacdeeK.js} +4 -4
  156. package/dist/components/{p-CT33lvBJ.js.map → p-CkacdeeK.js.map} +1 -1
  157. package/dist/components/{p-DJxcnCni.js → p-CudTfFTS.js} +7 -7
  158. package/dist/components/{p-DJxcnCni.js.map → p-CudTfFTS.js.map} +1 -1
  159. package/dist/components/{p-C5xpynM2.js → p-Cv72a8rJ.js} +4 -4
  160. package/dist/components/{p-C5xpynM2.js.map → p-Cv72a8rJ.js.map} +1 -1
  161. package/dist/components/p-CxLtKV1w.js +53 -0
  162. package/dist/components/p-CxLtKV1w.js.map +1 -0
  163. package/dist/components/{p-DFn7OyyI.js → p-DB-avV4_.js} +7 -7
  164. package/dist/components/{p-DFn7OyyI.js.map → p-DB-avV4_.js.map} +1 -1
  165. package/dist/components/{p-Btmt1DxH.js → p-DDA_lXX8.js} +4 -13
  166. package/dist/components/p-DDA_lXX8.js.map +1 -0
  167. package/dist/components/{p-CCKs9OuD.js → p-DGVgIkrO.js} +7 -7
  168. package/dist/components/{p-CCKs9OuD.js.map → p-DGVgIkrO.js.map} +1 -1
  169. package/dist/components/p-DOuWiFKy.js +133 -0
  170. package/dist/components/p-DOuWiFKy.js.map +1 -0
  171. package/dist/components/{p-IcDkT207.js → p-DQzBQ4JR.js} +63 -63
  172. package/dist/components/p-DQzBQ4JR.js.map +1 -0
  173. package/dist/components/{p-DqqO4T0y.js → p-Dbvt5kcw.js} +32 -22
  174. package/dist/components/p-Dbvt5kcw.js.map +1 -0
  175. package/dist/components/{p-cJtKU5n1.js → p-Ddv42zlJ.js} +7 -7
  176. package/dist/components/{p-cJtKU5n1.js.map → p-Ddv42zlJ.js.map} +1 -1
  177. package/dist/components/{p-D8AzOFt_.js → p-DnI_6gWH.js} +5 -5
  178. package/dist/components/{p-D8AzOFt_.js.map → p-DnI_6gWH.js.map} +1 -1
  179. package/dist/components/{p-C_Lg8FA9.js → p-DqoBcfqq.js} +7 -7
  180. package/dist/components/{p-C_Lg8FA9.js.map → p-DqoBcfqq.js.map} +1 -1
  181. package/dist/{esm/Icons-7LXbcjVz.js → components/p-Du758Jse.js} +9 -3
  182. package/dist/components/p-Du758Jse.js.map +1 -0
  183. package/dist/components/{p-COHaJ-jL.js → p-Dy--t71Y.js} +4 -4
  184. package/dist/components/{p-COHaJ-jL.js.map → p-Dy--t71Y.js.map} +1 -1
  185. package/dist/components/{p-DIRPK6bd.js → p-L03tyOvp.js} +3 -3
  186. package/dist/components/{p-DIRPK6bd.js.map → p-L03tyOvp.js.map} +1 -1
  187. package/dist/components/{p-DMNzrP5c.js → p-LfDLlp5r.js} +7 -7
  188. package/dist/components/{p-DMNzrP5c.js.map → p-LfDLlp5r.js.map} +1 -1
  189. package/dist/components/{p-BU3qvBJL.js → p-MgQAzZE6.js} +12 -12
  190. package/dist/components/{p-BU3qvBJL.js.map → p-MgQAzZE6.js.map} +1 -1
  191. package/dist/components/{p-_CWDgKqX.js → p-O5qIkOV_.js} +4 -4
  192. package/dist/components/{p-_CWDgKqX.js.map → p-O5qIkOV_.js.map} +1 -1
  193. package/dist/components/{p-B1TD7C4M.js → p-QDVFg2YR.js} +3 -3
  194. package/dist/components/p-QDVFg2YR.js.map +1 -0
  195. package/dist/components/{p-BlMgp5BW.js → p-RIeHu5V1.js} +7 -7
  196. package/dist/components/{p-BlMgp5BW.js.map → p-RIeHu5V1.js.map} +1 -1
  197. package/dist/components/{p-CmUZsES9.js → p-UPW-U544.js} +7 -7
  198. package/dist/components/{p-CmUZsES9.js.map → p-UPW-U544.js.map} +1 -1
  199. package/dist/components/p-VPVigkt1.js +84 -0
  200. package/dist/components/p-VPVigkt1.js.map +1 -0
  201. package/dist/components/{p-BToCx2ri.js → p-Y0OyTFqS.js} +51 -47
  202. package/dist/components/p-Y0OyTFqS.js.map +1 -0
  203. package/dist/components/{p-DmsV595e.js → p-bS8INhRF.js} +3 -3
  204. package/dist/components/p-bS8INhRF.js.map +1 -0
  205. package/dist/components/{p-Z1wZ6-IT.js → p-pPfQ3mVK.js} +47 -59
  206. package/dist/components/p-pPfQ3mVK.js.map +1 -0
  207. package/dist/components/{p-C-NHtu_d.js → p-qpe55Kwb.js} +7 -7
  208. package/dist/components/p-qpe55Kwb.js.map +1 -0
  209. package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
  210. package/dist/components/verdocs-auth.js +1 -1
  211. package/dist/components/verdocs-build.js +65 -77
  212. package/dist/components/verdocs-build.js.map +1 -1
  213. package/dist/components/verdocs-contact-picker.js +1 -1
  214. package/dist/components/verdocs-delegate-dialog.js +1 -1
  215. package/dist/components/verdocs-dialog.js +1 -1
  216. package/dist/components/verdocs-disclosure-dialog.js +1 -1
  217. package/dist/components/verdocs-download-dialog.d.ts +11 -0
  218. package/dist/components/verdocs-download-dialog.js +9 -0
  219. package/dist/components/verdocs-download-dialog.js.map +1 -0
  220. package/dist/components/verdocs-envelope-document-page.js +1 -1
  221. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  222. package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
  223. package/dist/components/verdocs-envelope-sidebar.js +6 -6
  224. package/dist/components/verdocs-envelope-update-recipient.js +1 -1
  225. package/dist/components/verdocs-envelopes-list.js +10 -10
  226. package/dist/components/verdocs-field-attachment.js +1 -1
  227. package/dist/components/verdocs-field-checkbox.js +1 -1
  228. package/dist/components/verdocs-field-date.js +1 -1
  229. package/dist/components/verdocs-field-dropdown.js +1 -1
  230. package/dist/components/verdocs-field-initial.js +1 -1
  231. package/dist/components/verdocs-field-payment.js +5 -5
  232. package/dist/components/verdocs-field-radio.js +1 -1
  233. package/dist/components/verdocs-field-signature.js +1 -1
  234. package/dist/components/verdocs-field-textarea.js +1 -1
  235. package/dist/components/verdocs-field-textbox.js +1 -1
  236. package/dist/components/verdocs-field-timestamp.js +1 -1
  237. package/dist/components/verdocs-file-chooser.js +1 -1
  238. package/dist/components/verdocs-initial-dialog.js +263 -1
  239. package/dist/components/verdocs-initial-dialog.js.map +1 -1
  240. package/dist/components/verdocs-kba-dialog.js +1 -1
  241. package/dist/components/verdocs-ok-dialog.js +1 -1
  242. package/dist/components/verdocs-otp-dialog.js +1 -1
  243. package/dist/components/verdocs-passcode-dialog.d.ts +11 -0
  244. package/dist/components/verdocs-passcode-dialog.js +9 -0
  245. package/dist/components/verdocs-passcode-dialog.js.map +1 -0
  246. package/dist/components/verdocs-preview.js +1 -1
  247. package/dist/components/verdocs-question-dialog.js +1 -1
  248. package/dist/components/verdocs-quick-filter.js +1 -1
  249. package/dist/components/verdocs-quick-functions.js +1 -1
  250. package/dist/components/verdocs-search-tabs.js +1 -1
  251. package/dist/components/verdocs-select-input.js +1 -1
  252. package/dist/components/verdocs-send.js +1 -1
  253. package/dist/components/verdocs-sign-footer.js +1 -1
  254. package/dist/components/verdocs-sign.js +467 -214
  255. package/dist/components/verdocs-sign.js.map +1 -1
  256. package/dist/components/verdocs-signature-dialog.js +393 -1
  257. package/dist/components/verdocs-signature-dialog.js.map +1 -1
  258. package/dist/components/verdocs-signing-progress.js +1 -1
  259. package/dist/components/verdocs-status-indicator.js +1 -1
  260. package/dist/components/verdocs-template-attachments.js +1 -1
  261. package/dist/components/verdocs-template-build-tabs.js +1 -1
  262. package/dist/components/verdocs-template-card.js +1 -1
  263. package/dist/components/verdocs-template-document-page.js +1 -1
  264. package/dist/components/verdocs-template-field-properties.js +1 -1
  265. package/dist/components/verdocs-template-fields.js +1 -1
  266. package/dist/components/verdocs-template-role-properties.js +1 -1
  267. package/dist/components/verdocs-template-roles.js +1 -1
  268. package/dist/components/verdocs-template-settings.js +1 -1
  269. package/dist/components/verdocs-template-star.js +1 -1
  270. package/dist/components/verdocs-template-tags.js +1 -1
  271. package/dist/components/verdocs-templates-list.js +5 -5
  272. package/dist/components/verdocs-text-input.js +1 -1
  273. package/dist/components/verdocs-upload-dialog.js +1 -1
  274. package/dist/components/verdocs-view.js +1 -1
  275. package/dist/esm/{Datastore-DmsV595e.js → Datastore-bS8INhRF.js} +3 -3
  276. package/dist/esm/{Datastore-DmsV595e.js.map → Datastore-bS8INhRF.js.map} +1 -1
  277. package/dist/{components/p-7LXbcjVz.js → esm/Icons-COC8ZzcY.js} +9 -3
  278. package/dist/esm/Icons-COC8ZzcY.js.map +1 -0
  279. package/dist/esm/index-BIRwgFLv.js +12 -4
  280. package/dist/esm/loader.js +1 -1
  281. package/dist/esm/{utils-NHDsmnv8.js → utils-7DStM5zD.js} +4 -13
  282. package/dist/esm/{utils-NHDsmnv8.js.map → utils-7DStM5zD.js.map} +1 -1
  283. package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-download-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -0
  284. package/dist/esm/{verdocs-adopt-signature-dialog_7.entry.js → verdocs-adopt-signature-dialog_9.entry.js} +125 -48
  285. package/dist/esm/verdocs-build.entry.js +1 -1
  286. package/dist/esm/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.js.map +1 -1
  287. package/dist/esm/verdocs-button_3.entry.js +1 -1
  288. package/dist/esm/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.js.map +1 -1
  289. package/dist/esm/verdocs-checkbox_5.entry.js +2 -2
  290. package/dist/esm/verdocs-contact-picker.entry.js +145 -166
  291. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
  292. package/dist/esm/verdocs-dialog.entry.js +9 -2
  293. package/dist/esm/verdocs-dialog.entry.js.map +1 -1
  294. package/dist/esm/verdocs-envelope-document-page.verdocs-question-dialog.verdocs-sign-footer.entry.js.map +1 -1
  295. package/dist/esm/verdocs-envelope-document-page_3.entry.js +5 -5
  296. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  297. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  298. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  299. package/dist/esm/verdocs-envelopes-list.entry.js +7 -7
  300. package/dist/esm/{verdocs-field-attachment_13.entry.js → verdocs-field-attachment_11.entry.js} +74 -627
  301. package/dist/esm/verdocs-field-payment.entry.js +2 -2
  302. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  303. package/dist/{components/p-BWQH6Cty.js → esm/verdocs-initial-dialog.entry.js} +9 -50
  304. package/dist/esm/verdocs-initial-dialog.entry.js.map +1 -0
  305. package/dist/esm/verdocs-menu-panel_2.entry.js +8 -8
  306. package/dist/esm/verdocs-ok-dialog.entry.js +2 -2
  307. package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
  308. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  309. package/dist/esm/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.js.map +1 -1
  310. package/dist/esm/verdocs-preview_7.entry.js +19 -8
  311. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  312. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  313. package/dist/esm/verdocs-sign.entry.js +413 -178
  314. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  315. package/dist/{components/p-2bF2_rFv.js → esm/verdocs-signature-dialog.entry.js} +9 -54
  316. package/dist/esm/verdocs-signature-dialog.entry.js.map +1 -0
  317. package/dist/esm/verdocs-status-indicator.entry.js +2 -2
  318. package/dist/esm/verdocs-template-card.entry.js +1 -1
  319. package/dist/esm/verdocs-template-document-page_2.entry.js +2 -2
  320. package/dist/esm/verdocs-template-star.entry.js +1 -1
  321. package/dist/esm/verdocs-template-tags.entry.js +1 -1
  322. package/dist/esm/verdocs-web-sdk.js +1 -1
  323. package/dist/esm-es5/Datastore-bS8INhRF.js +2 -0
  324. package/dist/{cjs/Datastore-CIzsoGWH.js.map → esm-es5/Datastore-bS8INhRF.js.map} +1 -1
  325. package/dist/esm-es5/{Icons-7LXbcjVz.js → Icons-COC8ZzcY.js} +2 -2
  326. package/dist/esm-es5/Icons-COC8ZzcY.js.map +1 -0
  327. package/dist/esm-es5/index-BIRwgFLv.js +1 -1
  328. package/dist/esm-es5/loader.js +1 -1
  329. package/dist/esm-es5/utils-7DStM5zD.js +2 -0
  330. package/dist/{components/p-Btmt1DxH.js.map → esm-es5/utils-7DStM5zD.js.map} +1 -1
  331. package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-download-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -0
  332. package/dist/esm-es5/verdocs-adopt-signature-dialog_9.entry.js +2 -0
  333. package/dist/esm-es5/verdocs-adopt-signature-dialog_9.entry.js.map +1 -0
  334. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  335. package/dist/esm-es5/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.js.map +1 -1
  336. package/dist/esm-es5/verdocs-button_3.entry.js +1 -1
  337. package/dist/esm-es5/verdocs-button_3.entry.js.map +1 -1
  338. package/dist/esm-es5/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.js.map +1 -1
  339. package/dist/esm-es5/verdocs-checkbox_5.entry.js +1 -1
  340. package/dist/esm-es5/verdocs-checkbox_5.entry.js.map +1 -1
  341. package/dist/esm-es5/verdocs-contact-picker.entry.js +2 -2
  342. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
  343. package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
  344. package/dist/esm-es5/verdocs-dialog.entry.js.map +1 -1
  345. package/dist/esm-es5/verdocs-envelope-document-page.verdocs-question-dialog.verdocs-sign-footer.entry.js.map +1 -1
  346. package/dist/esm-es5/verdocs-envelope-document-page_3.entry.js +1 -1
  347. package/dist/esm-es5/verdocs-envelope-document-page_3.entry.js.map +1 -1
  348. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  349. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  350. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  351. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  352. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +2 -0
  353. package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -0
  354. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  355. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  356. package/dist/esm-es5/verdocs-initial-dialog.entry.js +2 -0
  357. package/dist/esm-es5/verdocs-initial-dialog.entry.js.map +1 -0
  358. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  359. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  360. package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
  361. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  362. package/dist/esm-es5/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.js.map +1 -1
  363. package/dist/esm-es5/verdocs-preview_7.entry.js +2 -2
  364. package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -1
  365. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  366. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  367. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  368. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  369. package/dist/esm-es5/verdocs-signature-dialog.entry.js +2 -0
  370. package/dist/esm-es5/verdocs-signature-dialog.entry.js.map +1 -0
  371. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  372. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  373. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  374. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  375. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  376. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  377. package/dist/globals.css +112 -0
  378. package/dist/overrides.css +85 -0
  379. package/dist/types/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.d.ts +3 -1
  380. package/dist/types/components/dialogs/verdocs-dialog/verdocs-dialog.d.ts +4 -0
  381. package/dist/types/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.d.ts +19 -0
  382. package/dist/types/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.d.ts +1 -6
  383. package/dist/types/components/dialogs/verdocs-passcode-dialog/verdocs-passcode-dialog.d.ts +25 -0
  384. package/dist/types/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.d.ts +17 -0
  385. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +2 -1
  386. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +24 -8
  387. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +6 -4
  388. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +7 -4
  389. package/dist/types/components.d.ts +176 -22
  390. package/dist/types/utils/Icons.d.ts +4 -0
  391. package/dist/verdocs-web-sdk/p--Tp5sOgJ.system.js.map +1 -0
  392. package/dist/verdocs-web-sdk/p-00a82c91.entry.js +2 -0
  393. package/dist/verdocs-web-sdk/p-00a82c91.entry.js.map +1 -0
  394. package/dist/verdocs-web-sdk/{p-9a7a9d7b.system.entry.js → p-07205ca9.system.entry.js} +2 -2
  395. package/dist/verdocs-web-sdk/p-07383f5b.system.entry.js +2 -0
  396. package/dist/verdocs-web-sdk/p-07383f5b.system.entry.js.map +1 -0
  397. package/dist/verdocs-web-sdk/{p-c726e0d7.entry.js → p-0f20c685.entry.js} +2 -2
  398. package/dist/verdocs-web-sdk/{p-fe64576a.system.entry.js → p-1083d8e2.system.entry.js} +2 -2
  399. package/dist/verdocs-web-sdk/{p-fe64576a.system.entry.js.map → p-1083d8e2.system.entry.js.map} +1 -1
  400. package/dist/verdocs-web-sdk/p-114c52c9.system.entry.js +2 -0
  401. package/dist/verdocs-web-sdk/p-114c52c9.system.entry.js.map +1 -0
  402. package/dist/verdocs-web-sdk/p-1467ab16.system.entry.js +8 -0
  403. package/dist/verdocs-web-sdk/p-1467ab16.system.entry.js.map +1 -0
  404. package/dist/verdocs-web-sdk/p-1577fea5.system.entry.js +2 -0
  405. package/dist/verdocs-web-sdk/{p-aa39fd5b.system.entry.js.map → p-1577fea5.system.entry.js.map} +1 -1
  406. package/dist/verdocs-web-sdk/p-15f45ccd.system.entry.js +2 -0
  407. package/dist/verdocs-web-sdk/p-15f45ccd.system.entry.js.map +1 -0
  408. package/dist/verdocs-web-sdk/{p-0596c4db.entry.js → p-1aaa0981.entry.js} +2 -2
  409. package/dist/verdocs-web-sdk/{p-7e580691.entry.js → p-1aad4dc6.entry.js} +2 -2
  410. package/dist/verdocs-web-sdk/{p-489534aa.entry.js → p-20456951.entry.js} +2 -2
  411. package/dist/verdocs-web-sdk/p-20ca00e4.system.entry.js +4 -0
  412. package/dist/verdocs-web-sdk/p-20ca00e4.system.entry.js.map +1 -0
  413. package/dist/verdocs-web-sdk/{p-632431e9.entry.js → p-20fb3050.entry.js} +2 -2
  414. package/dist/verdocs-web-sdk/p-2622d80c.system.entry.js +2 -0
  415. package/dist/verdocs-web-sdk/p-2622d80c.system.entry.js.map +1 -0
  416. package/dist/verdocs-web-sdk/{p-0244f789.entry.js → p-2948f7cd.entry.js} +2 -2
  417. package/dist/verdocs-web-sdk/{p-d06e0bce.entry.js → p-29822673.entry.js} +2 -2
  418. package/dist/verdocs-web-sdk/{p-148dd66c.entry.js → p-2f88c31f.entry.js} +2 -2
  419. package/dist/verdocs-web-sdk/p-36950fda.entry.js +2 -0
  420. package/dist/verdocs-web-sdk/{p-828eaae7.entry.js.map → p-36950fda.entry.js.map} +1 -1
  421. package/dist/verdocs-web-sdk/{p-fb1f1d76.system.entry.js → p-36da59e7.system.entry.js} +2 -2
  422. package/dist/verdocs-web-sdk/p-3912f9cc.system.entry.js +2 -0
  423. package/dist/verdocs-web-sdk/p-3912f9cc.system.entry.js.map +1 -0
  424. package/dist/verdocs-web-sdk/{p-84c0b47c.system.entry.js → p-3b248d05.system.entry.js} +2 -2
  425. package/dist/verdocs-web-sdk/p-51a509ef.entry.js +2 -0
  426. package/dist/verdocs-web-sdk/p-51a509ef.entry.js.map +1 -0
  427. package/dist/verdocs-web-sdk/{p-e6015dfb.system.entry.js → p-5a3f7160.system.entry.js} +2 -2
  428. package/dist/verdocs-web-sdk/p-5b8dca55.entry.js +2 -0
  429. package/dist/verdocs-web-sdk/p-5b8dca55.entry.js.map +1 -0
  430. package/dist/verdocs-web-sdk/p-5bf8bb27.entry.js +3 -0
  431. package/dist/verdocs-web-sdk/p-5bf8bb27.entry.js.map +1 -0
  432. package/dist/verdocs-web-sdk/{p-ec6f161e.system.entry.js → p-5cb2ce47.system.entry.js} +2 -2
  433. package/dist/verdocs-web-sdk/p-63d8a182.entry.js +2 -0
  434. package/dist/verdocs-web-sdk/p-63d8a182.entry.js.map +1 -0
  435. package/dist/verdocs-web-sdk/p-660037f2.system.entry.js +2 -0
  436. package/dist/verdocs-web-sdk/p-660037f2.system.entry.js.map +1 -0
  437. package/dist/verdocs-web-sdk/{p-685f42ba.system.entry.js → p-67e2c85f.system.entry.js} +2 -2
  438. package/dist/verdocs-web-sdk/p-6b4e3068.entry.js +8 -0
  439. package/dist/verdocs-web-sdk/p-6b4e3068.entry.js.map +1 -0
  440. package/dist/verdocs-web-sdk/p-6ce29e3f.entry.js +2 -0
  441. package/dist/verdocs-web-sdk/p-6ce29e3f.entry.js.map +1 -0
  442. package/dist/verdocs-web-sdk/{p-8fc90e38.entry.js → p-8beed8b8.entry.js} +2 -2
  443. package/dist/verdocs-web-sdk/{p-210a0cc0.system.entry.js → p-942f4c17.system.entry.js} +2 -2
  444. package/dist/verdocs-web-sdk/{p-210a0cc0.system.entry.js.map → p-942f4c17.system.entry.js.map} +1 -1
  445. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  446. package/dist/verdocs-web-sdk/{p-B8lqLcUJ.system.js.map → p-BACQ3t2g.system.js.map} +1 -1
  447. package/dist/verdocs-web-sdk/p-BFIyp5DH.system.js.map +1 -0
  448. package/dist/verdocs-web-sdk/{p-DxzUtRjY.system.js.map → p-BIlzRpWg.system.js.map} +1 -1
  449. package/dist/verdocs-web-sdk/{p-B0D33bcu.system.js.map → p-BJxbmjxu.system.js.map} +1 -1
  450. package/dist/verdocs-web-sdk/p-BRVcSPz-.js +2 -0
  451. package/dist/verdocs-web-sdk/{p-nK4J4UFK.js.map → p-BRVcSPz-.js.map} +1 -1
  452. package/dist/verdocs-web-sdk/p-BS_uue9-.system.js +2 -0
  453. package/dist/verdocs-web-sdk/{p-BU5y2rcs.system.js.map → p-BS_uue9-.system.js.map} +1 -1
  454. package/dist/verdocs-web-sdk/{p-Cs8nzZkX.system.js.map → p-BmcSX6sZ.system.js.map} +1 -1
  455. package/dist/verdocs-web-sdk/p-BwDu3hdM.system.js.map +1 -0
  456. package/dist/verdocs-web-sdk/{p-CieKSMnx.system.js.map → p-Bzd59d_Y.system.js.map} +1 -1
  457. package/dist/verdocs-web-sdk/p-C3cf-C2H.system.js.map +1 -0
  458. package/dist/verdocs-web-sdk/p-CItBLxPE.system.js.map +1 -0
  459. package/dist/verdocs-web-sdk/p-CO3zu-aZ.system.js.map +1 -0
  460. package/dist/verdocs-web-sdk/{p-7LXbcjVz.js → p-COC8ZzcY.js} +2 -2
  461. package/dist/verdocs-web-sdk/p-COC8ZzcY.js.map +1 -0
  462. package/dist/verdocs-web-sdk/p-CUjnlf4u.system.js.map +1 -0
  463. package/dist/verdocs-web-sdk/p-CbY0pr90.system.js.map +1 -0
  464. package/dist/verdocs-web-sdk/{p-DZ9tOVBK.system.js.map → p-ChG34u1-.system.js.map} +1 -1
  465. package/dist/verdocs-web-sdk/p-CrAB6I_0.system.js.map +1 -0
  466. package/dist/verdocs-web-sdk/{p-tODAbh1B.system.js.map → p-D1WT1HgS.system.js.map} +1 -1
  467. package/dist/verdocs-web-sdk/{p-BRVQ3Epx.system.js.map → p-D1hWlXNp.system.js.map} +1 -1
  468. package/dist/verdocs-web-sdk/{p-C5juVGX2.system.js.map → p-D5RtYdwR.system.js.map} +1 -1
  469. package/dist/verdocs-web-sdk/{p-DzGaqMQD.system.js.map → p-D5pPB-5I.system.js.map} +1 -1
  470. package/dist/verdocs-web-sdk/{p-BDx8jh5x.system.js.map → p-DA1uvkFq.system.js.map} +1 -1
  471. package/dist/verdocs-web-sdk/p-DAdumYIk.system.js.map +1 -0
  472. package/dist/verdocs-web-sdk/{p-C8kxZqse.system.js.map → p-DENysSNZ.system.js.map} +1 -1
  473. package/dist/verdocs-web-sdk/{p-DIXcGfRL.system.js.map → p-DG4e0IXS.system.js.map} +1 -1
  474. package/dist/verdocs-web-sdk/p-DHfIae9S.system.js.map +1 -0
  475. package/dist/verdocs-web-sdk/{p-B_fwtKg3.system.js.map → p-DZMQH9UR.system.js.map} +1 -1
  476. package/dist/verdocs-web-sdk/{p-CogJ52UV.system.js.map → p-DjxAdkDZ.system.js.map} +1 -1
  477. package/dist/verdocs-web-sdk/{p-kMtS6OkN.system.js.map → p-Dtmn_zf8.system.js.map} +1 -1
  478. package/dist/verdocs-web-sdk/{p-Cb4o7DUm.system.js → p-DwOCgVjl.system.js} +2 -2
  479. package/dist/verdocs-web-sdk/p-DwOCgVjl.system.js.map +1 -0
  480. package/dist/verdocs-web-sdk/{p-94e4d921.system.entry.js → p-a43055ec.system.entry.js} +2 -2
  481. package/dist/verdocs-web-sdk/p-a43055ec.system.entry.js.map +1 -0
  482. package/dist/verdocs-web-sdk/{p-244b7719.entry.js → p-a99b5b5a.entry.js} +2 -2
  483. package/dist/verdocs-web-sdk/{p-c997753e.system.entry.js → p-aa9d335d.system.entry.js} +2 -2
  484. package/dist/verdocs-web-sdk/{p-6371fb62.entry.js → p-aca47b01.entry.js} +2 -2
  485. package/dist/verdocs-web-sdk/{p-6371fb62.entry.js.map → p-aca47b01.entry.js.map} +1 -1
  486. package/dist/verdocs-web-sdk/{p-5d9229fa.entry.js → p-b3a31d74.entry.js} +2 -2
  487. package/dist/verdocs-web-sdk/{p-2f222ff9.entry.js → p-b4f520a6.entry.js} +2 -2
  488. package/dist/verdocs-web-sdk/{p-daf326e4.system.entry.js → p-b589a13f.system.entry.js} +2 -2
  489. package/dist/verdocs-web-sdk/{p-d71a77b4.system.entry.js → p-b67d0434.system.entry.js} +2 -2
  490. package/dist/verdocs-web-sdk/{p-a4b44720.system.entry.js → p-b7f6434d.system.entry.js} +2 -2
  491. package/dist/verdocs-web-sdk/{p-6093e7f5.entry.js → p-b87098c9.entry.js} +2 -2
  492. package/dist/verdocs-web-sdk/{p-DmsV595e.js → p-bS8INhRF.js} +2 -2
  493. package/dist/verdocs-web-sdk/{p-DmsV595e.js.map → p-bS8INhRF.js.map} +1 -1
  494. package/dist/verdocs-web-sdk/{p-ff26d6ca.system.entry.js → p-bb2c8e5b.system.entry.js} +2 -2
  495. package/dist/verdocs-web-sdk/{p-831ff4eb.entry.js → p-c284aac4.entry.js} +2 -2
  496. package/dist/verdocs-web-sdk/{p-831ff4eb.entry.js.map → p-c284aac4.entry.js.map} +1 -1
  497. package/dist/verdocs-web-sdk/p-c344c869.entry.js +2 -0
  498. package/dist/verdocs-web-sdk/p-c344c869.entry.js.map +1 -0
  499. package/dist/verdocs-web-sdk/{p-ba66ef0e.system.entry.js → p-c3bb84d8.system.entry.js} +2 -2
  500. package/dist/verdocs-web-sdk/{p-a3ed7e19.entry.js → p-d478a7ca.entry.js} +2 -2
  501. package/dist/verdocs-web-sdk/{p-0c567c7d.entry.js → p-dbcab6a2.entry.js} +2 -2
  502. package/dist/verdocs-web-sdk/{p-0472a40b.system.entry.js → p-de973f2d.system.entry.js} +2 -2
  503. package/dist/verdocs-web-sdk/{p-2adc75a7.system.entry.js → p-e22986c6.system.entry.js} +2 -2
  504. package/dist/verdocs-web-sdk/p-e22986c6.system.entry.js.map +1 -0
  505. package/dist/verdocs-web-sdk/{p-7816a3e8.system.entry.js → p-e96569f6.system.entry.js} +2 -2
  506. package/dist/verdocs-web-sdk/p-f551f8e0.system.entry.js +2 -0
  507. package/dist/verdocs-web-sdk/{p-3255c6d0.system.entry.js.map → p-f551f8e0.system.entry.js.map} +1 -1
  508. package/dist/verdocs-web-sdk/{p-05a1750b.entry.js → p-f9fc9ab8.entry.js} +2 -2
  509. package/dist/verdocs-web-sdk/p-fd3bd226.entry.js +2 -0
  510. package/dist/verdocs-web-sdk/{p-8546c8db.entry.js.map → p-fd3bd226.entry.js.map} +1 -1
  511. package/dist/verdocs-web-sdk/p-lEpx1l-p.system.js +2 -0
  512. package/dist/verdocs-web-sdk/{p-CmnBGerV.system.js.map → p-lEpx1l-p.system.js.map} +1 -1
  513. package/dist/verdocs-web-sdk/{p-BBplyI1s.system.js.map → p-vDhZao2w.system.js.map} +1 -1
  514. package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-download-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.esm.js.map +1 -0
  515. package/dist/verdocs-web-sdk/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.esm.js.map +1 -1
  516. package/dist/verdocs-web-sdk/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.esm.js.map +1 -1
  517. package/dist/verdocs-web-sdk/verdocs-contact-picker.entry.esm.js.map +1 -1
  518. package/dist/verdocs-web-sdk/verdocs-dialog.entry.esm.js.map +1 -1
  519. package/dist/verdocs-web-sdk/verdocs-envelope-document-page.verdocs-question-dialog.verdocs-sign-footer.entry.esm.js.map +1 -1
  520. package/dist/verdocs-web-sdk/verdocs-initial-dialog.entry.esm.js.map +1 -0
  521. package/dist/verdocs-web-sdk/verdocs-ok-dialog.entry.esm.js.map +1 -1
  522. package/dist/verdocs-web-sdk/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.esm.js.map +1 -1
  523. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  524. package/dist/verdocs-web-sdk/verdocs-signature-dialog.entry.esm.js.map +1 -0
  525. package/dist/verdocs-web-sdk/verdocs-web-sdk.css +1 -0
  526. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  527. package/package.json +4 -3
  528. package/dist/cjs/Icons-DTZAw6hQ.js.map +0 -1
  529. package/dist/cjs/utils-4rWXSNpE.js.map +0 -1
  530. package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-signing-progress.verdocs-view.entry.cjs.js.map +0 -1
  531. package/dist/components/p-0p8NaKpS.js.map +0 -1
  532. package/dist/components/p-2bF2_rFv.js.map +0 -1
  533. package/dist/components/p-7LXbcjVz.js.map +0 -1
  534. package/dist/components/p-ATwhsypY.js +0 -128
  535. package/dist/components/p-ATwhsypY.js.map +0 -1
  536. package/dist/components/p-B1TD7C4M.js.map +0 -1
  537. package/dist/components/p-BJ1x02dk.js.map +0 -1
  538. package/dist/components/p-BToCx2ri.js.map +0 -1
  539. package/dist/components/p-BWQH6Cty.js.map +0 -1
  540. package/dist/components/p-BqBR9AeQ.js.map +0 -1
  541. package/dist/components/p-C-NHtu_d.js.map +0 -1
  542. package/dist/components/p-C25OmrD6.js +0 -88
  543. package/dist/components/p-C25OmrD6.js.map +0 -1
  544. package/dist/components/p-C4QDSG_D.js +0 -44
  545. package/dist/components/p-C4QDSG_D.js.map +0 -1
  546. package/dist/components/p-COHr9dCI.js +0 -84
  547. package/dist/components/p-COHr9dCI.js.map +0 -1
  548. package/dist/components/p-DWDOlfFM.js +0 -63
  549. package/dist/components/p-DWDOlfFM.js.map +0 -1
  550. package/dist/components/p-DmsV595e.js.map +0 -1
  551. package/dist/components/p-DpF1OjCe.js.map +0 -1
  552. package/dist/components/p-DqqO4T0y.js.map +0 -1
  553. package/dist/components/p-Dr4C7GlH.js.map +0 -1
  554. package/dist/components/p-IcDkT207.js.map +0 -1
  555. package/dist/components/p-Z1wZ6-IT.js.map +0 -1
  556. package/dist/components/p-kbW0me2Y.js.map +0 -1
  557. package/dist/esm/Icons-7LXbcjVz.js.map +0 -1
  558. package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +0 -1
  559. package/dist/esm-es5/Datastore-DmsV595e.js +0 -2
  560. package/dist/esm-es5/Icons-7LXbcjVz.js.map +0 -1
  561. package/dist/esm-es5/utils-NHDsmnv8.js +0 -2
  562. package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +0 -1
  563. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +0 -2
  564. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js.map +0 -1
  565. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +0 -2
  566. package/dist/esm-es5/verdocs-field-attachment_13.entry.js.map +0 -1
  567. package/dist/verdocs-web-sdk/p-0709e936.system.entry.js +0 -4
  568. package/dist/verdocs-web-sdk/p-0709e936.system.entry.js.map +0 -1
  569. package/dist/verdocs-web-sdk/p-0b57c1ef.system.entry.js +0 -8
  570. package/dist/verdocs-web-sdk/p-0b57c1ef.system.entry.js.map +0 -1
  571. package/dist/verdocs-web-sdk/p-0dfacde9.system.entry.js +0 -2
  572. package/dist/verdocs-web-sdk/p-0dfacde9.system.entry.js.map +0 -1
  573. package/dist/verdocs-web-sdk/p-2adc75a7.system.entry.js.map +0 -1
  574. package/dist/verdocs-web-sdk/p-303ed47f.entry.js +0 -3
  575. package/dist/verdocs-web-sdk/p-303ed47f.entry.js.map +0 -1
  576. package/dist/verdocs-web-sdk/p-3255c6d0.system.entry.js +0 -2
  577. package/dist/verdocs-web-sdk/p-36efc89a.system.entry.js +0 -2
  578. package/dist/verdocs-web-sdk/p-36efc89a.system.entry.js.map +0 -1
  579. package/dist/verdocs-web-sdk/p-3c45dd79.entry.js +0 -2
  580. package/dist/verdocs-web-sdk/p-3c45dd79.entry.js.map +0 -1
  581. package/dist/verdocs-web-sdk/p-7LXbcjVz.js.map +0 -1
  582. package/dist/verdocs-web-sdk/p-828eaae7.entry.js +0 -2
  583. package/dist/verdocs-web-sdk/p-8546c8db.entry.js +0 -2
  584. package/dist/verdocs-web-sdk/p-8ad09d97.system.entry.js +0 -2
  585. package/dist/verdocs-web-sdk/p-8ad09d97.system.entry.js.map +0 -1
  586. package/dist/verdocs-web-sdk/p-94e4d921.system.entry.js.map +0 -1
  587. package/dist/verdocs-web-sdk/p-B0A6MSE_.system.js.map +0 -1
  588. package/dist/verdocs-web-sdk/p-BU5y2rcs.system.js +0 -2
  589. package/dist/verdocs-web-sdk/p-BcrrIlhF.system.js.map +0 -1
  590. package/dist/verdocs-web-sdk/p-C9hmmFhm.system.js.map +0 -1
  591. package/dist/verdocs-web-sdk/p-Cb4o7DUm.system.js.map +0 -1
  592. package/dist/verdocs-web-sdk/p-CmnBGerV.system.js +0 -2
  593. package/dist/verdocs-web-sdk/p-CyjSP4tG.system.js.map +0 -1
  594. package/dist/verdocs-web-sdk/p-D6LDtPHj.system.js.map +0 -1
  595. package/dist/verdocs-web-sdk/p-DA_SuBaQ.system.js.map +0 -1
  596. package/dist/verdocs-web-sdk/p-DZW111-z.system.js.map +0 -1
  597. package/dist/verdocs-web-sdk/p-aa39fd5b.system.entry.js +0 -2
  598. package/dist/verdocs-web-sdk/p-acc245e6.entry.js +0 -8
  599. package/dist/verdocs-web-sdk/p-acc245e6.entry.js.map +0 -1
  600. package/dist/verdocs-web-sdk/p-c676d027.entry.js +0 -2
  601. package/dist/verdocs-web-sdk/p-c676d027.entry.js.map +0 -1
  602. package/dist/verdocs-web-sdk/p-c6e9d6fa.entry.js +0 -2
  603. package/dist/verdocs-web-sdk/p-c6e9d6fa.entry.js.map +0 -1
  604. package/dist/verdocs-web-sdk/p-dc1eaf38.entry.js +0 -2
  605. package/dist/verdocs-web-sdk/p-dc1eaf38.entry.js.map +0 -1
  606. package/dist/verdocs-web-sdk/p-fef8b6b5.system.entry.js +0 -2
  607. package/dist/verdocs-web-sdk/p-fef8b6b5.system.entry.js.map +0 -1
  608. package/dist/verdocs-web-sdk/p-gCoMHihf.system.js.map +0 -1
  609. package/dist/verdocs-web-sdk/p-nK4J4UFK.js +0 -2
  610. package/dist/verdocs-web-sdk/p-qAU-PJPJ.system.js.map +0 -1
  611. package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-signing-progress.verdocs-view.entry.esm.js.map +0 -1
  612. /package/dist/verdocs-web-sdk/{p-9a7a9d7b.system.entry.js.map → p-07205ca9.system.entry.js.map} +0 -0
  613. /package/dist/verdocs-web-sdk/{p-c726e0d7.entry.js.map → p-0f20c685.entry.js.map} +0 -0
  614. /package/dist/verdocs-web-sdk/{p-0596c4db.entry.js.map → p-1aaa0981.entry.js.map} +0 -0
  615. /package/dist/verdocs-web-sdk/{p-7e580691.entry.js.map → p-1aad4dc6.entry.js.map} +0 -0
  616. /package/dist/verdocs-web-sdk/{p-489534aa.entry.js.map → p-20456951.entry.js.map} +0 -0
  617. /package/dist/verdocs-web-sdk/{p-632431e9.entry.js.map → p-20fb3050.entry.js.map} +0 -0
  618. /package/dist/verdocs-web-sdk/{p-0244f789.entry.js.map → p-2948f7cd.entry.js.map} +0 -0
  619. /package/dist/verdocs-web-sdk/{p-d06e0bce.entry.js.map → p-29822673.entry.js.map} +0 -0
  620. /package/dist/verdocs-web-sdk/{p-148dd66c.entry.js.map → p-2f88c31f.entry.js.map} +0 -0
  621. /package/dist/verdocs-web-sdk/{p-fb1f1d76.system.entry.js.map → p-36da59e7.system.entry.js.map} +0 -0
  622. /package/dist/verdocs-web-sdk/{p-84c0b47c.system.entry.js.map → p-3b248d05.system.entry.js.map} +0 -0
  623. /package/dist/verdocs-web-sdk/{p-e6015dfb.system.entry.js.map → p-5a3f7160.system.entry.js.map} +0 -0
  624. /package/dist/verdocs-web-sdk/{p-ec6f161e.system.entry.js.map → p-5cb2ce47.system.entry.js.map} +0 -0
  625. /package/dist/verdocs-web-sdk/{p-685f42ba.system.entry.js.map → p-67e2c85f.system.entry.js.map} +0 -0
  626. /package/dist/verdocs-web-sdk/{p-8fc90e38.entry.js.map → p-8beed8b8.entry.js.map} +0 -0
  627. /package/dist/verdocs-web-sdk/{p-244b7719.entry.js.map → p-a99b5b5a.entry.js.map} +0 -0
  628. /package/dist/verdocs-web-sdk/{p-c997753e.system.entry.js.map → p-aa9d335d.system.entry.js.map} +0 -0
  629. /package/dist/verdocs-web-sdk/{p-5d9229fa.entry.js.map → p-b3a31d74.entry.js.map} +0 -0
  630. /package/dist/verdocs-web-sdk/{p-2f222ff9.entry.js.map → p-b4f520a6.entry.js.map} +0 -0
  631. /package/dist/verdocs-web-sdk/{p-daf326e4.system.entry.js.map → p-b589a13f.system.entry.js.map} +0 -0
  632. /package/dist/verdocs-web-sdk/{p-d71a77b4.system.entry.js.map → p-b67d0434.system.entry.js.map} +0 -0
  633. /package/dist/verdocs-web-sdk/{p-a4b44720.system.entry.js.map → p-b7f6434d.system.entry.js.map} +0 -0
  634. /package/dist/verdocs-web-sdk/{p-6093e7f5.entry.js.map → p-b87098c9.entry.js.map} +0 -0
  635. /package/dist/verdocs-web-sdk/{p-ff26d6ca.system.entry.js.map → p-bb2c8e5b.system.entry.js.map} +0 -0
  636. /package/dist/verdocs-web-sdk/{p-ba66ef0e.system.entry.js.map → p-c3bb84d8.system.entry.js.map} +0 -0
  637. /package/dist/verdocs-web-sdk/{p-a3ed7e19.entry.js.map → p-d478a7ca.entry.js.map} +0 -0
  638. /package/dist/verdocs-web-sdk/{p-0c567c7d.entry.js.map → p-dbcab6a2.entry.js.map} +0 -0
  639. /package/dist/verdocs-web-sdk/{p-0472a40b.system.entry.js.map → p-de973f2d.system.entry.js.map} +0 -0
  640. /package/dist/verdocs-web-sdk/{p-7816a3e8.system.entry.js.map → p-e96569f6.system.entry.js.map} +0 -0
  641. /package/dist/verdocs-web-sdk/{p-05a1750b.entry.js.map → p-f9fc9ab8.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-BwDu3hdM.system.js","sources":["src/components/fields/verdocs-field-attachment/verdocs-field-attachment.scss?tag=verdocs-field-attachment","src/components/fields/verdocs-field-attachment/verdocs-field-attachment.tsx","src/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.scss?tag=verdocs-field-checkbox","src/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.tsx","src/components/fields/verdocs-field-date/verdocs-field-date.scss?tag=verdocs-field-date","src/components/fields/verdocs-field-date/verdocs-field-date.tsx","src/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.scss?tag=verdocs-field-dropdown","src/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.tsx","src/components/fields/verdocs-field-initial/verdocs-field-initial.scss?tag=verdocs-field-initial","src/components/fields/verdocs-field-initial/verdocs-field-initial.tsx","src/components/fields/verdocs-field-radio/verdocs-field-radio.scss?tag=verdocs-field-radio","src/components/fields/verdocs-field-radio/verdocs-field-radio.tsx","src/components/fields/verdocs-field-signature/verdocs-field-signature.scss?tag=verdocs-field-signature","src/components/fields/verdocs-field-signature/verdocs-field-signature.tsx","src/components/fields/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/fields/verdocs-field-textarea/verdocs-field-textarea.tsx","src/components/fields/verdocs-field-textbox/verdocs-field-textbox.scss?tag=verdocs-field-textbox","src/components/fields/verdocs-field-textbox/verdocs-field-textbox.tsx","src/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.scss?tag=verdocs-field-timestamp","src/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.tsx","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.scss?tag=verdocs-upload-dialog","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-attachment {\n font-family: $verdocs-primary-font;\n box-sizing: border-box;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n &.disabled svg {\n opacity: 0.5;\n\n span {\n cursor: inherit;\n }\n }\n\n .attach {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--verdocs-field-radius);\n }\n\n &.required {\n .attach {\n border: 1px solid var(--verdocs-required-field-border);\n }\n }\n\n verdocs-button-panel {\n top: 1px;\n left: -19px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, State, Fragment, Element} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\nexport interface ISelectedFile {\n lastModified: number;\n size: number;\n type: string;\n name: string;\n data: string;\n}\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"var(--verdocs-field-text-color, currentColor)\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\nconst AttachedIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--verdocs-attachment-icon-color, #339933)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file-check\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"/><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"/><path d=\"m9 15 2 2 4-4\"/></svg>`;\n\n/**\n * Displays an attachment field.\n */\n@Component({\n tag: 'verdocs-field-attachment',\n styleUrl: 'verdocs-field-attachment.scss',\n shadow: false,\n})\nexport class VerdocsFieldAttachment {\n @Element() el: HTMLElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when a file is attached by the signer.\n */\n @Event({composed: true}) attached: EventEmitter<ISelectedFile>;\n\n /**\n * Event fired when the field is deleted. Note that this is for the FIELD (e.g. in\n * Build) not for any attachments (during signing).\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() dialogOpen?: boolean = false;\n @State() selectedFile?: ISelectedFile | null = null;\n @State() focused = false;\n\n @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n this.dialogOpen = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n handleShow() {\n this.dialogOpen = true;\n }\n\n handleUploadNext = (e: any) => {\n console.log('Upload next', e);\n this.dialogOpen = false;\n this.selectedFile = e.detail[0];\n this.attached?.emit(e.detail[0]);\n };\n\n handleUploadRemove = (e: any) => {\n e.preventDefault();\n e.stopPropagation();\n this.dialogOpen = false;\n this.selectedFile = null;\n this.deleted?.emit({fieldName: this.fieldname});\n };\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', readonly = false, settings = {}} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n const hasFile = value || !!this.selectedFile;\n\n if (done) {\n return (\n <Host class={{done}}>\n <div class=\"attach\" innerHTML={hasFile ? AttachedIcon : PaperclipIcon} />\n </Host>\n );\n }\n\n return (\n <Host class={{required, disabled, done, focused, [signerClass]: true}}>\n {label && <label>{label}</label>}\n\n <div class=\"attach\" innerHTML={hasFile ? AttachedIcon : PaperclipIcon} onClick={() => !disabled && !readonly && this.handleShow()} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Attachments allow the user to attach their own documents (e.g. resumes or disclosures) to a signing flow.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n\n {this.dialogOpen && (\n <verdocs-portal>\n <verdocs-upload-dialog\n existingFile={settings}\n onNext={e => this.handleUploadNext(e)}\n onRemove={e => this.handleUploadRemove(e)}\n onExit={() => (this.dialogOpen = false)}\n />\n </verdocs-portal>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\n// See https://www.kallmanation.com/styling-a-checkbox-with-only-css\nverdocs-field-checkbox {\n padding: 0;\n width: 16px;\n height: 16px;\n display: block;\n scroll-margin: 20px 0;\n box-sizing: border-box;\n transform-origin: bottom left;\n font-family: $verdocs-primary-font;\n\n // To avoid conflicting with the use of a label for the checkbox itself\n div.label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n label {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 14px;\n height: 14px;\n display: block;\n box-sizing: border-box;\n }\n\n &.disabled label {\n opacity: 0.5;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n label > input[type='checkbox'] {\n display: none;\n }\n\n label > input[type='checkbox'] + *::before {\n margin: 0;\n content: '';\n width: 12px;\n height: 12px;\n display: block;\n line-height: 12px;\n border-radius: var(--verdocs-field-radius);\n box-sizing: border-box;\n border: 1px solid $verdocs-grey-2;\n }\n\n label > input[type='checkbox']:checked + * {\n color: $verdocs-green;\n }\n\n label > input[type='checkbox']:checked + *::before {\n content: '✓';\n color: white;\n font-size: 12px;\n text-align: center;\n background: $verdocs-green;\n border-color: $verdocs-green;\n }\n\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n display: block;\n margin-left: -20px;\n margin-top: -17px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -5px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, Fragment, h, Host, Method, Prop, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a checkbox.\n */\n@Component({\n tag: 'verdocs-field-checkbox',\n styleUrl: 'verdocs-field-checkbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldCheckbox {\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method()\n async focusField() {\n // We don't have a visible input that we can actually focus on, so we fake it\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, label = '', value = false, readonly = false} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n const checked = value === 'true';\n\n if (done) {\n return <Host class={{done}}>{checked ? '✓' : '☐'}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused, [signerClass]: true}}>\n {label && <div class=\"label\">{label}</div>}\n\n <label htmlFor={fieldname}>\n <input id={fieldname} name={fieldname} type=\"checkbox\" checked={checked} disabled={readonly || disabled} required={required} />\n <span />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={field.name}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Check boxes allow the user to select one or more (non-exclusive) options.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </label>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-date {\n font-family: $verdocs-primary-font;\n width: 74px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n letter-spacing: 0.3px;\n background-color: var(--verdocs-field-background, transparent);\n transform-origin: bottom left;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n label {\n top: -14px;\n left: 0;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n input {\n position: absolute;\n\n font-size: 12px;\n\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n box-sizing: border-box;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n border: var(--verdocs-field-border, 1px solid $light-border-color);\n border-radius: var(--verdocs-field-radius);\n appearance: none;\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled input {\n opacity: 0.5;\n }\n\n &.required {\n input {\n border: 1px solid var(--verdocs-required-field-border);\n }\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -18px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n.air-datepicker-cell.-year-.-other-decade-,\n.air-datepicker-cell.-day-.-other-month- {\n color: var(--adp-color-other-month);\n}\n\n.air-datepicker-cell.-year-.-other-decade-:hover,\n.air-datepicker-cell.-day-.-other-month-:hover {\n color: var(--adp-color-other-month-hover);\n}\n\n.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-,\n.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month- {\n color: var(--adp-color-other-month);\n}\n\n.-selected-.air-datepicker-cell.-year-.-other-decade-,\n.-selected-.air-datepicker-cell.-day-.-other-month- {\n color: #fff;\n background: var(--adp-background-color-selected-other-month);\n}\n\n.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-,\n.-selected-.-focus-.air-datepicker-cell.-day-.-other-month- {\n background: var(--adp-background-color-selected-other-month-focused);\n}\n\n.-in-range-.air-datepicker-cell.-year-.-other-decade-,\n.-in-range-.air-datepicker-cell.-day-.-other-month- {\n background-color: var(--adp-background-color-in-range);\n color: var(--adp-color);\n}\n\n.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-,\n.-in-range-.-focus-.air-datepicker-cell.-day-.-other-month- {\n background-color: var(--adp-background-color-in-range-focused);\n}\n\n.air-datepicker-cell.-year-.-other-decade-:empty,\n.air-datepicker-cell.-day-.-other-month-:empty {\n background: none;\n border: none;\n}\n\n.air-datepicker-cell {\n border-radius: var(--adp-cell-border-radius);\n box-sizing: border-box;\n cursor: pointer;\n display: flex;\n position: relative;\n align-items: center;\n justify-content: center;\n z-index: 1;\n}\n\n.air-datepicker-cell.-focus- {\n background: var(--adp-cell-background-color-hover);\n}\n\n.air-datepicker-cell.-current- {\n color: var(--adp-color-current-date);\n}\n\n.air-datepicker-cell.-current-.-focus- {\n color: var(--adp-color);\n}\n\n.air-datepicker-cell.-current-.-in-range- {\n color: var(--adp-color-current-date);\n}\n\n.air-datepicker-cell.-disabled- {\n cursor: default;\n color: var(--adp-color-disabled);\n}\n\n.air-datepicker-cell.-disabled-.-focus- {\n color: var(--adp-color-disabled);\n}\n\n.air-datepicker-cell.-disabled-.-in-range- {\n color: var(--adp-color-disabled-in-range);\n}\n\n.air-datepicker-cell.-disabled-.-current-.-focus- {\n color: var(--adp-color-disabled);\n}\n\n.air-datepicker-cell.-in-range- {\n background: var(--adp-cell-background-color-in-range);\n border-radius: 0;\n}\n\n.air-datepicker-cell.-in-range-:hover {\n background: var(--adp-cell-background-color-in-range-hover);\n}\n\n.air-datepicker-cell.-range-from- {\n border: 1px solid var(--adp-cell-border-color-in-range);\n background-color: var(--adp-cell-background-color-in-range);\n border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius);\n}\n\n.air-datepicker-cell.-range-to- {\n border: 1px solid var(--adp-cell-border-color-in-range);\n background-color: var(--adp-cell-background-color-in-range);\n border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0;\n}\n\n.air-datepicker-cell.-range-to-.-range-from- {\n border-radius: var(--adp-cell-border-radius);\n}\n\n.air-datepicker-cell.-selected- {\n color: #fff;\n border: none;\n background: var(--adp-cell-background-color-selected);\n}\n\n.air-datepicker-cell.-selected-.-current- {\n color: #fff;\n background: var(--adp-cell-background-color-selected);\n}\n\n.air-datepicker-cell.-selected-.-focus- {\n background: var(--adp-cell-background-color-selected-hover);\n}\n\n.air-datepicker-body {\n transition: all var(--adp-transition-duration) var(--adp-transition-ease);\n}\n\n.air-datepicker-body.-hidden- {\n display: none;\n}\n\n.air-datepicker-body--day-names {\n display: grid;\n grid-template-columns: repeat(7, var(--adp-day-cell-width));\n margin: 8px 0 3px;\n}\n\n.air-datepicker-body--day-name {\n color: var(--adp-day-name-color);\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n text-align: center;\n text-transform: uppercase;\n font-size: 0.8em;\n}\n\n.air-datepicker-body--day-name.-clickable- {\n cursor: pointer;\n}\n\n.air-datepicker-body--day-name.-clickable-:hover {\n color: var(--adp-day-name-color-hover);\n}\n\n.air-datepicker-body--cells {\n display: grid;\n}\n\n.air-datepicker-body--cells.-days- {\n grid-template-columns: repeat(7, var(--adp-day-cell-width));\n grid-auto-rows: var(--adp-day-cell-height);\n}\n\n.air-datepicker-body--cells.-months- {\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: var(--adp-month-cell-height);\n}\n\n.air-datepicker-body--cells.-years- {\n grid-template-columns: repeat(4, 1fr);\n grid-auto-rows: var(--adp-year-cell-height);\n}\n\n.air-datepicker-nav {\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid var(--adp-border-color-inner);\n min-height: var(--adp-nav-height);\n padding: var(--adp-padding);\n box-sizing: content-box;\n}\n\n.-only-timepicker- .air-datepicker-nav {\n display: none;\n}\n\n.air-datepicker-nav--title,\n.air-datepicker-nav--action {\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n}\n\n.air-datepicker-nav--action {\n width: var(--adp-nav-action-size);\n border-radius: var(--adp-border-radius);\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.air-datepicker-nav--action:hover {\n background: var(--adp-background-color-hover);\n}\n\n.air-datepicker-nav--action:active {\n background: var(--adp-background-color-active);\n}\n\n.air-datepicker-nav--action.-disabled- {\n visibility: hidden;\n}\n\n.air-datepicker-nav--action svg {\n width: 32px;\n height: 32px;\n}\n\n.air-datepicker-nav--action path {\n fill: none;\n stroke: var(--adp-nav-arrow-color);\n stroke-width: 2px;\n}\n\n.air-datepicker-nav--title {\n border-radius: var(--adp-border-radius);\n padding: 0 8px;\n}\n\n.air-datepicker-nav--title i {\n font-style: normal;\n color: var(--adp-nav-color-secondary);\n margin-left: 0.3em;\n}\n\n.air-datepicker-nav--title:hover {\n background: var(--adp-background-color-hover);\n}\n\n.air-datepicker-nav--title:active {\n background: var(--adp-background-color-active);\n}\n\n.air-datepicker-nav--title.-disabled- {\n cursor: default;\n background: none;\n}\n\n.air-datepicker-buttons {\n display: grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n}\n\n.air-datepicker-button {\n display: inline-flex;\n color: var(--adp-btn-color);\n border-radius: var(--adp-btn-border-radius);\n cursor: pointer;\n height: var(--adp-btn-height);\n border: none;\n background: rgba(255, 255, 255, 0);\n}\n\n.air-datepicker-button:hover {\n color: var(--adp-btn-color-hover);\n background: var(--adp-btn-background-color-hover);\n}\n\n.air-datepicker-button:focus {\n color: var(--adp-btn-color-hover);\n background: var(--adp-btn-background-color-hover);\n outline: none;\n}\n\n.air-datepicker-button:active {\n background: var(--adp-btn-background-color-active);\n}\n\n.air-datepicker-button span {\n outline: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.air-datepicker-time {\n display: grid;\n grid-template-columns: max-content 1fr;\n grid-column-gap: 12px;\n align-items: center;\n position: relative;\n padding: 0 var(--adp-time-padding-inner);\n}\n\n.-only-timepicker- .air-datepicker-time {\n border-top: none;\n}\n\n.air-datepicker-time--current {\n display: flex;\n align-items: center;\n flex: 1;\n font-size: 14px;\n text-align: center;\n}\n\n.air-datepicker-time--current-colon {\n margin: 0 2px 3px;\n line-height: 1;\n}\n\n.air-datepicker-time--current-hours,\n.air-datepicker-time--current-minutes {\n line-height: 1;\n font-size: 19px;\n font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif;\n position: relative;\n z-index: 1;\n}\n\n.air-datepicker-time--current-hours:after,\n.air-datepicker-time--current-minutes:after {\n content: '';\n background: var(--adp-background-color-hover);\n border-radius: var(--adp-border-radius);\n position: absolute;\n left: -2px;\n top: -3px;\n right: -2px;\n bottom: -2px;\n z-index: -1;\n opacity: 0;\n}\n\n.air-datepicker-time--current-hours.-focus-:after,\n.air-datepicker-time--current-minutes.-focus-:after {\n opacity: 1;\n}\n\n.air-datepicker-time--current-ampm {\n text-transform: uppercase;\n align-self: flex-end;\n color: var(--adp-time-day-period-color);\n margin-left: 6px;\n font-size: 11px;\n margin-bottom: 1px;\n}\n\n.air-datepicker-time--row {\n display: flex;\n align-items: center;\n font-size: 11px;\n height: 17px;\n background: linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat;\n}\n\n.air-datepicker-time--row:first-child {\n margin-bottom: 4px;\n}\n\n.air-datepicker-time--row input[type='range'] {\n background: none;\n cursor: pointer;\n flex: 1;\n height: 100%;\n width: 100%;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n}\n\n.air-datepicker-time--row input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n}\n\n.air-datepicker-time--row input[type='range']::-ms-tooltip {\n display: none;\n}\n\n.air-datepicker-time--row input[type='range']:hover::-webkit-slider-thumb {\n border-color: var(--adp-time-track-color-hover);\n}\n\n.air-datepicker-time--row input[type='range']:hover::-moz-range-thumb {\n border-color: var(--adp-time-track-color-hover);\n}\n\n.air-datepicker-time--row input[type='range']:hover::-ms-thumb {\n border-color: var(--adp-time-track-color-hover);\n}\n\n.air-datepicker-time--row input[type='range']:focus {\n outline: none;\n}\n\n.air-datepicker-time--row input[type='range']:focus::-webkit-slider-thumb {\n background: var(--adp-cell-background-color-selected);\n border-color: var(--adp-cell-background-color-selected);\n}\n\n.air-datepicker-time--row input[type='range']:focus::-moz-range-thumb {\n background: var(--adp-cell-background-color-selected);\n border-color: var(--adp-cell-background-color-selected);\n}\n\n.air-datepicker-time--row input[type='range']:focus::-ms-thumb {\n background: var(--adp-cell-background-color-selected);\n border-color: var(--adp-cell-background-color-selected);\n}\n\n.air-datepicker-time--row input[type='range']::-webkit-slider-thumb {\n box-sizing: border-box;\n height: 12px;\n width: 12px;\n border-radius: 3px;\n border: 1px solid var(--adp-time-track-color);\n background: #fff;\n cursor: pointer;\n -webkit-transition: background var(--adp-transition-duration);\n transition: background var(--adp-transition-duration);\n}\n\n.air-datepicker-time--row input[type='range']::-moz-range-thumb {\n box-sizing: border-box;\n height: 12px;\n width: 12px;\n border-radius: 3px;\n border: 1px solid var(--adp-time-track-color);\n background: #fff;\n cursor: pointer;\n -moz-transition: background var(--adp-transition-duration);\n transition: background var(--adp-transition-duration);\n}\n\n.air-datepicker-time--row input[type='range']::-ms-thumb {\n box-sizing: border-box;\n height: 12px;\n width: 12px;\n border-radius: 3px;\n border: 1px solid var(--adp-time-track-color);\n background: #fff;\n cursor: pointer;\n -ms-transition: background var(--adp-transition-duration);\n transition: background var(--adp-transition-duration);\n}\n\n.air-datepicker-time--row input[type='range']::-webkit-slider-thumb {\n margin-top: calc(var(--adp-time-thumb-size) / 2 * -1);\n}\n\n.air-datepicker-time--row input[type='range']::-webkit-slider-runnable-track {\n border: none;\n height: var(--adp-time-track-height);\n cursor: pointer;\n color: rgba(0, 0, 0, 0);\n background: rgba(0, 0, 0, 0);\n}\n\n.air-datepicker-time--row input[type='range']::-moz-range-track {\n border: none;\n height: var(--adp-time-track-height);\n cursor: pointer;\n color: rgba(0, 0, 0, 0);\n background: rgba(0, 0, 0, 0);\n}\n\n.air-datepicker-time--row input[type='range']::-ms-track {\n border: none;\n height: var(--adp-time-track-height);\n cursor: pointer;\n color: rgba(0, 0, 0, 0);\n background: rgba(0, 0, 0, 0);\n}\n\n.air-datepicker-time--row input[type='range']::-ms-fill-lower {\n background: rgba(0, 0, 0, 0);\n}\n\n.air-datepicker-time--row input[type='range']::-ms-fill-upper {\n background: rgba(0, 0, 0, 0);\n}\n\n.air-datepicker {\n --adp-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n --adp-font-size: 14px;\n --adp-width: 246px;\n --adp-z-index: 100;\n --adp-padding: 4px;\n --adp-grid-areas: 'nav' 'body' 'timepicker' 'buttons';\n --adp-transition-duration: 0.3s;\n --adp-transition-ease: ease-out;\n --adp-transition-offset: 8px;\n --adp-background-color: #fff;\n --adp-background-color-hover: #f0f0f0;\n --adp-background-color-active: #eaeaea;\n --adp-background-color-in-range: rgba(92, 196, 239, 0.1);\n --adp-background-color-in-range-focused: rgba(92, 196, 239, 0.2);\n --adp-background-color-selected-other-month-focused: #8ad5f4;\n --adp-background-color-selected-other-month: #a2ddf6;\n --adp-color: #4a4a4a;\n --adp-color-secondary: #9c9c9c;\n --adp-accent-color: #4eb5e6;\n --adp-color-current-date: var(--adp-accent-color);\n --adp-color-other-month: #dedede;\n --adp-color-disabled: #aeaeae;\n --adp-color-disabled-in-range: #939393;\n --adp-color-other-month-hover: #c5c5c5;\n --adp-border-color: #dbdbdb;\n --adp-border-color-inner: #efefef;\n --adp-border-radius: 4px;\n --adp-border-color-inline: #d7d7d7;\n --adp-nav-height: 32px;\n --adp-nav-arrow-color: var(--adp-color-secondary);\n --adp-nav-action-size: 32px;\n --adp-nav-color-secondary: var(--adp-color-secondary);\n --adp-day-name-color: #ff9a19;\n --adp-day-name-color-hover: #8ad5f4;\n --adp-day-cell-width: 1fr;\n --adp-day-cell-height: 32px;\n --adp-month-cell-height: 42px;\n --adp-year-cell-height: 56px;\n --adp-pointer-size: 10px;\n --adp-poiner-border-radius: 2px;\n --adp-pointer-offset: 14px;\n --adp-cell-border-radius: 4px;\n --adp-cell-background-color-hover: var(--adp-background-color-hover);\n --adp-cell-background-color-selected: #5cc4ef;\n --adp-cell-background-color-selected-hover: #45bced;\n --adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1);\n --adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2);\n --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected);\n --adp-btn-height: 32px;\n --adp-btn-color: var(--adp-accent-color);\n --adp-btn-color-hover: var(--adp-color);\n --adp-btn-border-radius: var(--adp-border-radius);\n --adp-btn-background-color-hover: var(--adp-background-color-hover);\n --adp-btn-background-color-active: var(--adp-background-color-active);\n --adp-time-track-height: 1px;\n --adp-time-track-color: #dedede;\n --adp-time-track-color-hover: #b1b1b1;\n --adp-time-thumb-size: 12px;\n --adp-time-padding-inner: 10px;\n --adp-time-day-period-color: var(--adp-color-secondary);\n --adp-mobile-font-size: 16px;\n --adp-mobile-nav-height: 40px;\n --adp-mobile-width: 320px;\n --adp-mobile-day-cell-height: 38px;\n --adp-mobile-month-cell-height: 48px;\n --adp-mobile-year-cell-height: 64px;\n}\n\n.air-datepicker-overlay {\n --adp-overlay-background-color: rgba(0, 0, 0, 0.3);\n --adp-overlay-transition-duration: 0.3s;\n --adp-overlay-transition-ease: ease-out;\n --adp-overlay-z-index: 99;\n}\n\n.air-datepicker {\n background: var(--adp-background-color);\n border: 1px solid var(--adp-border-color);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n border-radius: var(--adp-border-radius);\n box-sizing: content-box;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(4, max-content);\n grid-template-areas: var(--adp-grid-areas);\n font-family: var(--adp-font-family), sans-serif;\n font-size: var(--adp-font-size);\n color: var(--adp-color);\n width: var(--adp-width);\n position: absolute;\n transition:\n opacity var(--adp-transition-duration) var(--adp-transition-ease),\n transform var(--adp-transition-duration) var(--adp-transition-ease);\n z-index: var(--adp-z-index);\n}\n\n.air-datepicker:not(.-custom-position-) {\n opacity: 0;\n}\n\n.air-datepicker.-from-top- {\n transform: translateY(calc(var(--adp-transition-offset) * -1));\n}\n\n.air-datepicker.-from-right- {\n transform: translateX(var(--adp-transition-offset));\n}\n\n.air-datepicker.-from-bottom- {\n transform: translateY(var(--adp-transition-offset));\n}\n\n.air-datepicker.-from-left- {\n transform: translateX(calc(var(--adp-transition-offset) * -1));\n}\n\n.air-datepicker.-active-:not(.-custom-position-) {\n transform: translate(0, 0);\n opacity: 1;\n}\n\n.air-datepicker.-active-.-custom-position- {\n transition: none;\n}\n\n.air-datepicker.-inline- {\n border-color: var(--adp-border-color-inline);\n box-shadow: none;\n position: static;\n left: auto;\n right: auto;\n opacity: 1;\n transform: none;\n}\n\n.air-datepicker.-inline- .air-datepicker--pointer {\n display: none;\n}\n\n.air-datepicker.-is-mobile- {\n --adp-font-size: var(--adp-mobile-font-size);\n --adp-day-cell-height: var(--adp-mobile-day-cell-height);\n --adp-month-cell-height: var(--adp-mobile-month-cell-height);\n --adp-year-cell-height: var(--adp-mobile-year-cell-height);\n --adp-nav-height: var(--adp-mobile-nav-height);\n --adp-nav-action-size: var(--adp-mobile-nav-height);\n position: fixed;\n width: var(--adp-mobile-width);\n border: none;\n}\n\n.air-datepicker.-is-mobile- * {\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.air-datepicker.-is-mobile- .air-datepicker--pointer {\n display: none;\n}\n\n.air-datepicker.-is-mobile-:not(.-custom-position-) {\n transform: translate(-50%, calc(-50% + var(--adp-transition-offset)));\n}\n\n.air-datepicker.-is-mobile-.-active-:not(.-custom-position-) {\n transform: translate(-50%, -50%);\n}\n\n.air-datepicker.-custom-position- {\n transition: none;\n}\n\n.air-datepicker-global-container {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.air-datepicker--pointer {\n --pointer-half-size: calc(var(--adp-pointer-size) / 2);\n position: absolute;\n width: var(--adp-pointer-size);\n height: var(--adp-pointer-size);\n z-index: -1;\n}\n\n.air-datepicker--pointer:after {\n content: '';\n position: absolute;\n background: #fff;\n border-top: 1px solid var(--adp-border-color-inline);\n border-right: 1px solid var(--adp-border-color-inline);\n border-top-right-radius: var(--adp-poiner-border-radius);\n width: var(--adp-pointer-size);\n height: var(--adp-pointer-size);\n box-sizing: border-box;\n}\n\n.-top-left- .air-datepicker--pointer,\n.-top-center- .air-datepicker--pointer,\n.-top-right- .air-datepicker--pointer,\n[data-popper-placement^='top'] .air-datepicker--pointer {\n top: calc(100% - var(--pointer-half-size) + 1px);\n}\n\n.-top-left- .air-datepicker--pointer:after,\n.-top-center- .air-datepicker--pointer:after,\n.-top-right- .air-datepicker--pointer:after,\n[data-popper-placement^='top'] .air-datepicker--pointer:after {\n transform: rotate(135deg);\n}\n\n.-right-top- .air-datepicker--pointer,\n.-right-center- .air-datepicker--pointer,\n.-right-bottom- .air-datepicker--pointer,\n[data-popper-placement^='right'] .air-datepicker--pointer {\n right: calc(100% - var(--pointer-half-size) + 1px);\n}\n\n.-right-top- .air-datepicker--pointer:after,\n.-right-center- .air-datepicker--pointer:after,\n.-right-bottom- .air-datepicker--pointer:after,\n[data-popper-placement^='right'] .air-datepicker--pointer:after {\n transform: rotate(225deg);\n}\n\n.-bottom-left- .air-datepicker--pointer,\n.-bottom-center- .air-datepicker--pointer,\n.-bottom-right- .air-datepicker--pointer,\n[data-popper-placement^='bottom'] .air-datepicker--pointer {\n bottom: calc(100% - var(--pointer-half-size) + 1px);\n}\n\n.-bottom-left- .air-datepicker--pointer:after,\n.-bottom-center- .air-datepicker--pointer:after,\n.-bottom-right- .air-datepicker--pointer:after,\n[data-popper-placement^='bottom'] .air-datepicker--pointer:after {\n transform: rotate(315deg);\n}\n\n.-left-top- .air-datepicker--pointer,\n.-left-center- .air-datepicker--pointer,\n.-left-bottom- .air-datepicker--pointer,\n[data-popper-placement^='left'] .air-datepicker--pointer {\n left: calc(100% - var(--pointer-half-size) + 1px);\n}\n\n.-left-top- .air-datepicker--pointer:after,\n.-left-center- .air-datepicker--pointer:after,\n.-left-bottom- .air-datepicker--pointer:after,\n[data-popper-placement^='left'] .air-datepicker--pointer:after {\n transform: rotate(45deg);\n}\n\n.-top-left- .air-datepicker--pointer,\n.-bottom-left- .air-datepicker--pointer {\n left: var(--adp-pointer-offset);\n}\n\n.-top-right- .air-datepicker--pointer,\n.-bottom-right- .air-datepicker--pointer {\n right: var(--adp-pointer-offset);\n}\n\n.-top-center- .air-datepicker--pointer,\n.-bottom-center- .air-datepicker--pointer {\n left: calc(50% - var(--adp-pointer-size) / 2);\n}\n\n.-left-top- .air-datepicker--pointer,\n.-right-top- .air-datepicker--pointer {\n top: var(--adp-pointer-offset);\n}\n\n.-left-bottom- .air-datepicker--pointer,\n.-right-bottom- .air-datepicker--pointer {\n bottom: var(--adp-pointer-offset);\n}\n\n.-left-center- .air-datepicker--pointer,\n.-right-center- .air-datepicker--pointer {\n top: calc(50% - var(--adp-pointer-size) / 2);\n}\n\n.air-datepicker--navigation {\n grid-area: nav;\n}\n\n.air-datepicker--content {\n box-sizing: content-box;\n padding: var(--adp-padding);\n grid-area: body;\n}\n\n.-only-timepicker- .air-datepicker--content {\n display: none;\n}\n\n.air-datepicker--time {\n grid-area: timepicker;\n}\n\n.air-datepicker--buttons {\n grid-area: buttons;\n}\n\n.air-datepicker--buttons,\n.air-datepicker--time {\n padding: var(--adp-padding);\n border-top: 1px solid var(--adp-border-color-inner);\n}\n\n.air-datepicker-overlay {\n position: fixed;\n background: var(--adp-overlay-background-color);\n left: 0;\n top: 0;\n width: 0;\n height: 0;\n opacity: 0;\n transition:\n opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),\n left 0s,\n height 0s,\n width 0s;\n transition-delay: 0s, var(--adp-overlay-transition-duration), var(--adp-overlay-transition-duration), var(--adp-overlay-transition-duration);\n z-index: var(--adp-overlay-z-index);\n}\n\n.air-datepicker-overlay.-active- {\n opacity: 1;\n width: 100%;\n height: 100%;\n transition:\n opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),\n height 0s,\n width 0s;\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {format} from 'date-fns';\n// import {getRGBA} from '@verdocs/js-sdk';\nimport AirDatepicker from 'air-datepicker';\nimport localeEn from 'air-datepicker/locale/en';\nimport type {ITemplateField} from '@verdocs/js-sdk';\nimport {Component, Element, Event, EventEmitter, h, Host, Method, Prop, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {FORMAT_DATE} from '../../../utils/Types';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a date field. When tapped or clicked, the input element will display a date picker component.\n */\n@Component({\n tag: 'verdocs-field-date',\n styleUrl: 'verdocs-field-date.scss',\n shadow: false,\n})\nexport class VerdocsFieldDate {\n @Element()\n private hostEl: HTMLInputElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop() field?: ITemplateField;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() containerId = `verdocs-date-picker-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() showingProperties?: boolean = false;\n\n @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n this.picker?.show();\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n picker: AirDatepicker<HTMLElement> | null = null;\n\n componentDidLoad() {\n const {source, sourceid, fieldname} = this;\n const {field} = Store.getField(source, sourceid, fieldname, this.field);\n const {readonly = false} = field || {};\n\n if (!readonly) {\n this.picker = new AirDatepicker<HTMLElement>(`#${this.containerId}`, {\n locale: localeEn,\n isMobile: true,\n autoClose: true,\n onShow: () => (this.focused = true),\n onHide: () => (this.focused = false),\n onSelect: ({date, formattedDate}) => {\n const event = new CustomEvent('fieldChange', {detail: {date, formattedDate}});\n this.hostEl.dispatchEvent(event);\n },\n });\n }\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n @State() focused?: boolean = false;\n\n // NOTE: We don't use a \"date\" field here because browsers vary widely in their formatting of it.\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, placeholder = 'Date...', value = '', label = '', readonly = false} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n const formattedValue = value ? format(new Date(value), FORMAT_DATE) : '';\n\n if (this.done) {\n return <Host class={{done}}>{formattedValue}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused, [signerClass]: true}}>\n {label && <label>{label}</label>}\n\n <input\n name={fieldname}\n class=\"input-el\"\n type=\"text\"\n value={formattedValue}\n id={this.containerId}\n placeholder={placeholder}\n disabled={readonly || disabled}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Date fields allow the user to select a date.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-dropdown {\n font-family: $verdocs-primary-font;\n width: 85px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: var(--verdocs-field-background, transparent);\n transform-origin: bottom left;\n border-radius: var(--verdocs-field-radius);\n\n label {\n top: -14px;\n left: 0;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n select {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n position: absolute;\n background:\n linear-gradient(55deg, transparent 50%, var(--verdocs-field-text-color, #333) 50%), linear-gradient(125deg, var(--verdocs-field-text-color, #333) 50%, transparent 50%),\n linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 6px,\n calc(100% - 3px) 6px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n\n box-sizing: border-box;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n font-size: 11px;\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n border-radius: var(--verdocs-field-radius);\n padding: 0 5px;\n\n &:focus {\n outline: none;\n }\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled select {\n opacity: 0.5;\n }\n\n &.required {\n select {\n border: 1px solid var(--verdocs-required-field-border);\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n display: block;\n margin-left: -33px;\n margin-top: -1px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -2px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a dropdown field that allows the user to choose one of a list of options.\n */\n@Component({\n tag: 'verdocs-field-dropdown',\n styleUrl: 'verdocs-field-dropdown.scss',\n shadow: false,\n})\nexport class VerdocsFieldDropdown {\n selectEl: HTMLSelectElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused = false;\n\n @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n\n const {source, sourceid, fieldname} = this;\n const {field} = Store.getField(source, sourceid, fieldname, this.field);\n const {readonly = false} = field || {};\n\n if (!readonly) {\n this.selectEl?.showPicker();\n }\n }\n\n handleChange(e: any) {\n this.fieldChange.emit(e.target.value);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n let {required = false, value = '', label = '', options, readonly = false} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n // TODO: Consolidate value/defaultValue handling between template and envelope fields.\n if ((field as any)?.value) {\n value = (field as any)?.value;\n }\n\n if (done) {\n return <Host class={{done}}>{value}</Host>;\n }\n\n // TODO: Look for other places this mistaken assumption was made.\n // Defaults only apply in destructuring if undefined. null doesn't trigger it.\n options ||= [];\n\n return (\n <Host class={{required, disabled, done, focused, [signerClass]: true}}>\n {label && <label>{label}</label>}\n\n <select disabled={readonly || disabled} onChange={e => this.handleChange(e)} ref={el => (this.selectEl = el as HTMLSelectElement)}>\n <option value=\"\">Select...</option>\n {options.map(option => (\n <option value={option.id} selected={option.id === value}>\n {option.label}\n </option>\n ))}\n {!options.length && (\n <option value=\"NA\" selected={'NA' === value}>\n N/A\n </option>\n )}\n </select>\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"Dropdowns are used to capture a recipient's selection of one of several options.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-initial {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n letter-spacing: 0.3px;\n scroll-margin: 20px 0;\n transform-origin: bottom left;\n border-radius: var(--verdocs-field-radius);\n background-color: var(--verdocs-field-background, transparent);\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: var(--verdocs-field-text-color, white);\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n &.done {\n border: none;\n opacity: 1;\n }\n\n .initial-container {\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n\n img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n\n .overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(220, 220, 220, 0.85);\n display: none;\n align-items: center;\n justify-content: center;\n gap: 8px;\n border-radius: var(--verdocs-field-radius);\n backdrop-filter: blur(1px);\n\n .icon-button {\n background: white;\n border: 1px solid rgba(0, 0, 0, 0.1);\n cursor: pointer;\n padding: 4px;\n border-radius: 6px;\n color: #444;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n width: auto;\n height: auto;\n\n &:hover {\n background-color: #fafafa;\n transform: translateY(-1px);\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n color: #000;\n }\n\n svg {\n width: 14px;\n height: 14px;\n }\n }\n }\n\n &:hover .overlay {\n display: flex;\n }\n }\n\n &.disabled .initial-container {\n opacity: 0.5;\n pointer-events: none;\n }\n\n button {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n box-sizing: border-box;\n border: none;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n &.filled {\n border: none !important;\n background-color: transparent !important;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n\n .edge-top,\n .edge-right,\n .edge-left,\n .edge-bottom {\n position: absolute;\n z-index: 10;\n }\n\n .edge-top {\n top: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n .edge-right {\n top: 0;\n bottom: 0;\n right: -2px;\n width: 5px;\n }\n\n .edge-left {\n top: 0;\n left: -2px;\n bottom: 0;\n width: 5px;\n }\n\n .edge-bottom {\n bottom: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import interact from 'interactjs';\nimport {ResizeEvent} from '@interactjs/actions/resize/plugin';\nimport {ITemplateField, IEnvelopeField, VerdocsEndpoint, updateField, ITemplate} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State, Element, Listen} from '@stencil/core';\nimport {SettingsIcon, PencilIcon, EraserIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays an initial field. If an initial already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt an initial.\n *\n * NOTE: When initial fields are completed they will be filled with an initial \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-initial',\n styleUrl: 'verdocs-field-initial.scss',\n shadow: false,\n})\nexport class VerdocsFieldInitial {\n @Element() el: HTMLElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * The document or template field to display.\n */\n @Prop({reflect: true}) initials: string = '';\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * If set, provides the ID of already-adopted initials. If present, clicking the field (when empty)\n * will immediately use these initials instead of showing the adoption dialog.\n */\n @Prop({reflect: true}) initialid?: string;\n\n /**\n * Event emitted when an initial block is adopted by the user. The event detail will contain the base64 string of the initial image.\n */\n @Event({composed: true}) adopt: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method() async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempInitials: string = '';\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 71, height: 36},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n @Listen('blur')\n onBlur() {\n this.focused = false;\n }\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? newBottom / this.yscale : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, y})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', settings = {}} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n const {base64} = settings;\n\n if (done) {\n return <Host class={{done}}>{value && <img src={value} alt=\"Initial\" />}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused, filled: !!base64, [signerClass]: true}}>\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {base64 ? (\n <div class=\"initial-container\">\n <img src={base64} alt=\"Initial\" />\n <div class=\"overlay\">\n <button\n class=\"icon-button\"\n innerHTML={PencilIcon}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n // EDIT action: always open dialog\n console.log('[INITIAL] Editing initials');\n this.adopt.emit();\n }}\n />\n <button\n class=\"icon-button\"\n innerHTML={EraserIcon}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n // CLEAR action\n console.log('[INITIAL] Clearing initials');\n this.fieldChange?.emit(null);\n }}\n />\n </div>\n </div>\n ) : (\n <button\n onClick={() => {\n if (disabled) return;\n // If we already have an initial ID, use it immediately\n if (this.initialid) {\n console.log('[INITIAL] Reusing existing initials', this.initialid);\n this.fieldChange?.emit(this.initialid);\n } else {\n this.adopt.emit();\n }\n }}\n >\n Initial\n </button>\n )}\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: field.name});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"initial fields capture the recipient's initials on a clause or page.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-field-radio {\n font-family: $verdocs-primary-font;\n width: 14px;\n height: 14px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n svg {\n margin-top: 4px;\n }\n\n &.disabled.done {\n opacity: 1;\n }\n\n // To avoid conflicting with the use of a label for the checkbox itself\n div.label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n div.group {\n top: 14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #bb0589;\n border-bottom-left-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n\n input {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n }\n\n &.disabled input {\n opacity: 0.5;\n }\n\n &.done input[type='radio'] {\n margin: 0;\n padding: 0;\n width: 10px;\n height: 10px;\n }\n\n &:not(.done) input[type='radio'] {\n position: absolute;\n opacity: 0;\n\n + label {\n &:before {\n content: '';\n //background: $verdocs-grey-3;\n border-radius: 100%;\n border: 1px solid rgba(0, 0, 0, 0.6);\n display: inline-block;\n width: 12px;\n height: 12px;\n position: absolute;\n // This looks off in Storybook but correct in apps.\n left: 1px;\n top: 1px;\n cursor: pointer;\n text-align: center;\n transition: all 250ms ease;\n }\n }\n\n &:checked {\n + label {\n &:before {\n background-color: $verdocs-green;\n box-shadow: inset 0 0 0 2px $verdocs-grey-3;\n }\n }\n }\n\n &:focus {\n + label {\n &:before {\n outline: none;\n border-color: $verdocs-green;\n }\n }\n }\n\n &:disabled {\n + label {\n &:before {\n box-shadow: inset 0 0 0 4px $verdocs-grey-3;\n border-color: #f3f3fc;\n background: #f3f3fc;\n }\n }\n }\n\n + label {\n &:empty {\n &:before {\n margin-right: 0;\n }\n }\n }\n }\n\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n margin-left: -20px;\n margin-top: -7px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -6px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\nconst RadioIconUnselected = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"></path></svg>`;\n\nconst RadioIconSelected = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"></path></svg>`;\n\n/**\n * Displays a radio button.\n */\n@Component({\n tag: 'verdocs-field-radio',\n styleUrl: 'verdocs-field-radio.scss',\n shadow: false,\n})\nexport class VerdocsFieldRadio {\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used in Storybook mode.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, overrides the field's required object. Primarily used in Storybook mode.\n */\n @Prop({reflect: true}) required?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n @State() showingProperties?: boolean = false;\n @State() focused = false;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {name, required = false, label = '', group = '', value = false, readonly = false} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n const selected = value === 'true';\n\n if (done) {\n return (\n <Host class={{done}} style={{maxWidth: '10px'}}>\n <span innerHTML={selected ? RadioIconSelected : RadioIconUnselected} />\n </Host>\n );\n }\n\n return (\n <Host class={{required: this.required || required, disabled, done, focused, [signerClass]: true}}>\n {label && <div class=\"label\">{label}</div>}\n {editable && group && <div class=\"group\">{group}</div>}\n\n <input id={fieldname} type=\"radio\" name={group || fieldname} value={name} checked={!!selected} disabled={readonly || disabled} required={required} />\n <label htmlFor={fieldname} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"Radio buttons capture the recipient's selection of just one of several related (exclusive) options.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-signature {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n letter-spacing: 0.3px;\n background-color: var(--verdocs-field-background, transparent);\n transform-origin: bottom left;\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n border-radius: var(--verdocs-field-radius);\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: var(--verdocs-field-text-color, white);\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n &.done {\n border: none;\n opacity: 1;\n }\n\n .signature-container {\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n\n img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n\n .overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(220, 220, 220, 0.85);\n display: none;\n align-items: center;\n justify-content: center;\n gap: 8px;\n border-radius: var(--verdocs-field-radius);\n backdrop-filter: blur(1px);\n\n .icon-button {\n background: white;\n border: 1px solid rgba(0, 0, 0, 0.1);\n cursor: pointer;\n padding: 4px;\n border-radius: 6px;\n color: #444;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n width: auto;\n height: auto;\n\n &:hover {\n background-color: #fafafa;\n transform: translateY(-1px);\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n color: #000;\n }\n\n svg {\n width: 14px;\n height: 14px;\n }\n }\n }\n\n &:hover .overlay {\n display: flex;\n }\n }\n\n &.disabled .signature-container {\n opacity: 0.5;\n pointer-events: none;\n }\n\n button {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n box-sizing: border-box;\n border: none;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n &.filled {\n border: none !important;\n background-color: transparent !important;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n\n .edge-top,\n .edge-right,\n .edge-left,\n .edge-bottom {\n position: absolute;\n z-index: 10;\n }\n\n .edge-top {\n top: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n .edge-right {\n top: 0;\n bottom: 0;\n right: -2px;\n width: 5px;\n }\n\n .edge-left {\n top: 0;\n left: -2px;\n bottom: 0;\n width: 5px;\n }\n\n .edge-bottom {\n bottom: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import interact from 'interactjs';\nimport {ResizeEvent} from '@interactjs/actions/resize/plugin';\nimport {ITemplateField, IEnvelopeField, VerdocsEndpoint, updateField, ITemplate} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, Method, Fragment, State, Element, Listen} from '@stencil/core';\nimport {SettingsIcon, PencilIcon, EraserIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. If a signature already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt a signature.\n *\n * NOTE: When signature fields are completed they will be filled with a signature \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-signature',\n styleUrl: 'verdocs-field-signature.scss',\n shadow: false,\n})\nexport class VerdocsFieldSignature {\n @Element() el: HTMLElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, the signature creation dialog will be initialized with this text.\n */\n @Prop({reflect: true}) name?: string = '';\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * If set, provides the ID of an already-adopted signature. If present, clicking the field (when empty)\n * will immediately use this signature instead of showing the adoption dialog.\n */\n @Prop({reflect: true}) signatureid?: string;\n\n /**\n * Event emitted when the field has changed.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Event({composed: true}) adopt: EventEmitter;\n\n @Method() async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempSignature: string = '';\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 71, height: 36},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n @Listen('blur')\n onBlur() {\n this.focused = false;\n }\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? newBottom / this.yscale : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, y})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n this.showingProperties = false;\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', settings = {}} = field || {};\n const {base64} = settings;\n const signerClass = `signer-${(index % 10) + 1}`;\n\n if (done) {\n return <Host class={{done}}>{value && <img src={base64} alt=\"\" />}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused, filled: !!base64, [signerClass]: true}}>\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {base64 ? (\n <div class=\"signature-container\">\n <img src={base64} alt=\"Signature\" />\n <div class=\"overlay\">\n <button\n class=\"icon-button\"\n innerHTML={PencilIcon}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n // EDIT action: always open dialog\n console.log('[SIGNATURE] Editing signature');\n this.adopt.emit();\n }}\n />\n <button\n class=\"icon-button\"\n innerHTML={EraserIcon}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n // CLEAR action\n console.log('[SIGNATURE] Clearing signature');\n this.fieldChange?.emit(null);\n }}\n />\n </div>\n </div>\n ) : (\n <button\n onClick={() => {\n if (disabled) return;\n // If we already have a signature ID, use it immediately\n if (this.signatureid) {\n console.log('[SIGNATURE] Reusing existing signature', this.signatureid);\n this.fieldChange?.emit(this.signatureid);\n } else {\n this.adopt.emit();\n }\n }}\n >\n Signature\n </button>\n )}\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => this.hideSettingsPanel()}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"Signature fields capture a recipient's signature on a document.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-textarea {\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n box-sizing: border-box;\n background-color: var(--verdocs-field-background, transparent);\n transform-origin: bottom left;\n font-family: $verdocs-primary-font;\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n border-radius: var(--verdocs-field-radius);\n\n textarea {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n resize: none;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled textarea {\n opacity: 0.5;\n }\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n &.required {\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import interact from 'interactjs';\nimport {IEnvelopeField, VerdocsEndpoint, ITemplateField, updateField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, Element, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a multi-line text input field. Reminder: the \"position\" of the field is specified\n * as the BOTTOM-LEFT corner.\n */\n@Component({\n tag: 'verdocs-field-textarea',\n styleUrl: 'verdocs-field-textarea.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextarea {\n @Element() el: HTMLElement;\n private inputEl: HTMLTextAreaElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n * This component self-manages its resize (width) behavior when in edit-template mode, and uses\n * this endpoint to save changes.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n @Method()\n async focusField() {\n this.inputEl.focus();\n }\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n @State() focused?: boolean = false;\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {top: true, bottom: true, left: true, right: true},\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n handleResizeStart(e: any) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n handleResize(e: any) {\n let {x = 0, y = 0, h = 0} = e.target.dataset;\n let {width, height} = e.rect;\n\n x = (parseFloat(x) || 0) + e.deltaRect.left;\n y = (parseFloat(y) || 0) + e.deltaRect.top;\n h = (parseFloat(h) || 0) + e.deltaRect.height;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n transform: `translate(${x}px, ${y + h}px)`,\n });\n\n Object.assign(e.target.dataset, {x, y, h});\n }\n\n handleResizeEnd(e: any) {\n const {source, sourceid, fieldname} = this;\n const {field} = Store.getField(source, sourceid, fieldname, this.field);\n if (!field) {\n return;\n }\n\n const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);\n\n const width = Math.round(parseFloat(e.target.style.width) / this.xscale);\n const height = Math.round(parseFloat(e.target.style.height) / this.yscale);\n const x = Math.round(field.x + translateX / this.xscale);\n const y = Math.round(field.y - translateY / this.yscale);\n\n updateField(this.endpoint, this.sourceid, this.fieldname, {x, y, width, height})\n .then(field => {\n this.settingsChanged?.emit({fieldName: this.fieldname, field});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, placeholder = '', value = '', label = '', readonly = false} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n if (done) {\n return <Host class={{done}}>{value}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused, [signerClass]: true}}>\n {label && <label>{label}</label>}\n\n <textarea\n name={fieldname}\n required={required}\n placeholder={placeholder}\n disabled={readonly || disabled}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n >\n {value}\n </textarea>\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Text areas may be used to create multi-line text fields.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-textbox {\n font-family: $verdocs-primary-font;\n box-sizing: border-box;\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n letter-spacing: -0.2px;\n background-color: var(--verdocs-field-background, transparent);\n transform-origin: bottom left;\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n border-radius: var(--verdocs-field-radius);\n\n .edge-top,\n .edge-right,\n .edge-left,\n .edge-bottom {\n position: absolute;\n z-index: 10;\n }\n\n .edge-top {\n top: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n .edge-right {\n top: 0;\n bottom: 0;\n right: -2px;\n width: 5px;\n }\n\n .edge-left {\n top: 0;\n left: -2px;\n bottom: 0;\n width: 5px;\n }\n\n .edge-bottom {\n bottom: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n input {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n position: absolute;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled input {\n opacity: 0.5;\n }\n\n textarea {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n resize: none;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n line-height: 13px;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled textarea {\n opacity: 0.5;\n }\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n &.required {\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n\n .settings-icon {\n position: absolute;\n top: -4px;\n left: -18px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import interact from 'interactjs';\nimport {ResizeEvent} from '@interactjs/actions/resize/plugin';\nimport {IEnvelopeField, ITemplate, ITemplateField, updateField, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Element, Prop, Method, Event, EventEmitter, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a simple 1-line text input field.\n */\n@Component({\n tag: 'verdocs-field-textbox',\n styleUrl: 'verdocs-field-textbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextbox {\n @Element() el: HTMLElement;\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) multiline?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method()\n async focusField() {\n this.inputEl.focus();\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n this.showingProperties = false;\n }\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 30, height: 15},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n const multiline = height > 15;\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? newBottom / this.yscale : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, y, multiline})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n let {required = false, placeholder = '', label = '', width = 150, readonly = false, default: value = '', multiline = false} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n // TODO: Consolidate value/defaultValue handling between template and envelope fields.\n if ((field as any)?.value) {\n value = (field as any)?.value;\n }\n\n // TODO: This is an outdated technique from the old system. We should compute it.\n const maxlength = width / 5;\n\n if (done) {\n return <Host class={{done}}>{value}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused, [signerClass]: true}}>\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {multiline ? (\n <textarea\n name={fieldname}\n required={required}\n placeholder={placeholder}\n disabled={readonly || disabled}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n >\n {value}\n </textarea>\n ) : (\n <input\n type=\"text\"\n value={value}\n name={fieldname}\n required={required}\n maxlength={maxlength}\n placeholder={placeholder}\n disabled={readonly || disabled}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n />\n )}\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => this.hideSettingsPanel()}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\n 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the \"name\" field.<br /><br />If marked required, the participant must complete the field before proceeding.'\n }\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-timestamp {\n width: 160px;\n height: 15px;\n display: block;\n font-size: 9px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: var(--verdocs-field-background, transparent);\n transform-origin: bottom left;\n font-family: $verdocs-primary-font;\n\n &.done {\n opacity: 1;\n }\n\n input {\n position: absolute;\n\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n opacity: 0.5;\n width: 100%;\n height: 100%;\n font-size: 9px;\n background: none;\n font-weight: 500;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n border-radius: var(--verdocs-field-radius);\n\n &.hide {\n display: none;\n }\n }\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n","import {format} from 'date-fns/format';\nimport {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, Fragment, State} from '@stencil/core';\nimport {FORMAT_TIMESTAMP} from '../../../utils/Types';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a timestamp. Timestamps are not editable by signers. Instead, they are automatically\n * filled when the signer submits the document.\n */\n@Component({\n tag: 'verdocs-field-timestamp',\n styleUrl: 'verdocs-field-timestamp.scss',\n shadow: false,\n})\nexport class VerdocsFieldTimestamp {\n private el: HTMLInputElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop() pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n\n @Method() async focusField() {\n this.el.focus();\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n this.showingProperties = false;\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, placeholder = '', value = '', label = ''} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n const formatted = format(new Date(value || new Date().toISOString()), FORMAT_TIMESTAMP);\n\n if (done) {\n return <Host class={{done}}>{formatted}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, [signerClass]: true}}>\n {label && <label>{label}</label>}\n <input type=\"text\" placeholder={placeholder} value={formatted} disabled={true} ref={el => (this.el = el)} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => this.hideSettingsPanel()}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Time stamps are automatically set when the recipient signs the document.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-upload-dialog {\n position: fixed;\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n }\n\n // Not simple .dialog to avoid conflicts with ok-dialog. Should review that more.\n .upload-dialog-content {\n width: 320px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: $verdocs-grey-4;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n .current-label {\n margin: 20px 0 5px 0;\n }\n\n .drop-target {\n opacity: 1;\n width: 100%;\n display: flex;\n margin: 20px 0;\n min-height: 260px;\n padding: 30px 15px;\n text-align: center;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n background-color: #f5f5f5;\n color: $verdocs-grey-1;\n border: 2px dashed #979797;\n\n p {\n margin: 12px 0;\n font-weight: 500;\n\n &.subscript {\n margin: 20px;\n color: $verdocs-bg-4;\n font-size: 14px;\n }\n }\n\n &.dragging-over {\n border: 5px solid $verdocs-deep-blue;\n }\n\n > verdocs-button {\n margin: 12px 0;\n display: inline-block;\n }\n }\n\n .attachments {\n height: 56px;\n font-size: 0;\n margin: 20px 0;\n padding: 0 16px;\n line-height: 56px;\n white-space: normal;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 20%),\n 0 2px 2px 0 rgb(0 0 0 / 12%),\n 0 0 2px 0 rgb(0 0 0 / 14%);\n\n .attachment {\n gap: 10px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n .icon {\n width: 18px;\n height: 18px;\n line-height: 18px;\n\n &.trash {\n cursor: pointer;\n }\n }\n\n .name {\n flex: 1;\n font-size: 14px;\n overflow: hidden;\n font-weight: 400;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n\n .error {\n margin: 20px 0;\n color: $verdocs-red-1;\n }\n}\n","import {Component, h, Event, EventEmitter, Fragment, Host, State, Prop} from '@stencil/core';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\" /></svg>`;\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\n/**\n * Display a file upload tool. Note that the file is not actually transmitted, so it may be used by\n * callers with a variety of workflows. Instead, data about the chosen file will be passed to the\n * caller via the onNext event handler. A delete event is also exposed to delete existing attachments.\n * To represent an existing attachment, set the existingFile property.\n */\n@Component({\n tag: 'verdocs-upload-dialog',\n styleUrl: 'verdocs-upload-dialog.scss',\n})\nexport class VerdocsUploadDialog {\n private fileInput?: HTMLInputElement;\n\n @Prop({mutable: true})\n maxSize: number = 20 * 1024 * 1024;\n\n @Prop({mutable: true})\n existingFile: any;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the file selected.\n */\n @Event({composed: true}) next: EventEmitter<File[]>;\n\n /**\n * Event fired when an existing attachment is deleted. The parent component is\n * responsible for the actual removal.\n */\n @Event({composed: true}) remove: EventEmitter;\n\n @State() draggingOver = false;\n @State() confirmDelete = false;\n @State() selectedFiles = [] as File[];\n @State() errorMessage = '';\n\n handleCancel() {\n this.exit.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.class === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.next.emit(this.selectedFiles);\n }\n\n handleDragOver(e) {\n e.preventDefault();\n this.draggingOver = true;\n }\n\n handleDragLeave(e) {\n e.preventDefault();\n this.draggingOver = false;\n }\n\n async handleDrop(e) {\n e.preventDefault();\n this.draggingOver = false;\n this.handleSetSelected(Array.from(e.dataTransfer.files));\n }\n\n handleRemoveAttachment(index: number) {\n const newFiles = [...this.selectedFiles];\n newFiles.splice(index, 1);\n this.handleSetSelected(newFiles);\n }\n\n handleSetSelected(files: any[]) {\n this.selectedFiles = files;\n this.errorMessage = '';\n\n const totalSize = this.selectedFiles.reduce((acc, file) => acc + file.size, 0);\n if (totalSize > this.maxSize) {\n this.errorMessage = 'Total file size must not exceed 20MB.';\n }\n }\n\n handleDeleteAttachment(e: any) {\n // Stop the parent from seeing \"next\" and thinking an upload was done.\n // TODO: Rethink having so many commonalities in nested dialogs (next/exit).\n e.preventDefault();\n e.stopPropagation();\n\n this.remove?.emit();\n this.existingFile = null;\n this.confirmDelete = false;\n }\n\n handleSelectFile() {\n this.fileInput?.click();\n }\n\n async handleFileChange() {\n const selectedFiles = Array.from(this.fileInput?.files);\n let droppedFiles = [] as File[];\n for (let i = 0; i < this.fileInput?.files.length; i++) {\n droppedFiles.push(this.fileInput?.files[i]);\n }\n\n this.handleSetSelected(selectedFiles);\n }\n\n render() {\n const existingFile = this.existingFile?.name ? this.existingFile : null;\n\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"upload-dialog-content\">\n <div class=\"heading\">Upload attachment</div>\n\n {this.selectedFiles.length < 1 && existingFile && (\n <Fragment>\n <div class=\"current-label\">Current Attachment</div>\n <div class=\"attachments\" style={{marginTop: '0'}}>\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{existingFile.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => (this.confirmDelete = true)} />\n </div>\n </div>\n </Fragment>\n )}\n\n {this.selectedFiles.length < 1 && !existingFile && (\n <div\n class={{'drop-target': true, 'dragging-over': this.draggingOver}}\n onDragOver={e => this.handleDragOver(e)}\n onDragLeave={e => this.handleDragLeave(e)}\n onDrop={e => this.handleDrop(e)}\n >\n <p>Drag and drop your files here</p>\n <p class=\"subscript\">Supported files: PDF, Word, JPG, PNG</p>\n\n <verdocs-button label={!!existingFile ? 'Replace files' : 'Select files'} onClick={() => this.handleSelectFile()} />\n <input\n type=\"file\"\n ref={el => (this.fileInput = el as HTMLInputElement)}\n style={{display: 'none'}}\n accept=\".pdf,application/pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/*\"\n onChange={() => this.handleFileChange()}\n />\n </div>\n )}\n\n {this.selectedFiles.length > 0 && (\n <div class=\"attachments\">\n {this.selectedFiles.map((file, index) => (\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{file.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => this.handleRemoveAttachment(index)} />\n </div>\n ))}\n </div>\n )}\n\n {!!this.errorMessage && <div class=\"error\">{this.errorMessage}</div>}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Upload\" onClick={() => this.handleDone()} disabled={!!this.errorMessage || this.selectedFiles.length < 1} />\n </div>\n </div>\n </div>\n\n {this.confirmDelete && (\n <verdocs-ok-dialog\n heading=\"Delete Attachment?\"\n message=\"Are you sure you wish to delete this attachment? This action cannot be undone.\"\n showCancel={true}\n onExit={e => {\n // So we don't close the upload dialog\n e.preventDefault();\n e.stopPropagation();\n this.confirmDelete = false;\n }}\n onNext={e => this.handleDeleteAttachment(e)}\n />\n )}\n </Host>\n );\n }\n}\n"],"names":["PaperclipIcon","format"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-CieKSMnx.system.js","sources":["src/components/fields/verdocs-field-payment/verdocs-field-payment.scss?tag=verdocs-field-payment","src/components/fields/verdocs-field-payment/verdocs-field-payment.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-payment {\n font-family: $verdocs-primary-font;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n border: 1px solid #cfa;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n button,\n div {\n box-sizing: border-box;\n }\n\n button {\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n //background-color: rgba(225, 255, 255, 0.5);\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n input {\n float: left;\n font-family: Arial, sans-serif;\n }\n\n select {\n position: absolute;\n font-family: Arial, sans-serif;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 4px,\n calc(100% - 3px) 4px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n }\n\n .frame {\n width: 100%;\n height: 100%;\n background-size: contain;\n text-align: left;\n\n img {\n position: absolute;\n height: auto;\n width: 100%;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Method, Fragment} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-payment',\n styleUrl: 'verdocs-field-payment.scss',\n shadow: false,\n})\nexport class VerdocsFieldPayment {\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Prop() fields: any[];\n @Prop() pageNum: number;\n @Prop() roleName: string;\n @Prop() fieldId: string;\n @Prop() recipients: any;\n @Prop() selectedRoleName: string;\n @Prop() pdfPages: any[];\n @Prop() currentSignature: string;\n @Prop() currentSignatureId: string;\n @Prop() currentInitial: string;\n @Prop() currentInitialId: string;\n @Prop() signed: boolean = false;\n\n @State() preparedMessage: string;\n @State() signatureUrl: string = '';\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n mode: string;\n\n componentWillLoad() {\n // Load validators\n // Load fields\n // Get role names\n if (this.recipients && this.recipients.length > 0) {\n const preparer = this.recipients.find((r: any) => r.type === 'preparer');\n console.log('Found preparer', preparer);\n if (preparer) {\n this.preparedMessage = `Prepared by ${preparer['full_name']}`;\n }\n }\n }\n\n @Method()\n async focusField() {\n // We don't have a visible input that we can actually focus on, so we fake it\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const signerClass = `signer-${(index % 10) + 1}`;\n\n if (!field) {\n return <Fragment />;\n }\n\n if (done) {\n return <Host class={{done}}>$✓</Host>;\n }\n\n return (\n <Host class={{focused, disabled, [signerClass]: true}}>\n <button class={{hide: this.signed}}>$</button>\n {this.signed ? <div class=\"frame\" /> : <div style={{display: 'none'}} />}\n <img width=\"100%\" height=\"100%\" src={this.signatureUrl} alt=\"Payment Icon\" />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={field.name}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Check boxes allow the user to select one or more (non-exclusive) options.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-Bzd59d_Y.system.js","sources":["src/components/fields/verdocs-field-payment/verdocs-field-payment.scss?tag=verdocs-field-payment","src/components/fields/verdocs-field-payment/verdocs-field-payment.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-payment {\n font-family: $verdocs-primary-font;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n border: 1px solid #cfa;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n button,\n div {\n box-sizing: border-box;\n }\n\n button {\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n //background-color: rgba(225, 255, 255, 0.5);\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n input {\n float: left;\n font-family: Arial, sans-serif;\n }\n\n select {\n position: absolute;\n font-family: Arial, sans-serif;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 4px,\n calc(100% - 3px) 4px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n }\n\n .frame {\n width: 100%;\n height: 100%;\n background-size: contain;\n text-align: left;\n\n img {\n position: absolute;\n height: auto;\n width: 100%;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Method, Fragment} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-payment',\n styleUrl: 'verdocs-field-payment.scss',\n shadow: false,\n})\nexport class VerdocsFieldPayment {\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Prop() fields: any[];\n @Prop() pageNum: number;\n @Prop() roleName: string;\n @Prop() fieldId: string;\n @Prop() recipients: any;\n @Prop() selectedRoleName: string;\n @Prop() pdfPages: any[];\n @Prop() currentSignature: string;\n @Prop() currentSignatureId: string;\n @Prop() currentInitial: string;\n @Prop() currentInitialId: string;\n @Prop() signed: boolean = false;\n\n @State() preparedMessage: string;\n @State() signatureUrl: string = '';\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n mode: string;\n\n componentWillLoad() {\n // Load validators\n // Load fields\n // Get role names\n if (this.recipients && this.recipients.length > 0) {\n const preparer = this.recipients.find((r: any) => r.type === 'preparer');\n console.log('Found preparer', preparer);\n if (preparer) {\n this.preparedMessage = `Prepared by ${preparer['full_name']}`;\n }\n }\n }\n\n @Method()\n async focusField() {\n // We don't have a visible input that we can actually focus on, so we fake it\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const signerClass = `signer-${(index % 10) + 1}`;\n\n if (!field) {\n return <Fragment />;\n }\n\n if (done) {\n return <Host class={{done}}>$✓</Host>;\n }\n\n return (\n <Host class={{focused, disabled, [signerClass]: true}}>\n <button class={{hide: this.signed}}>$</button>\n {this.signed ? <div class=\"frame\" /> : <div style={{display: 'none'}} />}\n <img width=\"100%\" height=\"100%\" src={this.signatureUrl} alt=\"Payment Icon\" />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={field.name}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Check boxes allow the user to select one or more (non-exclusive) options.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}