@verdocs/web-sdk 6.8.7 → 6.8.9

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 (354) hide show
  1. package/dist/cjs/{Datastore-B-sxWSPD.js → Datastore-C-Pojt3E.js} +3 -3
  2. package/dist/{esm-es5/Datastore-bS8INhRF.js.map → cjs/Datastore-C-Pojt3E.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{utils-ecG41L2k.js → utils-kkGeJs-8.js} +6 -3
  5. package/dist/cjs/utils-kkGeJs-8.js.map +1 -0
  6. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-checkbox_5.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +2 -2
  11. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +119 -51
  16. package/dist/cjs/verdocs-field-payment.cjs.entry.js +16 -9
  17. package/dist/cjs/verdocs-field-payment.entry.cjs.js.map +1 -1
  18. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +1 -1
  19. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.cjs.js.map +1 -1
  21. package/dist/cjs/verdocs-preview_6.cjs.entry.js +42 -31
  22. package/dist/cjs/verdocs-sign.cjs.entry.js +2 -2
  23. package/dist/cjs/verdocs-signing-progress.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +2 -2
  25. package/dist/cjs/verdocs-template-settings.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  27. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +13 -0
  28. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
  29. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +15 -5
  30. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
  31. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +15 -5
  32. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js.map +1 -1
  33. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +15 -5
  34. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
  35. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +15 -5
  36. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
  37. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +13 -5
  38. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  39. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +18 -8
  40. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
  41. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +15 -5
  42. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js.map +1 -1
  43. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +13 -5
  44. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  45. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +15 -5
  46. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  47. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +15 -5
  48. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  49. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +17 -5
  50. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
  51. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +38 -27
  52. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  53. package/dist/collection/utils/Datastore.js +1 -1
  54. package/dist/collection/utils/Datastore.js.map +1 -1
  55. package/dist/collection/utils/utils.js +4 -1
  56. package/dist/collection/utils/utils.js.map +1 -1
  57. package/dist/components/{p-CRIrD66O.js → p---tnXjlx.js} +3 -3
  58. package/dist/components/{p-CRIrD66O.js.map → p---tnXjlx.js.map} +1 -1
  59. package/dist/components/{p-BgNCVox7.js → p-1oPQs4-S.js} +3 -3
  60. package/dist/components/{p-BgNCVox7.js.map → p-1oPQs4-S.js.map} +1 -1
  61. package/dist/components/{p-CFi6VKgU.js → p-2sD6OXzl.js} +19 -10
  62. package/dist/components/p-2sD6OXzl.js.map +1 -0
  63. package/dist/components/{p-CWGxLuye.js → p-7dtIf4QF.js} +19 -10
  64. package/dist/components/p-7dtIf4QF.js.map +1 -0
  65. package/dist/components/{p-CherENoi.js → p-BCiVZnf0.js} +3 -3
  66. package/dist/components/{p-CherENoi.js.map → p-BCiVZnf0.js.map} +1 -1
  67. package/dist/components/{p-DLV8jNf8.js → p-BUaaBFra.js} +17 -10
  68. package/dist/components/p-BUaaBFra.js.map +1 -0
  69. package/dist/components/{p-BZRJWqKI.js → p-BVu-nE_L.js} +19 -10
  70. package/dist/components/p-BVu-nE_L.js.map +1 -0
  71. package/dist/components/{p-By2QlfRC.js → p-BihWiABu.js} +19 -10
  72. package/dist/components/p-BihWiABu.js.map +1 -0
  73. package/dist/components/{p-eZKhg-2i.js → p-BqoZV7Do.js} +3 -3
  74. package/dist/components/{p-eZKhg-2i.js.map → p-BqoZV7Do.js.map} +1 -1
  75. package/dist/components/{p-D1tvdWaA.js → p-BrtyCjOf.js} +4 -4
  76. package/dist/components/{p-D1tvdWaA.js.map → p-BrtyCjOf.js.map} +1 -1
  77. package/dist/components/{p-tSwumenv.js → p-Bzs-6uU0.js} +3 -3
  78. package/dist/components/{p-tSwumenv.js.map → p-Bzs-6uU0.js.map} +1 -1
  79. package/dist/components/{p-Dj_oFCRK.js → p-C02BWoNV.js} +17 -10
  80. package/dist/components/p-C02BWoNV.js.map +1 -0
  81. package/dist/{esm/Datastore-bS8INhRF.js → components/p-C7hFgM52.js} +3 -3
  82. package/dist/components/p-C7hFgM52.js.map +1 -0
  83. package/dist/components/{p-CjDMm6od.js → p-CD24uAWY.js} +19 -10
  84. package/dist/components/p-CD24uAWY.js.map +1 -0
  85. package/dist/components/{p-_igYrwND.js → p-CDR7tIN-.js} +3 -3
  86. package/dist/components/{p-_igYrwND.js.map → p-CDR7tIN-.js.map} +1 -1
  87. package/dist/components/{p-tyY7kKNB.js → p-CPIwQCo_.js} +21 -10
  88. package/dist/components/p-CPIwQCo_.js.map +1 -0
  89. package/dist/components/{p-CYRfkDZa.js → p-Cj8PYi4t.js} +29 -16
  90. package/dist/components/p-Cj8PYi4t.js.map +1 -0
  91. package/dist/components/{p-Bafj7hI1.js → p-Cli5nWln.js} +19 -10
  92. package/dist/components/p-Cli5nWln.js.map +1 -0
  93. package/dist/components/{p-Dpu4D5bv.js → p-Cx0Mif05.js} +6 -3
  94. package/dist/components/p-Cx0Mif05.js.map +1 -0
  95. package/dist/components/{p-BF4y1YRU.js → p-CzvUUEq1.js} +3 -3
  96. package/dist/components/{p-BF4y1YRU.js.map → p-CzvUUEq1.js.map} +1 -1
  97. package/dist/components/{p-DzM2oGUr.js → p-D1TqIILD.js} +19 -10
  98. package/dist/components/p-D1TqIILD.js.map +1 -0
  99. package/dist/components/{p-_cxVjdiK.js → p-DNYvorxL.js} +43 -44
  100. package/dist/components/p-DNYvorxL.js.map +1 -0
  101. package/dist/components/{p-Cal5IvqT.js → p-DmEzMnt3.js} +3 -3
  102. package/dist/components/{p-Cal5IvqT.js.map → p-DmEzMnt3.js.map} +1 -1
  103. package/dist/components/{p-C5fwD53I.js → p-Dz6Xrh7z.js} +3 -3
  104. package/dist/components/{p-C5fwD53I.js.map → p-Dz6Xrh7z.js.map} +1 -1
  105. package/dist/components/{p-DaWDoIag.js → p-IJa78J36.js} +4 -4
  106. package/dist/components/{p-DaWDoIag.js.map → p-IJa78J36.js.map} +1 -1
  107. package/dist/components/{p-DtpXCLdt.js → p-RdlD8c2P.js} +5 -5
  108. package/dist/components/{p-DtpXCLdt.js.map → p-RdlD8c2P.js.map} +1 -1
  109. package/dist/components/{p-DmyvK-Tr.js → p-aH_YLUuP.js} +15 -15
  110. package/dist/components/{p-DmyvK-Tr.js.map → p-aH_YLUuP.js.map} +1 -1
  111. package/dist/components/{p-DyfpSDn-.js → p-zAW1BOj6.js} +3 -3
  112. package/dist/components/{p-DyfpSDn-.js.map → p-zAW1BOj6.js.map} +1 -1
  113. package/dist/components/verdocs-build.js +21 -21
  114. package/dist/components/verdocs-contact-picker.js +1 -1
  115. package/dist/components/verdocs-envelope-document-page.js +1 -1
  116. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  117. package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
  118. package/dist/components/verdocs-envelope-sidebar.js +3 -3
  119. package/dist/components/verdocs-envelope-update-recipient.js +1 -1
  120. package/dist/components/verdocs-envelopes-list.js +2 -2
  121. package/dist/components/verdocs-field-attachment.js +1 -1
  122. package/dist/components/verdocs-field-checkbox.js +1 -1
  123. package/dist/components/verdocs-field-date.js +1 -1
  124. package/dist/components/verdocs-field-dropdown.js +1 -1
  125. package/dist/components/verdocs-field-initial.js +1 -1
  126. package/dist/components/verdocs-field-payment.js +20 -11
  127. package/dist/components/verdocs-field-payment.js.map +1 -1
  128. package/dist/components/verdocs-field-radio.js +1 -1
  129. package/dist/components/verdocs-field-signature.js +1 -1
  130. package/dist/components/verdocs-field-textarea.js +1 -1
  131. package/dist/components/verdocs-field-textbox.js +1 -1
  132. package/dist/components/verdocs-field-timestamp.js +1 -1
  133. package/dist/components/verdocs-preview.js +1 -1
  134. package/dist/components/verdocs-quick-filter.js +1 -1
  135. package/dist/components/verdocs-send.js +1 -1
  136. package/dist/components/verdocs-sign-footer.js +1 -1
  137. package/dist/components/verdocs-sign.js +5 -5
  138. package/dist/components/verdocs-signing-progress.js +1 -1
  139. package/dist/components/verdocs-template-attachments.js +1 -1
  140. package/dist/components/verdocs-template-build-tabs.js +1 -1
  141. package/dist/components/verdocs-template-document-page.js +1 -1
  142. package/dist/components/verdocs-template-field-properties.js +1 -1
  143. package/dist/components/verdocs-template-fields.js +1 -1
  144. package/dist/components/verdocs-template-role-properties.js +1 -1
  145. package/dist/components/verdocs-template-roles.js +1 -1
  146. package/dist/components/verdocs-template-settings.js +1 -1
  147. package/dist/components/verdocs-templates-list.js +1 -1
  148. package/dist/components/verdocs-view.js +1 -1
  149. package/dist/{components/p-bS8INhRF.js → esm/Datastore-C7hFgM52.js} +3 -3
  150. package/dist/{cjs/Datastore-B-sxWSPD.js.map → esm/Datastore-C7hFgM52.js.map} +1 -1
  151. package/dist/esm/loader.js +1 -1
  152. package/dist/esm/{utils-CerrMWqr.js → utils-CPSY5rft.js} +6 -3
  153. package/dist/esm/utils-CPSY5rft.js.map +1 -0
  154. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  155. package/dist/esm/verdocs-build.entry.js +1 -1
  156. package/dist/esm/verdocs-checkbox_5.entry.js +1 -1
  157. package/dist/esm/verdocs-contact-picker.entry.js +1 -1
  158. package/dist/esm/verdocs-download-dialog_4.entry.js +2 -2
  159. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  160. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  161. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  162. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  163. package/dist/esm/verdocs-field-attachment_11.entry.js +119 -51
  164. package/dist/esm/verdocs-field-payment.entry.js +16 -9
  165. package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
  166. package/dist/esm/verdocs-menu-panel_2.entry.js +1 -1
  167. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  168. package/dist/esm/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.js.map +1 -1
  169. package/dist/esm/verdocs-preview_6.entry.js +42 -31
  170. package/dist/esm/verdocs-sign.entry.js +2 -2
  171. package/dist/esm/verdocs-signing-progress.entry.js +1 -1
  172. package/dist/esm/verdocs-template-document-page_2.entry.js +2 -2
  173. package/dist/esm/verdocs-template-settings.entry.js +1 -1
  174. package/dist/esm/verdocs-web-sdk.js +1 -1
  175. package/dist/esm-es5/{Datastore-bS8INhRF.js → Datastore-C7hFgM52.js} +2 -2
  176. package/dist/{esm/Datastore-bS8INhRF.js.map → esm-es5/Datastore-C7hFgM52.js.map} +1 -1
  177. package/dist/esm-es5/loader.js +1 -1
  178. package/dist/esm-es5/utils-CPSY5rft.js +2 -0
  179. package/dist/esm-es5/utils-CPSY5rft.js.map +1 -0
  180. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  181. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  182. package/dist/esm-es5/verdocs-checkbox_5.entry.js +1 -1
  183. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  184. package/dist/esm-es5/verdocs-download-dialog_4.entry.js +1 -1
  185. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  186. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  187. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  188. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  189. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  190. package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
  191. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  192. package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
  193. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  194. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  195. package/dist/esm-es5/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.js.map +1 -1
  196. package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
  197. package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
  198. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  199. package/dist/esm-es5/verdocs-signing-progress.entry.js +1 -1
  200. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  201. package/dist/esm-es5/verdocs-template-settings.entry.js +1 -1
  202. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  203. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +2 -0
  204. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +2 -1
  205. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +2 -1
  206. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +2 -1
  207. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +2 -1
  208. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +1 -1
  209. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +2 -1
  210. package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +2 -1
  211. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +1 -1
  212. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +2 -1
  213. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +2 -1
  214. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +2 -1
  215. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +3 -2
  216. package/dist/verdocs-web-sdk/{p-2ff00959.system.entry.js → p-032e8fb0.system.entry.js} +2 -2
  217. package/dist/verdocs-web-sdk/{p-fe5aabfb.entry.js → p-04981f9f.entry.js} +2 -2
  218. package/dist/verdocs-web-sdk/{p-7f7da7d6.system.entry.js → p-066eaea8.system.entry.js} +2 -2
  219. package/dist/verdocs-web-sdk/{p-53be15dc.entry.js → p-0b59a4a5.entry.js} +2 -2
  220. package/dist/verdocs-web-sdk/{p-8229308e.system.entry.js → p-107a1995.system.entry.js} +2 -2
  221. package/dist/verdocs-web-sdk/{p-b04c507f.system.entry.js → p-1b5b8ffa.system.entry.js} +2 -2
  222. package/dist/verdocs-web-sdk/{p-be9c544d.system.entry.js → p-2ba8c771.system.entry.js} +2 -2
  223. package/dist/verdocs-web-sdk/p-2ebc769e.entry.js +2 -0
  224. package/dist/verdocs-web-sdk/p-2ebc769e.entry.js.map +1 -0
  225. package/dist/verdocs-web-sdk/{p-5ee3ef82.entry.js → p-311bb5b2.entry.js} +2 -2
  226. package/dist/verdocs-web-sdk/{p-069169a7.entry.js → p-3202f0eb.entry.js} +2 -2
  227. package/dist/verdocs-web-sdk/{p-edc49225.entry.js → p-3648e4c0.entry.js} +2 -2
  228. package/dist/verdocs-web-sdk/p-3648e4c0.entry.js.map +1 -0
  229. package/dist/verdocs-web-sdk/{p-64b9e2de.entry.js → p-3be22031.entry.js} +2 -2
  230. package/dist/verdocs-web-sdk/{p-f4c4a49e.system.entry.js → p-4424623c.system.entry.js} +2 -2
  231. package/dist/verdocs-web-sdk/{p-7a086c18.entry.js → p-4f820bee.entry.js} +2 -2
  232. package/dist/verdocs-web-sdk/{p-2fc50938.system.entry.js → p-53530f64.system.entry.js} +2 -2
  233. package/dist/verdocs-web-sdk/{p-f1ca6e1c.system.entry.js → p-60cfa50a.system.entry.js} +2 -2
  234. package/dist/verdocs-web-sdk/{p-93e9df57.system.entry.js → p-641dbbfa.system.entry.js} +2 -2
  235. package/dist/verdocs-web-sdk/p-6c8883ff.entry.js +2 -0
  236. package/dist/verdocs-web-sdk/{p-8e8c0110.entry.js.map → p-6c8883ff.entry.js.map} +1 -1
  237. package/dist/verdocs-web-sdk/p-6d41df5d.system.entry.js +2 -0
  238. package/dist/verdocs-web-sdk/p-6d41df5d.system.entry.js.map +1 -0
  239. package/dist/verdocs-web-sdk/{p-8062bb99.entry.js → p-6d5af60f.entry.js} +2 -2
  240. package/dist/verdocs-web-sdk/{p-6038e4c1.system.entry.js → p-774961dc.system.entry.js} +2 -2
  241. package/dist/verdocs-web-sdk/{p-63c0f31d.system.entry.js → p-822694c1.system.entry.js} +2 -2
  242. package/dist/verdocs-web-sdk/{p-9b367391.system.entry.js → p-91316504.system.entry.js} +2 -2
  243. package/dist/verdocs-web-sdk/{p-0c24c1b8.entry.js → p-92b4f218.entry.js} +2 -2
  244. package/dist/verdocs-web-sdk/{p-adcbb1c2.entry.js → p-9586b268.entry.js} +2 -2
  245. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  246. package/dist/verdocs-web-sdk/{p-CC3ukJv1.system.js.map → p-BFC8G6sY.system.js.map} +1 -1
  247. package/dist/verdocs-web-sdk/{p-LGooaeHw.system.js.map → p-BJ0cUjeu.system.js.map} +1 -1
  248. package/dist/verdocs-web-sdk/{p-CRk-MpSX.system.js.map → p-BJx8Y9VG.system.js.map} +1 -1
  249. package/dist/verdocs-web-sdk/p-BUFQbxzf.system.js.map +1 -0
  250. package/dist/verdocs-web-sdk/{p-CWh-S6N5.system.js.map → p-BuHYXI2L.system.js.map} +1 -1
  251. package/dist/verdocs-web-sdk/{p-bS8INhRF.js → p-C7hFgM52.js} +2 -2
  252. package/dist/verdocs-web-sdk/{p-bS8INhRF.js.map → p-C7hFgM52.js.map} +1 -1
  253. package/dist/verdocs-web-sdk/p-C9JdpYtM.js +2 -0
  254. package/dist/verdocs-web-sdk/p-C9JdpYtM.js.map +1 -0
  255. package/dist/verdocs-web-sdk/{p-COM7km0I.system.js.map → p-CVmJ8lYI.system.js.map} +1 -1
  256. package/dist/verdocs-web-sdk/p-Cd268O-w.system.js.map +1 -0
  257. package/dist/verdocs-web-sdk/{p-C5U_96FD.system.js.map → p-CyPGia16.system.js.map} +1 -1
  258. package/dist/verdocs-web-sdk/p-DGti20Vc.system.js +2 -0
  259. package/dist/verdocs-web-sdk/p-DGti20Vc.system.js.map +1 -0
  260. package/dist/verdocs-web-sdk/{p-BcNo_mbk.system.js.map → p-DmQa-gqf.system.js.map} +1 -1
  261. package/dist/verdocs-web-sdk/{p-dY2me2i5.system.js.map → p-Dmc2VIXX.system.js.map} +1 -1
  262. package/dist/verdocs-web-sdk/p-H1Y4Zb4E.system.js.map +1 -0
  263. package/dist/verdocs-web-sdk/{p-C-5pmv-B.system.js.map → p-N4-IQ3Cb.system.js.map} +1 -1
  264. package/dist/verdocs-web-sdk/{p-wKFmf5bX.system.js.map → p-TQtp_Nv2.system.js.map} +1 -1
  265. package/dist/verdocs-web-sdk/{p-BvI8gTGk.system.js.map → p-WCWuCFHk.system.js.map} +1 -1
  266. package/dist/verdocs-web-sdk/{p-ESsv28K0.system.js.map → p-a51WVEiq.system.js.map} +1 -1
  267. package/dist/verdocs-web-sdk/{p-c0c4b822.entry.js → p-a7e0e67a.entry.js} +2 -2
  268. package/dist/verdocs-web-sdk/{p-267c890e.entry.js → p-ad41a644.entry.js} +2 -2
  269. package/dist/verdocs-web-sdk/{p-333d4a2e.system.entry.js → p-b7d907b4.system.entry.js} +2 -2
  270. package/dist/verdocs-web-sdk/p-b83472cd.system.entry.js +2 -0
  271. package/dist/verdocs-web-sdk/p-b83472cd.system.entry.js.map +1 -0
  272. package/dist/verdocs-web-sdk/{p-e4b13df9.system.entry.js → p-bcffad7a.system.entry.js} +3 -3
  273. package/dist/verdocs-web-sdk/{p-8d5c3516.entry.js → p-c7bfe2f1.entry.js} +2 -2
  274. package/dist/verdocs-web-sdk/p-d4e3efdb.system.entry.js +8 -0
  275. package/dist/verdocs-web-sdk/p-d4e3efdb.system.entry.js.map +1 -0
  276. package/dist/verdocs-web-sdk/{p-081b245d.system.entry.js → p-d52e6117.system.entry.js} +2 -2
  277. package/dist/verdocs-web-sdk/{p-0faa3e84.entry.js → p-e262ea96.entry.js} +2 -2
  278. package/dist/verdocs-web-sdk/{p-8b2d4ca5.entry.js → p-f7f33a99.entry.js} +3 -3
  279. package/dist/verdocs-web-sdk/{p-lEpx1l-p.system.js → p-fEbwslLK.system.js} +2 -2
  280. package/dist/verdocs-web-sdk/{p-lEpx1l-p.system.js.map → p-fEbwslLK.system.js.map} +1 -1
  281. package/dist/verdocs-web-sdk/{p-0fcfde01.entry.js → p-fc308ef0.entry.js} +3 -3
  282. package/dist/verdocs-web-sdk/p-fc308ef0.entry.js.map +1 -0
  283. package/dist/verdocs-web-sdk/{p-0-YdlCL1.system.js.map → p-x_N0ZS08.system.js.map} +1 -1
  284. package/dist/verdocs-web-sdk/{p-DFNdvv2j.system.js.map → p-yFbTWZrj.system.js.map} +1 -1
  285. package/dist/verdocs-web-sdk/{p-D1RF_rpl.system.js.map → p-yUsULl32.system.js.map} +1 -1
  286. package/dist/verdocs-web-sdk/verdocs-field-payment.entry.esm.js.map +1 -1
  287. package/dist/verdocs-web-sdk/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.esm.js.map +1 -1
  288. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  289. package/package.json +1 -1
  290. package/dist/cjs/utils-ecG41L2k.js.map +0 -1
  291. package/dist/components/p-BZRJWqKI.js.map +0 -1
  292. package/dist/components/p-Bafj7hI1.js.map +0 -1
  293. package/dist/components/p-By2QlfRC.js.map +0 -1
  294. package/dist/components/p-CFi6VKgU.js.map +0 -1
  295. package/dist/components/p-CWGxLuye.js.map +0 -1
  296. package/dist/components/p-CYRfkDZa.js.map +0 -1
  297. package/dist/components/p-CjDMm6od.js.map +0 -1
  298. package/dist/components/p-DLV8jNf8.js.map +0 -1
  299. package/dist/components/p-Dj_oFCRK.js.map +0 -1
  300. package/dist/components/p-Dpu4D5bv.js.map +0 -1
  301. package/dist/components/p-DzM2oGUr.js.map +0 -1
  302. package/dist/components/p-_cxVjdiK.js.map +0 -1
  303. package/dist/components/p-bS8INhRF.js.map +0 -1
  304. package/dist/components/p-tyY7kKNB.js.map +0 -1
  305. package/dist/esm/utils-CerrMWqr.js.map +0 -1
  306. package/dist/esm-es5/utils-CerrMWqr.js +0 -2
  307. package/dist/esm-es5/utils-CerrMWqr.js.map +0 -1
  308. package/dist/verdocs-web-sdk/p-0fcfde01.entry.js.map +0 -1
  309. package/dist/verdocs-web-sdk/p-2e4d6431.system.entry.js +0 -8
  310. package/dist/verdocs-web-sdk/p-2e4d6431.system.entry.js.map +0 -1
  311. package/dist/verdocs-web-sdk/p-6bbe3f73.system.entry.js +0 -2
  312. package/dist/verdocs-web-sdk/p-6bbe3f73.system.entry.js.map +0 -1
  313. package/dist/verdocs-web-sdk/p-8e8c0110.entry.js +0 -2
  314. package/dist/verdocs-web-sdk/p-B390zQJa.js +0 -2
  315. package/dist/verdocs-web-sdk/p-B390zQJa.js.map +0 -1
  316. package/dist/verdocs-web-sdk/p-Bb7iRsoQ.system.js.map +0 -1
  317. package/dist/verdocs-web-sdk/p-CT1VA0C-.system.js.map +0 -1
  318. package/dist/verdocs-web-sdk/p-CaEXyfjG.system.js.map +0 -1
  319. package/dist/verdocs-web-sdk/p-a6b008ef.entry.js +0 -2
  320. package/dist/verdocs-web-sdk/p-a6b008ef.entry.js.map +0 -1
  321. package/dist/verdocs-web-sdk/p-aaad7b8a.system.entry.js +0 -2
  322. package/dist/verdocs-web-sdk/p-aaad7b8a.system.entry.js.map +0 -1
  323. package/dist/verdocs-web-sdk/p-edc49225.entry.js.map +0 -1
  324. package/dist/verdocs-web-sdk/p-f589tneI.system.js +0 -2
  325. package/dist/verdocs-web-sdk/p-f589tneI.system.js.map +0 -1
  326. /package/dist/verdocs-web-sdk/{p-2ff00959.system.entry.js.map → p-032e8fb0.system.entry.js.map} +0 -0
  327. /package/dist/verdocs-web-sdk/{p-fe5aabfb.entry.js.map → p-04981f9f.entry.js.map} +0 -0
  328. /package/dist/verdocs-web-sdk/{p-7f7da7d6.system.entry.js.map → p-066eaea8.system.entry.js.map} +0 -0
  329. /package/dist/verdocs-web-sdk/{p-53be15dc.entry.js.map → p-0b59a4a5.entry.js.map} +0 -0
  330. /package/dist/verdocs-web-sdk/{p-8229308e.system.entry.js.map → p-107a1995.system.entry.js.map} +0 -0
  331. /package/dist/verdocs-web-sdk/{p-b04c507f.system.entry.js.map → p-1b5b8ffa.system.entry.js.map} +0 -0
  332. /package/dist/verdocs-web-sdk/{p-be9c544d.system.entry.js.map → p-2ba8c771.system.entry.js.map} +0 -0
  333. /package/dist/verdocs-web-sdk/{p-5ee3ef82.entry.js.map → p-311bb5b2.entry.js.map} +0 -0
  334. /package/dist/verdocs-web-sdk/{p-069169a7.entry.js.map → p-3202f0eb.entry.js.map} +0 -0
  335. /package/dist/verdocs-web-sdk/{p-64b9e2de.entry.js.map → p-3be22031.entry.js.map} +0 -0
  336. /package/dist/verdocs-web-sdk/{p-f4c4a49e.system.entry.js.map → p-4424623c.system.entry.js.map} +0 -0
  337. /package/dist/verdocs-web-sdk/{p-7a086c18.entry.js.map → p-4f820bee.entry.js.map} +0 -0
  338. /package/dist/verdocs-web-sdk/{p-2fc50938.system.entry.js.map → p-53530f64.system.entry.js.map} +0 -0
  339. /package/dist/verdocs-web-sdk/{p-f1ca6e1c.system.entry.js.map → p-60cfa50a.system.entry.js.map} +0 -0
  340. /package/dist/verdocs-web-sdk/{p-93e9df57.system.entry.js.map → p-641dbbfa.system.entry.js.map} +0 -0
  341. /package/dist/verdocs-web-sdk/{p-8062bb99.entry.js.map → p-6d5af60f.entry.js.map} +0 -0
  342. /package/dist/verdocs-web-sdk/{p-6038e4c1.system.entry.js.map → p-774961dc.system.entry.js.map} +0 -0
  343. /package/dist/verdocs-web-sdk/{p-63c0f31d.system.entry.js.map → p-822694c1.system.entry.js.map} +0 -0
  344. /package/dist/verdocs-web-sdk/{p-9b367391.system.entry.js.map → p-91316504.system.entry.js.map} +0 -0
  345. /package/dist/verdocs-web-sdk/{p-0c24c1b8.entry.js.map → p-92b4f218.entry.js.map} +0 -0
  346. /package/dist/verdocs-web-sdk/{p-adcbb1c2.entry.js.map → p-9586b268.entry.js.map} +0 -0
  347. /package/dist/verdocs-web-sdk/{p-c0c4b822.entry.js.map → p-a7e0e67a.entry.js.map} +0 -0
  348. /package/dist/verdocs-web-sdk/{p-267c890e.entry.js.map → p-ad41a644.entry.js.map} +0 -0
  349. /package/dist/verdocs-web-sdk/{p-333d4a2e.system.entry.js.map → p-b7d907b4.system.entry.js.map} +0 -0
  350. /package/dist/verdocs-web-sdk/{p-e4b13df9.system.entry.js.map → p-bcffad7a.system.entry.js.map} +0 -0
  351. /package/dist/verdocs-web-sdk/{p-8d5c3516.entry.js.map → p-c7bfe2f1.entry.js.map} +0 -0
  352. /package/dist/verdocs-web-sdk/{p-081b245d.system.entry.js.map → p-d52e6117.system.entry.js.map} +0 -0
  353. /package/dist/verdocs-web-sdk/{p-0faa3e84.entry.js.map → p-e262ea96.entry.js.map} +0 -0
  354. /package/dist/verdocs-web-sdk/{p-8b2d4ca5.entry.js.map → p-f7f33a99.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"p-CherENoi.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.scss?tag=verdocs-template-role-properties","src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-role-properties {\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\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 margin-top: 10px;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n form {\n gap: 15px;\n padding: 20px;\n display: flex;\n flex-direction: column;\n\n .instructions {\n margin: 7px 0 0 0;\n font-size: 12px;\n font-style: italic;\n }\n\n .input-label {\n display: block;\n font-size: 14px;\n flex: 0 0 100px;\n font-weight: 700;\n margin: 0 0 4px 0;\n color: $label-color-light;\n }\n\n .first-last {\n gap: 15px;\n display: flex;\n flex-direction: row;\n }\n }\n\n form verdocs-help-icon {\n transform: scale(0.8);\n }\n\n verdocs-select-input {\n //flex: 1;\n //margin: 0;\n\n label {\n display: block;\n }\n }\n\n verdocs-text-input {\n margin: 0;\n\n label {\n display: block;\n }\n\n .input-label {\n flex: 0 0 100px;\n }\n\n input {\n flex: 1;\n display: flex;\n }\n\n verdocs-text-input {\n margin: 0;\n }\n }\n\n .checkbox-wrapper {\n flex: 1;\n display: flex;\n }\n\n .delete-button {\n height: 34px;\n display: flex;\n padding: 0 6px;\n cursor: pointer;\n background: none;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #999;\n justify-content: center;\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n &:active {\n background: #f3f3f3;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\nimport {deleteTemplateRole, getTemplate, isValidEmail, ITemplate, TRecipientType, updateTemplateRole, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#a50021\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0\" /></svg>`;\n\n/**\n * Present an editing form suitable for adjusting template-role properties.\n */\n@Component({\n tag: 'verdocs-template-role-properties',\n styleUrl: 'verdocs-template-role-properties.scss',\n})\nexport class VerdocsTemplateRoleProperties {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to edit.\n */\n @Prop() templateId: string = '';\n\n /**\n * The role name to edit.\n */\n @Prop() roleName: string = '';\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) close: EventEmitter;\n\n /**\n * Event fired when the user deletes the role. The parent should update its UI to reflect the removal. When this event is emitted,\n * the role will have already been deleted server-side.\n */\n @Event({composed: true}) delete: EventEmitter<{templateId: string; roleName: string}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() dirty = false;\n @State() saving = false;\n @State() name = '';\n @State() type: TRecipientType = 'signer';\n @State() first_name = '';\n @State() last_name = '';\n @State() email = '';\n @State() phone = '';\n @State() delegator = false;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[ROLES] Missing required template ID ${this.templateId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[ROLES] Unable to start builder session, must be authenticated');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[ROLES Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[ROLES] Loading tempate', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n console.log('[BUILD] Template Updated', template);\n this.template = template;\n this.loading = false;\n\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n console.log('[ROLES] Editing role', editingRole);\n }\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n handleCancel(e) {\n e.stopPropagation();\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n }\n\n this.dirty = false;\n this.close?.emit();\n }\n\n async handleSave(e) {\n e.stopPropagation();\n this.saving = true;\n updateTemplateRole(this.endpoint, this.templateId, this.roleName, {\n name: this.name,\n type: this.type,\n first_name: this.first_name,\n last_name: this.last_name,\n email: this.email,\n phone: this.phone,\n delegator: this.delegator,\n })\n .then(async r => {\n console.log('[ROLES] Update result', r);\n this.saving = false;\n this.dirty = false;\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n const roleIndex = newTemplate.roles.findIndex(role => role.name === this.roleName);\n if (roleIndex > -1) {\n newTemplate.roles[roleIndex] = r;\n }\n Store.updateTemplate(this.templateId, newTemplate);\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Update error', e);\n this.saving = false;\n });\n }\n\n async handleDelete(e) {\n e.stopPropagation();\n if (window.confirm('Are you sure you wish to remove this role? All associated fields will be removed as well. This action cannot be undone.')) {\n deleteTemplateRole(this.endpoint, this.templateId, this.roleName)\n .then(() => {\n const newTemplate = JSON.parse(JSON.stringify(this.template)) as ITemplate;\n newTemplate.roles = newTemplate.roles.filter(role => role.name !== this.roleName);\n Store.getTemplate(this.endpoint, this.templateId, true);\n // Store.updateTemplate(this.templateId, newTemplate);\n this.delete?.emit({templateId: this.templateId, roleName: this.roleName});\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Deletion error', e);\n });\n }\n }\n\n render() {\n const hasFields = (this.template?.fields || []).some(field => field.role_name === this.roleName);\n\n // Either all three should be empty, or all three need to be filled\n const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);\n\n return (\n <Host>\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <div>\n <verdocs-text-input\n id=\"verdocs-role-name\"\n label=\"Role Name (Must be unique)\"\n value={this.name}\n autocomplete=\"off\"\n disabled={hasFields}\n placeholder=\"Role Name...\"\n onInput={(e: any) => {\n this.name = e.target.value;\n this.dirty = true;\n }}\n />\n\n {hasFields && <div class=\"instructions\">This role has fields assigned and can no longer be renamed.</div>}\n {/*<div class=\"instructions\">{hasFields ? 'This role has fields assigned and can no longer be renamed.' : 'A unique name to identify the role in the workflow.'}</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Type:</div>\n <verdocs-select-input\n value={this.type}\n options={[\n {label: 'Signer', value: 'signer'},\n {label: 'CC', value: 'cc'},\n {label: 'Approver', value: 'approver'},\n ]}\n onInput={(e: any) => {\n this.type = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">*/}\n {/* Most participants are Signers. CC roles are notified when documents are signed, but have no other actions. Approvers get notified when signing is completed to perform*/}\n {/* a final review.*/}\n {/*</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Default Contact Info:</div>\n\n <div class=\"first-last\">\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.first_name}\n autocomplete=\"off\"\n placeholder=\"First...\"\n onInput={(e: any) => {\n this.first_name = e.target.value;\n this.dirty = true;\n }}\n />\n\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.last_name}\n autocomplete=\"off\"\n placeholder=\"Last...\"\n onInput={(e: any) => {\n this.last_name = e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n </div>\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-email\"\n value={this.email}\n autocomplete=\"off\"\n placeholder=\"Email Address...\"\n onInput={(e: any) => {\n this.email = e.target.value;\n this.dirty = true;\n }}\n />\n\n <div style={{height: '15px'}} />\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-phone\"\n value={this.phone}\n autocomplete=\"off\"\n // helpText=\"The recipient's phone number, if it will always stay the same. Leave blank to supply this value later, when each new envelope is created from the template.\"\n placeholder=\"Phone Number...\"\n onInput={(e: any) => {\n this.phone = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">Default name and contact information. This may be changed later when creating and envelope with this template.</div>*/}\n </div>\n </div>\n\n {/*<div class=\"row\">*/}\n {/* <div class=\"input-label\">May Delegate:</div>*/}\n {/* <div class=\"checkbox-wrapper\">*/}\n {/* <verdocs-checkbox*/}\n {/* checked={this.delegator}*/}\n {/* onInput={(e: any) => {*/}\n {/* this.delegator = e.target.checked;*/}\n {/* this.dirty = true;*/}\n {/* }}*/}\n {/* />*/}\n {/* </div>*/}\n\n {/* <verdocs-help-icon text=\"If enabled, this recipient may delegate their actions to another individual.\" />*/}\n {/*</div>*/}\n\n <div class=\"buttons\">\n <button class=\"delete-button\" disabled={this.dirty} onClick={e => this.handleDelete(e)} innerHTML={TrashIcon} />\n\n <div style={{flex: '1'}} />\n\n {/*<verdocs-button size=\"small\" variant=\"outline\" label=\"Cancel\" disabled={!this.dirty} onClick={e => this.handleCancel(e)} />*/}\n <verdocs-button size=\"small\" label=\"Save\" disabled={!this.dirty || !isValid} onClick={e => this.handleSave(e)} />\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-BCiVZnf0.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.scss?tag=verdocs-template-role-properties","src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-role-properties {\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\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 margin-top: 10px;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n form {\n gap: 15px;\n padding: 20px;\n display: flex;\n flex-direction: column;\n\n .instructions {\n margin: 7px 0 0 0;\n font-size: 12px;\n font-style: italic;\n }\n\n .input-label {\n display: block;\n font-size: 14px;\n flex: 0 0 100px;\n font-weight: 700;\n margin: 0 0 4px 0;\n color: $label-color-light;\n }\n\n .first-last {\n gap: 15px;\n display: flex;\n flex-direction: row;\n }\n }\n\n form verdocs-help-icon {\n transform: scale(0.8);\n }\n\n verdocs-select-input {\n //flex: 1;\n //margin: 0;\n\n label {\n display: block;\n }\n }\n\n verdocs-text-input {\n margin: 0;\n\n label {\n display: block;\n }\n\n .input-label {\n flex: 0 0 100px;\n }\n\n input {\n flex: 1;\n display: flex;\n }\n\n verdocs-text-input {\n margin: 0;\n }\n }\n\n .checkbox-wrapper {\n flex: 1;\n display: flex;\n }\n\n .delete-button {\n height: 34px;\n display: flex;\n padding: 0 6px;\n cursor: pointer;\n background: none;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #999;\n justify-content: center;\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n &:active {\n background: #f3f3f3;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\nimport {deleteTemplateRole, getTemplate, isValidEmail, ITemplate, TRecipientType, updateTemplateRole, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#a50021\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0\" /></svg>`;\n\n/**\n * Present an editing form suitable for adjusting template-role properties.\n */\n@Component({\n tag: 'verdocs-template-role-properties',\n styleUrl: 'verdocs-template-role-properties.scss',\n})\nexport class VerdocsTemplateRoleProperties {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to edit.\n */\n @Prop() templateId: string = '';\n\n /**\n * The role name to edit.\n */\n @Prop() roleName: string = '';\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) close: EventEmitter;\n\n /**\n * Event fired when the user deletes the role. The parent should update its UI to reflect the removal. When this event is emitted,\n * the role will have already been deleted server-side.\n */\n @Event({composed: true}) delete: EventEmitter<{templateId: string; roleName: string}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() dirty = false;\n @State() saving = false;\n @State() name = '';\n @State() type: TRecipientType = 'signer';\n @State() first_name = '';\n @State() last_name = '';\n @State() email = '';\n @State() phone = '';\n @State() delegator = false;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[ROLES] Missing required template ID ${this.templateId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[ROLES] Unable to start builder session, must be authenticated');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[ROLES Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[ROLES] Loading tempate', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n console.log('[BUILD] Template Updated', template);\n this.template = template;\n this.loading = false;\n\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n console.log('[ROLES] Editing role', editingRole);\n }\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n handleCancel(e) {\n e.stopPropagation();\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n }\n\n this.dirty = false;\n this.close?.emit();\n }\n\n async handleSave(e) {\n e.stopPropagation();\n this.saving = true;\n updateTemplateRole(this.endpoint, this.templateId, this.roleName, {\n name: this.name,\n type: this.type,\n first_name: this.first_name,\n last_name: this.last_name,\n email: this.email,\n phone: this.phone,\n delegator: this.delegator,\n })\n .then(async r => {\n console.log('[ROLES] Update result', r);\n this.saving = false;\n this.dirty = false;\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n const roleIndex = newTemplate.roles.findIndex(role => role.name === this.roleName);\n if (roleIndex > -1) {\n newTemplate.roles[roleIndex] = r;\n }\n Store.updateTemplate(this.templateId, newTemplate);\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Update error', e);\n this.saving = false;\n });\n }\n\n async handleDelete(e) {\n e.stopPropagation();\n if (window.confirm('Are you sure you wish to remove this role? All associated fields will be removed as well. This action cannot be undone.')) {\n deleteTemplateRole(this.endpoint, this.templateId, this.roleName)\n .then(() => {\n const newTemplate = JSON.parse(JSON.stringify(this.template)) as ITemplate;\n newTemplate.roles = newTemplate.roles.filter(role => role.name !== this.roleName);\n Store.getTemplate(this.endpoint, this.templateId, true);\n // Store.updateTemplate(this.templateId, newTemplate);\n this.delete?.emit({templateId: this.templateId, roleName: this.roleName});\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Deletion error', e);\n });\n }\n }\n\n render() {\n const hasFields = (this.template?.fields || []).some(field => field.role_name === this.roleName);\n\n // Either all three should be empty, or all three need to be filled\n const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);\n\n return (\n <Host>\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <div>\n <verdocs-text-input\n id=\"verdocs-role-name\"\n label=\"Role Name (Must be unique)\"\n value={this.name}\n autocomplete=\"off\"\n disabled={hasFields}\n placeholder=\"Role Name...\"\n onInput={(e: any) => {\n this.name = e.target.value;\n this.dirty = true;\n }}\n />\n\n {hasFields && <div class=\"instructions\">This role has fields assigned and can no longer be renamed.</div>}\n {/*<div class=\"instructions\">{hasFields ? 'This role has fields assigned and can no longer be renamed.' : 'A unique name to identify the role in the workflow.'}</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Type:</div>\n <verdocs-select-input\n value={this.type}\n options={[\n {label: 'Signer', value: 'signer'},\n {label: 'CC', value: 'cc'},\n {label: 'Approver', value: 'approver'},\n ]}\n onInput={(e: any) => {\n this.type = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">*/}\n {/* Most participants are Signers. CC roles are notified when documents are signed, but have no other actions. Approvers get notified when signing is completed to perform*/}\n {/* a final review.*/}\n {/*</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Default Contact Info:</div>\n\n <div class=\"first-last\">\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.first_name}\n autocomplete=\"off\"\n placeholder=\"First...\"\n onInput={(e: any) => {\n this.first_name = e.target.value;\n this.dirty = true;\n }}\n />\n\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.last_name}\n autocomplete=\"off\"\n placeholder=\"Last...\"\n onInput={(e: any) => {\n this.last_name = e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n </div>\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-email\"\n value={this.email}\n autocomplete=\"off\"\n placeholder=\"Email Address...\"\n onInput={(e: any) => {\n this.email = e.target.value;\n this.dirty = true;\n }}\n />\n\n <div style={{height: '15px'}} />\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-phone\"\n value={this.phone}\n autocomplete=\"off\"\n // helpText=\"The recipient's phone number, if it will always stay the same. Leave blank to supply this value later, when each new envelope is created from the template.\"\n placeholder=\"Phone Number...\"\n onInput={(e: any) => {\n this.phone = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">Default name and contact information. This may be changed later when creating and envelope with this template.</div>*/}\n </div>\n </div>\n\n {/*<div class=\"row\">*/}\n {/* <div class=\"input-label\">May Delegate:</div>*/}\n {/* <div class=\"checkbox-wrapper\">*/}\n {/* <verdocs-checkbox*/}\n {/* checked={this.delegator}*/}\n {/* onInput={(e: any) => {*/}\n {/* this.delegator = e.target.checked;*/}\n {/* this.dirty = true;*/}\n {/* }}*/}\n {/* />*/}\n {/* </div>*/}\n\n {/* <verdocs-help-icon text=\"If enabled, this recipient may delegate their actions to another individual.\" />*/}\n {/*</div>*/}\n\n <div class=\"buttons\">\n <button class=\"delete-button\" disabled={this.dirty} onClick={e => this.handleDelete(e)} innerHTML={TrashIcon} />\n\n <div style={{flex: '1'}} />\n\n {/*<verdocs-button size=\"small\" variant=\"outline\" label=\"Cancel\" disabled={!this.dirty} onClick={e => this.handleCancel(e)} />*/}\n <verdocs-button size=\"small\" label=\"Save\" disabled={!this.dirty || !isValid} onClick={e => this.handleSave(e)} />\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@ import { p as proxyCustomElement, H, c as createEvent, h, d as Host, F as Fragme
2
2
  import { i as interact } from './p-CGNX5HqF.js';
3
3
  import { VerdocsEndpoint, updateField } from '@verdocs/js-sdk';
4
4
  import { S as SettingsIcon } from './p-BDv5kBUR.js';
5
- import { S as Store } from './p-bS8INhRF.js';
5
+ import { S as Store } from './p-C7hFgM52.js';
6
6
  import { d as defineCustomElement$9 } from './p-C_yyK5xE.js';
7
7
  import { d as defineCustomElement$8 } from './p-BvV9rOTP.js';
8
8
  import { d as defineCustomElement$7 } from './p-CdmWI0-q.js';
@@ -10,7 +10,7 @@ import { d as defineCustomElement$6 } from './p-CnPaJH5T.js';
10
10
  import { d as defineCustomElement$5 } from './p-CNKACBaL.js';
11
11
  import { d as defineCustomElement$4 } from './p-DUYRis3A.js';
12
12
  import { d as defineCustomElement$3 } from './p-C1AtapGD.js';
13
- import { d as defineCustomElement$2 } from './p-Cal5IvqT.js';
13
+ import { d as defineCustomElement$2 } from './p-DmEzMnt3.js';
14
14
  import { d as defineCustomElement$1 } from './p--qy4LrSt.js';
15
15
 
16
16
  const verdocsFieldSignatureCss = "verdocs-field-signature{font-family:var(--verdocs-primary-font, \"Inter\", \"Barlow\", sans-serif);width:83px;height:36px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;letter-spacing:0.3px;background-color:var(--verdocs-field-background, transparent);-webkit-transform-origin:bottom left;transform-origin:bottom left;border:var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));border-radius:var(--verdocs-field-radius);cursor:pointer;caret-color:transparent}verdocs-field-signature label{top:-14px;left:-1px;height:14px;color:var(--verdocs-field-text-color, white);padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-signature.done{border:none;opacity:1}verdocs-field-signature.menu-open{z-index:50}verdocs-field-signature .signature-container{width:100%;height:100%;position:relative}verdocs-field-signature .signature-container img{display:block;height:100%;width:auto;max-width:none;max-height:none}verdocs-field-signature .signature-container .action-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:90px;background:#ffffff;border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;-webkit-box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;font-size:12px;font-family:var(--verdocs-primary-font, \"Inter\", \"Barlow\", sans-serif)}verdocs-field-signature .signature-container .action-menu .menu-item{background:#ffffff;border:none;padding:8px 12px;color:#333333;cursor:pointer;text-align:left;width:100%;font-size:12px;line-height:1.2;height:auto;font-family:inherit}verdocs-field-signature .signature-container .action-menu .menu-item:hover{background-color:#f0f0f0;color:#000000}verdocs-field-signature .signature-container .action-menu .menu-item:not(:last-child){border-bottom:1px solid rgba(0, 0, 0, 0.08)}verdocs-field-signature.disabled .signature-container{opacity:0.5;pointer-events:none}verdocs-field-signature button{cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px}verdocs-field-signature button.hide{display:none}verdocs-field-signature.required{border:1px solid var(--verdocs-required-field-border)}verdocs-field-signature.filled{border:none !important;background-color:transparent !important}verdocs-field-signature verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-signature verdocs-button-panel[data-active],verdocs-field-signature verdocs-button-panel:hover{opacity:1}verdocs-field-signature verdocs-button-panel .icon svg{fill:#333333}verdocs-field-signature verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-signature .settings-icon{position:absolute;top:-3px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-signature .settings-icon svg{fill:#707ae5}verdocs-field-signature .settings-icon:hover{opacity:1}verdocs-field-signature .edge-top,verdocs-field-signature .edge-right,verdocs-field-signature .edge-left,verdocs-field-signature .edge-bottom{position:absolute;z-index:10}verdocs-field-signature .edge-top{top:-2px;left:0;right:0;height:5px}verdocs-field-signature .edge-right{top:0;bottom:0;right:-2px;width:5px}verdocs-field-signature .edge-left{top:0;left:-2px;bottom:0;width:5px}verdocs-field-signature .edge-bottom{bottom:-2px;left:0;right:0;height:5px}";
@@ -130,11 +130,13 @@ const VerdocsFieldSignature = /*@__PURE__*/ proxyCustomElement(class VerdocsFiel
130
130
  document.removeEventListener('pointerdown', this.outsideMenuHandler);
131
131
  this.outsideMenuHandler = null;
132
132
  }
133
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
134
+ interact(this.el).unset();
133
135
  }
134
- componentDidUpdate() {
135
- if (this.isPreview) {
136
+ onEditableChanged(newVal, oldVal) {
137
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
138
+ if (oldVal && !newVal) {
136
139
  interact(this.el).unset();
137
- return;
138
140
  }
139
141
  }
140
142
  componentDidRender() {
@@ -230,9 +232,9 @@ const VerdocsFieldSignature = /*@__PURE__*/ proxyCustomElement(class VerdocsFiel
230
232
  const { base64 } = settings;
231
233
  const signerClass = `signer-${(index % 10) + 1}`;
232
234
  if (done) {
233
- return h(Host, { class: { done } }, value && h("img", { src: base64, alt: "" }));
235
+ return h(Host, { class: { 'verdocs-field': true, done } }, value && h("img", { src: base64, alt: "" }));
234
236
  }
235
- return (h(Host, { class: { required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), base64 ? (h("div", { class: { 'signature-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
237
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true } }, editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), base64 ? (h("div", { class: { 'signature-container': true, 'menu-open': this.menuOpen }, onMouseEnter: () => !disabled && this.openMenu(), onMouseLeave: () => this.scheduleCloseMenu(), onClick: e => {
236
238
  e.stopPropagation();
237
239
  if (disabled)
238
240
  return;
@@ -278,6 +280,9 @@ const VerdocsFieldSignature = /*@__PURE__*/ proxyCustomElement(class VerdocsFiel
278
280
  }, helpText: "Signature fields capture a recipient's signature on a document." })))))));
279
281
  }
280
282
  get el() { return this; }
283
+ static get watchers() { return {
284
+ "editable": ["onEditableChanged"]
285
+ }; }
281
286
  static get style() { return verdocsFieldSignatureCss; }
282
287
  }, [256, "verdocs-field-signature", {
283
288
  "source": [513],
@@ -301,7 +306,9 @@ const VerdocsFieldSignature = /*@__PURE__*/ proxyCustomElement(class VerdocsFiel
301
306
  "focusField": [64],
302
307
  "showSettingsPanel": [64],
303
308
  "hideSettingsPanel": [64]
304
- }, [[0, "blur", "handleBlur"], [0, "blur", "onBlur"]]]);
309
+ }, [[0, "blur", "handleBlur"], [0, "blur", "onBlur"]], {
310
+ "editable": ["onEditableChanged"]
311
+ }]);
305
312
  function defineCustomElement() {
306
313
  if (typeof customElements === "undefined") {
307
314
  return;
@@ -362,6 +369,6 @@ function defineCustomElement() {
362
369
  }
363
370
 
364
371
  export { VerdocsFieldSignature as V, defineCustomElement as d };
365
- //# sourceMappingURL=p-DLV8jNf8.js.map
372
+ //# sourceMappingURL=p-BUaaBFra.js.map
366
373
 
367
- //# sourceMappingURL=p-DLV8jNf8.js.map
374
+ //# sourceMappingURL=p-BUaaBFra.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-BUaaBFra.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/fields/verdocs-field-signature/verdocs-field-signature.scss?tag=verdocs-field-signature","src/components/fields/verdocs-field-signature/verdocs-field-signature.tsx"],"sourcesContent":["@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 // Host is focusable via tabindex; hide any browser-rendered text caret and use a pointer cursor\n // so it doesn't look like an editable text area.\n cursor: pointer;\n caret-color: transparent;\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 // When the Edit/Clear dropdown is open, raise this field above its siblings so\n // the menu isn't clipped by neighboring fields.\n &.menu-open {\n z-index: 50;\n }\n\n .signature-container {\n width: 100%;\n height: 100%;\n position: relative;\n\n img {\n display: block;\n height: 100%;\n width: auto;\n max-width: none;\n max-height: none;\n }\n\n .action-menu {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 90px;\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 6px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n z-index: 1000;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-size: 12px;\n font-family: $verdocs-primary-font;\n\n .menu-item {\n background: #ffffff;\n border: none;\n padding: 8px 12px;\n color: #333333;\n cursor: pointer;\n text-align: left;\n width: 100%;\n font-size: 12px;\n line-height: 1.2;\n height: auto;\n font-family: inherit;\n\n &:hover {\n background-color: #f0f0f0;\n color: #000000;\n }\n\n &:not(:last-child) {\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n }\n }\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 &.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","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, Watch} from '@stencil/core';\nimport {SettingsIcon} 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 * If set to true, it will force interact to unset the el, resulting in no dragging the field.\n */\n @Prop({reflect: true}) isPreview?: boolean;\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 = false;\n @State() menuOpen = false;\n\n private closeMenuTimer: any = null;\n private outsideMenuHandler: ((e: Event) => void) | null = null;\n\n @Listen('blur')\n handleBlur() {\n this.focused = false;\n }\n\n @Event({composed: true}) adopt: EventEmitter;\n\n @Method()\n async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempSignature: string = '';\n\n componentDidLoad() {\n this.outsideMenuHandler = (e: Event) => {\n if (this.menuOpen && !this.el.contains(e.target as Node)) {\n this.closeMenu();\n }\n };\n document.addEventListener('pointerdown', this.outsideMenuHandler);\n }\n\n disconnectedCallback() {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n if (this.outsideMenuHandler) {\n document.removeEventListener('pointerdown', this.outsideMenuHandler);\n this.outsideMenuHandler = null;\n }\n // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere\n interact(this.el).unset();\n }\n\n private openMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n this.menuOpen = true;\n };\n\n private scheduleCloseMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n }\n this.closeMenuTimer = setTimeout(() => {\n this.menuOpen = false;\n this.closeMenuTimer = null;\n }, 150);\n };\n\n private closeMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n this.menuOpen = false;\n };\n\n @Watch('editable')\n onEditableChanged(newVal: boolean, oldVal: boolean) {\n // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings\n if (oldVal && !newVal) {\n interact(this.el).unset();\n }\n }\n\n componentDidRender() {\n interact.dynamicDrop(true);\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={{'verdocs-field': true,done}}>{value && <img src={base64} alt=\"\" />}</Host>;\n }\n\n return (\n <Host class={{'verdocs-field': true,required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [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\n class={{'signature-container': true, 'menu-open': this.menuOpen}}\n onMouseEnter={() => !disabled && this.openMenu()}\n onMouseLeave={() => this.scheduleCloseMenu()}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n this.menuOpen ? this.closeMenu() : this.openMenu();\n }}\n >\n <img src={base64} alt=\"Signature\" />\n {this.menuOpen && (\n <div class=\"action-menu\" onMouseEnter={() => this.openMenu()} onMouseLeave={() => this.scheduleCloseMenu()}>\n <button\n type=\"button\"\n class=\"menu-item\"\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n console.log('[SIGNATURE] Editing signature');\n this.closeMenu();\n this.adopt.emit();\n }}\n >\n Edit\n </button>\n <button\n type=\"button\"\n class=\"menu-item\"\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n console.log('[SIGNATURE] Clearing signature');\n this.closeMenu();\n this.fieldChange?.emit(null);\n }}\n >\n Clear\n </button>\n </div>\n )}\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"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, d as Host } from './p-CUAGH_8P.js';
2
2
  import { i as interact } from './p-CGNX5HqF.js';
3
3
  import { S as SettingsIcon } from './p-BDv5kBUR.js';
4
- import { S as Store } from './p-bS8INhRF.js';
4
+ import { S as Store } from './p-C7hFgM52.js';
5
5
  import { d as defineCustomElement$9 } from './p-C_yyK5xE.js';
6
6
  import { d as defineCustomElement$8 } from './p-BvV9rOTP.js';
7
7
  import { d as defineCustomElement$7 } from './p-CdmWI0-q.js';
@@ -9,7 +9,7 @@ import { d as defineCustomElement$6 } from './p-CnPaJH5T.js';
9
9
  import { d as defineCustomElement$5 } from './p-CNKACBaL.js';
10
10
  import { d as defineCustomElement$4 } from './p-DUYRis3A.js';
11
11
  import { d as defineCustomElement$3 } from './p-C1AtapGD.js';
12
- import { d as defineCustomElement$2 } from './p-Cal5IvqT.js';
12
+ import { d as defineCustomElement$2 } from './p-DmEzMnt3.js';
13
13
  import { d as defineCustomElement$1 } from './p--qy4LrSt.js';
14
14
 
15
15
  const verdocsFieldDropdownCss = "verdocs-field-dropdown{font-family:var(--verdocs-primary-font, \"Inter\", \"Barlow\", sans-serif);width:85px;height:20px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;background-color:var(--verdocs-field-background, transparent);-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:var(--verdocs-field-radius)}verdocs-field-dropdown label{top:-14px;left:0;height:14px;color:white;padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-dropdown select{cursor:inherit;position:absolute;background:linear-gradient(55deg, transparent 50%, var(--verdocs-field-text-color, #333) 50%), linear-gradient(125deg, var(--verdocs-field-text-color, #333) 50%, transparent 50%), linear-gradient(to right, transparent, transparent);background-position:calc(100% - 7px) 6px, calc(100% - 3px) 6px, 100% 0;background-size:5px 5px, 5px 5px, 2.5em 2.5em;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;font-size:11px;border:var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));border-radius:var(--verdocs-field-radius);padding:0 5px}verdocs-field-dropdown select:focus{outline:none}verdocs-field-dropdown select.hide{display:none}verdocs-field-dropdown.disabled select{opacity:0.5}verdocs-field-dropdown.required select{border:1px solid var(--verdocs-required-field-border)}verdocs-field-dropdown verdocs-button-panel{display:block;margin-left:-33px;margin-top:-1px;-webkit-transform:scale(0.7);transform:scale(0.7)}verdocs-field-dropdown .settings-icon{position:absolute;top:-2px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-dropdown .settings-icon svg{fill:#707ae5}verdocs-field-dropdown .settings-icon:hover{opacity:1}";
@@ -101,12 +101,16 @@ const VerdocsFieldDropdown = /*@__PURE__*/ proxyCustomElement(class VerdocsField
101
101
  settingsPanel.hidePanel();
102
102
  }
103
103
  }
104
- componentDidUpdate() {
105
- if (this.isPreview) {
104
+ onEditableChanged(newVal, oldVal) {
105
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
106
+ if (oldVal && !newVal) {
106
107
  interact(this.el).unset();
107
- return;
108
108
  }
109
109
  }
110
+ disconnectedCallback() {
111
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
112
+ interact(this.el).unset();
113
+ }
110
114
  render() {
111
115
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
112
116
  const { index, field } = Store.getField(source, sourceid, fieldname, this.field);
@@ -117,12 +121,12 @@ const VerdocsFieldDropdown = /*@__PURE__*/ proxyCustomElement(class VerdocsField
117
121
  value = field === null || field === void 0 ? void 0 : field.value;
118
122
  }
119
123
  if (done) {
120
- return h(Host, { class: { done } }, value);
124
+ return h(Host, { class: { 'verdocs-field': true, done } }, value);
121
125
  }
122
126
  // TODO: Look for other places this mistaken assumption was made.
123
127
  // Defaults only apply in destructuring if undefined. null doesn't trigger it.
124
128
  options || (options = []);
125
- return (h(Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("select", { disabled: readonly || disabled, onChange: e => this.handleChange(e), onFocus: () => (this.focused = true), ref: el => (this.selectEl = el) }, h("option", { value: "" }, "Select..."), options.map(option => (h("option", { value: option.id, selected: option.id === value }, option.label))), !options.length && (h("option", { value: "NA", selected: 'NA' === value }, "N/A"))), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
129
+ return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("select", { disabled: readonly || disabled, onChange: e => this.handleChange(e), onFocus: () => (this.focused = true), ref: el => (this.selectEl = el) }, h("option", { value: "" }, "Select..."), options.map(option => (h("option", { value: option.id, selected: option.id === value }, option.label))), !options.length && (h("option", { value: "NA", selected: 'NA' === value }, "N/A"))), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
126
130
  e.stopPropagation();
127
131
  this.showingProperties = !this.showingProperties;
128
132
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -136,6 +140,9 @@ const VerdocsFieldDropdown = /*@__PURE__*/ proxyCustomElement(class VerdocsField
136
140
  }, helpText: "Dropdowns are used to capture a recipient's selection of one of several options." })))))));
137
141
  }
138
142
  get el() { return this; }
143
+ static get watchers() { return {
144
+ "editable": ["onEditableChanged"]
145
+ }; }
139
146
  static get style() { return verdocsFieldDropdownCss; }
140
147
  }, [256, "verdocs-field-dropdown", {
141
148
  "source": [513],
@@ -155,7 +162,9 @@ const VerdocsFieldDropdown = /*@__PURE__*/ proxyCustomElement(class VerdocsField
155
162
  "focusField": [64],
156
163
  "showSettingsPanel": [64],
157
164
  "hideSettingsPanel": [64]
158
- }, [[2, "blur", "handleBlur"]]]);
165
+ }, [[2, "blur", "handleBlur"]], {
166
+ "editable": ["onEditableChanged"]
167
+ }]);
159
168
  function defineCustomElement() {
160
169
  if (typeof customElements === "undefined") {
161
170
  return;
@@ -216,6 +225,6 @@ function defineCustomElement() {
216
225
  }
217
226
 
218
227
  export { VerdocsFieldDropdown as V, defineCustomElement as d };
219
- //# sourceMappingURL=p-BZRJWqKI.js.map
228
+ //# sourceMappingURL=p-BVu-nE_L.js.map
220
229
 
221
- //# sourceMappingURL=p-BZRJWqKI.js.map
230
+ //# sourceMappingURL=p-BVu-nE_L.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-BVu-nE_L.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.scss?tag=verdocs-field-dropdown","src/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.tsx"],"sourcesContent":["@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 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","import interact from 'interactjs';\nimport {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State, Listen, Element, Watch} 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 @Element() el: HTMLElement;\n private 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 to true, it will force interact to unset the el, resulting in no dragging the field.\n */\n @Prop({reflect: true}) isPreview?: boolean;\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 @Listen('blur', {capture: true})\n handleBlur() {\n this.focused = false;\n }\n\n @Method()\n async focusField() {\n this.selectEl.focus();\n this.focused = true;\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 @Watch('editable')\n onEditableChanged(newVal: boolean, oldVal: boolean) {\n // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings\n if (oldVal && !newVal) {\n interact(this.el).unset();\n }\n }\n\n disconnectedCallback() {\n // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere\n interact(this.el).unset();\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={{'verdocs-field': true,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={{'verdocs-field': true,required, disabled, done, focused, [signerClass]: true}}>\n {label && <label>{label}</label>}\n\n <select disabled={readonly || disabled} onChange={e => this.handleChange(e)} onFocus={() => (this.focused = true)} 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"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host, F as Fragment } from './p-CUAGH_8P.js';
2
2
  import { i as interact } from './p-CGNX5HqF.js';
3
3
  import { S as SettingsIcon } from './p-BDv5kBUR.js';
4
- import { S as Store } from './p-bS8INhRF.js';
4
+ import { S as Store } from './p-C7hFgM52.js';
5
5
  import { d as defineCustomElement$9 } from './p-C_yyK5xE.js';
6
6
  import { d as defineCustomElement$8 } from './p-BvV9rOTP.js';
7
7
  import { d as defineCustomElement$7 } from './p-CdmWI0-q.js';
@@ -9,7 +9,7 @@ import { d as defineCustomElement$6 } from './p-CnPaJH5T.js';
9
9
  import { d as defineCustomElement$5 } from './p-CNKACBaL.js';
10
10
  import { d as defineCustomElement$4 } from './p-DUYRis3A.js';
11
11
  import { d as defineCustomElement$3 } from './p-C1AtapGD.js';
12
- import { d as defineCustomElement$2 } from './p-Cal5IvqT.js';
12
+ import { d as defineCustomElement$2 } from './p-DmEzMnt3.js';
13
13
  import { d as defineCustomElement$1 } from './p--qy4LrSt.js';
14
14
 
15
15
  const verdocsFieldRadioCss = "verdocs-field-radio{font-family:var(--verdocs-primary-font, \"Inter\", \"Barlow\", sans-serif);width:14px;height:14px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100%}verdocs-field-radio svg{margin-top:4px}verdocs-field-radio.disabled.done{opacity:1}verdocs-field-radio div.label{top:-14px;left:-1px;height:14px;color:white;padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-radio div.group{top:14px;left:-1px;height:14px;color:white;padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#bb0589;border-bottom-left-radius:2px;border-bottom-right-radius:2px}verdocs-field-radio input{cursor:inherit}verdocs-field-radio.disabled input{opacity:0.5}verdocs-field-radio.done input[type=radio]{margin:0;padding:0;width:10px;height:10px}verdocs-field-radio:not(.done) input[type=radio]{position:absolute;opacity:0}verdocs-field-radio:not(.done) input[type=radio]+label:before{content:\"\";border-radius:100%;border:1px solid rgba(0, 0, 0, 0.6);display:inline-block;width:12px;height:12px;position:absolute;left:1px;top:1px;cursor:pointer;text-align:center;-webkit-transition:all 250ms ease;transition:all 250ms ease}verdocs-field-radio:not(.done) input[type=radio]:checked+label:before{background-color:#55bc81;-webkit-box-shadow:inset 0 0 0 2px #f5f5fa;box-shadow:inset 0 0 0 2px #f5f5fa}verdocs-field-radio:not(.done) input[type=radio]:focus+label:before{outline:none;border-color:#55bc81}verdocs-field-radio:not(.done) input[type=radio]:disabled+label:before{-webkit-box-shadow:inset 0 0 0 4px #f5f5fa;box-shadow:inset 0 0 0 4px #f5f5fa;border-color:#f3f3fc;background:#f3f3fc}verdocs-field-radio:not(.done) input[type=radio]+label:empty:before{margin-right:0}verdocs-field-radio.required{border:1px solid var(--verdocs-required-field-border)}verdocs-field-radio.hide{display:none}verdocs-field-radio verdocs-button-panel{margin-left:-20px;margin-top:-7px;-webkit-transform:scale(0.7);transform:scale(0.7)}verdocs-field-radio .settings-icon{position:absolute;top:-6px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-radio .settings-icon svg{fill:#707ae5}verdocs-field-radio .settings-icon:hover{opacity:1}";
@@ -96,12 +96,16 @@ const VerdocsFieldRadio = /*@__PURE__*/ proxyCustomElement(class VerdocsFieldRad
96
96
  settingsPanel.hidePanel();
97
97
  }
98
98
  }
99
- componentDidUpdate() {
100
- if (this.isPreview) {
99
+ onEditableChanged(newVal, oldVal) {
100
+ // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
101
+ if (oldVal && !newVal) {
101
102
  interact(this.el).unset();
102
- return;
103
103
  }
104
104
  }
105
+ disconnectedCallback() {
106
+ // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
107
+ interact(this.el).unset();
108
+ }
105
109
  render() {
106
110
  const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
107
111
  const { index, field } = Store.getField(source, sourceid, fieldname, this.field);
@@ -109,9 +113,9 @@ const VerdocsFieldRadio = /*@__PURE__*/ proxyCustomElement(class VerdocsFieldRad
109
113
  const signerClass = `signer-${(index % 10) + 1}`;
110
114
  const selected = value === 'true';
111
115
  if (done) {
112
- return (h(Host, { class: { done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: selected ? RadioIconSelected : RadioIconUnselected })));
116
+ return (h(Host, { class: { 'verdocs-field': true, done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: selected ? RadioIconSelected : RadioIconUnselected })));
113
117
  }
114
- return (h(Host, { class: { required: this.required || required, disabled, done, focused, [signerClass]: true } }, label && h("div", { class: "label" }, label), editable && group && h("div", { class: "group" }, group), h("input", { id: fieldname, type: "radio", name: group || fieldname, value: name, checked: !!selected, disabled: readonly || disabled, required: required }), h("label", { htmlFor: fieldname }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
118
+ return (h(Host, { class: { 'verdocs-field': true, required: this.required || required, disabled, done, focused, [signerClass]: true } }, label && h("div", { class: "label" }, label), editable && group && h("div", { class: "group" }, group), h("input", { id: fieldname, type: "radio", name: group || fieldname, value: name, checked: !!selected, disabled: readonly || disabled, required: required }), h("label", { htmlFor: fieldname }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
115
119
  e.stopPropagation();
116
120
  this.showingProperties = !this.showingProperties;
117
121
  } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
@@ -125,6 +129,9 @@ const VerdocsFieldRadio = /*@__PURE__*/ proxyCustomElement(class VerdocsFieldRad
125
129
  }, helpText: "Radio buttons capture the recipient's selection of just one of several related (exclusive) options." })))))));
126
130
  }
127
131
  get el() { return this; }
132
+ static get watchers() { return {
133
+ "editable": ["onEditableChanged"]
134
+ }; }
128
135
  static get style() { return verdocsFieldRadioCss; }
129
136
  }, [256, "verdocs-field-radio", {
130
137
  "source": [513],
@@ -145,7 +152,9 @@ const VerdocsFieldRadio = /*@__PURE__*/ proxyCustomElement(class VerdocsFieldRad
145
152
  "focusField": [64],
146
153
  "showSettingsPanel": [64],
147
154
  "hideSettingsPanel": [64]
148
- }, [[0, "blur", "handleBlur"]]]);
155
+ }, [[0, "blur", "handleBlur"]], {
156
+ "editable": ["onEditableChanged"]
157
+ }]);
149
158
  function defineCustomElement() {
150
159
  if (typeof customElements === "undefined") {
151
160
  return;
@@ -206,6 +215,6 @@ function defineCustomElement() {
206
215
  }
207
216
 
208
217
  export { VerdocsFieldRadio as V, defineCustomElement as d };
209
- //# sourceMappingURL=p-By2QlfRC.js.map
218
+ //# sourceMappingURL=p-BihWiABu.js.map
210
219
 
211
- //# sourceMappingURL=p-By2QlfRC.js.map
220
+ //# sourceMappingURL=p-BihWiABu.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-BihWiABu.js","mappings":";;;;;;;;;;;;;;AAAA,MAAM,oBAAoB,GAAG,60EAA60E;;ACM12E,MAAM,mBAAmB,GAAG,CAAA,kNAAA,CAAoN;AAEhP,MAAM,iBAAiB,GAAG,CAAA,2QAAA,CAA6Q;MAU1R,iBAAiB,iBAAAA,kBAAA,CAAA,MAAA,iBAAA,SAAAC,CAAA,CAAA;AAL9B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAQE;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAA4B,UAAU;AAEnE;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE;AAE5C;;AAEG;AACoB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE;AAE7C;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAsC,IAAI;AAOvD;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAI,CAAA,IAAA,GAAa,KAAK;AAE7C;;;AAGG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;AAEjD;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAAY,CAAC;AAE1C;;AAEG;AACoB,QAAA,IAAM,CAAA,MAAA,GAAY,CAAC;AAE1C;;AAEG;AACoB,QAAA,IAAU,CAAA,UAAA,GAAY,CAAC;AAErC,QAAA,IAAiB,CAAA,iBAAA,GAAa,KAAK;AACnC,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAgHzB;IAnGC,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAItB,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;AAIrB,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAA0B,uBAAA,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,CAAQ;AAChG,QAAA,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE;YAC5C,aAAa,CAAC,SAAS,EAAE;;;AAK7B,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAA0B,uBAAA,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,CAAQ;AAChG,QAAA,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE;YAC5C,aAAa,CAAC,SAAS,EAAE;;;IAK7B,iBAAiB,CAAC,MAAe,EAAE,MAAe,EAAA;;AAEhD,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;;;IAI7B,oBAAoB,GAAA;;QAElB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;;IAG3B,MAAM,GAAA;AACJ,QAAA,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAC,GAAG,IAAI;QAC7H,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;QAC9E,MAAM,EAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAC,GAAG,KAAK,IAAI,EAAE;QACrG,MAAM,WAAW,GAAG,CAAA,OAAA,EAAU,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,CAAA,CAAE;AAEhD,QAAA,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM;QAEjC,IAAI,IAAI,EAAE;YACR,QACE,EAAC,IAAI,EAAA,EAAC,KAAK,EAAE,EAAC,eAAe,EAAE,IAAI,EAAC,IAAI,EAAC,EAAE,KAAK,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAA,EAClE,CAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,QAAQ,GAAG,iBAAiB,GAAG,mBAAmB,EAAI,CAAA,CAClE;;QAIX,QACE,CAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAE,EAAC,eAAe,EAAE,IAAI,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,WAAW,GAAG,IAAI,EAAC,EAAA,EACnH,KAAK,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EAAE,KAAK,CAAO,EACzC,QAAQ,IAAI,KAAK,IAAI,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,OAAO,EAAE,EAAA,KAAK,CAAO,EAEtD,CAAA,CAAA,OAAA,EAAA,EAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAI,CAAA,EACrJ,CAAO,CAAA,OAAA,EAAA,EAAA,OAAO,EAAE,SAAS,EAAI,CAAA,EAE5B,QAAQ,KACP,CAAA,CAAC,QAAQ,EAAA,IAAA,EACP,CACE,CAAA,KAAA,EAAA,EAAA,EAAE,EAAE,CAAkC,+BAAA,EAAA,SAAS,EAAE,EACjD,KAAK,EAAE,EAAC,SAAS,EAAE,CAAS,MAAA,EAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAK,EAAA,EAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAG,CAAA,CAAA,EAAC,EACjH,KAAK,EAAC,eAAe,EACrB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,CAAC,CAAM,KAAI;gBAClB,CAAC,CAAC,eAAe,EAAE;AACnB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB;AAClD,aAAC,EACD,CAAA,EAED,IAAI,CAAC,iBAAiB,KACrB,sBAAgB,MAAM,EAAE,CAAA,+BAAA,EAAkC,SAAS,CAAA,CAAE,EAAE,WAAW,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,EAAA,EACxH,CACE,CAAA,mCAAA,EAAA,EAAA,UAAU,EAAE,QAAQ,EACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,EAC/C,QAAQ,EAAE,MAAK;;AACb,gBAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC;AAC1C,gBAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;AACjC,aAAC,EACD,iBAAiB,EAAE,CAAC,IAAG;;AACrB,gBAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACpC,gBAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;AACjC,aAAC,EACD,QAAQ,EAAE,qGAAqG,EAAA,CAC/G,CACa,CAClB,CACQ,CACZ,CACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/fields/verdocs-field-radio/verdocs-field-radio.scss?tag=verdocs-field-radio","src/components/fields/verdocs-field-radio/verdocs-field-radio.tsx"],"sourcesContent":["@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 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 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","import interact from 'interactjs';\nimport {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State, Element, Listen, Watch} 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 @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 to true, it will force interact to unset the el, resulting in no dragging the field.\n */\n @Prop({reflect: true}) isPreview?: boolean;\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 @Listen('blur')\n handleBlur() {\n this.focused = false;\n }\n\n @Method()\n async focusField() {\n this.el.focus();\n this.focused = true;\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 @Watch('editable')\n onEditableChanged(newVal: boolean, oldVal: boolean) {\n // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings\n if (oldVal && !newVal) {\n interact(this.el).unset();\n }\n }\n\n disconnectedCallback() {\n // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere\n interact(this.el).unset();\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={{'verdocs-field': true,done}} style={{maxWidth: '10px'}}>\n <span innerHTML={selected ? RadioIconSelected : RadioIconUnselected} />\n </Host>\n );\n }\n\n return (\n <Host class={{'verdocs-field': true,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"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-CUAGH_8P.js';
2
2
  import { VerdocsEndpoint, getTemplate } from '@verdocs/js-sdk';
3
3
  import { S as SDKError } from './p-C1sRVZWv.js';
4
- import { S as Store } from './p-bS8INhRF.js';
4
+ import { S as Store } from './p-C7hFgM52.js';
5
5
  import { d as defineCustomElement$2 } from './p-CdmWI0-q.js';
6
6
  import { d as defineCustomElement$1 } from './p-CNKACBaL.js';
7
7
 
@@ -151,6 +151,6 @@ function defineCustomElement() {
151
151
  }
152
152
 
153
153
  export { VerdocsTemplateBuildTabs as V, defineCustomElement as d };
154
- //# sourceMappingURL=p-eZKhg-2i.js.map
154
+ //# sourceMappingURL=p-BqoZV7Do.js.map
155
155
 
156
- //# sourceMappingURL=p-eZKhg-2i.js.map
156
+ //# sourceMappingURL=p-BqoZV7Do.js.map
@@ -1 +1 @@
1
- {"file":"p-eZKhg-2i.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.scss?tag=verdocs-template-build-tabs","src/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-build-tabs {\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n flex: 0 0 50px;\n width: 100%;\n background: #ffffff;\n color: #72757d;\n border-bottom: 1px solid #dddddd;\n filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));\n font-family: $verdocs-primary-font;\n\n .tab {\n position: relative;\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n height: 50px;\n padding: 0 4px;\n background: #e7e7e7;\n font-weight: 700;\n font-size: 12px;\n cursor: pointer;\n\n @media (min-width: 768px) {\n padding: 0 8px 0 24px;\n font-size: 14px;\n }\n\n svg {\n position: absolute;\n top: 0;\n right: -19px;\n z-index: 10;\n pointer-events: none;\n display: none;\n\n @media (min-width: 768px) {\n display: block;\n }\n }\n\n &.active {\n background: #ffffff;\n color: #707ae5;\n }\n\n &.disabled {\n cursor: default;\n color: #d1d5db;\n }\n }\n}\n","import {getTemplate, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, h, Event, EventEmitter, Host, Watch, State} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nexport type TVerdocsBuildStep = 'attachments' | 'roles' | 'fields' | 'preview';\n\ninterface IBuildTab {\n id: TVerdocsBuildStep;\n label: string;\n disabled: boolean;\n}\n\n/**\n * Display a set of tabs for the template builder.\n */\n@Component({\n tag: 'verdocs-template-build-tabs',\n styleUrl: 'verdocs-template-build-tabs.scss',\n shadow: false,\n})\nexport class VerdocsTemplateBuildTabs {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from. Unlike most other components, this is an optional parameter here.\n * If the template ID is known, `step` may also be specified to force displaying a specific step in the creation process.\n * If it is not specified, `step` will be ignored and the create step will be shown.\n */\n @Prop({reflect: true, mutable: true}) templateId: string | null = null;\n\n /**\n * The step in the creation process to display.\n */\n @Prop({reflect: true, mutable: true}) step: TVerdocsBuildStep = 'preview';\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the user selects a different step.\n */\n @Event({composed: true}) stepChanged: EventEmitter<TVerdocsBuildStep>;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n this.template = template;\n this.loading = false;\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[BUILD_TABS] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n @Watch('step')\n onStepChanged(newStep: TVerdocsBuildStep) {\n console.log('[BUILD_TABS] Step changed', newStep);\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[BUILD_TABS] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n this.step = 'attachments';\n console.log('[BUILD_TABS] Missing required template ID, forcing view to attachments');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[BUILD_TABS] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleSelect(tab: IBuildTab) {\n if (tab.disabled || tab.id === this.step) {\n return;\n }\n this.step = tab.id;\n this.stepChanged?.emit(tab.id);\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const canEditRoles = (this.template?.documents || []).length > 0;\n const canEditFields = canEditRoles && (this.template?.roles || []).length > 0;\n const canPreview = canEditFields && (this.template?.fields || []).length > 0;\n\n const tabs: IBuildTab[] = [\n {id: 'attachments', label: 'Attachments', disabled: false},\n {id: 'roles', label: 'Workflow', disabled: !canEditRoles},\n {id: 'fields', label: 'Fields', disabled: !canEditFields},\n {id: 'preview', label: 'Preview & Send', disabled: !canPreview},\n ];\n\n return (\n <Host>\n {tabs.map(tab => {\n const isActive = tab.id === this.step;\n const classes = ['tab'];\n if (isActive) classes.push('active');\n if (tab.disabled) classes.push('disabled');\n return (\n <div class={classes.join(' ')} onClick={() => this.handleSelect(tab)}>\n <span>{tab.label}</span>\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"50\" viewBox=\"0 0 19 50\">\n <polygon points=\"0,0 19,25 0,50\" fill={isActive ? '#ffffff' : '#e7e7e7'} />\n </svg>\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-BqoZV7Do.js","mappings":";;;;;;;AAAA,MAAM,2BAA2B,GAAG,2nCAA2nC;;MCqBlpC,wBAAwB,iBAAAA,kBAAA,CAAA,MAAA,wBAAA,SAAAC,CAAA,CAAA;AALrC,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAMU,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI;AAEjC;;AAEG;AACK,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,UAAU,EAAE;AAEhE;;;;AAIG;AACmC,QAAA,IAAU,CAAA,UAAA,GAAkB,IAAI;AAEtE;;AAEG;AACmC,QAAA,IAAI,CAAA,IAAA,GAAsB,SAAS;AAahE,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI;AACd,QAAA,IAAQ,CAAA,QAAA,GAAqB,IAAI;AAkH3C;IAhHC,oBAAoB,GAAA;QAClB,IAAI,CAAC,kBAAkB,EAAE;;AAG3B,IAAA,MAAM,gBAAgB,GAAA;QACpB,IAAI,CAAC,kBAAkB,EAAE;AACzB,QAAA,KAAK,CAAC,SAAS,CACb,WAAW,EACX,IAAI,CAAC,UAAU,EACf,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,EACjD,KAAK,EACL,CAAC,QAAmB,KAAI;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACtB,SAAC,CACF;;IAGH,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAChD,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;;;AAKlC,IAAA,mBAAmB,CAAC,aAAqB,EAAA;AACvC,QAAA,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,aAAa,CAAC;QAC9D,IAAI,CAAC,gBAAgB,EAAE;;AAIzB,IAAA,aAAa,CAAC,OAA0B,EAAA;AACtC,QAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC;;AAGnD,IAAA,MAAM,iBAAiB,GAAA;;AACrB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC3B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC1B,gBAAA,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC;gBAClF;;AAGF,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,gBAAA,IAAI,CAAC,IAAI,GAAG,aAAa;AACzB,gBAAA,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC;gBACrF;;YAGF,IAAI,CAAC,gBAAgB,EAAE;;QACvB,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,CAAC,CAAC;AACrD,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAE,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC;;;AAItF,IAAA,YAAY,CAAC,GAAc,EAAA;;AACzB,QAAA,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE;YACxC;;AAEF,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;AAClB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;;IAGhC,MAAM,GAAA;;AACJ,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAkB,CAAA,gBAAA,EAAA,IAAA,CAAA,CACb;;AAIX,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC1B,YAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,yBAAA,EAAA,EAAyB,OAAO,EAAC,+CAA+C,EAAG,CAAA,CAC9E;;AAIX,QAAA,MAAM,YAAY,GAAG,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,KAAI,EAAE,EAAE,MAAM,GAAG,CAAC;AAChE,QAAA,MAAM,aAAa,GAAG,YAAY,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,KAAI,EAAE,EAAE,MAAM,GAAG,CAAC;AAC7E,QAAA,MAAM,UAAU,GAAG,aAAa,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,KAAI,EAAE,EAAE,MAAM,GAAG,CAAC;AAE5E,QAAA,MAAM,IAAI,GAAgB;YACxB,EAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAC;AAC1D,YAAA,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAC;AACzD,YAAA,EAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAC;AACzD,YAAA,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAC;SAChE;AAED,QAAA,QACE,CAAC,CAAA,IAAI,EACF,IAAA,EAAA,IAAI,CAAC,GAAG,CAAC,GAAG,IAAG;YACd,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI;AACrC,YAAA,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,QAAQ;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,GAAG,CAAC,QAAQ;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,YAAA,QACE,WAAK,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAA,EAClE,CAAO,CAAA,MAAA,EAAA,IAAA,EAAA,GAAG,CAAC,KAAK,CAAQ,EACxB,CAAA,CAAA,KAAA,EAAA,EAAA,aAAA,EAAiB,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAA,EACnG,CAAA,CAAA,SAAA,EAAA,EAAS,MAAM,EAAC,gBAAgB,EAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAI,CACvE,CACF;SAET,CAAC,CACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.scss?tag=verdocs-template-build-tabs","src/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-build-tabs {\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n flex: 0 0 50px;\n width: 100%;\n background: #ffffff;\n color: #72757d;\n border-bottom: 1px solid #dddddd;\n filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));\n font-family: $verdocs-primary-font;\n\n .tab {\n position: relative;\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n height: 50px;\n padding: 0 4px;\n background: #e7e7e7;\n font-weight: 700;\n font-size: 12px;\n cursor: pointer;\n\n @media (min-width: 768px) {\n padding: 0 8px 0 24px;\n font-size: 14px;\n }\n\n svg {\n position: absolute;\n top: 0;\n right: -19px;\n z-index: 10;\n pointer-events: none;\n display: none;\n\n @media (min-width: 768px) {\n display: block;\n }\n }\n\n &.active {\n background: #ffffff;\n color: #707ae5;\n }\n\n &.disabled {\n cursor: default;\n color: #d1d5db;\n }\n }\n}\n","import {getTemplate, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, h, Event, EventEmitter, Host, Watch, State} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nexport type TVerdocsBuildStep = 'attachments' | 'roles' | 'fields' | 'preview';\n\ninterface IBuildTab {\n id: TVerdocsBuildStep;\n label: string;\n disabled: boolean;\n}\n\n/**\n * Display a set of tabs for the template builder.\n */\n@Component({\n tag: 'verdocs-template-build-tabs',\n styleUrl: 'verdocs-template-build-tabs.scss',\n shadow: false,\n})\nexport class VerdocsTemplateBuildTabs {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from. Unlike most other components, this is an optional parameter here.\n * If the template ID is known, `step` may also be specified to force displaying a specific step in the creation process.\n * If it is not specified, `step` will be ignored and the create step will be shown.\n */\n @Prop({reflect: true, mutable: true}) templateId: string | null = null;\n\n /**\n * The step in the creation process to display.\n */\n @Prop({reflect: true, mutable: true}) step: TVerdocsBuildStep = 'preview';\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the user selects a different step.\n */\n @Event({composed: true}) stepChanged: EventEmitter<TVerdocsBuildStep>;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n this.template = template;\n this.loading = false;\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[BUILD_TABS] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n @Watch('step')\n onStepChanged(newStep: TVerdocsBuildStep) {\n console.log('[BUILD_TABS] Step changed', newStep);\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[BUILD_TABS] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n this.step = 'attachments';\n console.log('[BUILD_TABS] Missing required template ID, forcing view to attachments');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[BUILD_TABS] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleSelect(tab: IBuildTab) {\n if (tab.disabled || tab.id === this.step) {\n return;\n }\n this.step = tab.id;\n this.stepChanged?.emit(tab.id);\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const canEditRoles = (this.template?.documents || []).length > 0;\n const canEditFields = canEditRoles && (this.template?.roles || []).length > 0;\n const canPreview = canEditFields && (this.template?.fields || []).length > 0;\n\n const tabs: IBuildTab[] = [\n {id: 'attachments', label: 'Attachments', disabled: false},\n {id: 'roles', label: 'Workflow', disabled: !canEditRoles},\n {id: 'fields', label: 'Fields', disabled: !canEditFields},\n {id: 'preview', label: 'Preview & Send', disabled: !canPreview},\n ];\n\n return (\n <Host>\n {tabs.map(tab => {\n const isActive = tab.id === this.step;\n const classes = ['tab'];\n if (isActive) classes.push('active');\n if (tab.disabled) classes.push('disabled');\n return (\n <div class={classes.join(' ')} onClick={() => this.handleSelect(tab)}>\n <span>{tab.label}</span>\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"50\" viewBox=\"0 0 19 50\">\n <polygon points=\"0,0 19,25 0,50\" fill={isActive ? '#ffffff' : '#e7e7e7'} />\n </svg>\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}