@verdocs/web-sdk 5.0.75 → 5.3.1

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 (376) hide show
  1. package/dist/cjs/{Datastore-Dn_pL6x4.js → Datastore-CIzsoGWH.js} +7 -6
  2. package/dist/cjs/Datastore-CIzsoGWH.js.map +1 -0
  3. package/dist/cjs/index-Be9PlTB7.js +10 -10
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-build.cjs.entry.js.map +1 -1
  7. package/dist/cjs/verdocs-build.entry.cjs.js.map +1 -1
  8. package/dist/cjs/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.cjs.js.map +1 -0
  9. package/dist/cjs/verdocs-button_3.cjs.entry.js +177 -0
  10. package/dist/cjs/verdocs-button_3.cjs.entry.js.map +1 -0
  11. package/dist/cjs/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.cjs.js.map +1 -0
  12. package/dist/cjs/{verdocs-checkbox_6.cjs.entry.js → verdocs-checkbox_5.cjs.entry.js} +3 -91
  13. package/dist/{verdocs-web-sdk/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.verdocs-text-input.entry.esm.js.map → cjs/verdocs-checkbox_5.cjs.entry.js.map} +1 -1
  14. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +7 -3
  15. package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
  16. package/dist/cjs/verdocs-contact-picker.entry.cjs.js.map +1 -1
  17. package/dist/cjs/verdocs-envelope-recipient-link.verdocs-envelope-update-recipient.entry.cjs.js.map +1 -0
  18. package/dist/cjs/{verdocs-envelope-recipient-link.cjs.entry.js → verdocs-envelope-recipient-link_2.cjs.entry.js} +91 -4
  19. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js.map +1 -0
  20. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +51 -1
  22. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js.map +1 -1
  23. package/dist/cjs/verdocs-envelope-sidebar.entry.cjs.js.map +1 -1
  24. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +2 -2
  25. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js.map +1 -1
  26. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-kba-dialog_3.cjs.entry.js +1 -1
  28. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.cjs.js.map +1 -1
  30. package/dist/cjs/verdocs-preview_7.cjs.entry.js +1 -3
  31. package/dist/cjs/verdocs-preview_7.cjs.entry.js.map +1 -1
  32. package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -1
  33. package/dist/cjs/verdocs-radio-button.cjs.entry.js.map +1 -1
  34. package/dist/cjs/verdocs-radio-button.entry.cjs.js.map +1 -1
  35. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  36. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  37. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  38. package/dist/collection/collection-manifest.json +1 -0
  39. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.css +2 -2
  40. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +4 -4
  41. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js.map +1 -1
  42. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +8 -10
  43. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  44. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.js +1 -1
  45. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.js.map +1 -1
  46. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +52 -0
  47. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js.map +1 -1
  48. package/dist/collection/components/envelopes/verdocs-envelope-update-recipient/verdocs-envelope-update-recipient.css +96 -0
  49. package/dist/collection/components/envelopes/verdocs-envelope-update-recipient/verdocs-envelope-update-recipient.js +224 -0
  50. package/dist/collection/components/envelopes/verdocs-envelope-update-recipient/verdocs-envelope-update-recipient.js.map +1 -0
  51. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.css +2 -2
  52. package/dist/collection/utils/Datastore.js +2 -2
  53. package/dist/collection/utils/Datastore.js.map +1 -1
  54. package/dist/components/index.js +2 -0
  55. package/dist/components/index.js.map +1 -1
  56. package/dist/components/{p-CWHHlD3o.js → p-B3jMBr0M.js} +9 -5
  57. package/dist/components/p-B3jMBr0M.js.map +1 -0
  58. package/dist/components/{p-Cn4wVEX4.js → p-B8nK0hJl.js} +4 -4
  59. package/dist/components/{p-Cn4wVEX4.js.map → p-B8nK0hJl.js.map} +1 -1
  60. package/dist/components/{p-DgfjnZPa.js → p-BGMd4wA7.js} +4 -4
  61. package/dist/components/{p-DgfjnZPa.js.map → p-BGMd4wA7.js.map} +1 -1
  62. package/dist/components/{p-03kDzdlZ.js → p-BHKb3X7a.js} +3 -3
  63. package/dist/components/{p-03kDzdlZ.js.map → p-BHKb3X7a.js.map} +1 -1
  64. package/dist/components/{p-CqQzEyUV.js → p-Bb2F00K4.js} +4 -4
  65. package/dist/components/{p-CqQzEyUV.js.map → p-Bb2F00K4.js.map} +1 -1
  66. package/dist/components/{p-z0ZD30Bi.js → p-BwIyL1sF.js} +4 -4
  67. package/dist/components/{p-z0ZD30Bi.js.map → p-BwIyL1sF.js.map} +1 -1
  68. package/dist/components/{p-Dw5jTBu3.js → p-C2Fb8G6A.js} +4 -4
  69. package/dist/components/{p-Dw5jTBu3.js.map → p-C2Fb8G6A.js.map} +1 -1
  70. package/dist/components/{p-IcjPGPO7.js → p-CPRS8f3I.js} +3 -3
  71. package/dist/components/{p-IcjPGPO7.js.map → p-CPRS8f3I.js.map} +1 -1
  72. package/dist/components/{p-CNJfehtH.js → p-Crehnwtj.js} +4 -4
  73. package/dist/components/{p-CNJfehtH.js.map → p-Crehnwtj.js.map} +1 -1
  74. package/dist/components/{p-B8HdsDVX.js → p-CunjhIft.js} +3 -3
  75. package/dist/components/{p-B8HdsDVX.js.map → p-CunjhIft.js.map} +1 -1
  76. package/dist/components/{p-CDTU_UJD.js → p-D3n1gA61.js} +5 -5
  77. package/dist/components/p-D3n1gA61.js.map +1 -0
  78. package/dist/components/{p-iwNYe5a0.js → p-DB-CFkUZ.js} +4 -4
  79. package/dist/components/{p-iwNYe5a0.js.map → p-DB-CFkUZ.js.map} +1 -1
  80. package/dist/components/{p-Cue-TDgY.js → p-DDAZR40U.js} +3 -3
  81. package/dist/components/{p-Cue-TDgY.js.map → p-DDAZR40U.js.map} +1 -1
  82. package/dist/components/{p-Cfx8TNcj.js → p-DGRiUZlM.js} +15 -15
  83. package/dist/components/{p-Cfx8TNcj.js.map → p-DGRiUZlM.js.map} +1 -1
  84. package/dist/components/{p-CpHTrnj5.js → p-DGiDigbo.js} +4 -6
  85. package/dist/components/p-DGiDigbo.js.map +1 -0
  86. package/dist/components/{p-B6IuryK-.js → p-DQh221R1.js} +4 -4
  87. package/dist/components/{p-B6IuryK-.js.map → p-DQh221R1.js.map} +1 -1
  88. package/dist/components/{p-BPEZpcEQ.js → p-D_x2HuZp.js} +4 -4
  89. package/dist/components/{p-BPEZpcEQ.js.map → p-D_x2HuZp.js.map} +1 -1
  90. package/dist/components/{p-C_IIZj49.js → p-DmsV595e.js} +8 -7
  91. package/dist/components/p-DmsV595e.js.map +1 -0
  92. package/dist/components/p-GUGCYQ6F.js +138 -0
  93. package/dist/components/p-GUGCYQ6F.js.map +1 -0
  94. package/dist/components/{p-De7UWCgq.js → p-WhDWrMQm.js} +4 -4
  95. package/dist/components/{p-De7UWCgq.js.map → p-WhDWrMQm.js.map} +1 -1
  96. package/dist/components/{p-iOb94GB3.js → p-X6ujIO0j.js} +3 -3
  97. package/dist/components/{p-iOb94GB3.js.map → p-X6ujIO0j.js.map} +1 -1
  98. package/dist/components/{p-B6hVXdpp.js → p-XHSVTLB0.js} +4 -4
  99. package/dist/components/{p-B6hVXdpp.js.map → p-XHSVTLB0.js.map} +1 -1
  100. package/dist/components/{p-C3_yeGdH.js → p-dIi8HYZ5.js} +3 -3
  101. package/dist/components/{p-C3_yeGdH.js.map → p-dIi8HYZ5.js.map} +1 -1
  102. package/dist/components/{p-eiHT7SZQ.js → p-kaKbklxN.js} +15 -15
  103. package/dist/components/{p-eiHT7SZQ.js.map → p-kaKbklxN.js.map} +1 -1
  104. package/dist/components/{p-BqWxusTA.js → p-ke4RFlpQ.js} +14 -14
  105. package/dist/components/{p-BqWxusTA.js.map → p-ke4RFlpQ.js.map} +1 -1
  106. package/dist/components/verdocs-build.js +22 -22
  107. package/dist/components/verdocs-build.js.map +1 -1
  108. package/dist/components/verdocs-contact-picker.js +1 -1
  109. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  110. package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
  111. package/dist/components/verdocs-envelope-sidebar.js +65 -8
  112. package/dist/components/verdocs-envelope-sidebar.js.map +1 -1
  113. package/dist/components/verdocs-envelope-update-recipient.d.ts +11 -0
  114. package/dist/components/verdocs-envelope-update-recipient.js +9 -0
  115. package/dist/components/verdocs-envelope-update-recipient.js.map +1 -0
  116. package/dist/components/verdocs-field-attachment.js +1 -1
  117. package/dist/components/verdocs-field-checkbox.js +1 -1
  118. package/dist/components/verdocs-field-date.js +1 -1
  119. package/dist/components/verdocs-field-dropdown.js +1 -1
  120. package/dist/components/verdocs-field-initial.js +1 -1
  121. package/dist/components/verdocs-field-payment.js +2 -2
  122. package/dist/components/verdocs-field-radio.js +1 -1
  123. package/dist/components/verdocs-field-signature.js +1 -1
  124. package/dist/components/verdocs-field-textarea.js +1 -1
  125. package/dist/components/verdocs-field-textbox.js +1 -1
  126. package/dist/components/verdocs-field-timestamp.js +1 -1
  127. package/dist/components/verdocs-preview.js +1 -1
  128. package/dist/components/verdocs-radio-button.js +1 -1
  129. package/dist/components/verdocs-radio-button.js.map +1 -1
  130. package/dist/components/verdocs-send.js +1 -1
  131. package/dist/components/verdocs-sign.js +2 -2
  132. package/dist/components/verdocs-template-attachments.js +1 -1
  133. package/dist/components/verdocs-template-build-tabs.js +1 -1
  134. package/dist/components/verdocs-template-document-page.js +1 -1
  135. package/dist/components/verdocs-template-field-properties.js +1 -1
  136. package/dist/components/verdocs-template-fields.js +1 -1
  137. package/dist/components/verdocs-template-role-properties.js +1 -1
  138. package/dist/components/verdocs-template-roles.js +1 -1
  139. package/dist/components/verdocs-template-settings.js +1 -1
  140. package/dist/components/verdocs-view.js +1 -1
  141. package/dist/custom-elements.json +21 -0
  142. package/dist/esm/{Datastore-C_IIZj49.js → Datastore-DmsV595e.js} +8 -7
  143. package/dist/esm/Datastore-DmsV595e.js.map +1 -0
  144. package/dist/esm/index-CF7i8guW.js +10 -10
  145. package/dist/esm/loader.js +1 -1
  146. package/dist/esm/verdocs-build.entry.js +1 -1
  147. package/dist/esm/verdocs-build.entry.js.map +1 -1
  148. package/dist/esm/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.js.map +1 -0
  149. package/dist/esm/verdocs-button_3.entry.js +173 -0
  150. package/dist/esm/verdocs-button_3.entry.js.map +1 -0
  151. package/dist/esm/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.js.map +1 -0
  152. package/dist/esm/{verdocs-checkbox_6.entry.js → verdocs-checkbox_5.entry.js} +4 -91
  153. package/dist/esm/verdocs-checkbox_5.entry.js.map +1 -0
  154. package/dist/esm/verdocs-contact-picker.entry.js +7 -3
  155. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
  156. package/dist/esm/verdocs-envelope-recipient-link.verdocs-envelope-update-recipient.entry.js.map +1 -0
  157. package/dist/esm/{verdocs-envelope-recipient-link.entry.js → verdocs-envelope-recipient-link_2.entry.js} +91 -5
  158. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js.map +1 -0
  159. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  160. package/dist/esm/verdocs-envelope-sidebar.entry.js +52 -2
  161. package/dist/esm/verdocs-envelope-sidebar.entry.js.map +1 -1
  162. package/dist/esm/verdocs-field-attachment_13.entry.js +2 -2
  163. package/dist/esm/verdocs-field-attachment_13.entry.js.map +1 -1
  164. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  165. package/dist/esm/verdocs-kba-dialog_3.entry.js +1 -1
  166. package/dist/esm/verdocs-menu-panel_2.entry.js +1 -1
  167. package/dist/esm/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.js.map +1 -1
  168. package/dist/esm/verdocs-preview_7.entry.js +1 -3
  169. package/dist/esm/verdocs-preview_7.entry.js.map +1 -1
  170. package/dist/esm/verdocs-radio-button.entry.js +1 -1
  171. package/dist/esm/verdocs-radio-button.entry.js.map +1 -1
  172. package/dist/esm/verdocs-sign.entry.js +1 -1
  173. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  174. package/dist/esm/verdocs-web-sdk.js +1 -1
  175. package/dist/esm-es5/Datastore-DmsV595e.js +2 -0
  176. package/dist/esm-es5/Datastore-DmsV595e.js.map +1 -0
  177. package/dist/esm-es5/index-CF7i8guW.js +1 -1
  178. package/dist/esm-es5/loader.js +1 -1
  179. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  180. package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
  181. package/dist/esm-es5/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.js.map +1 -0
  182. package/dist/esm-es5/verdocs-button_3.entry.js +2 -0
  183. package/dist/esm-es5/verdocs-button_3.entry.js.map +1 -0
  184. package/dist/esm-es5/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.js.map +1 -0
  185. package/dist/esm-es5/verdocs-checkbox_5.entry.js +2 -0
  186. package/dist/esm-es5/verdocs-checkbox_5.entry.js.map +1 -0
  187. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  188. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
  189. package/dist/esm-es5/verdocs-envelope-recipient-link.verdocs-envelope-update-recipient.entry.js.map +1 -0
  190. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +2 -0
  191. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js.map +1 -0
  192. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  193. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  194. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js.map +1 -1
  195. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  196. package/dist/esm-es5/verdocs-field-attachment_13.entry.js.map +1 -1
  197. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  198. package/dist/esm-es5/verdocs-kba-dialog_3.entry.js +1 -1
  199. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  200. package/dist/esm-es5/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.js.map +1 -1
  201. package/dist/esm-es5/verdocs-preview_7.entry.js +2 -2
  202. package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -1
  203. package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
  204. package/dist/esm-es5/verdocs-radio-button.entry.js.map +1 -1
  205. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  206. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  207. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  208. package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +2 -2
  209. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +3 -3
  210. package/dist/types/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +3 -1
  211. package/dist/types/components/envelopes/verdocs-envelope-update-recipient/verdocs-envelope-update-recipient.d.ts +50 -0
  212. package/dist/types/components.d.ts +85 -8
  213. package/dist/types/utils/Datastore.d.ts +1 -1
  214. package/dist/verdocs-web-sdk/{p-a2ba1316.system.entry.js → p-0134d663.system.entry.js} +2 -2
  215. package/dist/verdocs-web-sdk/p-0134d663.system.entry.js.map +1 -0
  216. package/dist/verdocs-web-sdk/p-1c66bd2c.system.entry.js +2 -0
  217. package/dist/verdocs-web-sdk/p-1c66bd2c.system.entry.js.map +1 -0
  218. package/dist/verdocs-web-sdk/p-3aabadbe.entry.js +2 -0
  219. package/dist/verdocs-web-sdk/{p-0bb8015d.entry.js.map → p-3aabadbe.entry.js.map} +1 -1
  220. package/dist/verdocs-web-sdk/{p-1653b309.system.entry.js → p-4175122c.system.entry.js} +3 -3
  221. package/dist/verdocs-web-sdk/p-4175122c.system.entry.js.map +1 -0
  222. package/dist/verdocs-web-sdk/{p-c8369ea0.entry.js → p-45f59906.entry.js} +2 -2
  223. package/dist/verdocs-web-sdk/p-48299322.entry.js +2 -0
  224. package/dist/verdocs-web-sdk/p-48299322.entry.js.map +1 -0
  225. package/dist/verdocs-web-sdk/{p-4b2b090e.entry.js → p-49522ebb.entry.js} +2 -2
  226. package/dist/verdocs-web-sdk/p-49522ebb.entry.js.map +1 -0
  227. package/dist/verdocs-web-sdk/p-50c4a3da.system.entry.js +2 -0
  228. package/dist/verdocs-web-sdk/p-50c4a3da.system.entry.js.map +1 -0
  229. package/dist/verdocs-web-sdk/{p-1d0463ad.system.entry.js → p-65a5d2d4.system.entry.js} +2 -2
  230. package/dist/verdocs-web-sdk/p-69c97fa9.system.entry.js +4 -0
  231. package/dist/verdocs-web-sdk/p-69c97fa9.system.entry.js.map +1 -0
  232. package/dist/verdocs-web-sdk/p-759b5749.entry.js +2 -0
  233. package/dist/verdocs-web-sdk/p-759b5749.entry.js.map +1 -0
  234. package/dist/verdocs-web-sdk/{p-894e2058.entry.js → p-76215a73.entry.js} +2 -2
  235. package/dist/verdocs-web-sdk/{p-caf258c9.entry.js → p-791184e5.entry.js} +2 -2
  236. package/dist/verdocs-web-sdk/p-791184e5.entry.js.map +1 -0
  237. package/dist/verdocs-web-sdk/p-832e4346.entry.js +2 -0
  238. package/dist/verdocs-web-sdk/p-832e4346.entry.js.map +1 -0
  239. package/dist/verdocs-web-sdk/{p-821becae.system.entry.js → p-8c98a765.system.entry.js} +2 -2
  240. package/dist/verdocs-web-sdk/p-9f4c393c.system.entry.js +2 -0
  241. package/dist/verdocs-web-sdk/p-9f4c393c.system.entry.js.map +1 -0
  242. package/dist/verdocs-web-sdk/p-BH-YVoIR.system.js.map +1 -0
  243. package/dist/verdocs-web-sdk/p-BXdHDPn2.system.js.map +1 -0
  244. package/dist/verdocs-web-sdk/p-BsWaGIkx.system.js.map +1 -0
  245. package/dist/verdocs-web-sdk/p-C2JOLTNG.system.js.map +1 -0
  246. package/dist/verdocs-web-sdk/{p-CWs7NRzr.system.js.map → p-CC3tLap5.system.js.map} +1 -1
  247. package/dist/verdocs-web-sdk/{p-DZurf5no.system.js.map → p-CYHTkSId.system.js.map} +1 -1
  248. package/dist/verdocs-web-sdk/p-CmnBGerV.system.js +2 -0
  249. package/dist/verdocs-web-sdk/p-CmnBGerV.system.js.map +1 -0
  250. package/dist/verdocs-web-sdk/p-CwXSduhy.system.js +1 -1
  251. package/dist/verdocs-web-sdk/{p-Cz3XayQm.system.js.map → p-CzcrfRov.system.js.map} +1 -1
  252. package/dist/verdocs-web-sdk/p-Czs72bg4.system.js.map +1 -0
  253. package/dist/verdocs-web-sdk/p-DAWcoDTu.system.js.map +1 -0
  254. package/dist/verdocs-web-sdk/{p-DRzyvgiA.system.js.map → p-DM4F2Fmu.system.js.map} +1 -1
  255. package/dist/verdocs-web-sdk/p-DOuKoKCI.system.js.map +1 -0
  256. package/dist/verdocs-web-sdk/{p-DKkhksIM.system.js.map → p-DR2NwM3E.system.js.map} +1 -1
  257. package/dist/verdocs-web-sdk/p-DmsV595e.js +2 -0
  258. package/dist/verdocs-web-sdk/p-DmsV595e.js.map +1 -0
  259. package/dist/verdocs-web-sdk/p-DyIimYwQ.system.js.map +1 -0
  260. package/dist/verdocs-web-sdk/{p-DjtXr8Iv.system.js.map → p-QrafNGv0.system.js.map} +1 -1
  261. package/dist/verdocs-web-sdk/{p-e5f90a18.system.entry.js → p-a224a4cc.system.entry.js} +2 -2
  262. package/dist/verdocs-web-sdk/{p-6d8c780d.system.entry.js → p-a37e8f84.system.entry.js} +2 -2
  263. package/dist/verdocs-web-sdk/{p-d16c03d8.system.entry.js → p-ac05c34d.system.entry.js} +2 -2
  264. package/dist/verdocs-web-sdk/p-ac60c75d.entry.js +2 -0
  265. package/dist/verdocs-web-sdk/p-ac60c75d.entry.js.map +1 -0
  266. package/dist/verdocs-web-sdk/{p-524c1693.system.entry.js → p-bec52dd1.system.entry.js} +2 -2
  267. package/dist/verdocs-web-sdk/p-c16b24c0.system.entry.js +2 -0
  268. package/dist/verdocs-web-sdk/p-c16b24c0.system.entry.js.map +1 -0
  269. package/dist/verdocs-web-sdk/{p-5d4a9e54.entry.js → p-d0b7bbc5.entry.js} +3 -3
  270. package/dist/verdocs-web-sdk/p-d0b7bbc5.entry.js.map +1 -0
  271. package/dist/verdocs-web-sdk/{p-bb96a9af.entry.js → p-d8b36d95.entry.js} +2 -2
  272. package/dist/verdocs-web-sdk/{p-5355587b.entry.js → p-e15b7c92.entry.js} +2 -2
  273. package/dist/verdocs-web-sdk/{p-a231248c.system.entry.js → p-e63c903a.system.entry.js} +2 -2
  274. package/dist/verdocs-web-sdk/p-e63c903a.system.entry.js.map +1 -0
  275. package/dist/verdocs-web-sdk/p-e8713631.entry.js +3 -0
  276. package/dist/verdocs-web-sdk/p-e8713631.entry.js.map +1 -0
  277. package/dist/verdocs-web-sdk/{p-3b68bc50.entry.js → p-f28a1014.entry.js} +2 -2
  278. package/dist/verdocs-web-sdk/p-f28a1014.entry.js.map +1 -0
  279. package/dist/verdocs-web-sdk/{p-bde78dab.system.entry.js → p-f4a3d054.system.entry.js} +2 -2
  280. package/dist/verdocs-web-sdk/p-f4a3d054.system.entry.js.map +1 -0
  281. package/dist/verdocs-web-sdk/{p-65f4a435.entry.js → p-fb00149a.entry.js} +2 -2
  282. package/dist/verdocs-web-sdk/p-fih-g25U.system.js.map +1 -0
  283. package/dist/verdocs-web-sdk/verdocs-build.entry.esm.js.map +1 -1
  284. package/dist/verdocs-web-sdk/verdocs-button.verdocs-help-icon.verdocs-text-input.entry.esm.js.map +1 -0
  285. package/dist/verdocs-web-sdk/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.esm.js.map +1 -0
  286. package/dist/verdocs-web-sdk/verdocs-contact-picker.entry.esm.js.map +1 -1
  287. package/dist/verdocs-web-sdk/verdocs-envelope-recipient-link.verdocs-envelope-update-recipient.entry.esm.js.map +1 -0
  288. package/dist/verdocs-web-sdk/verdocs-envelope-sidebar.entry.esm.js.map +1 -1
  289. package/dist/verdocs-web-sdk/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.esm.js.map +1 -1
  290. package/dist/verdocs-web-sdk/verdocs-radio-button.entry.esm.js.map +1 -1
  291. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  292. package/package.json +3 -3
  293. package/dist/cjs/Datastore-Dn_pL6x4.js.map +0 -1
  294. package/dist/cjs/verdocs-button.verdocs-help-icon.entry.cjs.js.map +0 -1
  295. package/dist/cjs/verdocs-button_2.cjs.entry.js +0 -89
  296. package/dist/cjs/verdocs-button_2.cjs.entry.js.map +0 -1
  297. package/dist/cjs/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.verdocs-text-input.entry.cjs.js.map +0 -1
  298. package/dist/cjs/verdocs-checkbox_6.cjs.entry.js.map +0 -1
  299. package/dist/cjs/verdocs-envelope-recipient-link.cjs.entry.js.map +0 -1
  300. package/dist/cjs/verdocs-envelope-recipient-link.entry.cjs.js.map +0 -1
  301. package/dist/components/p-CDTU_UJD.js.map +0 -1
  302. package/dist/components/p-CWHHlD3o.js.map +0 -1
  303. package/dist/components/p-C_IIZj49.js.map +0 -1
  304. package/dist/components/p-CpHTrnj5.js.map +0 -1
  305. package/dist/esm/Datastore-C_IIZj49.js.map +0 -1
  306. package/dist/esm/verdocs-button.verdocs-help-icon.entry.js.map +0 -1
  307. package/dist/esm/verdocs-button_2.entry.js +0 -86
  308. package/dist/esm/verdocs-button_2.entry.js.map +0 -1
  309. package/dist/esm/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.verdocs-text-input.entry.js.map +0 -1
  310. package/dist/esm/verdocs-checkbox_6.entry.js.map +0 -1
  311. package/dist/esm/verdocs-envelope-recipient-link.entry.js.map +0 -1
  312. package/dist/esm-es5/Datastore-C_IIZj49.js +0 -2
  313. package/dist/esm-es5/Datastore-C_IIZj49.js.map +0 -1
  314. package/dist/esm-es5/verdocs-button.verdocs-help-icon.entry.js.map +0 -1
  315. package/dist/esm-es5/verdocs-button_2.entry.js +0 -2
  316. package/dist/esm-es5/verdocs-button_2.entry.js.map +0 -1
  317. package/dist/esm-es5/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.verdocs-text-input.entry.js.map +0 -1
  318. package/dist/esm-es5/verdocs-checkbox_6.entry.js +0 -2
  319. package/dist/esm-es5/verdocs-checkbox_6.entry.js.map +0 -1
  320. package/dist/esm-es5/verdocs-envelope-recipient-link.entry.js +0 -2
  321. package/dist/esm-es5/verdocs-envelope-recipient-link.entry.js.map +0 -1
  322. package/dist/verdocs-web-sdk/p-03c76a24.system.entry.js +0 -2
  323. package/dist/verdocs-web-sdk/p-03c76a24.system.entry.js.map +0 -1
  324. package/dist/verdocs-web-sdk/p-0bb8015d.entry.js +0 -2
  325. package/dist/verdocs-web-sdk/p-13c9ac73.entry.js +0 -3
  326. package/dist/verdocs-web-sdk/p-13c9ac73.entry.js.map +0 -1
  327. package/dist/verdocs-web-sdk/p-1653b309.system.entry.js.map +0 -1
  328. package/dist/verdocs-web-sdk/p-255c74a9.entry.js +0 -2
  329. package/dist/verdocs-web-sdk/p-255c74a9.entry.js.map +0 -1
  330. package/dist/verdocs-web-sdk/p-2a183b90.system.entry.js +0 -4
  331. package/dist/verdocs-web-sdk/p-2a183b90.system.entry.js.map +0 -1
  332. package/dist/verdocs-web-sdk/p-3b68bc50.entry.js.map +0 -1
  333. package/dist/verdocs-web-sdk/p-3fc4da27.system.entry.js +0 -2
  334. package/dist/verdocs-web-sdk/p-3fc4da27.system.entry.js.map +0 -1
  335. package/dist/verdocs-web-sdk/p-4b2b090e.entry.js.map +0 -1
  336. package/dist/verdocs-web-sdk/p-5018b5b8.entry.js +0 -2
  337. package/dist/verdocs-web-sdk/p-5018b5b8.entry.js.map +0 -1
  338. package/dist/verdocs-web-sdk/p-5d4a9e54.entry.js.map +0 -1
  339. package/dist/verdocs-web-sdk/p-8c9f35ab.system.entry.js +0 -2
  340. package/dist/verdocs-web-sdk/p-8c9f35ab.system.entry.js.map +0 -1
  341. package/dist/verdocs-web-sdk/p-BZkYMpVF.system.js.map +0 -1
  342. package/dist/verdocs-web-sdk/p-Bh0IfLXk.system.js.map +0 -1
  343. package/dist/verdocs-web-sdk/p-BhRjT9GK.system.js.map +0 -1
  344. package/dist/verdocs-web-sdk/p-C4Tt0CYc.system.js.map +0 -1
  345. package/dist/verdocs-web-sdk/p-CMiFaQiI.system.js +0 -2
  346. package/dist/verdocs-web-sdk/p-CMiFaQiI.system.js.map +0 -1
  347. package/dist/verdocs-web-sdk/p-C_IIZj49.js +0 -2
  348. package/dist/verdocs-web-sdk/p-C_IIZj49.js.map +0 -1
  349. package/dist/verdocs-web-sdk/p-DG0Ibgqe.system.js.map +0 -1
  350. package/dist/verdocs-web-sdk/p-Dgk4ByEW.system.js.map +0 -1
  351. package/dist/verdocs-web-sdk/p-EQbSTcUE.system.js.map +0 -1
  352. package/dist/verdocs-web-sdk/p-UTpMOeny.system.js.map +0 -1
  353. package/dist/verdocs-web-sdk/p-a231248c.system.entry.js.map +0 -1
  354. package/dist/verdocs-web-sdk/p-a2ba1316.system.entry.js.map +0 -1
  355. package/dist/verdocs-web-sdk/p-aaf3cb2c.entry.js +0 -2
  356. package/dist/verdocs-web-sdk/p-aaf3cb2c.entry.js.map +0 -1
  357. package/dist/verdocs-web-sdk/p-bde78dab.system.entry.js.map +0 -1
  358. package/dist/verdocs-web-sdk/p-caf258c9.entry.js.map +0 -1
  359. package/dist/verdocs-web-sdk/p-d0bc16f9.entry.js +0 -2
  360. package/dist/verdocs-web-sdk/p-d0bc16f9.entry.js.map +0 -1
  361. package/dist/verdocs-web-sdk/p-eb539d8f.system.entry.js +0 -2
  362. package/dist/verdocs-web-sdk/p-eb539d8f.system.entry.js.map +0 -1
  363. package/dist/verdocs-web-sdk/p-x6a7ykMn.system.js.map +0 -1
  364. package/dist/verdocs-web-sdk/verdocs-button.verdocs-help-icon.entry.esm.js.map +0 -1
  365. package/dist/verdocs-web-sdk/verdocs-envelope-recipient-link.entry.esm.js.map +0 -1
  366. /package/dist/verdocs-web-sdk/{p-c8369ea0.entry.js.map → p-45f59906.entry.js.map} +0 -0
  367. /package/dist/verdocs-web-sdk/{p-1d0463ad.system.entry.js.map → p-65a5d2d4.system.entry.js.map} +0 -0
  368. /package/dist/verdocs-web-sdk/{p-894e2058.entry.js.map → p-76215a73.entry.js.map} +0 -0
  369. /package/dist/verdocs-web-sdk/{p-821becae.system.entry.js.map → p-8c98a765.system.entry.js.map} +0 -0
  370. /package/dist/verdocs-web-sdk/{p-e5f90a18.system.entry.js.map → p-a224a4cc.system.entry.js.map} +0 -0
  371. /package/dist/verdocs-web-sdk/{p-6d8c780d.system.entry.js.map → p-a37e8f84.system.entry.js.map} +0 -0
  372. /package/dist/verdocs-web-sdk/{p-d16c03d8.system.entry.js.map → p-ac05c34d.system.entry.js.map} +0 -0
  373. /package/dist/verdocs-web-sdk/{p-524c1693.system.entry.js.map → p-bec52dd1.system.entry.js.map} +0 -0
  374. /package/dist/verdocs-web-sdk/{p-bb96a9af.entry.js.map → p-d8b36d95.entry.js.map} +0 -0
  375. /package/dist/verdocs-web-sdk/{p-5355587b.entry.js.map → p-e15b7c92.entry.js.map} +0 -0
  376. /package/dist/verdocs-web-sdk/{p-65f4a435.entry.js.map → p-fb00149a.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["verdocsPreviewCss","VerdocsPreview","constructor","hostRef","this","templateListenerId","endpoint","VerdocsEndpoint","getDefault","templateId","loading","template","disconnectedCallback","unlistenToTemplate","listenToTemplate","Store","subscribe","getTemplate","store","delListener","onTemplateIdChanged","newTemplateId","console","log","componentWillLoad","loadSession","session","e","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","handlePageRendered","_e","render","h","Host","documents","map","document","pageNumbers","integerSequence","pages","Fragment","pageNumber","pageSize","page_sizes","width","height","template_id","documentId","id","disabled","editable","done","virtualWidth","virtualHeight","onPageRendered","layers","name","type","getRoleNames","roles","role","getRoleIndex","role_name","Math","max","findIndex","verdocsSendCss","editIcon","startIcon","stepIcon","doneIcon","VerdocsSend","DefaultEndpoint","environment","containerId","random","toString","substring","showPickerForId","sessionContacts","sending","rolesCompleted","recomputeRolesCompleted","reset","onSessionChanged","_endpoint","_session","profile","me","first_name","last_name","email","phone","getOrganizationContacts","then","contacts","catch","rolesAtLevel","forEach","level","sequence","length","push","isValidEmail","getSequenceNumbers","sequences","Object","keys","s","sort","a","b","getRolesAtLevel","filter","index","getLevelIcon","class","innerHTML","handleSelectContact","preventDefault","detail","handleClickRole","stopPropagation","handleSend","details","initial_reminder","followup_reminders","recipients","values","beforeSendResult","beforeSend","defaultPrevented","createEnvelope","r","send","envelope_id","envelope","VerdocsToast","error","handleCancel","exit","style","display","levels","rolesAssigned","recipient","allRolesAssigned","sendable","is_sendable","unknown","roleName","formatFullName","elId","roleIndex","rgba","getRGBA","completed","backgroundColor","border","onClick","anchor","onClickAway","onExit","onNext","contactSuggestions","templateRole","onSearchContacts","searchContacts","label","size","variant","verdocsTemplateAttachmentsCss","VerdocsTemplateAttachments","uploading","progressLabel","progressPercent","showDeleteError","confirmDeleteDocument","handleUploadProgress","percent","handleUpload","file","createTemplateDocument","bind","templateUpdated","event","_d","handleNext","next","confirmDelete","deleteTemplateDocument","handleDelete","getFileIcon","mime","PdfIcon","JpgIcon","PngIcon","DocIcon","FileIcon","title","PageCountIcon","TrashIcon","showPercent","onFileSelected","heading","showCancel","verdocsTemplateBuildTabsCss","HelpIcon","CopyIcon","STEPS","VerdocsTemplateBuildTabs","step","onStepChanged","newStep","setStep","tab","stepChanged","copyTemplateId","navigator","clipboard","writeText","duration","warn","canEditRoles","canEditFields","canPreview","fields","selectedStepIndex","indexOf","onSelectTab","selectedTab","tabs","icon","is_public","_f","is_personal","_g","counter","format","Date","_h","created_at","_j","verdocsTemplateFieldsCss","iconTextbox","iconCheck","iconRadio","iconDatepicker","iconSignature","iconInitial","iconTimestamp","iconDropdown","iconAttachment","separator","menuOptions","tooltip","VerdocsTemplateFields","toolbarTargetId","placing","showMustSelectRole","selectedRoleName","pageHeights","cachedPageInfo","handleKeyDown","ev","key","componentDidRender","interact","dynamicDrop","toolbarTarget","getElementById","toolbarEl","remove","append","componentWillUpdate","find","attachFieldAttributes","pageInfo","field","el","addEventListener","setAttribute","String","xScale","yScale","naturalHeight","page","getFieldId","makeDraggable","draggable","listeners","move","handleMoveField","end","handleMoveEnd","oldX","target","getAttribute","oldY","newX","dx","newY","dy","updateCssTransform","naturalWidth","renderedHeight","clientRect","getBoundingClientRect","parent","parentElement","parentRect","defaultWidth","defaultHeight","left","bottom","newPageNumber","parseInt","min","x","y","viewCoordinatesToPageCoordinates","params","updatedField","updateField","newTemplate","JSON","parse","stringify","fieldIndex","updateTemplate","removeAttribute","removeCssTransform","setControlStyles","generateFieldName","i","fieldName","some","viewX","viewY","xMax","yMax","floor","handleClickPage","clickedX","offsetX","clickedY","offsetY","cachedPage","coords","document_id","required","validator","default","placeholder","group","settings","multiline","readonly","options","newField","createField","selectableRoles","value","full_name","onSubmit","onInput","option","text","t","module","exports","n","o","getOwnPropertySymbols","getOwnPropertyDescriptor","enumerable","apply","I","arguments","defineProperty","configurable","writable","getOwnPropertyDescriptors","defineProperties","Symbol","iterator","prototype","assign","hasOwnProperty","call","propertyIsEnumerable","Array","isArray","l","from","slice","test","TypeError","window","userAgent","match","w","u","c","d","capture","passive","p","removeEventListener","f","matches","msMatchesSelector","webkitMatchesSelector","g","host","nodeType","parentNode","P","m","v","k","classList","className","replace","R","defaultView","getComputedStyle","currentStyle","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","D","getElementsByTagName","O","scrollingElement","documentElement","X","top","right","innerHeight","innerWidth","Y","M","B","children","jt","ghost","dragged","F","lastElementChild","previousElementSibling","j","nodeName","toUpperCase","clone","E","scrollLeft","scrollTop","clientWidth","scrollWidth","clientHeight","scrollHeight","overflowX","overflowY","body","S","round","_","setTimeout","H","C","Polymer","jQuery","Zepto","dom","cloneNode","T","L","animated","K","getTime","A","captureAnimationState","animation","rect","thisAnimationDuration","fromRect","addAnimationState","removeAnimationState","splice","Number","animateAll","clearTimeout","prevFromRect","prevToRect","toRect","sqrt","pow","animate","animationResetTimer","animationTime","animatingX","animatingY","forRepaintDummy","offsetWidth","easing","N","W","initializeByDefault","z","mount","pluginName","concat","pluginEvent","eventCanceled","cancel","sortable","initializePlugins","defaults","modifyOption","getEventProperties","eventProperties","optionListeners","G","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","charAt","substr","CustomEvent","createEvent","initEvent","bubbles","cancelable","to","item","pullMode","lastPutMode","dispatchEvent","U","evt","q","dragEl","Z","parentEl","$","ghostEl","Q","J","nextEl","tt","lastDownEl","et","nt","cloneHidden","ot","dragStarted","mt","ct","activeSortable","active","it","at","rt","lt","hideGhostForTarget","Xt","unhideGhostForTarget","Yt","cloneNowHidden","cloneNowShown","dispatchSortableEvent","V","st","ut","dt","ht","pt","ft","gt","vt","bt","yt","wt","Dt","Et","St","_t","Ct","Tt","xt","Ot","Mt","At","Nt","It","createElement","Pt","cssText","pointerEvents","kt","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","marginLeft","marginRight","flexDirection","gridTemplateColumns","split","float","clear","Rt","join","checkPull","pull","checkPut","put","revertClone","stopImmediatePropagation","Bt","touches","clientX","clientY","emptyInsertThreshold","_onDragOver","Ft","_isOutsideThisEl","handle","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","get","Ht","onMove","draggedRect","related","relatedRect","willInsertAfter","Lt","Kt","Wt","zt","contains","_getDirection","pointerType","shadowRoot","path","composedPath","checked","button","isContentEditable","tagName","trim","_prepareDragStart","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","_dragStarted","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","appendChild","dataTransfer","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","_ignoreWhileAnimating","nextElementSibling","isOwner","axis","revert","dragRect","targetRect","canSort","fromSortable","changed","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","removeChild","save","handleEvent","dropEffect","toArray","src","href","charCodeAt","set","closest","destroy","querySelectorAll","utils","on","off","css","is","extend","throttle","toggleClass","nextTick","cancelNextTick","detectDirection","getChild","expando","create","Gt","Ut","qt","Vt","Zt","$t","Qt","Jt","version","te","pid","ee","ne","oe","scroll","scrollSensitivity","scrollSpeed","scrollFn","vx","vy","layer","bubbleScroll","changedTouches","onSpill","ie","re","startIndex","dragStart","drop","ae","le","se","ce","ue","de","he","pe","fe","ge","sortableIndex","ve","forceAutoScrollFallback","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","nulling","swapClass","dragOverValid","swap","isEqualNode","swapItem","avoidImplicitDeselect","_deselectMultiDrag","_checkKeyDown","_checkKeyUp","selectedClass","multiDragKey","multiDragKeyDown","isMultiDrag","delayStartGlobal","delayEnded","setupClone","showClone","hideClone","dragStartGlobal","multiDrag","dragOver","dragOverAnimationCapture","dragOverAnimationComplete","shiftKey","nullingGlobal","destroyGlobal","shift","select","deselect","multiDragElement","items","clones","oldIndicies","newIndicies","toLowerCase","verdocsTemplateRolesCss","settingsIcon","plusIcon","iconSigner","iconApprover","iconCC","VerdocsTemplateRoles","showingRoleDialog","sender","dragging","sortableRefs","cleanupSortables","sr","sequenceNumbers","Sortable","onEnd","onChoose","onUnchoose","fromSeq","dataset","toSeq","fromIndex","toIndex","sortableRoles","ras","getRolesAtSequence","renumberRequests","entries","targetSeq","targetOrder","order","updateTemplateRole","Promise","all","async","handleSubmit","getSortedRoles","renumberTemplateRoles","targetOrderMinusOne","reduce","acc","seq","rolesUpdated","getNextRoleName","nextNumber","callCreateRole","createTemplateRole","delegator","handleAddRole","handleAddStep","roleNames","nextSequence","autocomplete","onClose","onDelete","verdocsTemplateSettingsCss","MS_PER_DAY","VerdocsTemplateSettings","visibility","sendReminders","initialReminder","followupReminders","dirty","onCheckedChange"],"sources":["src/components/embeds/verdocs-preview/verdocs-preview.scss?tag=verdocs-preview","src/components/embeds/verdocs-preview/verdocs-preview.tsx","src/utils/Templates.ts","src/components/embeds/verdocs-send/verdocs-send.scss?tag=verdocs-send","src/components/embeds/verdocs-send/verdocs-send.tsx","src/components/templates/verdocs-template-attachments/verdocs-template-attachments.scss?tag=verdocs-template-attachments","src/components/templates/verdocs-template-attachments/verdocs-template-attachments.tsx","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","src/components/templates/verdocs-template-fields/verdocs-template-fields.scss?tag=verdocs-template-fields","src/components/templates/verdocs-template-fields/verdocs-template-fields.tsx","node_modules/sortablejs/Sortable.min.js","src/components/templates/verdocs-template-roles/verdocs-template-roles.scss?tag=verdocs-template-roles","src/components/templates/verdocs-template-roles/verdocs-template-roles.tsx","src/components/templates/verdocs-template-settings/verdocs-template-settings.scss?tag=verdocs-template-settings","src/components/templates/verdocs-template-settings/verdocs-template-settings.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-preview {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {getTemplate, integerSequence, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Event, EventEmitter, Host, Component, Prop, h, State, Fragment, Watch} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a template preview experience. This will display the template's attached\n * documents with signing fields overlaid on each page. Fields will be color-coded\n * by recipient, and will be read-only (cannot be filled, moved, or altered).\n *\n * ```ts\n * <verdocs-preview\n * templateId={TEMPLATE_ID}\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-preview',\n styleUrl: 'verdocs-preview.scss',\n shadow: false,\n})\nexport class VerdocsPreview {\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.\n */\n @Prop() templateId: string | null = null;\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() 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('[PREVIEW] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[PREVIEW] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[PREVIEW] Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handlePageRendered(_e: any) {\n // const pageInfo = e.detail as IDocumentPageInfo;\n // const fields = (this.template?.fields || []).filter(field => field.page === pageInfo.pageNumber);\n // console.log('[PREVIEW] Page rendered', pageInfo, fields);\n // fields.forEach(field => renderDocumentField(field, pageInfo, {disabled: true, editable: false, draggable: false}));\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n return (\n <Host>\n {(this.template?.documents || []).map(document => {\n const pageNumbers = integerSequence(1, document.pages);\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = document.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n return (\n <verdocs-template-document-page\n templateId={document.template_id}\n documentId={document.id}\n pageNumber={pageNumber}\n disabled={true}\n editable={false}\n done={false}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </Host>\n );\n }\n}\n","import {ITemplate} from '@verdocs/js-sdk';\n\nexport const getRoleNames = (template: ITemplate | null) => (template?.roles || []).map(role => role.name);\n\nexport const getRoleIndex = (template: ITemplate | null, role_name: string) =>\n Math.max(\n getRoleNames(template).findIndex(name => name === role_name),\n 0,\n );\n","@import '../../../theme.scss';\n\nverdocs-send {\n padding: 10px;\n position: relative;\n background: #ffffff;\n flex-direction: column;\n font-family: $verdocs-primary-font;\n\n &.sendable {\n display: flex;\n }\n\n .recipients {\n position: relative;\n }\n\n // To avoid the need to compute things like heights, this layer is simply displayed \"on top\" of all the level rows. Its\n // background obscures the horizontal lines.\n .left-line {\n top: 32px;\n left: 20px;\n z-index: 1;\n width: 12px;\n bottom: 30px;\n position: absolute;\n background: #ffffff;\n border-left: 3px dotted #9b9b9b;\n }\n\n .level {\n display: flex;\n column-gap: 10px;\n margin-left: 50px;\n position: relative;\n flex-direction: row;\n padding: 8px 0 4px 0;\n border-bottom: 1px solid #97979744;\n\n .level-icon {\n top: 14px;\n z-index: 2;\n left: -40px;\n width: 24px;\n height: 24px;\n position: absolute;\n background: #ffffff;\n\n svg {\n fill: #00000089;\n }\n }\n\n .recipient {\n height: 30px;\n display: flex;\n flex: 0 0 30px;\n color: #000000;\n cursor: pointer;\n font-size: 14px;\n align-items: center;\n border-radius: 30px;\n flex-direction: row;\n background: #dddddd;\n white-space: nowrap;\n border: 2px solid #dddddd;\n padding: 2px 10px 2px 14px;\n\n .icon {\n width: 22px;\n height: 22px;\n flex: 0 0 22px;\n margin: 0 0 0 10px;\n\n svg {\n width: 22px;\n height: 22px;\n fill: #333333;\n outline: none;\n }\n }\n }\n\n .complete {\n flex: 1;\n height: 30px;\n display: flex;\n color: #000000;\n font-size: 14px;\n align-items: center;\n flex-direction: row;\n padding: 3px 10px 3px 2px;\n }\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n column-gap: 15px;\n flex-direction: row;\n }\n\n verdocs-contact-picker {\n left: 0;\n top: 41px;\n z-index: 10;\n position: absolute;\n border: 1px solid #dddddd;\n box-shadow: 0 0 6px 3px rgb(0 0 0 / 10%);\n }\n}\n","import {Component, Prop, State, h, Event, EventEmitter, Host, Method, Watch} from '@stencil/core';\nimport {createEnvelope, formatFullName, getTemplate, getOrganizationContacts, getRGBA, isValidEmail, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport type {ICreateEnvelopeFromTemplateRequest, ICreateEnvelopeRecipientFromTemplate, IEnvelope, IRecipient, ITemplate} from '@verdocs/js-sdk';\nimport {IContactSearchEvent} from '../../envelopes/verdocs-contact-picker/verdocs-contact-picker';\nimport {getRoleIndex, getRoleNames} from '../../../utils/Templates';\nimport {DefaultEndpoint} from '../../../utils/Environment';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\n/**\n * Display a form to send a template to one or more recipients in an envelope for signing.\n * Host applications should ensure the template is \"sendable\" before displaying this component.\n * To be sendable, a template must have at least one document attached, at least one participant\n * defined, and at least one field assigned to every \"signer\" participant. This component will\n * hide itself if the template is not sendable.\n *\n * ```ts\n * <verdocs-send\n * templateId={TEMPLATE_ID}\n * onBeforeSend={({ detail })) => { console.log('Sending... Show a spinner...', detail) }\n * onSend={({ detail }) => { console.log('Sent! Hide the spinner...', detail) }\n * onExit={({ detail }) => { console.log('Send cancelled.', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\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 = DefaultEndpoint;\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop({reflect: true}) templateId: string | null = null;\n\n /**\n * The environment the control is being called from, e.g. 'web'. This has an impact on how certain\n * operations such as email communications are handled to ensure users receive the correct URLs for\n * their invitations. Setting this to unknown values may produce unexpected/incorrect behaviors.\n * If environment is not known, do this set this property.\n */\n @Prop() environment: string = '';\n\n /**\n * The user is sending an envelope the form and clicked send.\n */\n @Event({composed: true}) beforeSend: EventEmitter<{recipients: ICreateEnvelopeRecipientFromTemplate[]; name: string; template_id: string; template: ITemplate}>;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipients: ICreateEnvelopeRecipientFromTemplate[]; name: string; template_id: string; envelope_id: string; envelope: IEnvelope}>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired 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 enters text in a search field. The parent application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n @State() showPickerForId = '';\n @State() sessionContacts = [];\n @State() sending = false;\n @State() rolesCompleted: Record<string, Partial<IRecipient>> = {};\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[SEND] Loading template', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n true,\n (template: ITemplate) => {\n console.log('[SEND] Got new template', template);\n this.template = template;\n this.loading = false;\n this.rolesCompleted = {};\n this.recomputeRolesCompleted();\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Method() async reset() {\n this.rolesCompleted = {};\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[SEND] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.onSessionChanged((_endpoint, _session, profile) => {\n if (!profile) {\n return;\n }\n\n const me = {\n id: profile.id,\n first_name: profile.first_name,\n last_name: profile.last_name,\n email: profile.email,\n phone: profile.phone,\n };\n\n if (profile) {\n this.sessionContacts = [me];\n\n getOrganizationContacts(this.endpoint)\n .then(contacts => {\n console.log('[SEND] Got contacts', contacts);\n this.sessionContacts = [...contacts, me];\n })\n .catch(e => {\n console.log('[SEND] Error getting contacts', e);\n });\n }\n });\n\n this.endpoint.loadSession();\n\n if (!this.endpoint.session) {\n console.log('[SEND] Unable to start Send operation, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[SEND] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[SEND] Error with send session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n recomputeRolesCompleted() {\n this.rolesCompleted = {};\n\n const rolesAtLevel: Record<number, Partial<IRecipient>[]> = {};\n (this.template?.roles || []).forEach(role => {\n const level = role.sequence;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name});\n\n // if (role.first_name && (isValidEmail(role.email) || isValidPhone(role.phone))) {\n if (role.first_name && isValidEmail(role.email)) {\n this.rolesCompleted[id] = {...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name};\n }\n });\n }\n\n getSequenceNumbers() {\n // This is cleaner with a Set but we found a regression in some target environments where\n // this breaks down. Reverting to an older technique while we diagnose it.\n const sequences: Record<number, boolean> = {};\n (this.template?.roles || []).forEach(role => {\n sequences[role.sequence] = true;\n });\n return Object.keys(sequences)\n .map(s => +s)\n .sort((a, b) => a - b);\n }\n\n getRolesAtLevel(level: number) {\n const rolesAtLevel = (this.template?.roles || [])\n .filter(role => role.sequence === level)\n .map((role, index) => ({\n ...role,\n id: `r-${level}-${index}`,\n role_name: role.name,\n first_name: role.first_name,\n last_name: role.last_name,\n }));\n return rolesAtLevel as Partial<IRecipient>[];\n }\n\n getLevelIcon(level: 'start' | 'end' | 'sequence') {\n if (level === 'start') {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level === 'end') {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: Partial<IRecipient>) {\n e.preventDefault();\n this.rolesCompleted[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: Partial<IRecipient>) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e: any) {\n if (this.sending) {\n console.log('[SEND] Skipping duplicate send', e);\n return;\n }\n\n console.log('[SEND] Sending', e);\n e.preventDefault();\n e.stopPropagation();\n\n this.sending = true;\n\n const details: ICreateEnvelopeFromTemplateRequest = {\n template_id: this.templateId,\n name: this.template?.name || 'New Envelope',\n environment: this.environment,\n initial_reminder: 0,\n followup_reminders: 0,\n recipients: Object.values(this.rolesCompleted) as ICreateEnvelopeRecipientFromTemplate[],\n };\n\n const beforeSendResult = this.beforeSend.emit({...details, name: details.name!, template: this.template});\n if (beforeSendResult.defaultPrevented) {\n console.log('[SEND] Send cancelled by parent', details);\n this.sending = false;\n return;\n }\n\n console.log('[SEND] Creating envelope', details);\n createEnvelope(this.endpoint, details)\n .then(r => {\n console.log('[SEND] Send envelope', r);\n this.reset().catch((e: any) => console.log('Unknown Error', e));\n this.sending = false;\n this.send?.emit({...details, name: details.name!, envelope_id: r.id, envelope: r});\n })\n .catch(e => {\n console.log('[SEND] Send error', e);\n VerdocsToast(e.response?.data?.error || 'Error creating envelope, please try again later.');\n this.sending = false;\n this.sdkError?.emit(e);\n });\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.exit?.emit();\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 style={{display: 'flex'}}>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const levels = this.getSequenceNumbers();\n const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) && recipient.first_name && recipient.last_name);\n const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;\n\n return (\n <Host class={{sendable: this.template?.is_sendable}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon('start')}\n <div class=\"complete\">Send Envelope</div>\n </div>\n\n {levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon('sequence')}\n\n {this.getRolesAtLevel(level).map(role => {\n const unknown = !role.email || !role.first_name || !role.last_name;\n const roleName = this.rolesCompleted[role.id]?.first_name ? formatFullName(this.rolesCompleted[role.id]) : unknown ? role.role_name : formatFullName(role);\n const elId = `verdocs-send-recipient-${role.role_name}`;\n const roleIndex = getRoleIndex(this.template, role.role_name);\n const rgba = getRGBA(roleIndex);\n const completed = rolesAssigned.findIndex(r => r.role_name === role.role_name) > -1;\n\n const style = {\n backgroundColor: rgba,\n border: completed ? '2px solid #55bc81' : '2px solid #dddddd',\n };\n\n return unknown ? (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={this.rolesCompleted[role.id] ?? role}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n ) : (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {/*<div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={{borderColor: rgba}} onClick={e => this.handleClickRole(e, role)} id={elId}>*/}\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={(this.rolesCompleted[role.id] ?? role) as IRecipient}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n );\n })}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon('end')}\n <div class=\"complete\">Signing Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} disabled={this.sending} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRolesAssigned || this.sending} onClick={e => this.handleSend(e)} />\n {this.sending && <verdocs-spinner />}\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-template-attachments {\n font-family: $verdocs-primary-font;\n\n h5 {\n font-size: 16px;\n font-weight: bold;\n margin: 0 0 10px 0;\n color: $verdocs-grey-blue;\n }\n\n .attachments {\n margin: 0 0 40px 0;\n }\n\n .attachment {\n display: flex;\n padding: 5px 0;\n column-gap: 15px;\n align-items: center;\n flex-direction: row;\n color: $label-color;\n\n &:hover {\n .trash-icon {\n display: flex;\n }\n\n .pages {\n display: none;\n }\n }\n }\n\n svg {\n width: 28px;\n height: 28px;\n fill: $verdocs-bg-4;\n margin: 2px 0 0 0;\n }\n\n .file-icon {\n flex: 0;\n }\n\n .pages {\n width: 24px;\n height: 24px;\n flex: 0 0 24px;\n padding-left: 4px;\n position: relative;\n margin: -10px 0 0 0;\n\n .pages-icon {\n top: 0;\n left: 0;\n width: 24px;\n height: 24px;\n position: absolute;\n }\n\n .count {\n top: 11px;\n left: 7px;\n z-index: 1;\n width: 18px;\n font-size: 12px;\n font-weight: 500;\n position: absolute;\n text-align: center;\n letter-spacing: -2px;\n }\n }\n\n .filename {\n flex: 1;\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-bottom: 1px dotted #cccccc;\n }\n\n .trash-icon {\n flex: 0;\n display: none;\n\n &:hover {\n cursor: pointer;\n }\n }\n\n verdocs-file-chooser {\n margin: 10px 0;\n border: 2px dashed #979797;\n }\n\n .loader-wrapper {\n background-color: $verdocs-grey-4;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n position: relative;\n width: 320px;\n height: 320px;\n text-align: center;\n border: 2px dashed #979797;\n justify-content: flex-end;\n }\n\n .progress-wrapper {\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n column-gap: 8px;\n margin-top: 16px;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n .flex-fill {\n flex: 1;\n }\n }\n\n ::placeholder {\n color: $verdocs-bg-2;\n }\n}\n","import {Component, h, Event, EventEmitter, Prop, Host, State} from '@stencil/core';\nimport {createTemplateDocument, deleteTemplateDocument, getTemplate, ITemplate, ITemplateDocument, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {DocIcon, FileIcon, JpgIcon, PageCountIcon, PdfIcon, PngIcon, TrashIcon} from '../../../utils/Icons';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays an edit form that allows the user to view, add, or remove a template's attachments.\n * Note that an active session and valid template ID must be supplied.\n */\n@Component({\n tag: 'verdocs-template-attachments',\n styleUrl: 'verdocs-template-attachments.scss',\n shadow: false,\n})\nexport class VerdocsTemplateAttachments {\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 * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired when the user clicks the next button.\n */\n @Event({composed: true}) next: EventEmitter<{template: ITemplate}>;\n\n /**\n * Event fired when the user updates the template.\n */\n @Event({composed: true}) templateUpdated: EventEmitter<{endpoint: VerdocsEndpoint; template: ITemplate; event: 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() uploading = false;\n @State() progressLabel = 'Uploading...';\n @State() progressPercent = 0;\n @State() showDeleteError = false;\n @State() confirmDeleteDocument: ITemplateDocument | null = null;\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('[TEMPLATE ATTACHMENTS] Error loading template', 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 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 handleCancel(e) {\n e.stopPropagation();\n this.exit.emit();\n }\n\n handleUploadProgress(percent: number) {\n if (percent >= 99) {\n this.progressPercent = 100;\n this.progressLabel = 'Processing...';\n } else {\n this.progressPercent = percent;\n }\n }\n\n async handleUpload(e) {\n e.stopPropagation();\n\n const file = e.detail.file as File;\n if (!file) {\n return;\n }\n\n console.log('[ATTACHMENTS] Uploading...', file);\n\n this.uploading = true;\n this.progressLabel = 'Uploading...';\n\n try {\n const template = await createTemplateDocument(this.endpoint, this.templateId, file, this.handleUploadProgress.bind(this));\n console.log('[ATTACHMENTS] Created attachment', template);\n\n // TODO: Just updated it in place.\n this.template = await Store.getTemplate(this.endpoint, this.templateId, true);\n console.log('[ATTACHMENTS] Updated template', this.template);\n\n this.templateUpdated?.emit({endpoint: this.endpoint, template: this.template, event: 'attachments'});\n\n this.uploading = false;\n this.progressLabel = '';\n this.progressPercent = 0;\n } catch (e) {\n console.log('[ATTACHMENTS] Error creating template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n this.uploading = false;\n }\n }\n\n handleNext(e: any) {\n e.stopPropagation();\n this.uploading = false;\n this.progressLabel = '';\n this.progressPercent = 0;\n this.next?.emit({template: this.template});\n }\n\n async confirmDelete() {\n await deleteTemplateDocument(this.endpoint, this.templateId, this.confirmDeleteDocument.id);\n // TODO: Update it in place\n this.template = await Store.getTemplate(this.endpoint, this.templateId, true);\n console.log('[ATTACHMENTS] New template', this.template);\n this.confirmDeleteDocument = null;\n }\n\n async handleDelete(document: ITemplateDocument) {\n if ((this.template?.documents || []).length > 1) {\n this.confirmDeleteDocument = document;\n } else {\n this.showDeleteError = true;\n }\n }\n\n getFileIcon(document: ITemplateDocument) {\n switch (document.mime) {\n case 'application/pdf':\n return PdfIcon;\n case 'image/jpeg':\n return JpgIcon;\n case 'image/png':\n return PngIcon;\n case 'application/msword':\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\n return DocIcon;\n }\n\n return FileIcon;\n }\n\n render() {\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 if (this.loading) {\n return (\n <Host class=\"loading\">\n <verdocs-loader />\n </Host>\n );\n }\n\n // This is meant to be a companion for larger visual experiences so we just go blank on errors for now.\n if (!this.endpoint.session || !this.template) {\n return <Host class=\"empty\" />;\n }\n\n return (\n <Host>\n <h5>Existing Attachments</h5>\n\n <div class=\"attachments\">\n {(this.template?.documents || []).map(document => (\n <div class=\"attachment\">\n <div class=\"file-icon\" innerHTML={this.getFileIcon(document)} />\n <div class=\"filename\" title={document.name}>\n {document.name}\n </div>\n <div class=\"pages\">\n <div class=\"count\">{document.pages}</div>\n <div class=\"pages-icon\" innerHTML={PageCountIcon} />\n </div>\n <div class=\"trash-icon\" innerHTML={TrashIcon} onClick={() => this.handleDelete(document)} />\n </div>\n ))}\n </div>\n\n <h5>Attach a New Document</h5>\n\n {this.uploading ? (\n <div class=\"loader-wrapper\">\n <verdocs-loader />\n\n {this.progressLabel && (\n <div class=\"progress-wrapper\">\n <verdocs-progress-bar showPercent={true} percent={this.progressPercent} label={this.progressLabel} />\n </div>\n )}\n </div>\n ) : (\n <verdocs-file-chooser onFileSelected={e => this.handleUpload(e)} />\n )}\n\n <div class=\"buttons\">\n <verdocs-button variant=\"outline\" label=\"Cancel\" size=\"small\" onClick={e => this.handleCancel(e)} disabled={this.uploading} />\n <verdocs-button label=\"Next\" size=\"small\" onClick={e => this.handleNext(e)} disabled={!(this.template?.documents || []).length || this.uploading} />\n </div>\n\n {this.showDeleteError && (\n <verdocs-ok-dialog heading=\"Unable to Delete Attachment\" message=\"Templates must contain at least one attachment.\" onNext={() => (this.showDeleteError = false)} />\n )}\n\n {this.confirmDeleteDocument && (\n <verdocs-ok-dialog\n heading=\"Delete this Attachment?\"\n message=\"This operation cannot be undone. All fields placed<br />on the deleted attachment will also be removed.\"\n onNext={() => this.confirmDelete()}\n showCancel={true}\n onExit={() => {\n this.confirmDeleteDocument = null;\n }}\n />\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-template-build-tabs {\n flex: 1;\n gap: 15px;\n display: flex;\n align-items: center;\n flex-direction: row;\n font-family: $verdocs-primary-font;\n\n verdocs-button-panel {\n svg {\n transform: scale(0.8);\n }\n }\n\n verdocs-template-attachments,\n verdocs-template-roles {\n margin: 20px;\n }\n\n verdocs-template-fields {\n border-top: 1px solid #777777;\n }\n\n verdocs-template-attachments {\n padding: 20px;\n background: #ffffff;\n }\n\n verdocs-template-fields {\n width: 100%;\n }\n\n verdocs-preview {\n flex: 1;\n }\n}\n\n.template-details-panel {\n .row {\n display: flex;\n flex-direction: row;\n gap: 8px;\n margin: 10px 0;\n }\n\n label {\n flex: 0 0 70px;\n }\n\n .value {\n flex: 1;\n font-weight: 300;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .icon-button {\n cursor: pointer;\n opacity: 0.8;\n flex: 0;\n width: 18px;\n height: 18px;\n\n svg {\n stroke: #000000;\n width: 18px;\n height: 18px;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n","import {format} from 'date-fns';\nimport {getTemplate, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, h, Event, EventEmitter, Host, Watch, State} from '@stencil/core';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst HelpIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\" fill=\"#5c6575\"><path d=\"M11.925 18q.55 0 .938-.387.387-.388.387-.938 0-.55-.387-.925-.388-.375-.938-.375-.55 0-.925.375t-.375.925q0 .55.375.938.375.387.925.387Zm-.95-3.85h1.95q0-.8.2-1.287.2-.488 1.025-1.288.65-.625 1.025-1.213.375-.587.375-1.437 0-1.425-1.025-2.175Q13.5 6 12.1 6q-1.425 0-2.35.775t-1.275 1.85l1.775.7q.125-.45.55-.975.425-.525 1.275-.525.725 0 1.1.412.375.413.375.888 0 .475-.287.9-.288.425-.713.775-1.075.95-1.325 1.475-.25.525-.25 1.875ZM12 22.2q-2.125 0-3.988-.8-1.862-.8-3.237-2.175Q3.4 17.85 2.6 15.988 1.8 14.125 1.8 12t.8-3.988q.8-1.862 2.175-3.237Q6.15 3.4 8.012 2.6 9.875 1.8 12 1.8t3.988.8q1.862.8 3.237 2.175Q20.6 6.15 21.4 8.012q.8 1.863.8 3.988t-.8 3.988q-.8 1.862-2.175 3.237Q17.85 20.6 15.988 21.4q-1.863.8-3.988.8Zm0-2.275q3.325 0 5.625-2.3t2.3-5.625q0-3.325-2.3-5.625T12 4.075q-3.325 0-5.625 2.3T4.075 12q0 3.325 2.3 5.625t5.625 2.3ZM12 12Z\"/></svg>';\n\nconst CopyIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75\" /></svg>`;\n\nconst STEPS = ['attachments', 'roles', 'settings', 'fields', 'preview'];\nexport type TVerdocsBuildStep = 'attachments' | 'roles' | 'settings' | 'fields' | 'preview';\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 setStep(e: any) {\n console.log('[BUILD_TABS] Selected step', e.detail.tab.id);\n e.stopPropagation();\n e.preventDefault();\n this.step = e.detail.tab.id;\n this.stepChanged?.emit(e.detail.tab.id);\n }\n\n copyTemplateId() {\n navigator.clipboard\n .writeText(this.templateId)\n .then(() => {\n VerdocsToast('Template ID copied', {style: 'success', duration: 3000});\n })\n .catch(e => {\n console.warn('[BUILD_TABS] Error copying to clipboard', e);\n this.sdkError?.emit(e);\n });\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 let canEditFields = canEditRoles && (this.template?.roles || []).length > 0;\n const canPreview = canEditFields && (this.template?.fields || []).length > 0;\n\n let selectedStepIndex = Math.max(STEPS.indexOf(this.step), 0);\n if (!canPreview && selectedStepIndex >= 4) {\n selectedStepIndex = 3;\n }\n if (!canEditFields && selectedStepIndex >= 3) {\n selectedStepIndex = 1;\n }\n if (!canEditRoles && selectedStepIndex >= 1) {\n selectedStepIndex = 0;\n }\n\n return (\n <Host>\n <verdocs-tabs\n onSelectTab={e => this.setStep(e)}\n selectedTab={selectedStepIndex}\n tabs={[\n {id: 'attachments', disabled: false, label: 'Attachment(s)'},\n {id: 'roles', disabled: !canEditRoles, label: 'Roles'},\n {id: 'settings', disabled: !canEditFields, label: 'Settings'},\n {id: 'fields', disabled: !canEditFields, label: 'Fields'},\n {id: 'preview', disabled: !canPreview, label: 'Preview/Send'},\n ]}\n />\n\n {this.templateId && (\n <div class=\"info\">\n <verdocs-button-panel icon={HelpIcon}>\n <div class=\"template-details-panel\">\n <h6>Template Details</h6>\n <div class=\"row\">\n <label>ID:</label>\n <div class=\"value\">{this.templateId}</div>\n <div class=\"icon-button\" innerHTML={CopyIcon} onClick={() => this.copyTemplateId()} />\n </div>\n <div class=\"row\">\n <label>Name:</label>\n <div class=\"value\">{this.template?.name}</div>\n </div>\n <div class=\"row\">\n <label>Visibility:</label>\n <div class=\"value\">{this.template?.is_public ? 'Public' : this.template?.is_personal ? 'Private' : 'Shared'}</div>\n </div>\n <div class=\"row\">\n <label>Created:</label>\n <div class=\"value\">{this.template?.counter ? format(new Date(this.template?.created_at), 'P p') : ''}</div>\n </div>\n <div class=\"row\">\n <label>Used:</label>\n <div class=\"value\">{this.template?.counter} time(s)</div>\n </div>\n </div>\n </verdocs-button-panel>\n </div>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-template-fields {\n font-family: $verdocs-primary-font;\n position: relative;\n display: block;\n min-height: 600px;\n\n .page-0 {\n padding: 65px 15px 0 15px;\n box-sizing: border-box;\n\n .user-placed-fields {\n height: 100px;\n position: relative;\n background: #ffffff;\n box-shadow: 0 0 10px 5px #0000000f;\n\n .title {\n top: 0;\n left: 0;\n color: #ffffff;\n font-size: 12px;\n padding: 3px 6px;\n font-weight: bold;\n position: absolute;\n background: $verdocs-grey-blue;\n }\n }\n }\n\n .pages {\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n }\n\n #verdocs-template-fields-toolbar {\n width: 100%;\n height: 50px;\n display: flex;\n column-gap: 15px;\n font-weight: 700;\n padding: 0 20px 0 0; // Right-only to better balance the visual\n align-items: center;\n flex-direction: row;\n color: $verdocs-grey-3;\n justify-content: center;\n background: $verdocs-grey-blue;\n\n > verdocs-select-input {\n margin: 0;\n }\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n .add-for {\n margin: 0;\n font-weight: 500;\n color: $verdocs-grey-3;\n }\n\n verdocs-select-input {\n margin: 0 20px 0 0;\n }\n\n @media all and (max-width: 1000px) {\n column-gap: 8px;\n padding: 0 10px 0 0; // Right-only to better balance the visual\n\n svg {\n transform: scale(0.8);\n }\n\n .add-for,\n verdocs-select-input {\n display: none;\n }\n }\n\n @media all and (max-width: 600px) {\n column-gap: 6px;\n\n svg {\n transform: scale(0.6);\n }\n\n .separator,\n .add-for,\n verdocs-select-input {\n display: none;\n }\n }\n }\n\n &.placing-attachment {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-checkbox {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-date {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z'/%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-dropdown {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25' /%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-initial {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z'/%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-payment {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-radio {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z'/%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-signature {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z'/%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-textarea {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z'/%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n\n &.placing-textbox {\n cursor:\n url(\"data:image/svg+xml,%3Csvg width='32' height='15' viewBox='0 0 32 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='path-1-inside-1_1401_24' fill='white'%3E%3Cpath d='M0 0H32V15H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0H32V15H0V0Z' fill='%234C56CB' fill-opacity='0.1'/%3E%3Cpath d='M0 0V-1H-1V0H0ZM0 15H-1V16H0V15ZM0 1H32V-1H0V1ZM32 14H0V16H32V14ZM1 15V0H-1V15H1Z' fill='%234C56CB' mask='url(%23path-1-inside-1_1401_24)'/%3E%3Cpath d='M3 11.8V8.65H14.15V11.8H3ZM3 6.65V3.5H20.15V6.65H3Z' fill='%234C56CB'/%3E%3Cline x1='31.5' y1='1' x2='31.5' y2='14' stroke='%234C56CB' stroke-opacity='0.32' stroke-dasharray='1 1'/%3E%3C/svg%3E%0A\")\n 0 14,\n pointer;\n }\n\n &.placing-timestamp {\n cursor:\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z'%3E%3C/path%3E%3C/svg%3E\")\n 16 16,\n pointer;\n }\n}\n","import interact from 'interactjs';\nimport {Component, h, Event, EventEmitter, Prop, Host, State, Listen, Watch} from '@stencil/core';\nimport {createField, getTemplate, integerSequence, ITemplate, ITemplateField, TFieldType, updateField, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {defaultHeight, defaultWidth, getFieldId, removeCssTransform, setControlStyles, updateCssTransform} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst iconTextbox = '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path fill=\"#ffffff\" d=\"M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z\"/></svg>';\n\nconst iconCheck =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path fill=\"#ffffff\" d=\"m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z\"/></svg>';\n\nconst iconRadio =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path fill=\"#ffffff\" d=\"M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z\"/></svg>';\n\nconst iconDatepicker =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path fill=\"#ffffff\" d=\"M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z\"/></svg>';\n\nconst iconSignature =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path fill=\"#ffffff\" d=\"m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z\"/></svg>';\n\nconst iconInitial =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path fill=\"#ffffff\" d=\"M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z\"/></svg>';\n\nconst iconTimestamp =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path fill=\"#ffffff\" d=\"M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z\"></path></svg>';\n\nconst iconDropdown =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke=\"#ffffff\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25\" /></svg>';\n\nconst iconAttachment =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"size-6\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m18.375 12.739-7.693 7.693a4.5 4.5 0 0 1-6.364-6.364l10.94-10.94A3 3 0 1 1 19.5 7.372L8.552 18.32m.009-.01-.01.01m5.699-9.941-7.81 7.81a1.5 1.5 0 0 0 2.112 2.13\" /></svg>';\n\nconst separator = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14.707 14.707\"><g><rect x=\"6.275\" y=\"0\" fill=\"#ffffff7f\" width=\"1\" height=\"15\"/></g></svg>';\n\nconst menuOptions = [\n {id: 'signature', tooltip: 'Signature', icon: iconSignature, class: 'signature'},\n {id: 'initial', tooltip: 'Initials', icon: iconInitial, class: 'initial'},\n {id: 'sep1', tooltip: '', icon: separator, class: 'separator'},\n {id: 'textbox', tooltip: 'Text Box', icon: iconTextbox, class: 'textbox'},\n {id: 'checkbox', tooltip: 'Check Box', icon: iconCheck, class: 'checkbox'},\n {id: 'radio', tooltip: 'Radio Button', icon: iconRadio, class: 'radio'},\n {id: 'dropdown', tooltip: 'Dropdown', icon: iconDropdown, class: 'dropdown'},\n {id: 'sep2', tooltip: '', icon: separator, class: 'separator'},\n {id: 'date', tooltip: 'Date', icon: iconDatepicker, class: 'date'},\n {id: 'timestamp', tooltip: 'Timestamp', icon: iconTimestamp, class: 'timestamp'},\n // {id: 'sep3', tooltip: '', icon: separator},\n {id: 'attachment', tooltip: 'Attachment', icon: iconAttachment, class: 'attachment'},\n // {id: 'payment', tooltip: 'Payment', icon: 'P'},\n];\n\n/**\n * Displays a builder experience for laying out fields in a template. Note that this experience requires a large display area to\n * present all of the required controls, so it is primarily intended to be used in desktop environments.\n */\n@Component({\n tag: 'verdocs-template-fields',\n styleUrl: 'verdocs-template-fields.scss',\n shadow: false,\n})\nexport class VerdocsTemplateFields {\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.\n */\n @Prop({reflect: true, mutable: true}) templateId: string | null = null;\n\n /**\n * If set, (recommended), the host application should create a <DIV> element with a unique ID. When this\n * component renders, the toolbar will be removed from its default location and placed in the target element.\n * This allows the parent application to more easily control its placement and scroll effects.\n *\n * The movement of the toolbar to the target container is not dynamic - it is performed only on the initial\n * render. Host applications should not conditionally render this container. If the toolbar's visibility must\n * be externally controlled, use CSS display options to hide/show it instead.\n */\n @Prop() toolbarTargetId: string | null = null;\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 template is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n @Event({composed: true}) templateUpdated: EventEmitter<{endpoint: VerdocsEndpoint; template: ITemplate; event: string}>;\n\n @Event({composed: true}) fieldsUpdated: EventEmitter<{endpoint: VerdocsEndpoint; templateId: string; event: 'added' | 'deleted' | 'updated'; fields: ITemplateField[]}>;\n\n @State() placing: TFieldType | null = null;\n @State() showMustSelectRole = false;\n @State() selectedRoleName = '';\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n pageHeights: Record<number, number> = {};\n\n @Watch('templateId')\n onTemplateIdChanged() {\n this.listenToTemplate();\n }\n\n // Stop field-placement mode if ESC is pressed\n @Listen('keydown', {target: 'document'})\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Escape') {\n this.placing = null;\n }\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[FIELDS] Missing required template ID ${this.templateId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[FIELDS] Unable to start builder session, must be authenticated');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[FIELDS] Error with fields session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n const toolbarTarget = this.toolbarTargetId ? document.getElementById(this.toolbarTargetId) : null;\n const toolbarEl = document.getElementById('verdocs-template-fields-toolbar');\n if (toolbarTarget && toolbarEl) {\n console.log('[FIELDS] Moving toolbar');\n toolbarEl.remove();\n toolbarTarget.append(toolbarEl);\n }\n }\n\n componentWillUpdate() {\n // If a new role was added and there were none yet so far, or the \"selected\" role was deleted, reset our selection\n const roles = this.template?.roles || [];\n if (!this.selectedRoleName || !roles.find(role => role && role.name === this.selectedRoleName)) {\n this.selectedRoleName = roles[0]?.name || '';\n console.log('[FIELDS] Selected new role', this.selectedRoleName);\n }\n }\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 if (!this.selectedRoleName) {\n this.selectedRoleName = template.roles?.[0]?.name || '';\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 attachFieldAttributes(pageInfo: IDocumentPageInfo, field: ITemplateField, el: HTMLInputElement) {\n // el.addEventListener('input', e => this.handleFieldChange(field, e));\n el.addEventListener('settingsChanged', () => {\n this.templateUpdated?.emit({endpoint: this.endpoint, template: this.template, event: 'added-field'});\n });\n el.addEventListener('deleted', () => {\n el.remove();\n this.templateUpdated?.emit({endpoint: this.endpoint, template: this.template, event: 'updated-field'});\n });\n el.setAttribute('templateid', this.templateId);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('pageNumber', String(pageInfo.pageNumber));\n el.setAttribute('xScale', String(pageInfo.xScale));\n el.setAttribute('yScale', String(pageInfo.yScale));\n el.setAttribute('name', field.name);\n }\n\n cachedPageInfo: Record<number, IDocumentPageInfo> = {};\n handlePageRendered(e: any) {\n const pageInfo = e.detail as IDocumentPageInfo;\n // console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo.xScale, pageInfo.yScale);\n this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;\n\n this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;\n\n (this.template?.fields || [])\n .filter(field => field && field.page === pageInfo.pageNumber)\n .forEach(field => {\n const id = getFieldId(field);\n const el = document.getElementById(id);\n if (el) {\n el.setAttribute('fieldname', field.name);\n el.setAttribute('pagenumber', String(field.page));\n this.makeDraggable(el);\n }\n });\n }\n\n makeDraggable(el: HTMLElement) {\n interact(el).draggable({\n listeners: {\n move: this.handleMoveField.bind(this),\n end: this.handleMoveEnd.bind(this),\n },\n });\n }\n\n async handleMoveField(event: any) {\n const oldX = +(event.target.getAttribute('posX') || 0);\n const oldY = +(event.target.getAttribute('posY') || 0);\n const xScale = +(event.target.getAttribute('xScale') || 1);\n const yScale = +(event.target.getAttribute('yScale') || 1);\n const newX = event.dx / xScale + oldX;\n const newY = event.dy / yScale + oldY;\n event.target.setAttribute('posX', newX);\n event.target.setAttribute('posy', newY);\n updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);\n }\n\n async handleMoveEnd(event: any) {\n const name = event.target.getAttribute('fieldname');\n const field = (this.template?.fields || []).find(field => field.name === name);\n if (!field) {\n console.log('[FIELDS] Unable to find field', name, event.target);\n return;\n }\n\n const pageNumber = event.target.getAttribute('pagenumber');\n let {naturalWidth = 612, naturalHeight = 792, renderedHeight = 792} = this.cachedPageInfo[pageNumber];\n const clientRect = event.target.getBoundingClientRect();\n const parent = event.target.parentElement;\n const parentRect = parent.getBoundingClientRect();\n\n const width = field.width || defaultWidth(field.type);\n const height = field.height || defaultHeight(field.type);\n\n // These two being backwards is not a mistake. Left measures \"over\" from the left\n // (positive displacement) while bottom measures \"up\" from the bottom (negative displacement).\n const newX = Math.max(clientRect.left - parentRect.left, 0);\n let newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);\n\n let newPageNumber = parseInt(pageNumber);\n if (newY > renderedHeight) {\n newPageNumber = Math.min(newPageNumber + 1, (this.template?.documents || [])?.[0]?.pages || 1);\n newY -= renderedHeight;\n renderedHeight = this.cachedPageInfo[newPageNumber].renderedHeight;\n\n console.log('Next page', {newPageNumber, newY, renderedHeight});\n } else if (newY < 0) {\n newPageNumber = Math.max(newPageNumber - 1, 1);\n renderedHeight = this.cachedPageInfo[newPageNumber].renderedHeight;\n newY += renderedHeight;\n console.log('[FIELDS] Next page', {newPageNumber, newY, renderedHeight});\n }\n\n const {x, y} = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - width, naturalHeight - height);\n try {\n const params = {x, y, page: newPageNumber};\n const updatedField = await updateField(this.endpoint, this.templateId, name, params);\n console.log('[FIELDS] Updated', updatedField);\n\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === name);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n\n Store.updateTemplate(this.templateId, newTemplate);\n event.target.removeAttribute('posX');\n event.target.removeAttribute('posY');\n removeCssTransform(event.target);\n const {xScale = 1, yScale = 1} = this.cachedPageInfo[pageNumber];\n setControlStyles(event.target, updatedField, xScale, yScale);\n this.templateUpdated?.emit({endpoint: this.endpoint, template: newTemplate, event: 'updated-field'});\n } catch (e) {\n VerdocsToast('Error updating field, please try again later', {style: 'error'});\n console.log('[FIELDS] Error updating field', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n event.target.removeAttribute('posX');\n event.target.removeAttribute('posY');\n removeCssTransform(event.target);\n }\n }\n\n generateFieldName(type: string, pageNumber: number) {\n let i = 1;\n let fieldName: string;\n do {\n fieldName = `${type}P${pageNumber}-${i}`;\n i++;\n } while ((this.template?.fields || []).some(field => field && field.name === fieldName));\n\n return fieldName;\n }\n\n // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.\n viewCoordinatesToPageCoordinates(viewX: number, viewY: number, pageNumber: number, xMax: number, yMax: number) {\n const {xScale = 1, yScale = 1, renderedHeight = 792} = this.cachedPageInfo[pageNumber];\n const x = Math.floor(Math.min(viewX / xScale, xMax));\n const y = Math.floor(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));\n return {x, y};\n }\n\n async handleClickPage(e: any, pageNumber: number) {\n if (this.placing) {\n const clickedX = e.offsetX;\n const clickedY = e.offsetY;\n\n const width = defaultWidth(this.placing);\n const height = defaultHeight(this.placing);\n\n const cachedPage = this.cachedPageInfo[pageNumber];\n const {naturalWidth = 612, naturalHeight = 792} = cachedPage;\n\n const coords = this.viewCoordinatesToPageCoordinates(clickedX, clickedY, pageNumber, naturalWidth - width, naturalHeight - height);\n const x = Math.floor(coords.x);\n const y = Math.floor(coords.y);\n\n const field: ITemplateField = {\n name: this.generateFieldName(this.placing, pageNumber), // 'textboxP1-22',\n role_name: this.selectedRoleName,\n template_id: this.templateId,\n document_id: cachedPage.documentId,\n type: this.placing,\n required: this.placing !== 'radio',\n page: pageNumber,\n validator: null,\n label: null,\n default: null,\n placeholder: null,\n group: null,\n settings: {},\n x,\n y,\n width,\n height,\n multiline: false,\n readonly: false,\n options: this.placing === 'radio' ? [{id: 'option-1', label: 'Option 1'}] : [],\n };\n console.log('[FIELDS] Will save new field', field);\n\n const newField = await createField(this.endpoint, this.templateId, field);\n console.log('[FIELDS] Saved field', newField);\n\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n newTemplate.fields.push(newField);\n Store.updateTemplate(this.templateId, newTemplate);\n this.templateUpdated?.emit({endpoint: this.endpoint, template: newTemplate, event: 'added-field'});\n\n this.placing = null;\n }\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 selectableRoles = (this.template?.roles || []).map(role => ({value: role.name, label: role.full_name ? `${role.name}: ${role.full_name}` : role.name}));\n\n return (\n <Host class={this.placing ? {[`placing-${this.placing}`]: true} : {}} onSubmit={() => {}}>\n <div id=\"verdocs-template-fields-toolbar\">\n <div class=\"add-for\">Add field:</div>\n <verdocs-select-input value={this.selectedRoleName} options={selectableRoles} onInput={(e: any) => (this.selectedRoleName = e.target.value)} />\n\n {menuOptions.map(option => (\n <verdocs-toolbar-icon\n text={option.tooltip}\n icon={option.icon}\n class={option.class}\n onClick={() => {\n // We ignore empty-tooltip entries because they're separators\n if (option.tooltip) {\n // We require a role to be selected first\n if (this.selectedRoleName) {\n this.placing = option.id as TFieldType;\n } else {\n this.showMustSelectRole = true;\n }\n }\n }}\n />\n ))}\n </div>\n\n {/* <div class=\"page-0\" ref={el => (this.page0El = el as HTMLDivElement)}>*/}\n {/* <div class=\"user-placed-fields\">*/}\n {/* <div class=\"title\">User-Placed Fields</div>*/}\n {/* <verdocs-field-signature*/}\n {/* field={testField}*/}\n {/* style={{width: '82px', height: '41px', left: '20px', top: '40px', transform: 'scale(1,1)', backgroundColor: getRGBA(0)}}*/}\n {/* moveable={true}*/}\n {/* editable={true}*/}\n {/* />*/}\n {/* </div>*/}\n {/*</div>*/}\n\n <div class=\"pages\">\n {(this.template?.documents || []).map(document => {\n const pageNumbers = integerSequence(1, document.pages);\n\n return pageNumbers.map(page => {\n const pageSize = document.page_sizes[page];\n\n return (\n <verdocs-template-document-page\n templateId={this.templateId}\n documentId={document.id}\n pageNumber={page}\n virtualWidth={pageSize?.width || 612}\n virtualHeight={pageSize?.height || 792}\n disabled={true}\n editable={true}\n done={false}\n onClick={(e: PointerEvent) => this.handleClickPage(e, page)}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n });\n })}\n </div>\n {this.showMustSelectRole && (\n <verdocs-ok-dialog\n heading=\"Unable to add field\"\n message={(this.template?.roles || []).length > 0 ? 'Please select a role before adding fields.' : 'Please add at least one role before adding fields.'}\n onNext={() => (this.showMustSelectRole = false)}\n />\n )}\n </Host>\n );\n }\n}\n","/*! Sortable 1.15.6 - MIT | git://github.com/SortableJS/Sortable.git */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).Sortable=e()}(this,function(){\"use strict\";function e(e,t){var n,o=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,n)),o}function I(o){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?e(Object(i),!0).forEach(function(t){var e,n;e=o,t=i[n=t],n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach(function(t){Object.defineProperty(o,t,Object.getOwnPropertyDescriptor(i,t))})}return o}function o(t){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function a(){return(a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n,o=arguments[e];for(n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n])}return t}).apply(this,arguments)}function i(t,e){if(null==t)return{};var n,o=function(t,e){if(null==t)return{};for(var n,o={},i=Object.keys(t),r=0;r<i.length;r++)n=i[r],0<=e.indexOf(n)||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols)for(var i=Object.getOwnPropertySymbols(t),r=0;r<i.length;r++)n=i[r],0<=e.indexOf(n)||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n]);return o}function r(t){return function(t){if(Array.isArray(t))return l(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Map\"===(n=\"Object\"===n&&t.constructor?t.constructor.name:n)||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=t[n];return o}function t(t){if(\"undefined\"!=typeof window&&window.navigator)return!!navigator.userAgent.match(t)}var y=t(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i),w=t(/Edge/i),s=t(/firefox/i),u=t(/safari/i)&&!t(/chrome/i)&&!t(/android/i),c=t(/iP(ad|od|hone)/i),n=t(/chrome/i)&&t(/android/i),d={capture:!1,passive:!1};function h(t,e,n){t.addEventListener(e,n,!y&&d)}function p(t,e,n){t.removeEventListener(e,n,!y&&d)}function f(t,e){if(e&&(\">\"===e[0]&&(e=e.substring(1)),t))try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return}}function g(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function P(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(\">\"!==e[0]||t.parentNode===n)&&f(t,e)||o&&t===n)return t}while(t!==n&&(t=g(t)))}return null}var m,v=/\\s+/g;function k(t,e,n){var o;t&&e&&(t.classList?t.classList[n?\"add\":\"remove\"](e):(o=(\" \"+t.className+\" \").replace(v,\" \").replace(\" \"+e+\" \",\" \"),t.className=(o+(n?\" \"+e:\"\")).replace(v,\" \")))}function R(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,\"\"):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];o[e=!(e in o||-1!==e.indexOf(\"webkit\"))?\"-webkit-\"+e:e]=n+(\"string\"==typeof n?\"\":\"px\")}}function b(t,e){var n=\"\";if(\"string\"==typeof t)n=t;else do{var o=R(t,\"transform\")}while(o&&\"none\"!==o&&(n=o+\" \"+n),!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function D(t,e,n){if(t){var o=t.getElementsByTagName(e),i=0,r=o.length;if(n)for(;i<r;i++)n(o[i],i);return o}return[]}function O(){var t=document.scrollingElement;return t||document.documentElement}function X(t,e,n,o,i){if(t.getBoundingClientRect||t===window){var r,a,l,s,c,u,d=t!==window&&t.parentNode&&t!==O()?(a=(r=t.getBoundingClientRect()).top,l=r.left,s=r.bottom,c=r.right,u=r.height,r.width):(l=a=0,s=window.innerHeight,c=window.innerWidth,u=window.innerHeight,window.innerWidth);if((e||n)&&t!==window&&(i=i||t.parentNode,!y))do{if(i&&i.getBoundingClientRect&&(\"none\"!==R(i,\"transform\")||n&&\"static\"!==R(i,\"position\"))){var h=i.getBoundingClientRect();a-=h.top+parseInt(R(i,\"border-top-width\")),l-=h.left+parseInt(R(i,\"border-left-width\")),s=a+r.height,c=l+r.width;break}}while(i=i.parentNode);return o&&t!==window&&(o=(e=b(i||t))&&e.a,t=e&&e.d,e&&(s=(a/=t)+(u/=t),c=(l/=o)+(d/=o))),{top:a,left:l,bottom:s,right:c,width:d,height:u}}}function Y(t,e,n){for(var o=M(t,!0),i=X(t)[e];o;){var r=X(o)[n];if(!(\"top\"===n||\"left\"===n?r<=i:i<=r))return o;if(o===O())break;o=M(o,!1)}return!1}function B(t,e,n,o){for(var i=0,r=0,a=t.children;r<a.length;){if(\"none\"!==a[r].style.display&&a[r]!==jt.ghost&&(o||a[r]!==jt.dragged)&&P(a[r],n.draggable,t,!1)){if(i===e)return a[r];i++}r++}return null}function F(t,e){for(var n=t.lastElementChild;n&&(n===jt.ghost||\"none\"===R(n,\"display\")||e&&!f(n,e));)n=n.previousElementSibling;return n||null}function j(t,e){var n=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)\"TEMPLATE\"===t.nodeName.toUpperCase()||t===jt.clone||e&&!f(t,e)||n++;return n}function E(t){var e=0,n=0,o=O();if(t)do{var i=b(t),r=i.a,i=i.d}while(e+=t.scrollLeft*r,n+=t.scrollTop*i,t!==o&&(t=t.parentNode));return[e,n]}function M(t,e){if(!t||!t.getBoundingClientRect)return O();var n=t,o=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=R(n);if(n.clientWidth<n.scrollWidth&&(\"auto\"==i.overflowX||\"scroll\"==i.overflowX)||n.clientHeight<n.scrollHeight&&(\"auto\"==i.overflowY||\"scroll\"==i.overflowY)){if(!n.getBoundingClientRect||n===document.body)return O();if(o||e)return n;o=!0}}}while(n=n.parentNode);return O()}function S(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}function _(e,n){return function(){var t;m||(1===(t=arguments).length?e.call(this,t[0]):e.apply(this,t),m=setTimeout(function(){m=void 0},n))}}function H(t,e,n){t.scrollLeft+=e,t.scrollTop+=n}function C(t){var e=window.Polymer,n=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}function T(t,e){R(t,\"position\",\"absolute\"),R(t,\"top\",e.top),R(t,\"left\",e.left),R(t,\"width\",e.width),R(t,\"height\",e.height)}function x(t){R(t,\"position\",\"\"),R(t,\"top\",\"\"),R(t,\"left\",\"\"),R(t,\"width\",\"\"),R(t,\"height\",\"\")}function L(n,o,i){var r={};return Array.from(n.children).forEach(function(t){var e;P(t,o.draggable,n,!1)&&!t.animated&&t!==i&&(e=X(t),r.left=Math.min(null!==(t=r.left)&&void 0!==t?t:1/0,e.left),r.top=Math.min(null!==(t=r.top)&&void 0!==t?t:1/0,e.top),r.right=Math.max(null!==(t=r.right)&&void 0!==t?t:-1/0,e.right),r.bottom=Math.max(null!==(t=r.bottom)&&void 0!==t?t:-1/0,e.bottom))}),r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}var K=\"Sortable\"+(new Date).getTime();function A(){var e,o=[];return{captureAnimationState:function(){o=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(t){var e,n;\"none\"!==R(t,\"display\")&&t!==jt.ghost&&(o.push({target:t,rect:X(t)}),e=I({},o[o.length-1].rect),!t.thisAnimationDuration||(n=b(t,!0))&&(e.top-=n.f,e.left-=n.e),t.fromRect=e)})},addAnimationState:function(t){o.push(t)},removeAnimationState:function(t){o.splice(function(t,e){for(var n in t)if(t.hasOwnProperty(n))for(var o in e)if(e.hasOwnProperty(o)&&e[o]===t[n][o])return Number(n);return-1}(o,{target:t}),1)},animateAll:function(t){var c=this;if(!this.options.animation)return clearTimeout(e),void(\"function\"==typeof t&&t());var u=!1,d=0;o.forEach(function(t){var e=0,n=t.target,o=n.fromRect,i=X(n),r=n.prevFromRect,a=n.prevToRect,l=t.rect,s=b(n,!0);s&&(i.top-=s.f,i.left-=s.e),n.toRect=i,n.thisAnimationDuration&&S(r,i)&&!S(o,i)&&(l.top-i.top)/(l.left-i.left)==(o.top-i.top)/(o.left-i.left)&&(t=l,s=r,r=a,a=c.options,e=Math.sqrt(Math.pow(s.top-t.top,2)+Math.pow(s.left-t.left,2))/Math.sqrt(Math.pow(s.top-r.top,2)+Math.pow(s.left-r.left,2))*a.animation),S(i,o)||(n.prevFromRect=o,n.prevToRect=i,e=e||c.options.animation,c.animate(n,l,i,e)),e&&(u=!0,d=Math.max(d,e),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout(function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null},e),n.thisAnimationDuration=e)}),clearTimeout(e),u?e=setTimeout(function(){\"function\"==typeof t&&t()},d):\"function\"==typeof t&&t(),o=[]},animate:function(t,e,n,o){var i,r;o&&(R(t,\"transition\",\"\"),R(t,\"transform\",\"\"),i=(r=b(this.el))&&r.a,r=r&&r.d,i=(e.left-n.left)/(i||1),r=(e.top-n.top)/(r||1),t.animatingX=!!i,t.animatingY=!!r,R(t,\"transform\",\"translate3d(\"+i+\"px,\"+r+\"px,0)\"),this.forRepaintDummy=t.offsetWidth,R(t,\"transition\",\"transform \"+o+\"ms\"+(this.options.easing?\" \"+this.options.easing:\"\")),R(t,\"transform\",\"translate3d(0,0,0)\"),\"number\"==typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout(function(){R(t,\"transition\",\"\"),R(t,\"transform\",\"\"),t.animated=!1,t.animatingX=!1,t.animatingY=!1},o))}}}var N=[],W={initializeByDefault:!0},z={mount:function(e){for(var t in W)!W.hasOwnProperty(t)||t in e||(e[t]=W[t]);N.forEach(function(t){if(t.pluginName===e.pluginName)throw\"Sortable: Cannot mount plugin \".concat(e.pluginName,\" more than once\")}),N.push(e)},pluginEvent:function(e,n,o){var t=this;this.eventCanceled=!1,o.cancel=function(){t.eventCanceled=!0};var i=e+\"Global\";N.forEach(function(t){n[t.pluginName]&&(n[t.pluginName][i]&&n[t.pluginName][i](I({sortable:n},o)),n.options[t.pluginName]&&n[t.pluginName][e]&&n[t.pluginName][e](I({sortable:n},o)))})},initializePlugins:function(n,o,i,t){for(var e in N.forEach(function(t){var e=t.pluginName;(n.options[e]||t.initializeByDefault)&&((t=new t(n,o,n.options)).sortable=n,t.options=n.options,n[e]=t,a(i,t.defaults))}),n.options){var r;n.options.hasOwnProperty(e)&&(void 0!==(r=this.modifyOption(n,e,n.options[e]))&&(n.options[e]=r))}},getEventProperties:function(e,n){var o={};return N.forEach(function(t){\"function\"==typeof t.eventProperties&&a(o,t.eventProperties.call(n[t.pluginName],e))}),o},modifyOption:function(e,n,o){var i;return N.forEach(function(t){e[t.pluginName]&&t.optionListeners&&\"function\"==typeof t.optionListeners[n]&&(i=t.optionListeners[n].call(e[t.pluginName],o))}),i}};function G(t){var e=t.sortable,n=t.rootEl,o=t.name,i=t.targetEl,r=t.cloneEl,a=t.toEl,l=t.fromEl,s=t.oldIndex,c=t.newIndex,u=t.oldDraggableIndex,d=t.newDraggableIndex,h=t.originalEvent,p=t.putSortable,f=t.extraEventProperties;if(e=e||n&&n[K]){var g,m=e.options,t=\"on\"+o.charAt(0).toUpperCase()+o.substr(1);!window.CustomEvent||y||w?(g=document.createEvent(\"Event\")).initEvent(o,!0,!0):g=new CustomEvent(o,{bubbles:!0,cancelable:!0}),g.to=a||n,g.from=l||n,g.item=i||n,g.clone=r,g.oldIndex=s,g.newIndex=c,g.oldDraggableIndex=u,g.newDraggableIndex=d,g.originalEvent=h,g.pullMode=p?p.lastPutMode:void 0;var v,b=I(I({},f),z.getEventProperties(o,e));for(v in b)g[v]=b[v];n&&n.dispatchEvent(g),m[t]&&m[t].call(e,g)}}function U(t,e){var n=(o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).evt,o=i(o,q);z.pluginEvent.bind(jt)(t,e,I({dragEl:Z,parentEl:$,ghostEl:Q,rootEl:J,nextEl:tt,lastDownEl:et,cloneEl:nt,cloneHidden:ot,dragStarted:mt,putSortable:ct,activeSortable:jt.active,originalEvent:n,oldIndex:it,oldDraggableIndex:at,newIndex:rt,newDraggableIndex:lt,hideGhostForTarget:Xt,unhideGhostForTarget:Yt,cloneNowHidden:function(){ot=!0},cloneNowShown:function(){ot=!1},dispatchSortableEvent:function(t){V({sortable:e,name:t,originalEvent:n})}},o))}var q=[\"evt\"];function V(t){G(I({putSortable:ct,cloneEl:nt,targetEl:Z,rootEl:J,oldIndex:it,oldDraggableIndex:at,newIndex:rt,newDraggableIndex:lt},t))}var Z,$,Q,J,tt,et,nt,ot,it,rt,at,lt,st,ct,ut,dt,ht,pt,ft,gt,mt,vt,bt,yt,wt,Dt=!1,Et=!1,St=[],_t=!1,Ct=!1,Tt=[],xt=!1,Ot=[],Mt=\"undefined\"!=typeof document,At=c,Nt=w||y?\"cssFloat\":\"float\",It=Mt&&!n&&!c&&\"draggable\"in document.createElement(\"div\"),Pt=function(){if(Mt){if(y)return!1;var t=document.createElement(\"x\");return t.style.cssText=\"pointer-events:auto\",\"auto\"===t.style.pointerEvents}}(),kt=function(t,e){var n=R(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=B(t,0,e),r=B(t,1,e),a=i&&R(i),l=r&&R(r),s=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+X(i).width,t=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+X(r).width;if(\"flex\"===n.display)return\"column\"===n.flexDirection||\"column-reverse\"===n.flexDirection?\"vertical\":\"horizontal\";if(\"grid\"===n.display)return n.gridTemplateColumns.split(\" \").length<=1?\"vertical\":\"horizontal\";if(i&&a.float&&\"none\"!==a.float){e=\"left\"===a.float?\"left\":\"right\";return!r||\"both\"!==l.clear&&l.clear!==e?\"horizontal\":\"vertical\"}return i&&(\"block\"===a.display||\"flex\"===a.display||\"table\"===a.display||\"grid\"===a.display||o<=s&&\"none\"===n[Nt]||r&&\"none\"===n[Nt]&&o<s+t)?\"vertical\":\"horizontal\"},Rt=function(t){function l(r,a){return function(t,e,n,o){var i=t.options.group.name&&e.options.group.name&&t.options.group.name===e.options.group.name;if(null==r&&(a||i))return!0;if(null==r||!1===r)return!1;if(a&&\"clone\"===r)return r;if(\"function\"==typeof r)return l(r(t,e,n,o),a)(t,e,n,o);e=(a?t:e).options.group.name;return!0===r||\"string\"==typeof r&&r===e||r.join&&-1<r.indexOf(e)}}var e={},n=t.group;n&&\"object\"==o(n)||(n={name:n}),e.name=n.name,e.checkPull=l(n.pull,!0),e.checkPut=l(n.put),e.revertClone=n.revertClone,t.group=e},Xt=function(){!Pt&&Q&&R(Q,\"display\",\"none\")},Yt=function(){!Pt&&Q&&R(Q,\"display\",\"\")};Mt&&!n&&document.addEventListener(\"click\",function(t){if(Et)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Et=!1},!0);function Bt(t){if(Z){t=t.touches?t.touches[0]:t;var e=(i=t.clientX,r=t.clientY,St.some(function(t){var e=t[K].options.emptyInsertThreshold;if(e&&!F(t)){var n=X(t),o=i>=n.left-e&&i<=n.right+e,e=r>=n.top-e&&r<=n.bottom+e;return o&&e?a=t:void 0}}),a);if(e){var n,o={};for(n in t)t.hasOwnProperty(n)&&(o[n]=t[n]);o.target=o.rootEl=e,o.preventDefault=void 0,o.stopPropagation=void 0,e[K]._onDragOver(o)}}var i,r,a}function Ft(t){Z&&Z.parentNode[K]._isOutsideThisEl(t.target)}function jt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw\"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(t));this.el=t,this.options=e=a({},e),t[K]=this;var n,o,i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?\">li\":\">*\",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return kt(t,this.options)},ghostClass:\"sortable-ghost\",chosenClass:\"sortable-chosen\",dragClass:\"sortable-drag\",ignore:\"a, img\",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData(\"Text\",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:\"data-id\",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:\"sortable-fallback\",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==jt.supportPointer&&\"PointerEvent\"in window&&(!u||c),emptyInsertThreshold:5};for(n in z.initializePlugins(this,t,i),i)n in e||(e[n]=i[n]);for(o in Rt(e),this)\"_\"===o.charAt(0)&&\"function\"==typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!e.forceFallback&&It,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?h(t,\"pointerdown\",this._onTapStart):(h(t,\"mousedown\",this._onTapStart),h(t,\"touchstart\",this._onTapStart)),this.nativeDraggable&&(h(t,\"dragover\",this),h(t,\"dragenter\",this)),St.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),a(this,A())}function Ht(t,e,n,o,i,r,a,l){var s,c,u=t[K],d=u.options.onMove;return!window.CustomEvent||y||w?(s=document.createEvent(\"Event\")).initEvent(\"move\",!0,!0):s=new CustomEvent(\"move\",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=i||e,s.relatedRect=r||X(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),c=d?d.call(u,s,a):c}function Lt(t){t.draggable=!1}function Kt(){xt=!1}function Wt(t){return setTimeout(t,0)}function zt(t){return clearTimeout(t)}jt.prototype={constructor:jt,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(vt=null)},_getDirection:function(t,e){return\"function\"==typeof this.options.direction?this.options.direction.call(this,t,e,Z):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,t=this.options,i=t.preventOnFilter,r=e.type,a=e.touches&&e.touches[0]||e.pointerType&&\"touch\"===e.pointerType&&e,l=(a||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=t.filter;if(!function(t){Ot.length=0;var e=t.getElementsByTagName(\"input\"),n=e.length;for(;n--;){var o=e[n];o.checked&&Ot.push(o)}}(o),!Z&&!(/mousedown|pointerdown/.test(r)&&0!==e.button||t.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!u||!l||\"SELECT\"!==l.tagName.toUpperCase())&&!((l=P(l,t.draggable,o,!1))&&l.animated||et===l)){if(it=j(l),at=j(l,t.draggable),\"function\"==typeof c){if(c.call(this,e,l,this))return V({sortable:n,rootEl:s,name:\"filter\",targetEl:l,toEl:o,fromEl:o}),U(\"filter\",n,{evt:e}),void(i&&e.preventDefault())}else if(c=c&&c.split(\",\").some(function(t){if(t=P(s,t.trim(),o,!1))return V({sortable:n,rootEl:t,name:\"filter\",targetEl:l,fromEl:o,toEl:o}),U(\"filter\",n,{evt:e}),!0}))return void(i&&e.preventDefault());t.handle&&!P(s,t.handle,o,!1)||this._prepareDragStart(e,a,l)}}},_prepareDragStart:function(t,e,n){var o,i=this,r=i.el,a=i.options,l=r.ownerDocument;n&&!Z&&n.parentNode===r&&(o=X(n),J=r,$=(Z=n).parentNode,tt=Z.nextSibling,et=n,st=a.group,ut={target:jt.dragged=Z,clientX:(e||t).clientX,clientY:(e||t).clientY},ft=ut.clientX-o.left,gt=ut.clientY-o.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,Z.style[\"will-change\"]=\"all\",o=function(){U(\"delayEnded\",i,{evt:t}),jt.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!s&&i.nativeDraggable&&(Z.draggable=!0),i._triggerDragStart(t,e),V({sortable:i,name:\"choose\",originalEvent:t}),k(Z,a.chosenClass,!0))},a.ignore.split(\",\").forEach(function(t){D(Z,t.trim(),Lt)}),h(l,\"dragover\",Bt),h(l,\"mousemove\",Bt),h(l,\"touchmove\",Bt),a.supportPointer?(h(l,\"pointerup\",i._onDrop),this.nativeDraggable||h(l,\"pointercancel\",i._onDrop)):(h(l,\"mouseup\",i._onDrop),h(l,\"touchend\",i._onDrop),h(l,\"touchcancel\",i._onDrop)),s&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Z.draggable=!0),U(\"delayStart\",this,{evt:t}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(w||y)?o():jt.eventCanceled?this._onDrop():(a.supportPointer?(h(l,\"pointerup\",i._disableDelayedDrag),h(l,\"pointercancel\",i._disableDelayedDrag)):(h(l,\"mouseup\",i._disableDelayedDrag),h(l,\"touchend\",i._disableDelayedDrag),h(l,\"touchcancel\",i._disableDelayedDrag)),h(l,\"mousemove\",i._delayedDragTouchMoveHandler),h(l,\"touchmove\",i._delayedDragTouchMoveHandler),a.supportPointer&&h(l,\"pointermove\",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(o,a.delay)))},_delayedDragTouchMoveHandler:function(t){t=t.touches?t.touches[0]:t;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Z&&Lt(Z),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;p(t,\"mouseup\",this._disableDelayedDrag),p(t,\"touchend\",this._disableDelayedDrag),p(t,\"touchcancel\",this._disableDelayedDrag),p(t,\"pointerup\",this._disableDelayedDrag),p(t,\"pointercancel\",this._disableDelayedDrag),p(t,\"mousemove\",this._delayedDragTouchMoveHandler),p(t,\"touchmove\",this._delayedDragTouchMoveHandler),p(t,\"pointermove\",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||\"touch\"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?h(document,\"pointermove\",this._onTouchMove):h(document,e?\"touchmove\":\"mousemove\",this._onTouchMove):(h(Z,\"dragend\",this),h(J,\"dragstart\",this._onDragStart));try{document.selection?Wt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){var n;Dt=!1,J&&Z?(U(\"dragStarted\",this,{evt:e}),this.nativeDraggable&&h(document,\"dragover\",Ft),n=this.options,t||k(Z,n.dragClass,!1),k(Z,n.ghostClass,!0),jt.active=this,t&&this._appendGhost(),V({sortable:this,name:\"start\",originalEvent:e})):this._nulling()},_emulateDragOver:function(){if(dt){this._lastX=dt.clientX,this._lastY=dt.clientY,Xt();for(var t=document.elementFromPoint(dt.clientX,dt.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(dt.clientX,dt.clientY))!==e;)e=t;if(Z.parentNode[K]._isOutsideThisEl(t),e)do{if(e[K])if(e[K]._onDragOver({clientX:dt.clientX,clientY:dt.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}while(e=g(t=e));Yt()}},_onTouchMove:function(t){if(ut){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,i=t.touches?t.touches[0]:t,r=Q&&b(Q,!0),a=Q&&r&&r.a,l=Q&&r&&r.d,e=At&&wt&&E(wt),a=(i.clientX-ut.clientX+o.x)/(a||1)+(e?e[0]-Tt[0]:0)/(a||1),l=(i.clientY-ut.clientY+o.y)/(l||1)+(e?e[1]-Tt[1]:0)/(l||1);if(!jt.active&&!Dt){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}Q&&(r?(r.e+=a-(ht||0),r.f+=l-(pt||0)):r={a:1,b:0,c:0,d:1,e:a,f:l},r=\"matrix(\".concat(r.a,\",\").concat(r.b,\",\").concat(r.c,\",\").concat(r.d,\",\").concat(r.e,\",\").concat(r.f,\")\"),R(Q,\"webkitTransform\",r),R(Q,\"mozTransform\",r),R(Q,\"msTransform\",r),R(Q,\"transform\",r),ht=a,pt=l,dt=i),t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!Q){var t=this.options.fallbackOnBody?document.body:J,e=X(Z,!0,At,!0,t),n=this.options;if(At){for(wt=t;\"static\"===R(wt,\"position\")&&\"none\"===R(wt,\"transform\")&&wt!==document;)wt=wt.parentNode;wt!==document.body&&wt!==document.documentElement?(wt===document&&(wt=O()),e.top+=wt.scrollTop,e.left+=wt.scrollLeft):wt=O(),Tt=E(wt)}k(Q=Z.cloneNode(!0),n.ghostClass,!1),k(Q,n.fallbackClass,!0),k(Q,n.dragClass,!0),R(Q,\"transition\",\"\"),R(Q,\"transform\",\"\"),R(Q,\"box-sizing\",\"border-box\"),R(Q,\"margin\",0),R(Q,\"top\",e.top),R(Q,\"left\",e.left),R(Q,\"width\",e.width),R(Q,\"height\",e.height),R(Q,\"opacity\",\"0.8\"),R(Q,\"position\",At?\"absolute\":\"fixed\"),R(Q,\"zIndex\",\"100000\"),R(Q,\"pointerEvents\",\"none\"),jt.ghost=Q,t.appendChild(Q),R(Q,\"transform-origin\",ft/parseInt(Q.style.width)*100+\"% \"+gt/parseInt(Q.style.height)*100+\"%\")}},_onDragStart:function(t,e){var n=this,o=t.dataTransfer,i=n.options;U(\"dragStart\",this,{evt:t}),jt.eventCanceled?this._onDrop():(U(\"setupClone\",this),jt.eventCanceled||((nt=C(Z)).removeAttribute(\"id\"),nt.draggable=!1,nt.style[\"will-change\"]=\"\",this._hideClone(),k(nt,this.options.chosenClass,!1),jt.clone=nt),n.cloneId=Wt(function(){U(\"clone\",n),jt.eventCanceled||(n.options.removeCloneOnHide||J.insertBefore(nt,Z),n._hideClone(),V({sortable:n,name:\"clone\"}))}),e||k(Z,i.dragClass,!0),e?(Et=!0,n._loopId=setInterval(n._emulateDragOver,50)):(p(document,\"mouseup\",n._onDrop),p(document,\"touchend\",n._onDrop),p(document,\"touchcancel\",n._onDrop),o&&(o.effectAllowed=\"move\",i.setData&&i.setData.call(n,o,Z)),h(document,\"drop\",n),R(Z,\"transform\",\"translateZ(0)\")),Dt=!0,n._dragStartId=Wt(n._dragStarted.bind(n,e,t)),h(document,\"selectstart\",n),mt=!0,window.getSelection().removeAllRanges(),u&&R(document.body,\"user-select\",\"none\"))},_onDragOver:function(n){var o,i,r,t,e,a=this.el,l=n.target,s=this.options,c=s.group,u=jt.active,d=st===c,h=s.sort,p=ct||u,f=this,g=!1;if(!xt){if(void 0!==n.preventDefault&&n.cancelable&&n.preventDefault(),l=P(l,s.draggable,a,!0),O(\"dragOver\"),jt.eventCanceled)return g;if(Z.contains(n.target)||l.animated&&l.animatingX&&l.animatingY||f._ignoreWhileAnimating===l)return A(!1);if(Et=!1,u&&!s.disabled&&(d?h||(i=$!==J):ct===this||(this.lastPutMode=st.checkPull(this,u,Z,n))&&c.checkPut(this,u,Z,n))){if(r=\"vertical\"===this._getDirection(n,l),o=X(Z),O(\"dragOverValid\"),jt.eventCanceled)return g;if(i)return $=J,M(),this._hideClone(),O(\"revert\"),jt.eventCanceled||(tt?J.insertBefore(Z,tt):J.appendChild(Z)),A(!0);var m=F(a,s.draggable);if(m&&(S=n,c=r,x=X(F((E=this).el,E.options.draggable)),E=L(E.el,E.options,Q),!(c?S.clientX>E.right+10||S.clientY>x.bottom&&S.clientX>x.left:S.clientY>E.bottom+10||S.clientX>x.right&&S.clientY>x.top)||m.animated)){if(m&&(t=n,e=r,C=X(B((_=this).el,0,_.options,!0)),_=L(_.el,_.options,Q),e?t.clientX<_.left-10||t.clientY<C.top&&t.clientX<C.right:t.clientY<_.top-10||t.clientY<C.bottom&&t.clientX<C.left)){var v=B(a,0,s,!0);if(v===Z)return A(!1);if(D=X(l=v),!1!==Ht(J,a,Z,o,l,D,n,!1))return M(),a.insertBefore(Z,v),$=a,N(),A(!0)}else if(l.parentNode===a){var b,y,w,D=X(l),E=Z.parentNode!==a,S=(S=Z.animated&&Z.toRect||o,x=l.animated&&l.toRect||D,_=(e=r)?S.left:S.top,t=e?S.right:S.bottom,C=e?S.width:S.height,v=e?x.left:x.top,S=e?x.right:x.bottom,x=e?x.width:x.height,!(_===v||t===S||_+C/2===v+x/2)),_=r?\"top\":\"left\",C=Y(l,\"top\",\"top\")||Y(Z,\"top\",\"top\"),v=C?C.scrollTop:void 0;if(vt!==l&&(y=D[_],_t=!1,Ct=!S&&s.invertSwap||E),0!==(b=function(t,e,n,o,i,r,a,l){var s=o?t.clientY:t.clientX,c=o?n.height:n.width,t=o?n.top:n.left,o=o?n.bottom:n.right,n=!1;if(!a)if(l&&yt<c*i){if(_t=!_t&&(1===bt?t+c*r/2<s:s<o-c*r/2)?!0:_t)n=!0;else if(1===bt?s<t+yt:o-yt<s)return-bt}else if(t+c*(1-i)/2<s&&s<o-c*(1-i)/2)return function(t){return j(Z)<j(t)?1:-1}(e);if((n=n||a)&&(s<t+c*r/2||o-c*r/2<s))return t+c/2<s?1:-1;return 0}(n,l,D,r,S?1:s.swapThreshold,null==s.invertedSwapThreshold?s.swapThreshold:s.invertedSwapThreshold,Ct,vt===l)))for(var T=j(Z);(w=$.children[T-=b])&&(\"none\"===R(w,\"display\")||w===Q););if(0===b||w===l)return A(!1);bt=b;var x=(vt=l).nextElementSibling,E=!1,S=Ht(J,a,Z,o,l,D,n,E=1===b);if(!1!==S)return 1!==S&&-1!==S||(E=1===S),xt=!0,setTimeout(Kt,30),M(),E&&!x?a.appendChild(Z):l.parentNode.insertBefore(Z,E?x:l),C&&H(C,0,v-C.scrollTop),$=Z.parentNode,void 0===y||Ct||(yt=Math.abs(y-X(l)[_])),N(),A(!0)}}else{if(m===Z)return A(!1);if((l=m&&a===n.target?m:l)&&(D=X(l)),!1!==Ht(J,a,Z,o,l,D,n,!!l))return M(),m&&m.nextSibling?a.insertBefore(Z,m.nextSibling):a.appendChild(Z),$=a,N(),A(!0)}if(a.contains(Z))return A(!1)}return!1}function O(t,e){U(t,f,I({evt:n,isOwner:d,axis:r?\"vertical\":\"horizontal\",revert:i,dragRect:o,targetRect:D,canSort:h,fromSortable:p,target:l,completed:A,onMove:function(t,e){return Ht(J,a,Z,o,t,X(t),n,e)},changed:N},e))}function M(){O(\"dragOverAnimationCapture\"),f.captureAnimationState(),f!==p&&p.captureAnimationState()}function A(t){return O(\"dragOverCompleted\",{insertion:t}),t&&(d?u._hideClone():u._showClone(f),f!==p&&(k(Z,(ct||u).options.ghostClass,!1),k(Z,s.ghostClass,!0)),ct!==f&&f!==jt.active?ct=f:f===jt.active&&ct&&(ct=null),p===f&&(f._ignoreWhileAnimating=l),f.animateAll(function(){O(\"dragOverAnimationComplete\"),f._ignoreWhileAnimating=null}),f!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(l===Z&&!Z.animated||l===a&&!l.animated)&&(vt=null),s.dragoverBubble||n.rootEl||l===document||(Z.parentNode[K]._isOutsideThisEl(n.target),t||Bt(n)),!s.dragoverBubble&&n.stopPropagation&&n.stopPropagation(),g=!0}function N(){rt=j(Z),lt=j(Z,s.draggable),V({sortable:f,name:\"change\",toEl:a,newIndex:rt,newDraggableIndex:lt,originalEvent:n})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){p(document,\"mousemove\",this._onTouchMove),p(document,\"touchmove\",this._onTouchMove),p(document,\"pointermove\",this._onTouchMove),p(document,\"dragover\",Bt),p(document,\"mousemove\",Bt),p(document,\"touchmove\",Bt)},_offUpEvents:function(){var t=this.el.ownerDocument;p(t,\"mouseup\",this._onDrop),p(t,\"touchend\",this._onDrop),p(t,\"pointerup\",this._onDrop),p(t,\"pointercancel\",this._onDrop),p(t,\"touchcancel\",this._onDrop),p(document,\"selectstart\",this)},_onDrop:function(t){var e=this.el,n=this.options;rt=j(Z),lt=j(Z,n.draggable),U(\"drop\",this,{evt:t}),$=Z&&Z.parentNode,rt=j(Z),lt=j(Z,n.draggable),jt.eventCanceled||(_t=Ct=Dt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),zt(this.cloneId),zt(this._dragStartId),this.nativeDraggable&&(p(document,\"drop\",this),p(e,\"dragstart\",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),u&&R(document.body,\"user-select\",\"\"),R(Z,\"transform\",\"\"),t&&(mt&&(t.cancelable&&t.preventDefault(),n.dropBubble||t.stopPropagation()),Q&&Q.parentNode&&Q.parentNode.removeChild(Q),(J===$||ct&&\"clone\"!==ct.lastPutMode)&&nt&&nt.parentNode&&nt.parentNode.removeChild(nt),Z&&(this.nativeDraggable&&p(Z,\"dragend\",this),Lt(Z),Z.style[\"will-change\"]=\"\",mt&&!Dt&&k(Z,(ct||this).options.ghostClass,!1),k(Z,this.options.chosenClass,!1),V({sortable:this,name:\"unchoose\",toEl:$,newIndex:null,newDraggableIndex:null,originalEvent:t}),J!==$?(0<=rt&&(V({rootEl:$,name:\"add\",toEl:$,fromEl:J,originalEvent:t}),V({sortable:this,name:\"remove\",toEl:$,originalEvent:t}),V({rootEl:$,name:\"sort\",toEl:$,fromEl:J,originalEvent:t}),V({sortable:this,name:\"sort\",toEl:$,originalEvent:t})),ct&&ct.save()):rt!==it&&0<=rt&&(V({sortable:this,name:\"update\",toEl:$,originalEvent:t}),V({sortable:this,name:\"sort\",toEl:$,originalEvent:t})),jt.active&&(null!=rt&&-1!==rt||(rt=it,lt=at),V({sortable:this,name:\"end\",toEl:$,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){U(\"nulling\",this),J=Z=$=Q=tt=nt=et=ot=ut=dt=mt=rt=lt=it=at=vt=bt=ct=st=jt.dragged=jt.ghost=jt.clone=jt.active=null,Ot.forEach(function(t){t.checked=!0}),Ot.length=ht=pt=0},handleEvent:function(t){switch(t.type){case\"drop\":case\"dragend\":this._onDrop(t);break;case\"dragenter\":case\"dragover\":Z&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect=\"move\");t.cancelable&&t.preventDefault()}(t));break;case\"selectstart\":t.preventDefault()}},toArray:function(){for(var t,e=[],n=this.el.children,o=0,i=n.length,r=this.options;o<i;o++)P(t=n[o],r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||function(t){var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,o=0;for(;n--;)o+=e.charCodeAt(n);return o.toString(36)}(t));return e},sort:function(t,e){var n={},o=this.el;this.toArray().forEach(function(t,e){e=o.children[e];P(e,this.options.draggable,o,!1)&&(n[t]=e)},this),e&&this.captureAnimationState(),t.forEach(function(t){n[t]&&(o.removeChild(n[t]),o.appendChild(n[t]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return P(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(void 0===e)return n[t];var o=z.modifyOption(this,t,e);n[t]=void 0!==o?o:e,\"group\"===t&&Rt(n)},destroy:function(){U(\"destroy\",this);var t=this.el;t[K]=null,p(t,\"mousedown\",this._onTapStart),p(t,\"touchstart\",this._onTapStart),p(t,\"pointerdown\",this._onTapStart),this.nativeDraggable&&(p(t,\"dragover\",this),p(t,\"dragenter\",this)),Array.prototype.forEach.call(t.querySelectorAll(\"[draggable]\"),function(t){t.removeAttribute(\"draggable\")}),this._onDrop(),this._disableDelayedDragEvents(),St.splice(St.indexOf(this.el),1),this.el=t=null},_hideClone:function(){ot||(U(\"hideClone\",this),jt.eventCanceled||(R(nt,\"display\",\"none\"),this.options.removeCloneOnHide&&nt.parentNode&&nt.parentNode.removeChild(nt),ot=!0))},_showClone:function(t){\"clone\"===t.lastPutMode?ot&&(U(\"showClone\",this),jt.eventCanceled||(Z.parentNode!=J||this.options.group.revertClone?tt?J.insertBefore(nt,tt):J.appendChild(nt):J.insertBefore(nt,Z),this.options.group.revertClone&&this.animate(Z,nt),R(nt,\"display\",\"\"),ot=!1)):this._hideClone()}},Mt&&h(document,\"touchmove\",function(t){(jt.active||Dt)&&t.cancelable&&t.preventDefault()}),jt.utils={on:h,off:p,css:R,find:D,is:function(t,e){return!!P(t,e,t,!1)},extend:function(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},throttle:_,closest:P,toggleClass:k,clone:C,index:j,nextTick:Wt,cancelNextTick:zt,detectDirection:kt,getChild:B,expando:K},jt.get=function(t){return t[K]},jt.mount=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];(e=e[0].constructor===Array?e[0]:e).forEach(function(t){if(!t.prototype||!t.prototype.constructor)throw\"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(t));t.utils&&(jt.utils=I(I({},jt.utils),t.utils)),z.mount(t)})},jt.create=function(t,e){return new jt(t,e)};var Gt,Ut,qt,Vt,Zt,$t,Qt=[],Jt=!(jt.version=\"1.15.6\");function te(){Qt.forEach(function(t){clearInterval(t.pid)}),Qt=[]}function ee(){clearInterval($t)}var ne,oe=_(function(n,t,e,o){if(t.scroll){var i,r=(n.touches?n.touches[0]:n).clientX,a=(n.touches?n.touches[0]:n).clientY,l=t.scrollSensitivity,s=t.scrollSpeed,c=O(),u=!1;Ut!==e&&(Ut=e,te(),Gt=t.scroll,i=t.scrollFn,!0===Gt&&(Gt=M(e,!0)));var d=0,h=Gt;do{var p=h,f=X(p),g=f.top,m=f.bottom,v=f.left,b=f.right,y=f.width,w=f.height,D=void 0,E=void 0,S=p.scrollWidth,_=p.scrollHeight,C=R(p),T=p.scrollLeft,f=p.scrollTop,E=p===c?(D=y<S&&(\"auto\"===C.overflowX||\"scroll\"===C.overflowX||\"visible\"===C.overflowX),w<_&&(\"auto\"===C.overflowY||\"scroll\"===C.overflowY||\"visible\"===C.overflowY)):(D=y<S&&(\"auto\"===C.overflowX||\"scroll\"===C.overflowX),w<_&&(\"auto\"===C.overflowY||\"scroll\"===C.overflowY)),T=D&&(Math.abs(b-r)<=l&&T+y<S)-(Math.abs(v-r)<=l&&!!T),f=E&&(Math.abs(m-a)<=l&&f+w<_)-(Math.abs(g-a)<=l&&!!f);if(!Qt[d])for(var x=0;x<=d;x++)Qt[x]||(Qt[x]={});Qt[d].vx==T&&Qt[d].vy==f&&Qt[d].el===p||(Qt[d].el=p,Qt[d].vx=T,Qt[d].vy=f,clearInterval(Qt[d].pid),0==T&&0==f||(u=!0,Qt[d].pid=setInterval(function(){o&&0===this.layer&&jt.active._onTouchMove(Zt);var t=Qt[this.layer].vy?Qt[this.layer].vy*s:0,e=Qt[this.layer].vx?Qt[this.layer].vx*s:0;\"function\"==typeof i&&\"continue\"!==i.call(jt.dragged.parentNode[K],e,t,n,Zt,Qt[this.layer].el)||H(Qt[this.layer].el,e,t)}.bind({layer:d}),24))),d++}while(t.bubbleScroll&&h!==c&&(h=M(h,!1)));Jt=u}},30),n=function(t){var e=t.originalEvent,n=t.putSortable,o=t.dragEl,i=t.activeSortable,r=t.dispatchSortableEvent,a=t.hideGhostForTarget,t=t.unhideGhostForTarget;e&&(i=n||i,a(),e=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,e=document.elementFromPoint(e.clientX,e.clientY),t(),i&&!i.el.contains(e)&&(r(\"spill\"),this.onSpill({dragEl:o,putSortable:n})))};function ie(){}function re(){}ie.prototype={startIndex:null,dragStart:function(t){t=t.oldDraggableIndex;this.startIndex=t},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();t=B(this.sortable.el,this.startIndex,this.options);t?this.sortable.el.insertBefore(e,t):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:n},a(ie,{pluginName:\"revertOnSpill\"}),re.prototype={onSpill:function(t){var e=t.dragEl,t=t.putSortable||this.sortable;t.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),t.animateAll()},drop:n},a(re,{pluginName:\"removeOnSpill\"});var ae,le,se,ce,ue,de=[],he=[],pe=!1,fe=!1,ge=!1;function me(n,o){he.forEach(function(t,e){e=o.children[t.sortableIndex+(n?Number(e):0)];e?o.insertBefore(t,e):o.appendChild(t)})}function ve(){de.forEach(function(t){t!==se&&t.parentNode&&t.parentNode.removeChild(t)})}return jt.mount(new function(){function t(){for(var t in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)\"_\"===t.charAt(0)&&\"function\"==typeof this[t]&&(this[t]=this[t].bind(this))}return t.prototype={dragStarted:function(t){t=t.originalEvent;this.sortable.nativeDraggable?h(document,\"dragover\",this._handleAutoScroll):this.options.supportPointer?h(document,\"pointermove\",this._handleFallbackAutoScroll):t.touches?h(document,\"touchmove\",this._handleFallbackAutoScroll):h(document,\"mousemove\",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){t=t.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?p(document,\"dragover\",this._handleAutoScroll):(p(document,\"pointermove\",this._handleFallbackAutoScroll),p(document,\"touchmove\",this._handleFallbackAutoScroll),p(document,\"mousemove\",this._handleFallbackAutoScroll)),ee(),te(),clearTimeout(m),m=void 0},nulling:function(){Zt=Ut=Gt=Jt=$t=qt=Vt=null,Qt.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(e,n){var o,i=this,r=(e.touches?e.touches[0]:e).clientX,a=(e.touches?e.touches[0]:e).clientY,t=document.elementFromPoint(r,a);Zt=e,n||this.options.forceAutoScrollFallback||w||y||u?(oe(e,this.options,t,n),o=M(t,!0),!Jt||$t&&r===qt&&a===Vt||($t&&ee(),$t=setInterval(function(){var t=M(document.elementFromPoint(r,a),!0);t!==o&&(o=t,te()),oe(e,i.options,t,n)},10),qt=r,Vt=a)):this.options.bubbleScroll&&M(t,!0)!==O()?oe(e,this.options,M(t,!1),!1):te()}},a(t,{pluginName:\"scroll\",initializeByDefault:!0})}),jt.mount(re,ie),jt.mount(new function(){function t(){this.defaults={swapClass:\"sortable-swap-highlight\"}}return t.prototype={dragStart:function(t){t=t.dragEl;ne=t},dragOverValid:function(t){var e=t.completed,n=t.target,o=t.onMove,i=t.activeSortable,r=t.changed,a=t.cancel;i.options.swap&&(t=this.sortable.el,i=this.options,n&&n!==t&&(t=ne,ne=!1!==o(n)?(k(n,i.swapClass,!0),n):null,t&&t!==ne&&k(t,i.swapClass,!1)),r(),e(!0),a())},drop:function(t){var e,n,o=t.activeSortable,i=t.putSortable,r=t.dragEl,a=i||this.sortable,l=this.options;ne&&k(ne,l.swapClass,!1),ne&&(l.swap||i&&i.options.swap)&&r!==ne&&(a.captureAnimationState(),a!==o&&o.captureAnimationState(),n=ne,t=(e=r).parentNode,l=n.parentNode,t&&l&&!t.isEqualNode(n)&&!l.isEqualNode(e)&&(i=j(e),r=j(n),t.isEqualNode(l)&&i<r&&r++,t.insertBefore(n,t.children[i]),l.insertBefore(e,l.children[r])),a.animateAll(),a!==o&&o.animateAll())},nulling:function(){ne=null}},a(t,{pluginName:\"swap\",eventProperties:function(){return{swapItem:ne}}})}),jt.mount(new function(){function t(o){for(var t in this)\"_\"===t.charAt(0)&&\"function\"==typeof this[t]&&(this[t]=this[t].bind(this));o.options.avoidImplicitDeselect||(o.options.supportPointer?h(document,\"pointerup\",this._deselectMultiDrag):(h(document,\"mouseup\",this._deselectMultiDrag),h(document,\"touchend\",this._deselectMultiDrag))),h(document,\"keydown\",this._checkKeyDown),h(document,\"keyup\",this._checkKeyUp),this.defaults={selectedClass:\"sortable-selected\",multiDragKey:null,avoidImplicitDeselect:!1,setData:function(t,e){var n=\"\";de.length&&le===o?de.forEach(function(t,e){n+=(e?\", \":\"\")+t.textContent}):n=e.textContent,t.setData(\"Text\",n)}}}return t.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(t){t=t.dragEl;se=t},delayEnded:function(){this.isMultiDrag=~de.indexOf(se)},setupClone:function(t){var e=t.sortable,t=t.cancel;if(this.isMultiDrag){for(var n=0;n<de.length;n++)he.push(C(de[n])),he[n].sortableIndex=de[n].sortableIndex,he[n].draggable=!1,he[n].style[\"will-change\"]=\"\",k(he[n],this.options.selectedClass,!1),de[n]===se&&k(he[n],this.options.chosenClass,!1);e._hideClone(),t()}},clone:function(t){var e=t.sortable,n=t.rootEl,o=t.dispatchSortableEvent,t=t.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||de.length&&le===e&&(me(!0,n),o(\"clone\"),t()))},showClone:function(t){var e=t.cloneNowShown,n=t.rootEl,t=t.cancel;this.isMultiDrag&&(me(!1,n),he.forEach(function(t){R(t,\"display\",\"\")}),e(),ue=!1,t())},hideClone:function(t){var e=this,n=(t.sortable,t.cloneNowHidden),t=t.cancel;this.isMultiDrag&&(he.forEach(function(t){R(t,\"display\",\"none\"),e.options.removeCloneOnHide&&t.parentNode&&t.parentNode.removeChild(t)}),n(),ue=!0,t())},dragStartGlobal:function(t){t.sortable;!this.isMultiDrag&&le&&le.multiDrag._deselectMultiDrag(),de.forEach(function(t){t.sortableIndex=j(t)}),de=de.sort(function(t,e){return t.sortableIndex-e.sortableIndex}),ge=!0},dragStarted:function(t){var e,n=this,t=t.sortable;this.isMultiDrag&&(this.options.sort&&(t.captureAnimationState(),this.options.animation&&(de.forEach(function(t){t!==se&&R(t,\"position\",\"absolute\")}),e=X(se,!1,!0,!0),de.forEach(function(t){t!==se&&T(t,e)}),pe=fe=!0)),t.animateAll(function(){pe=fe=!1,n.options.animation&&de.forEach(function(t){x(t)}),n.options.sort&&ve()}))},dragOver:function(t){var e=t.target,n=t.completed,t=t.cancel;fe&&~de.indexOf(e)&&(n(!1),t())},revert:function(t){var n,o,e=t.fromSortable,i=t.rootEl,r=t.sortable,a=t.dragRect;1<de.length&&(de.forEach(function(t){r.addAnimationState({target:t,rect:fe?X(t):a}),x(t),t.fromRect=a,e.removeAnimationState(t)}),fe=!1,n=!this.options.removeCloneOnHide,o=i,de.forEach(function(t,e){e=o.children[t.sortableIndex+(n?Number(e):0)];e?o.insertBefore(t,e):o.appendChild(t)}))},dragOverCompleted:function(t){var e,n=t.sortable,o=t.isOwner,i=t.insertion,r=t.activeSortable,a=t.parentEl,l=t.putSortable,t=this.options;i&&(o&&r._hideClone(),pe=!1,t.animation&&1<de.length&&(fe||!o&&!r.options.sort&&!l)&&(e=X(se,!1,!0,!0),de.forEach(function(t){t!==se&&(T(t,e),a.appendChild(t))}),fe=!0),o||(fe||ve(),1<de.length?(o=ue,r._showClone(n),r.options.animation&&!ue&&o&&he.forEach(function(t){r.addAnimationState({target:t,rect:ce}),t.fromRect=ce,t.thisAnimationDuration=null})):r._showClone(n)))},dragOverAnimationCapture:function(t){var e=t.dragRect,n=t.isOwner,t=t.activeSortable;de.forEach(function(t){t.thisAnimationDuration=null}),t.options.animation&&!n&&t.multiDrag.isMultiDrag&&(ce=a({},e),e=b(se,!0),ce.top-=e.f,ce.left-=e.e)},dragOverAnimationComplete:function(){fe&&(fe=!1,ve())},drop:function(t){var o,i,r,a,n,e,l,s=t.originalEvent,c=t.rootEl,u=t.parentEl,d=t.sortable,h=t.dispatchSortableEvent,p=t.oldIndex,t=t.putSortable,f=t||this.sortable;s&&(o=this.options,i=u.children,ge||(o.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),k(se,o.selectedClass,!~de.indexOf(se)),~de.indexOf(se)?(de.splice(de.indexOf(se),1),ae=null,G({sortable:d,rootEl:c,name:\"deselect\",targetEl:se,originalEvent:s})):(de.push(se),G({sortable:d,rootEl:c,name:\"select\",targetEl:se,originalEvent:s}),s.shiftKey&&ae&&d.el.contains(ae)?(r=j(ae),a=j(se),~r&&~a&&r!==a&&function(){for(var e,t=r<a?(e=r,a):(e=a,r+1),n=o.filter;e<t;e++)~de.indexOf(i[e])||P(i[e],o.draggable,u,!1)&&(n&&(\"function\"==typeof n?n.call(d,s,i[e],d):n.split(\",\").some(function(t){return P(i[e],t.trim(),u,!1)}))||(k(i[e],o.selectedClass,!0),de.push(i[e]),G({sortable:d,rootEl:c,name:\"select\",targetEl:i[e],originalEvent:s})))}()):ae=se,le=f)),ge&&this.isMultiDrag&&(fe=!1,(u[K].options.sort||u!==c)&&1<de.length&&(n=X(se),e=j(se,\":not(.\"+this.options.selectedClass+\")\"),!pe&&o.animation&&(se.thisAnimationDuration=null),f.captureAnimationState(),pe||(o.animation&&(se.fromRect=n,de.forEach(function(t){var e;t.thisAnimationDuration=null,t!==se&&(e=fe?X(t):n,t.fromRect=e,f.addAnimationState({target:t,rect:e}))})),ve(),de.forEach(function(t){i[e]?u.insertBefore(t,i[e]):u.appendChild(t),e++}),p===j(se)&&(l=!1,de.forEach(function(t){t.sortableIndex!==j(t)&&(l=!0)}),l&&(h(\"update\"),h(\"sort\")))),de.forEach(function(t){x(t)}),f.animateAll()),le=f),(c===u||t&&\"clone\"!==t.lastPutMode)&&he.forEach(function(t){t.parentNode&&t.parentNode.removeChild(t)}))},nullingGlobal:function(){this.isMultiDrag=ge=!1,he.length=0},destroyGlobal:function(){this._deselectMultiDrag(),p(document,\"pointerup\",this._deselectMultiDrag),p(document,\"mouseup\",this._deselectMultiDrag),p(document,\"touchend\",this._deselectMultiDrag),p(document,\"keydown\",this._checkKeyDown),p(document,\"keyup\",this._checkKeyUp)},_deselectMultiDrag:function(t){if(!(void 0!==ge&&ge||le!==this.sortable||t&&P(t.target,this.options.draggable,this.sortable.el,!1)||t&&0!==t.button))for(;de.length;){var e=de[0];k(e,this.options.selectedClass,!1),de.shift(),G({sortable:this.sortable,rootEl:this.sortable.el,name:\"deselect\",targetEl:e,originalEvent:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},a(t,{pluginName:\"multiDrag\",utils:{select:function(t){var e=t.parentNode[K];e&&e.options.multiDrag&&!~de.indexOf(t)&&(le&&le!==e&&(le.multiDrag._deselectMultiDrag(),le=e),k(t,e.options.selectedClass,!0),de.push(t))},deselect:function(t){var e=t.parentNode[K],n=de.indexOf(t);e&&e.options.multiDrag&&~n&&(k(t,e.options.selectedClass,!1),de.splice(n,1))}},eventProperties:function(){var n=this,o=[],i=[];return de.forEach(function(t){var e;o.push({multiDragElement:t,index:t.sortableIndex}),e=fe&&t!==se?-1:fe?j(t,\":not(.\"+n.options.selectedClass+\")\"):j(t),i.push({multiDragElement:t,index:e})}),{items:r(de),clones:[].concat(he),oldIndicies:o,newIndicies:i}},optionListeners:{multiDragKey:function(t){return\"ctrl\"===(t=t.toLowerCase())?t=\"Control\":1<t.length&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}),jt});","@import '../../../theme.scss';\n\nverdocs-template-roles {\n display: block;\n max-width: 600px;\n font-family: $verdocs-primary-font;\n\n .roles {\n display: flex;\n flex-direction: column;\n gap: 10px;\n margin-top: 10px;\n\n .sequence {\n gap: 10px;\n //height: 34px;\n display: flex;\n flex-wrap: wrap;\n font-weight: 500;\n padding: 0 0 8px 0;\n flex-direction: row;\n border-bottom: 1px dotted #e3e3e3;\n\n &.add-sequence {\n color: #777777;\n line-height: 34px;\n }\n }\n\n .sequence-label {\n font-size: 18px;\n line-height: 32px;\n }\n\n .sequence-roles {\n gap: 10px;\n display: flex;\n position: relative;\n flex-wrap: wrap;\n flex-direction: row;\n }\n\n .role {\n height: 32px;\n cursor: move;\n display: flex;\n max-width: 200px;\n position: relative;\n border-radius: 32px;\n background-color: #eff7fb;\n box-sizing: border-box;\n padding: 0 14px 0 34px;\n border: 1px solid #ccc;\n flex-direction: column;\n\n .role-name {\n font-size: 14px;\n overflow: hidden;\n font-weight: 400;\n line-height: 30px;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .icons {\n position: absolute;\n left: 1px;\n top: -3px;\n cursor: pointer;\n padding: 5px;\n z-index: 10;\n\n .gear-button {\n display: none;\n transform: scale(1.1);\n margin: 4px 0 0 1px;\n }\n\n .type-icon {\n opacity: 0.6;\n display: block;\n transform: scale(0.8);\n }\n\n &:hover {\n .gear-button {\n display: block;\n }\n\n .type-icon {\n display: none;\n }\n }\n }\n }\n }\n\n > form {\n display: flex;\n flex-direction: column;\n background-color: $verdocs-grey-4;\n\n // The extra right padding helps ensure when dragged elements move to absolute positioning\n padding: 12px;\n\n h5 {\n font-size: 16px;\n font-weight: bold;\n color: $verdocs-grey-blue;\n margin: 0 0 10px 0;\n }\n\n label {\n display: block;\n font-size: 14px;\n font-weight: 500;\n margin: 0 0 4px 0;\n color: $verdocs-bg-4;\n }\n\n input {\n border: none;\n font-size: 18px;\n padding: 3px 6px 3px 0;\n background: transparent;\n border-bottom: 1px solid $verdocs-dark-blue;\n\n &:focus {\n outline: none;\n }\n }\n }\n\n .row.add-sequence {\n display: none;\n }\n\n .add-role {\n opacity: 0.3;\n padding: 0 10px;\n cursor: pointer;\n background: none;\n height: 32px;\n border: 1px solid #cccccc;\n border-radius: 32px;\n\n //transform: scale(0.75);\n\n &:hover {\n opacity: 1;\n }\n\n //svg {\n // width: 32px;\n // height: 32px;\n //}\n }\n\n .add-step {\n margin: 0;\n padding: 0;\n border: none;\n opacity: 0.5;\n cursor: pointer;\n background: none;\n\n &:hover {\n opacity: 1;\n }\n\n svg {\n width: 32px;\n height: 32px;\n }\n }\n\n &.dragging {\n .row.add-sequence {\n display: flex;\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 8px;\n margin-top: 16px;\n flex-direction: row;\n }\n\n .empty {\n font-size: 13px;\n margin-top: 15px;\n margin-bottom: 5px;\n\n svg {\n width: 16px;\n height: 16px;\n stroke: #666666;\n margin-bottom: 2px;\n display: inline-block;\n }\n }\n\n .sequence-roles {\n display: flex;\n max-width: 400px;\n }\n\n ::placeholder {\n color: $verdocs-bg-2;\n }\n}\n","import Sortable from 'sortablejs';\nimport {Component, h, Element, Event, EventEmitter, Host, Prop, State} from '@stencil/core';\nimport {createTemplateRole, formatFullName, getTemplate, IRole, ITemplate, updateTemplateRole, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst settingsIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" width=\"20\" fill=\"#00000089\"><path d=\"m8.021 17.917-.313-2.5q-.27-.125-.625-.334-.354-.208-.625-.395l-2.312.979-1.979-3.438 1.979-1.5q-.021-.167-.031-.364-.011-.198-.011-.365 0-.146.011-.344.01-.198.031-.385l-1.979-1.5 1.979-3.417 2.312.958q.271-.187.615-.385t.635-.344l.313-2.5h3.958l.313 2.5q.312.167.625.344.312.177.604.385l2.333-.958 1.979 3.417-1.979 1.521q.021.187.021.364V10q0 .146-.01.333-.011.188-.011.396l1.958 1.5-1.979 3.438-2.312-.979q-.292.208-.615.395-.323.188-.614.334l-.313 2.5Zm1.937-5.355q1.063 0 1.813-.75t.75-1.812q0-1.062-.75-1.812t-1.813-.75q-1.041 0-1.802.75-.76.75-.76 1.812t.76 1.812q.761.75 1.802.75Zm0-1.333q-.5 0-.864-.364-.365-.365-.365-.865t.365-.865q.364-.364.864-.364t.865.364q.365.365.365.865t-.365.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.187q.605-.167 1.136-.49.531-.323 1.031-.802l2.021.875.854-1.375-1.792-1.354q.105-.333.136-.635.031-.303.031-.615 0-.292-.031-.573-.031-.281-.115-.635l1.792-1.396-.834-1.375-2.062.875q-.438-.438-1.021-.781-.583-.344-1.125-.49l-.271-2.208H9.167l-.271 2.208q-.584.146-1.125.458-.542.313-1.042.792l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.479.458 1.021.771.542.312 1.146.479Z\"/></svg>';\n\nconst plusIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#ffffff\" viewBox=\"0 0 24 24\" strokeWidth={1.5} stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M12 9v6m3-3H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z\" /></svg>`;\n\nconst iconSigner =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z\"/></svg>';\n\nconst iconApprover = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path fill-rule=\"evenodd\" d=\"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zm13.36-1.814a.75.75 0 10-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 00-1.06 1.06l2.25 2.25a.75.75 0 001.14-.094l3.75-5.25z\" clip-rule=\"evenodd\" /></svg>`;\n\nconst iconCC = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" /><path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" /></svg>`;\n\n/**\n * Display an edit form that allows the user to adjust a template's roles and workflow.\n */\n@Component({\n tag: 'verdocs-template-roles',\n styleUrl: 'verdocs-template-roles.scss',\n shadow: false,\n})\nexport class VerdocsTemplateRoles {\n private templateListenerId = null;\n\n @Element()\n el: HTMLElement;\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 * Event fired when the user clicks to proceed.\n */\n @Event({composed: true}) next: EventEmitter;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired 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 template is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n @Event({composed: true}) rolesUpdated: EventEmitter<{endpoint: VerdocsEndpoint; templateId: string; event: 'added' | 'deleted' | 'updated'; roles: IRole[]}>;\n\n @State() showingRoleDialog: string | null = null;\n @State() sender = null;\n\n @State() dragging = false;\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n this.cleanupSortables();\n }\n\n async listenToTemplate() {\n console.log('[ROLES] Loading template', 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('[ROLES] Template Updated', template);\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 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 sortableRefs: Sortable[] = [];\n\n cleanupSortables() {\n this.sortableRefs.forEach(sr => sr.destroy());\n this.sortableRefs.length = 0;\n }\n\n componentDidRender() {\n this.cleanupSortables();\n\n // Existing sequence numbers\n const sequenceNumbers = this.getSequenceNumbers();\n (sequenceNumbers || []).forEach(sequence => {\n const el = document.getElementById(`verdocs-roles-sequence-${sequence}`);\n if (el) {\n const sortable = new Sortable(el, {\n group: 'roles',\n animation: 150,\n dragoverBubble: true,\n filter: '.no-drag',\n onEnd: this.handleMoveEnd.bind(this),\n onChoose: () => (this.dragging = true),\n onUnchoose: () => (this.dragging = false),\n });\n this.sortableRefs.push(sortable);\n }\n });\n\n const el = document.getElementById(`verdocs-roles-sequence-add-target`);\n if (el) {\n console.log('[ROLES] Applying sortable to add-sequence slot');\n const sortable = new Sortable(el, {\n group: 'roles',\n animation: 150,\n dragoverBubble: true,\n filter: '.no-drag',\n onEnd: this.handleMoveEnd.bind(this),\n onChoose: () => (this.dragging = true),\n onUnchoose: () => (this.dragging = false),\n });\n this.sortableRefs.push(sortable);\n }\n }\n\n handleMoveEnd(evt) {\n const fromSeq = +evt.from.dataset.sequence;\n const toSeq = +evt.to.dataset.sequence;\n const fromIndex = +evt.oldIndex + 1;\n const toIndex = +evt.newIndex + 1;\n\n console.log(`Move from ${fromSeq}:${fromIndex} to ${toSeq}:${toIndex}`, evt.item);\n\n const sortableRoles: Record<string, IRole[]> = {};\n const sequenceNumbers = this.getSequenceNumbers();\n sequenceNumbers.forEach(sequence => {\n const ras = this.getRolesAtSequence(sequence);\n\n sortableRoles[String(sequence)] = JSON.parse(JSON.stringify(ras));\n });\n\n // We might be adding a new sequence number now. Make sure we have an array to drop\n // the record into.\n sortableRoles[sequenceNumbers[sequenceNumbers.length - 1] + 1] = [];\n\n const role = sortableRoles[fromSeq].splice(fromIndex - 1, 1)[0];\n sortableRoles[toSeq] ||= [];\n sortableRoles[toSeq].splice(toIndex - 1, 0, role);\n\n const renumberRequests = [];\n Object.entries(sortableRoles).forEach(([targetSeq, roles]) => {\n roles.forEach((role, index) => {\n if (!role) {\n return;\n }\n\n const targetOrder = +index + 1;\n if (role.sequence !== +targetSeq || role.order !== targetOrder) {\n role.sequence = +targetSeq;\n role.order = targetOrder;\n renumberRequests.push(\n updateTemplateRole(this.endpoint, this.templateId, role.name, {sequence: +targetSeq, order: targetOrder})\n .then(r => console.log('[ROLES] Updated role', role.name, r))\n .catch(e => console.log('[ROLES] Error updating role', e)),\n );\n }\n });\n });\n\n return Promise.all(renumberRequests)\n .then(async () => console.log('[ROLES] Done renumbering'))\n .catch(e => console.log('[ROLES] Error updating roles', e));\n }\n\n handleCancel() {\n this.exit?.emit();\n }\n\n handleSubmit() {\n this.next?.emit();\n }\n\n getSortedRoles() {\n // NOTE: This mutates the source array but that's OK because everything that touches\n // it will want the same thing done.\n return (this.template?.roles || []).sort((a, b) => {\n return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;\n });\n }\n\n getSequenceNumbers() {\n // TODO: This is cleaner with a Set but we found a regression in some target environments where\n // this breaks down. Reverting to an older technique while we diagnose it.\n const sequences: Record<number, boolean> = {};\n this.getSortedRoles().forEach(role => {\n sequences[role.sequence] = true;\n });\n console.log('[ROLES] Sequences', sequences);\n return Object.keys(sequences)\n .map(s => +s)\n .sort((a, b) => a - b);\n // const sequenceNumbers = (this.template?.roles || []).map(role => role.sequence);\n // const deduped = [...new Set(sequenceNumbers)];\n // deduped.sort((a, b) => a - b);\n // return deduped;\n }\n\n getRoleNames() {\n const roles = this.getSortedRoles();\n return roles.map(role => role.name);\n }\n\n getRolesAtSequence(sequence: number) {\n // Entries can be undefined when deleted because Stencil has no remove() operator yet for stores.\n // See https://github.com/ionic-team/stencil-store/issues/23\n return (this.template?.roles || []).filter(role => role && role.sequence === sequence);\n }\n\n // When the user drags a role around, we handle placement \"between\" items by assigning it a half-order number\n // e.g. 1.5 to place it between items 1 and 2, 0.5 to place it at the beginning, or last+0.5 to place it at the end.\n // Then we re-sort the list of roles and renumber them.\n async renumberTemplateRoles() {\n const sortableRoles: Record<string, IRole[]> = {};\n const renumberRequests = [];\n const sequenceNumbers = this.getSequenceNumbers();\n\n (sequenceNumbers || []).forEach(targetSeq => {\n (sortableRoles[targetSeq] || []).forEach((role, targetOrderMinusOne) => {\n const targetOrder = +targetOrderMinusOne + 1;\n if (role.sequence !== +targetSeq || role.order !== targetOrder) {\n console.log('[ROLES] Updating role', role.name, 'from', role.sequence, role.order, 'to', targetSeq, targetOrder);\n role.sequence = +targetSeq;\n role.order = targetOrder;\n renumberRequests.push(\n updateTemplateRole(this.endpoint, this.templateId, role.name, {sequence: +targetSeq, order: targetOrder})\n .then(r => console.log('[ROLES] Updated role', role.name, r))\n .catch(e => console.log('[ROLES] Error updating role', e)),\n );\n }\n });\n });\n\n console.log(`[ROLES] Awaiting ${renumberRequests.length} renumber requests`);\n await Promise.all(renumberRequests).then(async () => {\n // When renumbering, we don't try to update the store for every individual item\n // changing. We just do it once at the end.\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n newTemplate.roles = Object.keys(sortableRoles).reduce((acc, seq) => acc.concat(sortableRoles[seq]), []);\n console.log(\n '[ROLES] Done renumbering',\n newTemplate.roles.map(r => ({name: r.name, sequence: r.sequence, order: r.order})),\n );\n Store.updateTemplate(this.templateId, newTemplate);\n // TODO: Explore race condition in reordering roles\n // this.template = await Store.getTemplate(this.endpoint, this.templateId, true);\n });\n\n this.rolesUpdated?.emit({event: 'updated', endpoint: this.endpoint, templateId: this.templateId, roles: this.getSortedRoles()});\n }\n\n // Look for name conflicts, because they're UGC and can be anything, regardless of order.\n getNextRoleName() {\n let name = '';\n let nextNumber = (this.template?.roles || []).length;\n do {\n nextNumber++;\n name = `Recipient ${nextNumber}`;\n } while (!name || (this.template?.roles || []).some(role => role && role.name === name));\n\n return name;\n }\n\n callCreateRole(name: string, sequence: number, order: number) {\n console.log('[ROLES] Will create role', {name, sequence, order});\n createTemplateRole(this.endpoint, this.templateId, {\n template_id: this.templateId,\n name,\n sequence,\n message: '',\n order,\n full_name: null,\n first_name: '',\n last_name: '',\n email: '',\n phone: '',\n type: 'signer',\n delegator: false,\n // auth_method: null,\n })\n .then(async role => {\n console.log('[ROLES] Created role', role);\n // const newTemplate = JSON.parse(JSON.stringify(this.template));\n // newTemplate.roles.push(role);\n // TODO: Verify this immediately triggers a self-update\n console.log('Updating template in data store');\n await Store.getTemplate(this.endpoint, this.templateId, true);\n // Store.updateTemplate(this.templateId, newTemplate);\n // This will re-sort the roles and renumbers them via server calls if necessary\n // await this.renumberTemplateRoles();\n this.rolesUpdated?.emit({event: 'added', endpoint: this.endpoint, templateId: this.templateId, roles: this.getSortedRoles()});\n })\n .catch(e => {\n console.log('[ROLES] Error creating role', e);\n });\n }\n\n handleAddRole(e: any, sequence: number) {\n e.stopPropagation();\n const order = this.getRolesAtSequence(sequence).length + 1;\n const name = this.getNextRoleName();\n this.callCreateRole(name, sequence, order);\n }\n\n handleAddStep(e: any, sequence: number) {\n e.stopPropagation();\n\n const order = 1;\n const name = this.getNextRoleName();\n this.callCreateRole(name, sequence, order);\n }\n\n render() {\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 if (this.loading || !this.template) {\n return (\n <Host class=\"loading\">\n <verdocs-loader />\n </Host>\n );\n }\n\n const roleNames = this.getRoleNames();\n const sequences = this.getSequenceNumbers();\n const nextSequence = sequences && sequences.length > 0 ? (sequences[sequences.length - 1] || 0) + 1 : 1;\n\n console.log('[ROLES] Rendering', {roleNames, sequences, nextSequence});\n\n return (\n <Host class={{dragging: this.dragging}}>\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <h5>Roles and Workflow</h5>\n\n <div class=\"roles\">\n {sequences.map((sequence, index) => (\n <div class=\"sequence\">\n <div class=\"sequence-label no-drag\">{index + 1}.</div>\n\n <div class=\"sequence-roles\" id={`verdocs-roles-sequence-${sequence}`} data-sequence={sequence}>\n {this.getRolesAtSequence(sequence).map(role => {\n const unknown = !role.email || !role.first_name || !role.last_name;\n return unknown ? (\n <div class=\"role\" data-rolename={role.name} data-sequence={sequence} data-order={role.order}>\n <div class=\"role-name\">{role.name}</div>\n <div class=\"icons\">\n <div class=\"gear-button\" innerHTML={settingsIcon} onClick={() => (this.showingRoleDialog = role.name)} aria-role=\"button\" />\n <span class=\"type-icon\" innerHTML={role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover} />\n </div>\n </div>\n ) : (\n <div class=\"role\" data-rolename={role.name} data-sequence={sequence} data-order={role.order}>\n <div class=\"role-name\">{formatFullName(role)}</div>\n <div class=\"icons\">\n <div class=\"gear-button\" innerHTML={settingsIcon} onClick={() => (this.showingRoleDialog = role.name)} aria-role=\"button\" />\n <span class=\"type-icon\" innerHTML={role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover} />\n </div>\n </div>\n );\n })}\n </div>\n\n <button class=\"add-role no-drag\" onClick={e => this.handleAddRole(e, sequence)}>\n + Add Role\n </button>\n </div>\n ))}\n\n <div class=\"sequence add-sequence\">\n <div class=\"sequence-label no-drag\">{sequences.length + 1}.</div>\n\n <div class=\"sequence-roles\" id={`verdocs-roles-sequence-add-target`} data-sequence={nextSequence} />\n\n <button class=\"add-role no-drag\" onClick={e => this.handleAddRole(e, nextSequence)}>\n + Add Role\n </button>\n </div>\n </div>\n\n {roleNames.length < 1 && (\n <div class=\"empty\">\n You must add at least one Role before proceeding.\n <br /> Click the <span innerHTML={plusIcon} /> Add button above to get started.\n </div>\n )}\n\n <div class=\"buttons\">\n <div class=\"flex-fill\" />\n\n <verdocs-button variant=\"outline\" label=\"Cancel\" size=\"small\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"OK\" size=\"small\" onClick={() => this.handleSubmit()} disabled={roleNames.length < 1} />\n </div>\n </form>\n\n {this.showingRoleDialog && (\n <verdocs-menu-panel onClose={() => (this.showingRoleDialog = null)}>\n <verdocs-template-role-properties\n endpoint={this.endpoint}\n templateId={this.templateId}\n roleName={this.showingRoleDialog}\n onClose={() => {\n document.getElementById('verdocs-menu-panel-overlay')?.remove();\n this.showingRoleDialog = null;\n }}\n onDelete={async () => {\n this.showingRoleDialog = null;\n // This will re-sort the roles and renumbers them via server calls if necessary\n await this.renumberTemplateRoles();\n this.rolesUpdated?.emit({event: 'deleted', endpoint: this.endpoint, templateId: this.templateId, roles: this.getSortedRoles()});\n }}\n />\n </verdocs-menu-panel>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-template-settings {\n display: block;\n max-width: 600px;\n font-family: $verdocs-primary-font;\n\n > form {\n display: flex;\n flex-direction: column;\n background-color: $verdocs-grey-4;\n\n // The extra right padding helps ensure when dragged elements move to absolute positioning\n padding: 12px;\n\n h5 {\n font-size: 16px;\n font-weight: bold;\n color: $verdocs-grey-blue;\n margin: 0 0 10px 0;\n }\n\n label {\n display: block;\n font-size: 14px;\n font-weight: 500;\n margin: 0 0 4px 0;\n color: $verdocs-bg-4;\n }\n\n input {\n border: none;\n font-size: 18px;\n padding: 3px 6px 3px 0;\n background: transparent;\n border-bottom: 1px solid $verdocs-dark-blue;\n\n &:focus {\n outline: none;\n }\n }\n\n .row {\n margin: 20px 0 0 0;\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 8px;\n margin-top: 16px;\n flex-direction: row;\n }\n\n ::placeholder {\n color: $verdocs-bg-2;\n }\n}\n","import {Component, h, Element, Event, EventEmitter, Host, Prop, State} from '@stencil/core';\nimport {getTemplate, ITemplate, TTemplateSender, TTemplateVisibility, updateTemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\n\n/**\n * Display an edit form that allows the user to adjust a template's roles and workflow.\n */\n@Component({\n tag: 'verdocs-template-settings',\n styleUrl: 'verdocs-template-settings.scss',\n shadow: false,\n})\nexport class VerdocsTemplateSettings {\n private templateListenerId = null;\n\n @Element()\n el: HTMLElement;\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 * Event fired when the user clicks to proceed.\n */\n @Event({composed: true}) next: EventEmitter;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired 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 template is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n @Event({composed: true}) templateUpdated: EventEmitter<{endpoint: VerdocsEndpoint; template: ITemplate; event: string}>;\n\n @State() name: string | null = null;\n @State() visibility: TTemplateVisibility = 'private';\n @State() sender: TTemplateSender = 'envelope_creator';\n @State() sendReminders = false;\n @State() initialReminder = 0;\n @State() followupReminders = 0;\n @State() dirty = false;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[SETTINGS] Loading template', 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('[SETTINGS] Template Updated', template);\n this.template = template;\n this.name = template.name;\n this.visibility = template.visibility;\n this.sender = template.sender;\n this.sendReminders = template.initial_reminder !== null;\n this.initialReminder = template.initial_reminder ? Math.floor(template.initial_reminder / MS_PER_DAY) : null;\n this.followupReminders = template.followup_reminders ? Math.floor(template.followup_reminders / MS_PER_DAY) : null;\n this.dirty = false;\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 async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[SETTINGS] Missing required template ID ${this.templateId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[SETTINGS] Unable to start builder session, must be authenticated');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[SETTINGS] Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleCancel() {\n this.exit?.emit();\n }\n\n handleSubmit() {\n updateTemplate(this.endpoint, this.templateId, {\n name: this.name,\n visibility: this.visibility,\n sender: this.sender,\n initial_reminder: this.sendReminders ? this.initialReminder * MS_PER_DAY : null,\n followup_reminders: this.sendReminders ? this.followupReminders * MS_PER_DAY : null,\n })\n .then(template => {\n console.log('[SETTINGS] Template Updated', template);\n this.dirty = false;\n this.name = template.name;\n this.visibility = template.visibility;\n this.sender = template.sender;\n this.sendReminders = template.initial_reminder !== null;\n this.initialReminder = template.initial_reminder ? Math.floor(template.initial_reminder / MS_PER_DAY) : null;\n this.followupReminders = template.followup_reminders ? Math.floor(template.followup_reminders / MS_PER_DAY) : null;\n this.templateUpdated?.emit({endpoint: this.endpoint, template, event: 'update'});\n this.next?.emit();\n })\n .catch(e => {\n console.log('[SETTINGS] Error updating template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n VerdocsToast(e.response?.data?.error || 'Error updating template, please try again later.');\n });\n }\n\n render() {\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 if (this.loading || !this.template) {\n return (\n <Host class=\"loading\">\n <verdocs-loader />\n </Host>\n );\n }\n\n return (\n <Host>\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <h5>Settings</h5>\n\n <div class=\"row\">\n <verdocs-text-input\n id=\"verdocs-field-name\"\n label=\"Template Name\"\n value={this.name}\n autocomplete=\"off\"\n placeholder=\"Template Name...\"\n onInput={(e: any) => {\n this.name = e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n\n <div class=\"row\">\n <verdocs-select-input\n label=\"Visibility\"\n value={this.visibility}\n onInput={(e: any) => {\n this.visibility = e.target.value;\n this.dirty = true;\n }}\n options={[\n {value: 'private', label: 'Private'},\n {value: 'shared', label: 'Shared'},\n {value: 'public', label: 'Public'},\n ]}\n />\n </div>\n\n <div class=\"row\">\n <verdocs-select-input\n label=\"Owner for envelopes created from this template\"\n value={this.sender}\n onInput={(e: any) => {\n this.sender = e.target.value;\n this.dirty = true;\n }}\n options={[\n {value: 'envelope_creator', label: 'Envelope Creator'},\n {value: 'template_owner', label: 'Template Owner'},\n ]}\n />\n </div>\n\n <div class=\"row\">\n <label>Send Reminders</label>\n <verdocs-switch checked={this.sendReminders} onCheckedChange={e => (this.sendReminders = e.detail)} />\n </div>\n\n {this.sendReminders && (\n <div class=\"row\">\n <verdocs-text-input\n id=\"verdocs-field-name\"\n label=\"First Reminder (days)\"\n value={String(this.initialReminder || 0)}\n autocomplete=\"off\"\n placeholder=\"Delay in days...\"\n onInput={(e: any) => {\n this.initialReminder = +e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n )}\n\n {this.sendReminders && (\n <div class=\"row\">\n <verdocs-text-input\n id=\"verdocs-field-name\"\n label=\"Follow-up Reminders (days)\"\n value={String(this.followupReminders || 0)}\n autocomplete=\"off\"\n placeholder=\"Delay in days...\"\n onInput={(e: any) => {\n this.followupReminders = +e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n )}\n\n <div class=\"buttons\">\n <verdocs-button variant=\"outline\" label=\"Cancel\" size=\"small\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Save\" size=\"small\" onClick={() => this.handleSubmit()} disabled={!this.dirty} />\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}