@verdocs/web-sdk 6.2.0-beta.11 → 6.2.0-beta.13

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 (732) hide show
  1. package/dist/cjs/{index-WAQFAFHK.js → index-DftYQmBd.js} +48 -24
  2. package/dist/cjs/index-DftYQmBd.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{utils-Bd1jjSAt.js → utils-BzrQ_Lr4.js} +2 -6
  5. package/dist/cjs/utils-BzrQ_Lr4.js.map +1 -0
  6. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-button_3.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.cjs.js.map +1 -1
  11. package/dist/cjs/verdocs-checkbox_5.cjs.entry.js +8 -6
  12. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +2 -2
  13. package/dist/cjs/verdocs-date-input.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-delegate-dialog_5.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-dialog_2.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +2 -2
  18. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
  19. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +2 -2
  22. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +162 -22
  23. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  25. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-multiselect.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +1 -1
  28. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +2 -2
  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 +8 -3
  31. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  32. package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -1
  33. package/dist/cjs/verdocs-search-box.cjs.entry.js +1 -1
  34. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  35. package/dist/cjs/verdocs-sign.cjs.entry.js +2 -2
  36. package/dist/cjs/verdocs-spinner.cjs.entry.js +1 -1
  37. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +1 -1
  38. package/dist/cjs/verdocs-switch.cjs.entry.js +1 -1
  39. package/dist/cjs/verdocs-table.cjs.entry.js +1 -1
  40. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  41. package/dist/cjs/verdocs-template-create.cjs.entry.js +1 -1
  42. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +2 -2
  43. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  44. package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
  45. package/dist/cjs/verdocs-templates-list.cjs.entry.js +1 -1
  46. package/dist/cjs/verdocs-toggle-button.cjs.entry.js +1 -1
  47. package/dist/cjs/verdocs-toggle.cjs.entry.js +1 -1
  48. package/dist/cjs/verdocs-web-sdk.cjs.js +3 -3
  49. package/dist/cjs/verdocs-web-sdk.cjs.js.map +1 -1
  50. package/dist/collection/collection-manifest.json +1 -1
  51. package/dist/collection/components/controls/verdocs-button/verdocs-button.js +8 -8
  52. package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +1 -1
  53. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +7 -7
  54. package/dist/collection/components/controls/verdocs-component-error/verdocs-component-error.js +1 -1
  55. package/dist/collection/components/controls/verdocs-date-input/verdocs-date-input.js +6 -6
  56. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +0 -1
  57. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js.map +1 -1
  58. package/dist/collection/components/controls/verdocs-file-chooser/verdocs-file-chooser.js +0 -1
  59. package/dist/collection/components/controls/verdocs-file-chooser/verdocs-file-chooser.js.map +1 -1
  60. package/dist/collection/components/controls/verdocs-help-icon/verdocs-help-icon.js +2 -2
  61. package/dist/collection/components/controls/verdocs-menu-panel/verdocs-menu-panel.js +3 -3
  62. package/dist/collection/components/controls/verdocs-multiselect/verdocs-multiselect.js +2 -4
  63. package/dist/collection/components/controls/verdocs-multiselect/verdocs-multiselect.js.map +1 -1
  64. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js +0 -1
  65. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js.map +1 -1
  66. package/dist/collection/components/controls/verdocs-pagination/verdocs-pagination.js +3 -3
  67. package/dist/collection/components/controls/verdocs-portal/verdocs-portal.js +3 -3
  68. package/dist/collection/components/controls/verdocs-progress-bar/verdocs-progress-bar.js +3 -3
  69. package/dist/collection/components/controls/verdocs-quick-filter/verdocs-quick-filter.js +3 -4
  70. package/dist/collection/components/controls/verdocs-quick-filter/verdocs-quick-filter.js.map +1 -1
  71. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.js +4 -4
  72. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js +3 -4
  73. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js.map +1 -1
  74. package/dist/collection/components/controls/verdocs-spinner/verdocs-spinner.js +2 -2
  75. package/dist/collection/components/controls/verdocs-switch/verdocs-switch.js +3 -3
  76. package/dist/collection/components/controls/verdocs-table/verdocs-table.js +0 -2
  77. package/dist/collection/components/controls/verdocs-table/verdocs-table.js.map +1 -1
  78. package/dist/collection/components/controls/verdocs-tabs/verdocs-tabs.js +1 -2
  79. package/dist/collection/components/controls/verdocs-tabs/verdocs-tabs.js.map +1 -1
  80. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +10 -10
  81. package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js +2 -3
  82. package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js.map +1 -1
  83. package/dist/collection/components/controls/verdocs-toggle-button/verdocs-toggle-button.js +4 -4
  84. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +3 -3
  85. package/dist/collection/components/dialogs/verdocs-delegate-dialog/verdocs-delegate-dialog.js +0 -2
  86. package/dist/collection/components/dialogs/verdocs-delegate-dialog/verdocs-delegate-dialog.js.map +1 -1
  87. package/dist/collection/components/dialogs/verdocs-disclosure-dialog/verdocs-disclosure-dialog.js +2 -2
  88. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
  89. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js +7 -9
  90. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js.map +1 -1
  91. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +4 -4
  92. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js +1 -3
  93. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js.map +1 -1
  94. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
  95. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +3 -3
  96. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +0 -1
  97. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js.map +1 -1
  98. package/dist/collection/components/elements/verdocs-search-box/verdocs-search-box.js +4 -5
  99. package/dist/collection/components/elements/verdocs-search-box/verdocs-search-box.js.map +1 -1
  100. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +3 -4
  101. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
  102. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +2 -3
  103. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js.map +1 -1
  104. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +1 -2
  105. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
  106. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +28 -4
  107. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  108. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +4 -5
  109. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  110. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +2 -3
  111. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
  112. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +0 -3
  113. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
  114. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +6 -8
  115. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js.map +1 -1
  116. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.js +2 -3
  117. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.js.map +1 -1
  118. package/dist/collection/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.js +4 -5
  119. package/dist/collection/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.js.map +1 -1
  120. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +1 -2
  121. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js.map +1 -1
  122. package/dist/collection/components/envelopes/verdocs-envelope-update-recipient/verdocs-envelope-update-recipient.js +2 -3
  123. package/dist/collection/components/envelopes/verdocs-envelope-update-recipient/verdocs-envelope-update-recipient.js.map +1 -1
  124. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +7 -8
  125. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js.map +1 -1
  126. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +4 -5
  127. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js.map +1 -1
  128. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +12 -13
  129. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
  130. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +12 -13
  131. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js.map +1 -1
  132. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +12 -13
  133. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
  134. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +12 -14
  135. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
  136. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.css +31 -0
  137. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +85 -14
  138. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  139. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +30 -33
  140. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
  141. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.css +2 -2
  142. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +13 -15
  143. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js.map +1 -1
  144. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.css +31 -0
  145. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +85 -14
  146. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  147. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +12 -14
  148. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  149. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +13 -14
  150. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  151. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +10 -11
  152. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
  153. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +1 -2
  154. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js.map +1 -1
  155. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.js +2 -3
  156. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.js.map +1 -1
  157. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +0 -1
  158. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js.map +1 -1
  159. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.js +1 -2
  160. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.js.map +1 -1
  161. package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js +8 -10
  162. package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js.map +1 -1
  163. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +11 -9
  164. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js.map +1 -1
  165. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +2 -3
  166. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  167. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +2 -3
  168. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js.map +1 -1
  169. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +1 -2
  170. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js.map +1 -1
  171. package/dist/collection/components/templates/verdocs-template-settings/verdocs-template-settings.js +1 -2
  172. package/dist/collection/components/templates/verdocs-template-settings/verdocs-template-settings.js.map +1 -1
  173. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +0 -2
  174. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js.map +1 -1
  175. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +0 -1
  176. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js.map +1 -1
  177. package/dist/collection/components/templates/verdocs-templates-list/verdocs-templates-list.js +7 -9
  178. package/dist/collection/components/templates/verdocs-templates-list/verdocs-templates-list.js.map +1 -1
  179. package/dist/collection/utils/utils.js +0 -4
  180. package/dist/collection/utils/utils.js.map +1 -1
  181. package/dist/components/index.js +1 -1
  182. package/dist/components/{p-BNTIQRGG.js → p-18h9UMkx.js} +18 -15
  183. package/dist/components/p-18h9UMkx.js.map +1 -0
  184. package/dist/components/{p-NeysslUP.js → p-65TlZcx6.js} +5 -5
  185. package/dist/components/{p-NeysslUP.js.map → p-65TlZcx6.js.map} +1 -1
  186. package/dist/components/{p-DPAlF5W0.js → p-8YJmijSd.js} +3 -3
  187. package/dist/components/{p-DPAlF5W0.js.map → p-8YJmijSd.js.map} +1 -1
  188. package/dist/components/{p-qPO42SgN.js → p-B5eQd9Mt.js} +3 -3
  189. package/dist/components/{p-qPO42SgN.js.map → p-B5eQd9Mt.js.map} +1 -1
  190. package/dist/components/{p-DsOkI92K.js → p-B7K8lTsJ.js} +3 -3
  191. package/dist/components/{p-DsOkI92K.js.map → p-B7K8lTsJ.js.map} +1 -1
  192. package/dist/components/{p-DnOIbTGi.js → p-B7mqZJ5f.js} +4 -4
  193. package/dist/components/{p-DnOIbTGi.js.map → p-B7mqZJ5f.js.map} +1 -1
  194. package/dist/components/{p-BlKUYiXH.js → p-B9Ea7YKs.js} +4 -4
  195. package/dist/components/{p-BlKUYiXH.js.map → p-B9Ea7YKs.js.map} +1 -1
  196. package/dist/components/{p-CKMliVhp.js → p-B9v-iqos.js} +10 -10
  197. package/dist/components/{p-CKMliVhp.js.map → p-B9v-iqos.js.map} +1 -1
  198. package/dist/components/{p-D0mybMep.js → p-BD-wJn_A.js} +3 -3
  199. package/dist/components/{p-D0mybMep.js.map → p-BD-wJn_A.js.map} +1 -1
  200. package/dist/components/{p-D_VkX_nC.js → p-BEuU1xX4.js} +3 -3
  201. package/dist/components/{p-D_VkX_nC.js.map → p-BEuU1xX4.js.map} +1 -1
  202. package/dist/components/{p-CPTiPp39.js → p-BLj6y0dz.js} +3 -3
  203. package/dist/components/{p-CPTiPp39.js.map → p-BLj6y0dz.js.map} +1 -1
  204. package/dist/components/{p-ve-pBNd-.js → p-BRPzK8Xw.js} +17 -17
  205. package/dist/components/p-BRPzK8Xw.js.map +1 -0
  206. package/dist/components/{p-ChnAjOXc.js → p-BTA1be7y.js} +3 -3
  207. package/dist/components/{p-ChnAjOXc.js.map → p-BTA1be7y.js.map} +1 -1
  208. package/dist/components/{p-DZhluhmn.js → p-BUjb-w39.js} +28 -28
  209. package/dist/components/{p-DZhluhmn.js.map → p-BUjb-w39.js.map} +1 -1
  210. package/dist/components/{p-D3SGhXmE.js → p-BaE2j0VJ.js} +14 -14
  211. package/dist/components/p-BaE2j0VJ.js.map +1 -0
  212. package/dist/components/{p-Cg4UNrkK.js → p-Bbme0kV0.js} +7 -7
  213. package/dist/components/{p-Cg4UNrkK.js.map → p-Bbme0kV0.js.map} +1 -1
  214. package/dist/components/{p-BA36wKSy.js → p-BdJ3dzrK.js} +17 -11
  215. package/dist/components/p-BdJ3dzrK.js.map +1 -0
  216. package/dist/components/{p-BVkwV3tz.js → p-BoCrjpQu.js} +6 -6
  217. package/dist/components/{p-BVkwV3tz.js.map → p-BoCrjpQu.js.map} +1 -1
  218. package/dist/components/{p-K-NdlPFS.js → p-Bsj4gHYP.js} +12 -12
  219. package/dist/components/{p-K-NdlPFS.js.map → p-Bsj4gHYP.js.map} +1 -1
  220. package/dist/components/{p-DTSi2jmL.js → p-BuubyFAZ.js} +3 -3
  221. package/dist/components/{p-DTSi2jmL.js.map → p-BuubyFAZ.js.map} +1 -1
  222. package/dist/components/{p-DGYycCbd.js → p-C-4fLUhc.js} +3 -3
  223. package/dist/components/{p-DGYycCbd.js.map → p-C-4fLUhc.js.map} +1 -1
  224. package/dist/components/{p-BwYUpVnP.js → p-C4FQgN27.js} +3 -3
  225. package/dist/components/{p-BwYUpVnP.js.map → p-C4FQgN27.js.map} +1 -1
  226. package/dist/components/{p-Hkdx4H9H.js → p-CI5cVahE.js} +14 -14
  227. package/dist/components/p-CI5cVahE.js.map +1 -0
  228. package/dist/components/{p-BGrP_dY2.js → p-CKVx4yr2.js} +28 -28
  229. package/dist/components/{p-BGrP_dY2.js.map → p-CKVx4yr2.js.map} +1 -1
  230. package/dist/components/{p-BdN73vyV.js → p-CO6oIgzX.js} +3 -3
  231. package/dist/components/{p-BdN73vyV.js.map → p-CO6oIgzX.js.map} +1 -1
  232. package/dist/components/{p-C2aep_b9.js → p-CQCFJea3.js} +4 -4
  233. package/dist/components/{p-C2aep_b9.js.map → p-CQCFJea3.js.map} +1 -1
  234. package/dist/components/{p-CDAcaz4P.js → p-CQobV491.js} +3 -3
  235. package/dist/components/{p-CDAcaz4P.js.map → p-CQobV491.js.map} +1 -1
  236. package/dist/components/{p-D2tuZy4-.js → p-CRwSFWzI.js} +4 -4
  237. package/dist/components/{p-D2tuZy4-.js.map → p-CRwSFWzI.js.map} +1 -1
  238. package/dist/components/{p-EXpiIDZa.js → p-CXSpP5Gm.js} +88 -16
  239. package/dist/components/p-CXSpP5Gm.js.map +1 -0
  240. package/dist/components/{p-BWZvzZ9w.js → p-CeFVEfcA.js} +2 -6
  241. package/dist/components/p-CeFVEfcA.js.map +1 -0
  242. package/dist/components/{p-BDofff4X.js → p-ChYa_oDl.js} +3 -3
  243. package/dist/components/{p-BDofff4X.js.map → p-ChYa_oDl.js.map} +1 -1
  244. package/dist/components/{p-BuCJI6fl.js → p-Clw7inRP.js} +28 -16
  245. package/dist/components/p-Clw7inRP.js.map +1 -0
  246. package/dist/components/{p-Bv5CFhqy.js → p-Clx6y9zn.js} +3 -3
  247. package/dist/components/{p-Bv5CFhqy.js.map → p-Clx6y9zn.js.map} +1 -1
  248. package/dist/components/{p-pYesdYiR.js → p-CslSVc-D.js} +30 -30
  249. package/dist/components/{p-pYesdYiR.js.map → p-CslSVc-D.js.map} +1 -1
  250. package/dist/components/{p-qycrPBwc.js → p-CzXYz3XY.js} +4 -4
  251. package/dist/components/{p-qycrPBwc.js.map → p-CzXYz3XY.js.map} +1 -1
  252. package/dist/components/{p-DwuiNrjE.js → p-D3et9AL5.js} +14 -14
  253. package/dist/components/p-D3et9AL5.js.map +1 -0
  254. package/dist/components/{p-C7wadjXX.js → p-D5p6S1bi.js} +6 -6
  255. package/dist/components/{p-C7wadjXX.js.map → p-D5p6S1bi.js.map} +1 -1
  256. package/dist/components/{p-DMu9DQ9X.js → p-DIPvUaAv.js} +7 -7
  257. package/dist/components/{p-DMu9DQ9X.js.map → p-DIPvUaAv.js.map} +1 -1
  258. package/dist/components/{p-BSdKow-j.js → p-DLmnuCRM.js} +11 -11
  259. package/dist/components/{p-BSdKow-j.js.map → p-DLmnuCRM.js.map} +1 -1
  260. package/dist/components/{p-aQxQlerr.js → p-DMzzevWO.js} +3 -3
  261. package/dist/components/{p-aQxQlerr.js.map → p-DMzzevWO.js.map} +1 -1
  262. package/dist/components/{p-DPICcZWq.js → p-DU0M0izE.js} +6 -6
  263. package/dist/components/{p-DPICcZWq.js.map → p-DU0M0izE.js.map} +1 -1
  264. package/dist/components/{p-BNlfak-i.js → p-DcWPdEq3.js} +6 -6
  265. package/dist/components/{p-BNlfak-i.js.map → p-DcWPdEq3.js.map} +1 -1
  266. package/dist/components/{p-B5CL4ht4.js → p-De55cjKE.js} +4 -4
  267. package/dist/components/{p-B5CL4ht4.js.map → p-De55cjKE.js.map} +1 -1
  268. package/dist/components/{p-qsD9qkN0.js → p-DesdkBUb.js} +3 -3
  269. package/dist/components/{p-qsD9qkN0.js.map → p-DesdkBUb.js.map} +1 -1
  270. package/dist/components/{p-CbxnHcQ3.js → p-DlAdADTD.js} +15 -16
  271. package/dist/components/p-DlAdADTD.js.map +1 -0
  272. package/dist/components/{p-VxVNy_Vd.js → p-DnaGcy-V.js} +3 -3
  273. package/dist/components/{p-VxVNy_Vd.js.map → p-DnaGcy-V.js.map} +1 -1
  274. package/dist/components/{p-PXUFg-8o.js → p-DpEBcKDj.js} +14 -14
  275. package/dist/components/p-DpEBcKDj.js.map +1 -0
  276. package/dist/components/{p-BVn3xhxx.js → p-DqU6EOrq.js} +9 -9
  277. package/dist/components/{p-BVn3xhxx.js.map → p-DqU6EOrq.js.map} +1 -1
  278. package/dist/components/{p-DuzP9nP2.js → p-Driek-y5.js} +4 -4
  279. package/dist/components/{p-DuzP9nP2.js.map → p-Driek-y5.js.map} +1 -1
  280. package/dist/components/{p-Bi-CeVWz.js → p-DvtzYG5e.js} +10 -10
  281. package/dist/components/{p-Bi-CeVWz.js.map → p-DvtzYG5e.js.map} +1 -1
  282. package/dist/components/{p-CU2nBtXQ.js → p-EPmbbAEf.js} +4 -4
  283. package/dist/components/{p-CU2nBtXQ.js.map → p-EPmbbAEf.js.map} +1 -1
  284. package/dist/components/{p-KeFLmEXi.js → p-FVg7B0fh.js} +4 -4
  285. package/dist/components/{p-KeFLmEXi.js.map → p-FVg7B0fh.js.map} +1 -1
  286. package/dist/components/{p-B9gpGeDG.js → p-H5nk-La8.js} +14 -15
  287. package/dist/components/p-H5nk-La8.js.map +1 -0
  288. package/dist/components/{p-DsixyEYT.js → p-KBnlWGyn.js} +3 -3
  289. package/dist/components/{p-DsixyEYT.js.map → p-KBnlWGyn.js.map} +1 -1
  290. package/dist/components/{p-Bt-GZVHa.js → p-WzOFvlsv.js} +6 -6
  291. package/dist/components/{p-Bt-GZVHa.js.map → p-WzOFvlsv.js.map} +1 -1
  292. package/dist/components/{p-dHBtO65i.js → p-ZnrDtTZt.js} +88 -16
  293. package/dist/components/p-ZnrDtTZt.js.map +1 -0
  294. package/dist/components/{p-C2HrF4Tc.js → p-wBFmVUNi.js} +9 -9
  295. package/dist/components/{p-C2HrF4Tc.js.map → p-wBFmVUNi.js.map} +1 -1
  296. package/dist/components/verdocs-auth.js +4 -4
  297. package/dist/components/verdocs-build.js +43 -43
  298. package/dist/components/verdocs-button-panel.js +1 -1
  299. package/dist/components/verdocs-button.js +1 -1
  300. package/dist/components/verdocs-checkbox.js +1 -1
  301. package/dist/components/verdocs-component-error.js +1 -1
  302. package/dist/components/verdocs-contact-picker.js +1 -1
  303. package/dist/components/verdocs-date-input.js +2 -2
  304. package/dist/components/verdocs-delegate-dialog.js +1 -1
  305. package/dist/components/verdocs-dialog.js +1 -1
  306. package/dist/components/verdocs-disclosure-dialog.js +1 -1
  307. package/dist/components/verdocs-dropdown.js +1 -1
  308. package/dist/components/verdocs-envelope-document-page.js +1 -1
  309. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  310. package/dist/components/verdocs-envelope-recipient-summary.js +2 -2
  311. package/dist/components/verdocs-envelope-sidebar.js +11 -11
  312. package/dist/components/verdocs-envelope-update-recipient.js +1 -1
  313. package/dist/components/verdocs-envelopes-list.js +12 -12
  314. package/dist/components/verdocs-field-attachment.js +1 -1
  315. package/dist/components/verdocs-field-checkbox.js +1 -1
  316. package/dist/components/verdocs-field-date.js +1 -1
  317. package/dist/components/verdocs-field-dropdown.js +1 -1
  318. package/dist/components/verdocs-field-initial.js +1 -1
  319. package/dist/components/verdocs-field-payment.js +11 -11
  320. package/dist/components/verdocs-field-radio.js +1 -1
  321. package/dist/components/verdocs-field-signature.js +1 -1
  322. package/dist/components/verdocs-field-textarea.js +1 -1
  323. package/dist/components/verdocs-field-textbox.js +1 -1
  324. package/dist/components/verdocs-field-timestamp.js +1 -1
  325. package/dist/components/verdocs-file-chooser.js +1 -1
  326. package/dist/components/verdocs-help-icon.js +1 -1
  327. package/dist/components/verdocs-initial-dialog.js +1 -1
  328. package/dist/components/verdocs-kba-dialog.js +1 -1
  329. package/dist/components/verdocs-loader.js +1 -1
  330. package/dist/components/verdocs-menu-panel.js +1 -1
  331. package/dist/components/verdocs-multiselect.js +3 -3
  332. package/dist/components/verdocs-ok-dialog.js +1 -1
  333. package/dist/components/verdocs-organization-card.js +2 -2
  334. package/dist/components/verdocs-otp-dialog.js +1 -1
  335. package/dist/components/verdocs-pagination.js +1 -1
  336. package/dist/components/verdocs-portal.js +1 -1
  337. package/dist/components/verdocs-preview.js +1 -1
  338. package/dist/components/verdocs-progress-bar.js +1 -1
  339. package/dist/components/verdocs-quick-filter.js +1 -1
  340. package/dist/components/verdocs-quick-functions.js +1 -1
  341. package/dist/components/verdocs-radio-button.js +1 -1
  342. package/dist/components/verdocs-search-box.js +1 -1
  343. package/dist/components/verdocs-search-tabs.js +1 -1
  344. package/dist/components/verdocs-select-input.js +1 -1
  345. package/dist/components/verdocs-send.js +1 -1
  346. package/dist/components/verdocs-sign.js +17 -17
  347. package/dist/components/verdocs-signature-dialog.js +1 -1
  348. package/dist/components/verdocs-spinner.js +1 -1
  349. package/dist/components/verdocs-status-indicator.js +1 -1
  350. package/dist/components/verdocs-switch.js +1 -1
  351. package/dist/components/verdocs-table.js +1 -1
  352. package/dist/components/verdocs-tabs.js +1 -1
  353. package/dist/components/verdocs-template-attachments.js +1 -1
  354. package/dist/components/verdocs-template-build-tabs.js +1 -1
  355. package/dist/components/verdocs-template-card.js +1 -1
  356. package/dist/components/verdocs-template-create.js +5 -5
  357. package/dist/components/verdocs-template-document-page.js +1 -1
  358. package/dist/components/verdocs-template-field-properties.js +1 -1
  359. package/dist/components/verdocs-template-fields.js +1 -1
  360. package/dist/components/verdocs-template-role-properties.js +1 -1
  361. package/dist/components/verdocs-template-roles.js +1 -1
  362. package/dist/components/verdocs-template-settings.js +1 -1
  363. package/dist/components/verdocs-template-star.js +1 -1
  364. package/dist/components/verdocs-template-tags.js +1 -1
  365. package/dist/components/verdocs-templates-list.js +12 -12
  366. package/dist/components/verdocs-text-input.js +1 -1
  367. package/dist/components/verdocs-toggle-button.js +1 -1
  368. package/dist/components/verdocs-toggle.js +1 -1
  369. package/dist/components/verdocs-toolbar-icon.js +1 -1
  370. package/dist/components/verdocs-upload-dialog.js +1 -1
  371. package/dist/components/verdocs-view.js +1 -1
  372. package/dist/esm/{index-X1TV_giC.js → index-C05sDUVN.js} +48 -24
  373. package/dist/esm/index-C05sDUVN.js.map +1 -0
  374. package/dist/esm/loader.js +3 -3
  375. package/dist/esm/{utils-Cs4cJ8yD.js → utils-PdWvXqe5.js} +2 -6
  376. package/dist/esm/utils-PdWvXqe5.js.map +1 -0
  377. package/dist/esm/verdocs-auth.entry.js +1 -1
  378. package/dist/esm/verdocs-build.entry.js +1 -1
  379. package/dist/esm/verdocs-button-panel_2.entry.js +1 -1
  380. package/dist/esm/verdocs-button_3.entry.js +1 -1
  381. package/dist/esm/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.js.map +1 -1
  382. package/dist/esm/verdocs-checkbox_5.entry.js +8 -6
  383. package/dist/esm/verdocs-contact-picker.entry.js +2 -2
  384. package/dist/esm/verdocs-date-input.entry.js +1 -1
  385. package/dist/esm/verdocs-delegate-dialog_5.entry.js +1 -1
  386. package/dist/esm/verdocs-dialog_2.entry.js +1 -1
  387. package/dist/esm/verdocs-dropdown.entry.js +1 -1
  388. package/dist/esm/verdocs-envelope-document-page.entry.js +2 -2
  389. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  390. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  391. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  392. package/dist/esm/verdocs-envelopes-list.entry.js +2 -2
  393. package/dist/esm/verdocs-field-attachment_13.entry.js +162 -22
  394. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  395. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  396. package/dist/esm/verdocs-menu-panel_2.entry.js +1 -1
  397. package/dist/esm/verdocs-multiselect.entry.js +1 -1
  398. package/dist/esm/verdocs-organization-card_2.entry.js +1 -1
  399. package/dist/esm/verdocs-pagination_2.entry.js +2 -2
  400. 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
  401. package/dist/esm/verdocs-preview_7.entry.js +8 -3
  402. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  403. package/dist/esm/verdocs-radio-button.entry.js +1 -1
  404. package/dist/esm/verdocs-search-box.entry.js +1 -1
  405. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  406. package/dist/esm/verdocs-sign.entry.js +2 -2
  407. package/dist/esm/verdocs-spinner.entry.js +1 -1
  408. package/dist/esm/verdocs-status-indicator.entry.js +1 -1
  409. package/dist/esm/verdocs-switch.entry.js +1 -1
  410. package/dist/esm/verdocs-table.entry.js +1 -1
  411. package/dist/esm/verdocs-template-card.entry.js +1 -1
  412. package/dist/esm/verdocs-template-create.entry.js +1 -1
  413. package/dist/esm/verdocs-template-document-page_2.entry.js +2 -2
  414. package/dist/esm/verdocs-template-star.entry.js +1 -1
  415. package/dist/esm/verdocs-template-tags.entry.js +1 -1
  416. package/dist/esm/verdocs-templates-list.entry.js +1 -1
  417. package/dist/esm/verdocs-toggle-button.entry.js +1 -1
  418. package/dist/esm/verdocs-toggle.entry.js +1 -1
  419. package/dist/esm/verdocs-web-sdk.js +4 -4
  420. package/dist/esm/verdocs-web-sdk.js.map +1 -1
  421. package/dist/esm-es5/index-C05sDUVN.js +2 -0
  422. package/dist/esm-es5/index-C05sDUVN.js.map +1 -0
  423. package/dist/esm-es5/loader.js +1 -1
  424. package/dist/esm-es5/{utils-Cs4cJ8yD.js → utils-PdWvXqe5.js} +1 -1
  425. package/dist/{verdocs-web-sdk/p-BBOZ2ZHI.js.map → esm-es5/utils-PdWvXqe5.js.map} +1 -1
  426. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  427. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  428. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  429. package/dist/esm-es5/verdocs-button_3.entry.js +1 -1
  430. package/dist/esm-es5/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.js.map +1 -1
  431. package/dist/esm-es5/verdocs-checkbox_5.entry.js +1 -1
  432. package/dist/esm-es5/verdocs-checkbox_5.entry.js.map +1 -1
  433. package/dist/esm-es5/verdocs-contact-picker.entry.js +2 -2
  434. package/dist/esm-es5/verdocs-date-input.entry.js +1 -1
  435. package/dist/esm-es5/verdocs-delegate-dialog_5.entry.js +1 -1
  436. package/dist/esm-es5/verdocs-dialog_2.entry.js +1 -1
  437. package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
  438. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  439. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  440. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  441. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  442. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  443. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  444. package/dist/esm-es5/verdocs-field-attachment_13.entry.js.map +1 -1
  445. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  446. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  447. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  448. package/dist/esm-es5/verdocs-multiselect.entry.js +1 -1
  449. package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
  450. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  451. 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
  452. package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
  453. package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -1
  454. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  455. package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
  456. package/dist/esm-es5/verdocs-search-box.entry.js +1 -1
  457. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  458. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  459. package/dist/esm-es5/verdocs-spinner.entry.js +1 -1
  460. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  461. package/dist/esm-es5/verdocs-switch.entry.js +1 -1
  462. package/dist/esm-es5/verdocs-table.entry.js +1 -1
  463. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  464. package/dist/esm-es5/verdocs-template-create.entry.js +1 -1
  465. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  466. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  467. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  468. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  469. package/dist/esm-es5/verdocs-toggle-button.entry.js +1 -1
  470. package/dist/esm-es5/verdocs-toggle.entry.js +1 -1
  471. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  472. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  473. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +5 -0
  474. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +6 -0
  475. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +6 -0
  476. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +1 -0
  477. package/dist/types/components.d.ts +10 -0
  478. package/dist/types/stencil-public-runtime.d.ts +16 -2
  479. package/dist/verdocs-web-sdk/{p-1dd22bc7.entry.js → p-0361b7f5.entry.js} +2 -2
  480. package/dist/verdocs-web-sdk/{p-a891ddfa.system.entry.js → p-0426bfc1.system.entry.js} +2 -2
  481. package/dist/verdocs-web-sdk/{p-c25f7c56.system.entry.js → p-08e3aed6.system.entry.js} +2 -2
  482. package/dist/verdocs-web-sdk/{p-d917bdc6.entry.js → p-0d45a7bb.entry.js} +2 -2
  483. package/dist/verdocs-web-sdk/{p-48884c8d.system.entry.js → p-0e597594.system.entry.js} +2 -2
  484. package/dist/verdocs-web-sdk/{p-c55ed91d.entry.js → p-0eab8901.entry.js} +2 -2
  485. package/dist/verdocs-web-sdk/{p-83f73509.system.entry.js → p-14f07a32.system.entry.js} +2 -2
  486. package/dist/verdocs-web-sdk/{p-59f29275.entry.js → p-1563ebea.entry.js} +2 -2
  487. package/dist/verdocs-web-sdk/{p-b85ae97a.entry.js → p-1ff272f6.entry.js} +2 -2
  488. package/dist/verdocs-web-sdk/{p-64a8507d.system.entry.js → p-217db764.system.entry.js} +2 -2
  489. package/dist/verdocs-web-sdk/{p-a3af210b.system.entry.js → p-221da740.system.entry.js} +2 -2
  490. package/dist/verdocs-web-sdk/{p-7f30b3be.system.entry.js → p-2642cf9a.system.entry.js} +2 -2
  491. package/dist/verdocs-web-sdk/{p-89f37be7.entry.js → p-29b12c84.entry.js} +2 -2
  492. package/dist/verdocs-web-sdk/{p-cca8ed94.entry.js → p-2d879f01.entry.js} +2 -2
  493. package/dist/verdocs-web-sdk/{p-e3fbf544.entry.js → p-305de09c.entry.js} +2 -2
  494. package/dist/verdocs-web-sdk/{p-8e4d3c1b.system.entry.js → p-36b211e9.system.entry.js} +2 -2
  495. package/dist/verdocs-web-sdk/{p-4678132e.system.entry.js → p-381bb0d2.system.entry.js} +2 -2
  496. package/dist/verdocs-web-sdk/{p-e7788af9.entry.js → p-3c4ae778.entry.js} +2 -2
  497. package/dist/verdocs-web-sdk/{p-17a961e6.entry.js → p-3c6db111.entry.js} +2 -2
  498. package/dist/verdocs-web-sdk/{p-aa447fb5.entry.js → p-4040ff25.entry.js} +2 -2
  499. package/dist/verdocs-web-sdk/{p-f05bdbf9.system.entry.js → p-4629e0f5.system.entry.js} +2 -2
  500. package/dist/verdocs-web-sdk/p-4629e0f5.system.entry.js.map +1 -0
  501. package/dist/verdocs-web-sdk/{p-DTjxopRa.system.js.map → p-4OWnEogw.system.js.map} +1 -1
  502. package/dist/verdocs-web-sdk/{p-a3ce46a9.system.entry.js → p-4ce49ea8.system.entry.js} +2 -2
  503. package/dist/verdocs-web-sdk/{p-11fbecdf.entry.js → p-4fc7fb57.entry.js} +2 -2
  504. package/dist/verdocs-web-sdk/{p-540b1203.system.entry.js → p-513e5b8a.system.entry.js} +2 -2
  505. package/dist/verdocs-web-sdk/p-52c5c5eb.system.entry.js +2 -0
  506. package/dist/verdocs-web-sdk/p-52c5c5eb.system.entry.js.map +1 -0
  507. package/dist/verdocs-web-sdk/{p-566acffa.system.entry.js → p-55ee046d.system.entry.js} +2 -2
  508. package/dist/verdocs-web-sdk/{p-67cf9e3c.entry.js → p-5889c99f.entry.js} +2 -2
  509. package/dist/verdocs-web-sdk/{p-8b538104.entry.js → p-5b7212dc.entry.js} +2 -2
  510. package/dist/verdocs-web-sdk/p-5b7212dc.entry.js.map +1 -0
  511. package/dist/verdocs-web-sdk/{p-17555d83.system.entry.js → p-5f01fbeb.system.entry.js} +2 -2
  512. package/dist/verdocs-web-sdk/{p-45d2ed99.system.entry.js → p-61310d21.system.entry.js} +2 -2
  513. package/dist/verdocs-web-sdk/{p-2a8f789d.entry.js → p-639bac83.entry.js} +3 -3
  514. package/dist/verdocs-web-sdk/p-639bac83.entry.js.map +1 -0
  515. package/dist/verdocs-web-sdk/{p-8c56e415.system.entry.js → p-66a34894.system.entry.js} +2 -2
  516. package/dist/verdocs-web-sdk/{p-8f0009a6.entry.js → p-6c0c5157.entry.js} +2 -2
  517. package/dist/verdocs-web-sdk/{p-bd7e5422.entry.js → p-715b1538.entry.js} +2 -2
  518. package/dist/verdocs-web-sdk/{p-ceab8296.system.entry.js → p-74b6c738.system.entry.js} +2 -2
  519. package/dist/verdocs-web-sdk/{p-027b3bdc.entry.js → p-759f13e2.entry.js} +2 -2
  520. package/dist/verdocs-web-sdk/{p-ad57133a.entry.js → p-7627b523.entry.js} +2 -2
  521. package/dist/verdocs-web-sdk/{p-55df24c8.entry.js → p-76f93877.entry.js} +2 -2
  522. package/dist/verdocs-web-sdk/{p-8871e9aa.entry.js → p-771f2a9e.entry.js} +2 -2
  523. package/dist/verdocs-web-sdk/{p-04dafd3d.entry.js → p-83369b59.entry.js} +2 -2
  524. package/dist/verdocs-web-sdk/{p-5ccec673.entry.js → p-851bd188.entry.js} +2 -2
  525. package/dist/verdocs-web-sdk/{p-191e8c2c.entry.js → p-879c16ae.entry.js} +2 -2
  526. package/dist/verdocs-web-sdk/{p-3e7077db.entry.js → p-87b0aa15.entry.js} +2 -2
  527. package/dist/verdocs-web-sdk/{p-25a03cea.entry.js → p-8dfd4098.entry.js} +2 -2
  528. package/dist/verdocs-web-sdk/p-9086941d.entry.js +2 -0
  529. package/dist/verdocs-web-sdk/p-9086941d.entry.js.map +1 -0
  530. package/dist/verdocs-web-sdk/{p-a0cc8b3d.system.entry.js → p-929c6dcb.system.entry.js} +3 -3
  531. package/dist/verdocs-web-sdk/{p-7c049f4e.entry.js → p-9a109fed.entry.js} +2 -2
  532. package/dist/verdocs-web-sdk/{p-9a49d2b0.system.entry.js → p-9c719a1e.system.entry.js} +2 -2
  533. package/dist/verdocs-web-sdk/p-B2ZTJRF1.system.js +2 -0
  534. package/dist/verdocs-web-sdk/{p-BxnDlEK2.system.js.map → p-B2ZTJRF1.system.js.map} +1 -1
  535. package/dist/verdocs-web-sdk/{p-DVPVOuJV.system.js.map → p-B4Jok9g8.system.js.map} +1 -1
  536. package/dist/verdocs-web-sdk/{p-CgQ7bxKu.system.js.map → p-B6Yr6dLH.system.js.map} +1 -1
  537. package/dist/verdocs-web-sdk/{p-BiGaYUyh.system.js.map → p-BDT8VDnV.system.js.map} +1 -1
  538. package/dist/verdocs-web-sdk/p-BP6QzunY.system.js.map +1 -0
  539. package/dist/verdocs-web-sdk/p-BQp1Wsrc.system.js.map +1 -0
  540. package/dist/verdocs-web-sdk/p-BRiHRj-G.system.js.map +1 -0
  541. package/dist/verdocs-web-sdk/{p-BVUjNSi5.system.js.map → p-BT4iau8_.system.js.map} +1 -1
  542. package/dist/verdocs-web-sdk/{p-BBfV4m9n.system.js.map → p-BVYtr8jX.system.js.map} +1 -1
  543. package/dist/verdocs-web-sdk/{p-CCQ2k59W.system.js.map → p-BVgRWHdx.system.js.map} +1 -1
  544. package/dist/verdocs-web-sdk/{p-Dw21csYe.system.js.map → p-BZ9rCFg-.system.js.map} +1 -1
  545. package/dist/verdocs-web-sdk/{p-BJcy0F2f.system.js.map → p-BlMT1vy_.system.js.map} +1 -1
  546. package/dist/verdocs-web-sdk/{p-HphkfmyL.system.js.map → p-BpVWw6cq.system.js.map} +1 -1
  547. package/dist/verdocs-web-sdk/{p-Bq-dsa9I.system.js.map → p-BswU_7jl.system.js.map} +1 -1
  548. package/dist/verdocs-web-sdk/{p-Bm_Aqk-t.system.js.map → p-BteDuaoR.system.js.map} +1 -1
  549. package/dist/verdocs-web-sdk/{p-CKAQ8j1I.system.js.map → p-BvruBF8p.system.js.map} +1 -1
  550. package/dist/verdocs-web-sdk/{p-Df2kAW2i.system.js.map → p-BwAcNrO8.system.js.map} +1 -1
  551. package/dist/verdocs-web-sdk/{p-DzJwKMi_.system.js.map → p-BwvJ8lkq.system.js.map} +1 -1
  552. package/dist/verdocs-web-sdk/p-C05sDUVN.js +3 -0
  553. package/dist/verdocs-web-sdk/p-C05sDUVN.js.map +1 -0
  554. package/dist/verdocs-web-sdk/{p-Cfg2J5CZ.system.js.map → p-C3FrKBlJ.system.js.map} +1 -1
  555. package/dist/verdocs-web-sdk/{p-o_Ure2Rd.system.js.map → p-CDc0NxA9.system.js.map} +1 -1
  556. package/dist/verdocs-web-sdk/{p-l4fDXmiS.system.js.map → p-CEj4NLjk.system.js.map} +1 -1
  557. package/dist/verdocs-web-sdk/{p-DC4y5B1X.system.js.map → p-CJgSjfS3.system.js.map} +1 -1
  558. package/dist/verdocs-web-sdk/{p-DhH24UO8.system.js.map → p-CLugYiKe.system.js.map} +1 -1
  559. package/dist/verdocs-web-sdk/{p-M5EOAnll.system.js.map → p-CYdphBFp.system.js.map} +1 -1
  560. package/dist/verdocs-web-sdk/{p-5DosFD_5.system.js → p-CYrmyWmF.system.js} +1 -1
  561. package/dist/verdocs-web-sdk/p-CYrmyWmF.system.js.map +1 -0
  562. package/dist/verdocs-web-sdk/{p-BsXMzNud.system.js.map → p-Cp0lpB6k.system.js.map} +1 -1
  563. package/dist/verdocs-web-sdk/{p-CZLdPXay.system.js.map → p-CxfpQzDf.system.js.map} +1 -1
  564. package/dist/verdocs-web-sdk/{p-d67ambnX.system.js.map → p-D8jwiOjp.system.js.map} +1 -1
  565. package/dist/verdocs-web-sdk/{p-B-y8cy6T.system.js.map → p-DQiE2MRY.system.js.map} +1 -1
  566. package/dist/verdocs-web-sdk/{p-HIZV6LxA.system.js.map → p-DRLUgxAz.system.js.map} +1 -1
  567. package/dist/verdocs-web-sdk/{p-DF7SY-6u.system.js.map → p-DVZN96Di.system.js.map} +1 -1
  568. package/dist/verdocs-web-sdk/{p-BXb1BKht.system.js.map → p-Diy5Q9-6.system.js.map} +1 -1
  569. package/dist/verdocs-web-sdk/{p-CXP0EbfL.system.js.map → p-DjDnOHB1.system.js.map} +1 -1
  570. package/dist/verdocs-web-sdk/{p-Dn-43F27.system.js.map → p-DoFYKh5S.system.js.map} +1 -1
  571. package/dist/verdocs-web-sdk/{p-DQi3kUIK.system.js.map → p-DpwXyQ7Z.system.js.map} +1 -1
  572. package/dist/verdocs-web-sdk/{p-lem0NjbG.system.js.map → p-DyL8qWVe.system.js.map} +1 -1
  573. package/dist/verdocs-web-sdk/{p-nBVvUYKO.system.js.map → p-Gi6iS8bX.system.js.map} +1 -1
  574. package/dist/verdocs-web-sdk/{p-BBOZ2ZHI.js → p-L_9dApfY.js} +1 -1
  575. package/dist/verdocs-web-sdk/p-L_9dApfY.js.map +1 -0
  576. package/dist/verdocs-web-sdk/{p-DXoUkssj.system.js.map → p-TeE_49wp.system.js.map} +1 -1
  577. package/dist/verdocs-web-sdk/{p-x9-7dl5_.system.js.map → p-X4iTgaqa.system.js.map} +1 -1
  578. package/dist/verdocs-web-sdk/{p-8674fe6b.entry.js → p-a2f95711.entry.js} +2 -2
  579. package/dist/verdocs-web-sdk/{p-0b1fd380.system.entry.js → p-a5d53c9f.system.entry.js} +2 -2
  580. package/dist/verdocs-web-sdk/{p-644b4670.entry.js → p-ab95e032.entry.js} +2 -2
  581. package/dist/verdocs-web-sdk/{p-42bf855c.system.entry.js → p-af444549.system.entry.js} +2 -2
  582. package/dist/verdocs-web-sdk/{p-7ec62f8e.entry.js → p-b0d3e996.entry.js} +2 -2
  583. package/dist/verdocs-web-sdk/{p-e0343088.entry.js → p-b2df2093.entry.js} +2 -2
  584. package/dist/verdocs-web-sdk/{p-fcebe2ba.entry.js → p-b35f630c.entry.js} +2 -2
  585. package/dist/verdocs-web-sdk/{p-db5a142d.system.entry.js → p-b5df6697.system.entry.js} +2 -2
  586. package/dist/verdocs-web-sdk/{p-3a315a3b.system.entry.js → p-c53bba5b.system.entry.js} +2 -2
  587. package/dist/verdocs-web-sdk/p-c53bba5b.system.entry.js.map +1 -0
  588. package/dist/verdocs-web-sdk/{p-a42c481e.system.entry.js → p-c70f32bc.system.entry.js} +2 -2
  589. package/dist/verdocs-web-sdk/{p-195a8183.system.entry.js → p-c9f807d7.system.entry.js} +2 -2
  590. package/dist/verdocs-web-sdk/{p-e2b12817.entry.js → p-ce79c107.entry.js} +2 -2
  591. package/dist/verdocs-web-sdk/{p-a5e03651.entry.js → p-cf8ee113.entry.js} +2 -2
  592. package/dist/verdocs-web-sdk/{p-5e676c9e.system.entry.js → p-d28f8173.system.entry.js} +2 -2
  593. package/dist/verdocs-web-sdk/{p-e91d0807.system.entry.js → p-d4d86106.system.entry.js} +2 -2
  594. package/dist/verdocs-web-sdk/{p-3bbf0184.entry.js → p-d65600c4.entry.js} +3 -3
  595. package/dist/verdocs-web-sdk/{p-f698afa4.system.entry.js → p-dbd65627.system.entry.js} +2 -2
  596. package/dist/verdocs-web-sdk/{p-56eb1284.system.entry.js → p-dca0ee01.system.entry.js} +2 -2
  597. package/dist/verdocs-web-sdk/{p-ac92c3d7.entry.js → p-dcf8f80f.entry.js} +2 -2
  598. package/dist/verdocs-web-sdk/{p-fa547a87.entry.js → p-dec943d5.entry.js} +2 -2
  599. package/dist/verdocs-web-sdk/{p-8c5e62b7.system.entry.js → p-e08baa24.system.entry.js} +2 -2
  600. package/dist/verdocs-web-sdk/{p-069b8ba0.system.entry.js → p-e6836f65.system.entry.js} +2 -2
  601. package/dist/verdocs-web-sdk/{p-DFZKSa8O.system.js.map → p-eTl5b3_e.system.js.map} +1 -1
  602. package/dist/verdocs-web-sdk/{p-88b902a8.system.entry.js → p-f215d74d.system.entry.js} +2 -2
  603. package/dist/verdocs-web-sdk/{p-2975c246.system.entry.js → p-f35d0bb1.system.entry.js} +2 -2
  604. package/dist/verdocs-web-sdk/{p-77e88d8c.system.entry.js → p-f45dd2e7.system.entry.js} +2 -2
  605. package/dist/verdocs-web-sdk/{p-cac00e00.system.entry.js → p-f6016dfb.system.entry.js} +2 -2
  606. package/dist/verdocs-web-sdk/{p-2b66f919.system.entry.js → p-f60868c7.system.entry.js} +2 -2
  607. package/dist/verdocs-web-sdk/{p-2f9b777d.system.entry.js → p-f6b28e39.system.entry.js} +2 -2
  608. package/dist/verdocs-web-sdk/{p-fb86d93d.system.entry.js → p-f8104621.system.entry.js} +2 -2
  609. package/dist/verdocs-web-sdk/{p-73a680ec.system.entry.js → p-fae894d6.system.entry.js} +2 -2
  610. package/dist/verdocs-web-sdk/{p-2e947f17.entry.js → p-fd41f58d.entry.js} +2 -2
  611. package/dist/verdocs-web-sdk/{p-360df508.entry.js → p-ff032e47.entry.js} +2 -2
  612. package/dist/verdocs-web-sdk/p-gMXuliDq.system.js +3 -0
  613. package/dist/verdocs-web-sdk/p-gMXuliDq.system.js.map +1 -0
  614. package/dist/verdocs-web-sdk/{p-DdBCILzU.system.js.map → p-iOk-QRhr.system.js.map} +1 -1
  615. package/dist/verdocs-web-sdk/{p-Deulx07U.system.js.map → p-qSIndqRC.system.js.map} +1 -1
  616. package/dist/verdocs-web-sdk/verdocs-checkbox.verdocs-component-error.verdocs-loader.verdocs-select-input.verdocs-template-field-properties.entry.esm.js.map +1 -1
  617. 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
  618. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  619. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  620. package/dist/verdocs-web-sdk/verdocs-web-sdk.js +1 -1
  621. package/package.json +6 -6
  622. package/dist/cjs/index-WAQFAFHK.js.map +0 -1
  623. package/dist/cjs/utils-Bd1jjSAt.js.map +0 -1
  624. package/dist/components/p-B9gpGeDG.js.map +0 -1
  625. package/dist/components/p-BA36wKSy.js.map +0 -1
  626. package/dist/components/p-BNTIQRGG.js.map +0 -1
  627. package/dist/components/p-BWZvzZ9w.js.map +0 -1
  628. package/dist/components/p-BuCJI6fl.js.map +0 -1
  629. package/dist/components/p-CbxnHcQ3.js.map +0 -1
  630. package/dist/components/p-D3SGhXmE.js.map +0 -1
  631. package/dist/components/p-DwuiNrjE.js.map +0 -1
  632. package/dist/components/p-EXpiIDZa.js.map +0 -1
  633. package/dist/components/p-Hkdx4H9H.js.map +0 -1
  634. package/dist/components/p-PXUFg-8o.js.map +0 -1
  635. package/dist/components/p-dHBtO65i.js.map +0 -1
  636. package/dist/components/p-ve-pBNd-.js.map +0 -1
  637. package/dist/esm/index-X1TV_giC.js.map +0 -1
  638. package/dist/esm/utils-Cs4cJ8yD.js.map +0 -1
  639. package/dist/esm-es5/index-X1TV_giC.js +0 -2
  640. package/dist/esm-es5/index-X1TV_giC.js.map +0 -1
  641. package/dist/esm-es5/utils-Cs4cJ8yD.js.map +0 -1
  642. package/dist/verdocs-web-sdk/p-2a8f789d.entry.js.map +0 -1
  643. package/dist/verdocs-web-sdk/p-3a315a3b.system.entry.js.map +0 -1
  644. package/dist/verdocs-web-sdk/p-470a11e4.entry.js +0 -2
  645. package/dist/verdocs-web-sdk/p-470a11e4.entry.js.map +0 -1
  646. package/dist/verdocs-web-sdk/p-5DosFD_5.system.js.map +0 -1
  647. package/dist/verdocs-web-sdk/p-8b538104.entry.js.map +0 -1
  648. package/dist/verdocs-web-sdk/p-8f1234a2.system.entry.js +0 -2
  649. package/dist/verdocs-web-sdk/p-8f1234a2.system.entry.js.map +0 -1
  650. package/dist/verdocs-web-sdk/p-BInFnwHn.system.js.map +0 -1
  651. package/dist/verdocs-web-sdk/p-Bs6yLtzn.system.js.map +0 -1
  652. package/dist/verdocs-web-sdk/p-BxnDlEK2.system.js +0 -2
  653. package/dist/verdocs-web-sdk/p-Dl36R_nx.system.js.map +0 -1
  654. package/dist/verdocs-web-sdk/p-X1TV_giC.js +0 -3
  655. package/dist/verdocs-web-sdk/p-X1TV_giC.js.map +0 -1
  656. package/dist/verdocs-web-sdk/p-bHt1cQ8y.system.js +0 -3
  657. package/dist/verdocs-web-sdk/p-bHt1cQ8y.system.js.map +0 -1
  658. package/dist/verdocs-web-sdk/p-f05bdbf9.system.entry.js.map +0 -1
  659. /package/dist/verdocs-web-sdk/{p-1dd22bc7.entry.js.map → p-0361b7f5.entry.js.map} +0 -0
  660. /package/dist/verdocs-web-sdk/{p-a891ddfa.system.entry.js.map → p-0426bfc1.system.entry.js.map} +0 -0
  661. /package/dist/verdocs-web-sdk/{p-c25f7c56.system.entry.js.map → p-08e3aed6.system.entry.js.map} +0 -0
  662. /package/dist/verdocs-web-sdk/{p-d917bdc6.entry.js.map → p-0d45a7bb.entry.js.map} +0 -0
  663. /package/dist/verdocs-web-sdk/{p-48884c8d.system.entry.js.map → p-0e597594.system.entry.js.map} +0 -0
  664. /package/dist/verdocs-web-sdk/{p-c55ed91d.entry.js.map → p-0eab8901.entry.js.map} +0 -0
  665. /package/dist/verdocs-web-sdk/{p-83f73509.system.entry.js.map → p-14f07a32.system.entry.js.map} +0 -0
  666. /package/dist/verdocs-web-sdk/{p-59f29275.entry.js.map → p-1563ebea.entry.js.map} +0 -0
  667. /package/dist/verdocs-web-sdk/{p-b85ae97a.entry.js.map → p-1ff272f6.entry.js.map} +0 -0
  668. /package/dist/verdocs-web-sdk/{p-64a8507d.system.entry.js.map → p-217db764.system.entry.js.map} +0 -0
  669. /package/dist/verdocs-web-sdk/{p-a3af210b.system.entry.js.map → p-221da740.system.entry.js.map} +0 -0
  670. /package/dist/verdocs-web-sdk/{p-7f30b3be.system.entry.js.map → p-2642cf9a.system.entry.js.map} +0 -0
  671. /package/dist/verdocs-web-sdk/{p-89f37be7.entry.js.map → p-29b12c84.entry.js.map} +0 -0
  672. /package/dist/verdocs-web-sdk/{p-cca8ed94.entry.js.map → p-2d879f01.entry.js.map} +0 -0
  673. /package/dist/verdocs-web-sdk/{p-e3fbf544.entry.js.map → p-305de09c.entry.js.map} +0 -0
  674. /package/dist/verdocs-web-sdk/{p-8e4d3c1b.system.entry.js.map → p-36b211e9.system.entry.js.map} +0 -0
  675. /package/dist/verdocs-web-sdk/{p-4678132e.system.entry.js.map → p-381bb0d2.system.entry.js.map} +0 -0
  676. /package/dist/verdocs-web-sdk/{p-e7788af9.entry.js.map → p-3c4ae778.entry.js.map} +0 -0
  677. /package/dist/verdocs-web-sdk/{p-17a961e6.entry.js.map → p-3c6db111.entry.js.map} +0 -0
  678. /package/dist/verdocs-web-sdk/{p-aa447fb5.entry.js.map → p-4040ff25.entry.js.map} +0 -0
  679. /package/dist/verdocs-web-sdk/{p-a3ce46a9.system.entry.js.map → p-4ce49ea8.system.entry.js.map} +0 -0
  680. /package/dist/verdocs-web-sdk/{p-11fbecdf.entry.js.map → p-4fc7fb57.entry.js.map} +0 -0
  681. /package/dist/verdocs-web-sdk/{p-540b1203.system.entry.js.map → p-513e5b8a.system.entry.js.map} +0 -0
  682. /package/dist/verdocs-web-sdk/{p-566acffa.system.entry.js.map → p-55ee046d.system.entry.js.map} +0 -0
  683. /package/dist/verdocs-web-sdk/{p-67cf9e3c.entry.js.map → p-5889c99f.entry.js.map} +0 -0
  684. /package/dist/verdocs-web-sdk/{p-17555d83.system.entry.js.map → p-5f01fbeb.system.entry.js.map} +0 -0
  685. /package/dist/verdocs-web-sdk/{p-45d2ed99.system.entry.js.map → p-61310d21.system.entry.js.map} +0 -0
  686. /package/dist/verdocs-web-sdk/{p-8c56e415.system.entry.js.map → p-66a34894.system.entry.js.map} +0 -0
  687. /package/dist/verdocs-web-sdk/{p-8f0009a6.entry.js.map → p-6c0c5157.entry.js.map} +0 -0
  688. /package/dist/verdocs-web-sdk/{p-bd7e5422.entry.js.map → p-715b1538.entry.js.map} +0 -0
  689. /package/dist/verdocs-web-sdk/{p-ceab8296.system.entry.js.map → p-74b6c738.system.entry.js.map} +0 -0
  690. /package/dist/verdocs-web-sdk/{p-027b3bdc.entry.js.map → p-759f13e2.entry.js.map} +0 -0
  691. /package/dist/verdocs-web-sdk/{p-ad57133a.entry.js.map → p-7627b523.entry.js.map} +0 -0
  692. /package/dist/verdocs-web-sdk/{p-55df24c8.entry.js.map → p-76f93877.entry.js.map} +0 -0
  693. /package/dist/verdocs-web-sdk/{p-8871e9aa.entry.js.map → p-771f2a9e.entry.js.map} +0 -0
  694. /package/dist/verdocs-web-sdk/{p-04dafd3d.entry.js.map → p-83369b59.entry.js.map} +0 -0
  695. /package/dist/verdocs-web-sdk/{p-5ccec673.entry.js.map → p-851bd188.entry.js.map} +0 -0
  696. /package/dist/verdocs-web-sdk/{p-191e8c2c.entry.js.map → p-879c16ae.entry.js.map} +0 -0
  697. /package/dist/verdocs-web-sdk/{p-3e7077db.entry.js.map → p-87b0aa15.entry.js.map} +0 -0
  698. /package/dist/verdocs-web-sdk/{p-25a03cea.entry.js.map → p-8dfd4098.entry.js.map} +0 -0
  699. /package/dist/verdocs-web-sdk/{p-a0cc8b3d.system.entry.js.map → p-929c6dcb.system.entry.js.map} +0 -0
  700. /package/dist/verdocs-web-sdk/{p-7c049f4e.entry.js.map → p-9a109fed.entry.js.map} +0 -0
  701. /package/dist/verdocs-web-sdk/{p-9a49d2b0.system.entry.js.map → p-9c719a1e.system.entry.js.map} +0 -0
  702. /package/dist/verdocs-web-sdk/{p-8674fe6b.entry.js.map → p-a2f95711.entry.js.map} +0 -0
  703. /package/dist/verdocs-web-sdk/{p-0b1fd380.system.entry.js.map → p-a5d53c9f.system.entry.js.map} +0 -0
  704. /package/dist/verdocs-web-sdk/{p-644b4670.entry.js.map → p-ab95e032.entry.js.map} +0 -0
  705. /package/dist/verdocs-web-sdk/{p-42bf855c.system.entry.js.map → p-af444549.system.entry.js.map} +0 -0
  706. /package/dist/verdocs-web-sdk/{p-7ec62f8e.entry.js.map → p-b0d3e996.entry.js.map} +0 -0
  707. /package/dist/verdocs-web-sdk/{p-e0343088.entry.js.map → p-b2df2093.entry.js.map} +0 -0
  708. /package/dist/verdocs-web-sdk/{p-fcebe2ba.entry.js.map → p-b35f630c.entry.js.map} +0 -0
  709. /package/dist/verdocs-web-sdk/{p-db5a142d.system.entry.js.map → p-b5df6697.system.entry.js.map} +0 -0
  710. /package/dist/verdocs-web-sdk/{p-a42c481e.system.entry.js.map → p-c70f32bc.system.entry.js.map} +0 -0
  711. /package/dist/verdocs-web-sdk/{p-195a8183.system.entry.js.map → p-c9f807d7.system.entry.js.map} +0 -0
  712. /package/dist/verdocs-web-sdk/{p-e2b12817.entry.js.map → p-ce79c107.entry.js.map} +0 -0
  713. /package/dist/verdocs-web-sdk/{p-a5e03651.entry.js.map → p-cf8ee113.entry.js.map} +0 -0
  714. /package/dist/verdocs-web-sdk/{p-5e676c9e.system.entry.js.map → p-d28f8173.system.entry.js.map} +0 -0
  715. /package/dist/verdocs-web-sdk/{p-e91d0807.system.entry.js.map → p-d4d86106.system.entry.js.map} +0 -0
  716. /package/dist/verdocs-web-sdk/{p-3bbf0184.entry.js.map → p-d65600c4.entry.js.map} +0 -0
  717. /package/dist/verdocs-web-sdk/{p-f698afa4.system.entry.js.map → p-dbd65627.system.entry.js.map} +0 -0
  718. /package/dist/verdocs-web-sdk/{p-56eb1284.system.entry.js.map → p-dca0ee01.system.entry.js.map} +0 -0
  719. /package/dist/verdocs-web-sdk/{p-ac92c3d7.entry.js.map → p-dcf8f80f.entry.js.map} +0 -0
  720. /package/dist/verdocs-web-sdk/{p-fa547a87.entry.js.map → p-dec943d5.entry.js.map} +0 -0
  721. /package/dist/verdocs-web-sdk/{p-8c5e62b7.system.entry.js.map → p-e08baa24.system.entry.js.map} +0 -0
  722. /package/dist/verdocs-web-sdk/{p-069b8ba0.system.entry.js.map → p-e6836f65.system.entry.js.map} +0 -0
  723. /package/dist/verdocs-web-sdk/{p-88b902a8.system.entry.js.map → p-f215d74d.system.entry.js.map} +0 -0
  724. /package/dist/verdocs-web-sdk/{p-2975c246.system.entry.js.map → p-f35d0bb1.system.entry.js.map} +0 -0
  725. /package/dist/verdocs-web-sdk/{p-77e88d8c.system.entry.js.map → p-f45dd2e7.system.entry.js.map} +0 -0
  726. /package/dist/verdocs-web-sdk/{p-cac00e00.system.entry.js.map → p-f6016dfb.system.entry.js.map} +0 -0
  727. /package/dist/verdocs-web-sdk/{p-2b66f919.system.entry.js.map → p-f60868c7.system.entry.js.map} +0 -0
  728. /package/dist/verdocs-web-sdk/{p-2f9b777d.system.entry.js.map → p-f6b28e39.system.entry.js.map} +0 -0
  729. /package/dist/verdocs-web-sdk/{p-fb86d93d.system.entry.js.map → p-f8104621.system.entry.js.map} +0 -0
  730. /package/dist/verdocs-web-sdk/{p-73a680ec.system.entry.js.map → p-fae894d6.system.entry.js.map} +0 -0
  731. /package/dist/verdocs-web-sdk/{p-2e947f17.entry.js.map → p-fd41f58d.entry.js.map} +0 -0
  732. /package/dist/verdocs-web-sdk/{p-360df508.entry.js.map → p-ff032e47.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-Dl36R_nx.system.js","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/modular/sortable.esm.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.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","/**!\n * Sortable 1.15.6\n * @author\tRubaXa <trash@rubaxa.org>\n * @author\towenm <owen23355@gmail.com>\n * @license MIT\n */\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar version = \"1.15.6\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !! /*@__PURE__*/navigator.userAgent.match(pattern);\n }\n}\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\nfunction matches( /**HTMLElement*/el, /**String*/selector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n return false;\n}\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\nfunction closest( /**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n return null;\n}\nvar R_SPACE = /\\s+/g;\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\nfunction css(el, prop, val) {\n var style = el && el.style;\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n } while (!selfOnly && (el = el.parentNode));\n }\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n return matrixFn && new matrixFn(appliedTransforms);\n}\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n return list;\n }\n return [];\n}\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode;\n\n // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect();\n\n // Set relative to edges of padding box of container\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n } while (container = container.parentNode);\n }\n }\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n\n /* jshint boss:true */\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n return false;\n}\n\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\nfunction getChild(el, childNum, options, includeDragEl) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n currentChild++;\n }\n i++;\n }\n return null;\n}\n\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n return last || null;\n}\n\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\nfunction index(el, selector) {\n var index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n\n /* jshint boss:true */\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n return index;\n}\n\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n return [offsetLeft, offsetTop];\n}\n\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n return -1;\n}\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n } while (elem = elem.parentNode);\n return getWindowScrollingElement();\n}\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n return dst;\n}\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\nvar _throttleTimeout;\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\nfunction getChildContainingRectFromElement(container, options, ghostEl) {\n var rect = {};\n Array.from(container.children).forEach(function (child) {\n var _rect$left, _rect$top, _rect$right, _rect$bottom;\n if (!closest(child, options.draggable, container, false) || child.animated || child === ghostEl) return;\n var childRect = getRect(child);\n rect.left = Math.min((_rect$left = rect.left) !== null && _rect$left !== void 0 ? _rect$left : Infinity, childRect.left);\n rect.top = Math.min((_rect$top = rect.top) !== null && _rect$top !== void 0 ? _rect$top : Infinity, childRect.top);\n rect.right = Math.max((_rect$right = rect.right) !== null && _rect$right !== void 0 ? _rect$right : -Infinity, childRect.right);\n rect.bottom = Math.max((_rect$bottom = rect.bottom) !== null && _rect$bottom !== void 0 ? _rect$bottom : -Infinity, childRect.bottom);\n });\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect);\n\n // If animating: compensate for current animation\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n target.toRect = toRect;\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) &&\n // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n }\n\n // if fromRect != toRect: animate\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n if (!time) {\n time = _this.options.animation;\n }\n _this.animate(target, animatingRect, toRect, time);\n }\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n this.forRepaintDummy = repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\nfunction repaint(target) {\n return target.offsetWidth;\n}\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n plugins.forEach(function (p) {\n if (p.pluginName === plugin.pluginName) {\n throw \"Sortable: Cannot mount plugin \".concat(plugin.pluginName, \" more than once\");\n }\n });\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n this.eventCanceled = false;\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return;\n // Fire global events if it exists in this sortable\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({\n sortable: sortable\n }, evt));\n }\n\n // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread2({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized;\n\n // Add default options from plugin\n _extends(defaults, initialized.defaults);\n });\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return;\n\n // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);\n // Support for new CustomEvent feature\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar _excluded = [\"evt\"];\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, _excluded);\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread2({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\n ghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n\n _silent = false,\n savedInputChecked = [];\n\n/** @const */\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\n supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return;\n // false when <= IE11\n if (IE11OrLess) {\n return false;\n }\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n }(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n },\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n },\n /**\r\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\r\n * @param {Number} x X position\r\n * @param {Number} y Y position\r\n * @return {HTMLElement} Element of the first found nearest Sortable\r\n */\n _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n var threshold = sortable[expando].options.emptyInsertThreshold;\n if (!threshold || lastChild(sortable)) return;\n var rect = getRect(sortable),\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n if (insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n },\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n var group = {};\n var originalGroup = options.group;\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n },\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n },\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n };\n\n// #1184 fix - Prevent click event on fallback if dragged but item not changed position\nif (documentExists && !ChromeForAndroid) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n if (nearest) {\n // Create imitation event\n var event = {};\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n nearest[expando]._onDragOver(event);\n }\n }\n};\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n\n/**\r\n * @class Sortable\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n this.el = el; // root element\n this.options = options = _extends({}, options);\n\n // Export instance\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n // Disabled on Safari: #1571; Enabled on Safari IOS: #2244\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && (!Safari || IOS),\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults);\n\n // Set default options\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n _prepareGroup(options);\n\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n // Setup drag mode\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n }\n\n // Bind events\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n sortables.push(this.el);\n\n // Restore sorting\n options.store && options.store.get && this.sort(options.store.get(this) || []);\n\n // Add animation state manager\n _extends(this, AnimationStateManager());\n}\nSortable.prototype = /** @lends Sortable.prototype */{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart( /** Event|TouchEvent */evt) {\n if (!evt.cancelable) return;\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n _saveInputCheckedState(el);\n\n // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n if (dragEl) {\n return;\n }\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n }\n\n // cancel dnd if original target is content editable\n if (originalTarget.isContentEditable) {\n return;\n }\n\n // Safari ignores further event handling after mousedown\n if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {\n return;\n }\n target = closest(target, options.draggable, el, false);\n if (target && target.animated) {\n return;\n }\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n }\n\n // Get the index of the dragged element within its parent\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable);\n\n // Check filter\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n if (filter) {\n preventOnFilter && evt.preventDefault();\n return; // cancel dnd\n }\n }\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n }\n\n // Prepare `dragstart`\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart( /** Event */evt, /** Touch */touch, /** HTMLElement */target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n if (Sortable.eventCanceled) {\n _this._onDrop();\n return;\n }\n // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n _this._disableDelayedDragEvents();\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n }\n\n // Bind the events: dragstart/dragend\n _this._triggerDragStart(evt, touch);\n\n // Drag start event\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n });\n\n // Chosen item\n toggleClass(dragEl, options.chosenClass, true);\n };\n\n // Disable \"draggable\"\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n if (options.supportPointer) {\n on(ownerDocument, 'pointerup', _this._onDrop);\n // Native D&D triggers pointercancel\n !this.nativeDraggable && on(ownerDocument, 'pointercancel', _this._onDrop);\n } else {\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop);\n }\n\n // Make dragEl draggable (must be before delay for FireFox)\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n pluginEvent('delayStart', this, {\n evt: evt\n });\n\n // Delay is impossible for native DnD in Edge or IE\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n return;\n }\n // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n if (options.supportPointer) {\n on(ownerDocument, 'pointerup', _this._disableDelayedDrag);\n on(ownerDocument, 'pointercancel', _this._disableDelayedDrag);\n } else {\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n }\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler( /** TouchEvent|PointerEvent **/e) {\n var touch = e.touches ? e.touches[0] : e;\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'pointerup', this._disableDelayedDrag);\n off(ownerDocument, 'pointercancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart( /** Event */evt, /** Touch */touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n try {\n if (document.selection) {\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n awaitingDragStarted = false;\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n var options = this.options;\n\n // Apply effect\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost();\n\n // Drag start event\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n _hideGhostForTarget();\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n target = parent; // store last element\n }\n /* jshint boss:true */ while (parent = getParentOrHost(parent));\n }\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove( /**TouchEvent*/evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1);\n\n // only set the status to dragging, when we are actually dragging\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n this._onDragStart(evt, true);\n }\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options;\n\n // Position absolutely\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl);\n\n // Set transform-origin\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart( /**Event*/evt, /**boolean*/fallback) {\n var _this = this;\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n if (Sortable.eventCanceled) {\n this._onDrop();\n return;\n }\n pluginEvent('setupClone', this);\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.removeAttribute(\"id\");\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n this._hideClone();\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n }\n\n // #1143: IFrame support workaround\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n _this._hideClone();\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true);\n\n // Set proper drop events\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n on(document, 'drop', _this);\n\n // #1276 fix:\n css(dragEl, 'transform', 'translateZ(0)');\n }\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n window.getSelection().removeAllRanges();\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver( /**Event*/evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n if (_silent) return;\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread2({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n }\n\n // Capture animation state\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n _this.captureAnimationState();\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n }\n\n // Return invocation when dragEl is inserted (or completed)\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n }\n\n // Animation\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n }\n\n // Null lastTarget if it is not inside a previously swapped element\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n }\n\n // no bubbling and not fallback\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n\n // Do not detect for empty insert if already inserted\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n }\n\n // Call when dragEl has been inserted\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n ignoreNextClick = false;\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n if (revert) {\n parentEl = rootEl; // actualization\n capture();\n this._hideClone();\n dragOverEvent('revert');\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n return completed(true);\n }\n var elLastChild = lastChild(el, options.draggable);\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // Insert to end of list\n\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n }\n\n // if there is a last element, it is the target\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n if (target) {\n targetRect = getRect(target);\n }\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n if (elLastChild && elLastChild.nextSibling) {\n // the last draggable element is not the last node\n el.insertBefore(dragEl, elLastChild.nextSibling);\n } else {\n el.appendChild(dragEl);\n }\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {\n // Insert to start of list\n var firstChild = getChild(el, 0, options, true);\n if (firstChild === dragEl) {\n return completed(false);\n }\n target = firstChild;\n targetRect = getRect(target);\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {\n capture();\n el.insertBefore(dragEl, firstChild);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n }\n // If dragEl is already beside target: Do not insert\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n }\n\n // Undo chrome's scroll adjustment (has no effect on other browsers)\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n parentEl = dragEl.parentNode; // actualization\n\n // must be done before animation\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n changed();\n return completed(true);\n }\n }\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'pointercancel', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop( /**Event*/evt) {\n var el = this.el,\n options = this.options;\n\n // Get the index of the dragged element within its parent\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode;\n\n // Get again after plugin event\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n if (Sortable.eventCanceled) {\n this._nulling();\n return;\n }\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n _cancelNextTick(this.cloneId);\n _cancelNextTick(this._dragStartId);\n\n // Unbind events\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n this._offMoveEvents();\n this._offUpEvents();\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n css(dragEl, 'transform', '');\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n _disableDraggable(dragEl);\n dragEl.style['will-change'] = '';\n\n // Remove classes\n // ghostClass is added in dragStarted\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n toggleClass(dragEl, this.options.chosenClass, false);\n\n // Drag stop event\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n // Remove event\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n });\n\n // drag from one list and drop into another\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n });\n\n // Save sorting\n this.save();\n }\n }\n }\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent( /**Event*/evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n break;\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n _globalDragOver(evt);\n }\n break;\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n /**\r\n * Serializes the item into an array of string.\r\n * @returns {String[]}\r\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n for (; i < n; i++) {\n el = children[i];\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n return order;\n },\n /**\r\n * Sorts the elements according to the array.\r\n * @param {String[]} order order of the items\r\n */\n sort: function sort(order, useAnimation) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n useAnimation && this.captureAnimationState();\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n useAnimation && this.animateAll();\n },\n /**\r\n * Save the current sorting\r\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n /**\r\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\r\n * @param {HTMLElement} el\r\n * @param {String} [selector] default: `options.draggable`\r\n * @returns {HTMLElement|null}\r\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n /**\r\n * Set/get option\r\n * @param {string} name\r\n * @param {*} [value]\r\n * @returns {*}\r\n */\n option: function option(name, value) {\n var options = this.options;\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n /**\r\n * Destroy\r\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n }\n // Remove draggable attributes\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n this._onDrop();\n this._disableDelayedDragEvents();\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n return;\n }\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return;\n\n // show clone at dragEl or original position\n if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\nfunction _globalDragOver( /**Event*/evt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n evt.cancelable && evt.preventDefault();\n}\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal;\n // Support for new CustomEvent feature\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n return retVal;\n}\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\nfunction _unsilent() {\n _silent = false;\n}\nfunction _ghostIsFirst(evt, vertical, sortable) {\n var firstElRect = getRect(getChild(sortable.el, 0, sortable.options, true));\n var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);\n var spacer = 10;\n return vertical ? evt.clientX < childContainingRect.left - spacer || evt.clientY < firstElRect.top && evt.clientX < firstElRect.right : evt.clientY < childContainingRect.top - spacer || evt.clientY < firstElRect.bottom && evt.clientX < firstElRect.left;\n}\nfunction _ghostIsLast(evt, vertical, sortable) {\n var lastElRect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);\n var spacer = 10;\n return vertical ? evt.clientX > childContainingRect.right + spacer || evt.clientY > lastElRect.bottom && evt.clientX > lastElRect.left : evt.clientY > childContainingRect.bottom + spacer || evt.clientX > lastElRect.right && evt.clientY > lastElRect.top;\n}\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n invert = invert || invertSwap;\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n return 0;\n}\n\n/**\r\n * Gets the direction dragEl must be swapped relative to target in order to make it\r\n * seem that dragEl has been \"inserted\" into that element's position\r\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\r\n * @return {Number} Direction dragEl must be swapped\r\n */\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n\n/**\r\n * Generate id\r\n * @param {HTMLElement} el\r\n * @returns {String}\r\n * @private\r\n */\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n while (i--) {\n sum += str.charCodeAt(i);\n }\n return sum.toString(36);\n}\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n}\n\n// Fixed #973:\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n}\n\n// Export utils\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild,\n expando: expando\n};\n\n/**\r\n * Get the Sortable instance of an element\r\n * @param {HTMLElement} element The element\r\n * @return {Sortable|undefined} The instance of Sortable\r\n */\nSortable.get = function (element) {\n return element[expando];\n};\n\n/**\r\n * Mount a plugin to Sortable\r\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\r\n */\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n if (plugin.utils) Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n\n/**\r\n * Create sortable instance\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n};\n\n// Export\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n forceAutoScrollFallback: false,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n };\n\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt;\n\n // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback);\n\n // Listener for pointer element change\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval();\n // Detect for pointer elem change, emulating native DnD behaviour\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn;\n\n // New scroll root, set scrollEl\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n var layersOut = 0;\n var currentParent = scrollEl;\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n }\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\nfunction Revert() {}\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n this.sortable.animateAll();\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\nfunction Remove() {}\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\n multiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\n folding = false,\n // Folding any other time\n dragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n if (!sortable.options.avoidImplicitDeselect) {\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n }\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n avoidImplicitDeselect: false,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n dataTransfer.setData('Text', data);\n }\n };\n }\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n sortable._hideClone();\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n });\n\n // Sort multi-drag elements\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n\n sortable.captureAnimationState();\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n }\n\n // Remove all auxiliary multidrag items from el, if sorting enabled\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n initialFolding = false;\n // If leaving sort:false root, or already folding - Fold to new location\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute);\n\n // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n }\n\n // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n activeSortable._showClone(sortable);\n\n // Unfold animation for clones if showing from hidden\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children;\n\n // Multi-drag selection\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvent: evt\n });\n\n // Modifier activated, select from last to dragEl\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n (function () {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n var filter = options.filter;\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n // Check if element is draggable\n if (!closest(children[i], options.draggable, parentEl, false)) continue;\n // Check if element is filtered\n var filtered = filter && (typeof filter === 'function' ? filter.call(sortable, evt, children[i], sortable) : filter.split(',').some(function (criteria) {\n return closest(children[i], criteria.trim(), parentEl, false);\n }));\n if (filtered) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvent: evt\n });\n }\n })();\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvent: evt\n });\n }\n }\n\n // Multi-drag drop\n if (dragStarted && this.isMultiDrag) {\n folding = false;\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect;\n\n // Prepare unfold animation\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n }\n\n // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n multiDragIndex++;\n });\n\n // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n if (update) {\n dispatchSortableEvent('update');\n dispatchSortableEvent('sort');\n }\n }\n }\n\n // Must be done after capturing individual rects (scroll bar)\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n multiDragSortable = toSortable;\n }\n\n // Remove clones if necessary\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return;\n\n // Only deselect if selection is in this sortable\n if (multiDragSortable !== this.sortable) return;\n\n // Only deselect if target is not item in this sortable\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return;\n\n // Only deselect if left click\n if (evt && evt.button !== 0) return;\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvent: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n multiDragSortable = sortable;\n }\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n });\n\n // multiDragElements will already be sorted if folding\n var newIndex;\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n return key;\n }\n }\n });\n}\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","@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"],"names":["format"],"mappings":"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","x_google_ignoreList":[11]}