@verdocs/web-sdk 1.10.0 → 1.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/dist/cjs/{Envelopes-d30cba62.js → Envelopes-4cc18551.js} +1 -1
  2. package/dist/cjs/Roles-927719de.js +28 -0
  3. package/dist/cjs/Templates-612a81f2.js +49 -0
  4. package/dist/cjs/{Templates-8ef16e3d.js → Templates-ed812768.js} +15 -0
  5. package/dist/cjs/{VerdocsEndpoint-38feb32a.js → VerdocsEndpoint-25056c73.js} +42 -0
  6. package/dist/{esm/verdocs-template-create_4.entry.js → cjs/interact.min-3e3c03a5.js} +2 -613
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{templateStore-eed1f161.js → templateStore-48acfb52.js} +2 -1
  9. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -2
  10. package/dist/cjs/verdocs-build.cjs.entry.js +7 -7
  11. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -2
  13. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +3 -4
  14. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-help-icon_2.cjs.entry.js +13 -30
  16. package/dist/cjs/verdocs-preview.cjs.entry.js +4 -5
  17. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +2 -3
  18. package/dist/cjs/verdocs-search.cjs.entry.js +1 -2
  19. package/dist/cjs/verdocs-send.cjs.entry.js +2 -3
  20. package/dist/cjs/verdocs-sign.cjs.entry.js +3 -4
  21. package/dist/cjs/verdocs-template-attachments.cjs.entry.js +53 -0
  22. package/dist/cjs/verdocs-template-create_2.cjs.entry.js +344 -0
  23. package/dist/cjs/verdocs-template-name.cjs.entry.js +74 -0
  24. package/dist/cjs/verdocs-template-properties.cjs.entry.js +76 -0
  25. package/dist/cjs/verdocs-template-recipients.cjs.entry.js +252 -0
  26. package/dist/cjs/verdocs-template-reminders.cjs.entry.js +108 -0
  27. package/dist/cjs/verdocs-template-role-properties_2.cjs.entry.js +228 -0
  28. package/dist/cjs/verdocs-template-visibility.cjs.entry.js +81 -0
  29. package/dist/cjs/verdocs-view.cjs.entry.js +3 -4
  30. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  31. package/dist/collection/collection-manifest.json +22 -17
  32. package/dist/collection/components/controls/verdocs-help-icon/verdocs-help-icon.css +5 -0
  33. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.css +1 -1
  34. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.css +4 -0
  35. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +20 -1
  36. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.js +1 -1
  37. package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.stories.js +1 -1
  38. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +3 -2
  39. package/dist/collection/components/{elements → fields}/verdocs-field-attachment/verdocs-field-attachment.css +0 -0
  40. package/dist/collection/components/{elements → fields}/verdocs-field-attachment/verdocs-field-attachment.js +0 -0
  41. package/dist/collection/components/{elements → fields}/verdocs-field-attachment/verdocs-field-attachment.stories.js +0 -0
  42. package/dist/collection/components/{elements → fields}/verdocs-field-checkbox/verdocs-field-checkbox.css +0 -0
  43. package/dist/collection/components/{elements → fields}/verdocs-field-checkbox/verdocs-field-checkbox.js +0 -0
  44. package/dist/collection/components/{elements → fields}/verdocs-field-checkbox/verdocs-field-checkbox.stories.js +0 -0
  45. package/dist/collection/components/{elements → fields}/verdocs-field-date/verdocs-field-date.css +0 -0
  46. package/dist/collection/components/{elements → fields}/verdocs-field-date/verdocs-field-date.js +0 -0
  47. package/dist/collection/components/{elements → fields}/verdocs-field-date/verdocs-field-date.stories.js +0 -0
  48. package/dist/collection/components/{elements → fields}/verdocs-field-dropdown/verdocs-field-dropdown.css +0 -0
  49. package/dist/collection/components/{elements → fields}/verdocs-field-dropdown/verdocs-field-dropdown.js +0 -0
  50. package/dist/collection/components/{elements → fields}/verdocs-field-dropdown/verdocs-field-dropdown.stories.js +0 -0
  51. package/dist/collection/components/{elements → fields}/verdocs-field-initial/verdocs-field-initial.css +0 -0
  52. package/dist/collection/components/{elements → fields}/verdocs-field-initial/verdocs-field-initial.js +0 -0
  53. package/dist/collection/components/{elements → fields}/verdocs-field-initial/verdocs-field-initial.stories.js +0 -0
  54. package/dist/collection/components/{elements → fields}/verdocs-field-payment/verdocs-field-payment.css +0 -0
  55. package/dist/collection/components/{elements → fields}/verdocs-field-payment/verdocs-field-payment.js +0 -0
  56. package/dist/collection/components/{elements → fields}/verdocs-field-payment/verdocs-field-payment.stories.js +0 -0
  57. package/dist/collection/components/{elements → fields}/verdocs-field-radio-button-group/verdocs-field-radio-button.css +0 -0
  58. package/dist/collection/components/{elements → fields}/verdocs-field-radio-button-group/verdocs-field-radio-button.js +0 -0
  59. package/dist/collection/components/{elements → fields}/verdocs-field-radio-button-group/verdocs-field-radio-button.stories.js +0 -0
  60. package/dist/collection/components/{elements → fields}/verdocs-field-signature/verdocs-field-signature.css +0 -0
  61. package/dist/collection/components/{elements → fields}/verdocs-field-signature/verdocs-field-signature.js +0 -0
  62. package/dist/collection/components/{elements → fields}/verdocs-field-signature/verdocs-field-signature.stories.js +0 -0
  63. package/dist/collection/components/{elements → fields}/verdocs-field-textarea/verdocs-field-textarea.css +0 -0
  64. package/dist/collection/components/{elements → fields}/verdocs-field-textarea/verdocs-field-textarea.js +0 -0
  65. package/dist/collection/components/{elements → fields}/verdocs-field-textarea/verdocs-field-textarea.stories.js +0 -0
  66. package/dist/collection/components/{elements → fields}/verdocs-field-textbox/verdocs-field-textbox.css +0 -0
  67. package/dist/collection/components/{elements → fields}/verdocs-field-textbox/verdocs-field-textbox.js +0 -0
  68. package/dist/collection/components/{elements → fields}/verdocs-field-textbox/verdocs-field-textbox.stories.js +0 -0
  69. package/dist/collection/components/{elements → fields}/verdocs-field-timestamp/verdocs-field-timestamp.css +0 -0
  70. package/dist/collection/components/{elements → fields}/verdocs-field-timestamp/verdocs-field-timestamp.js +0 -0
  71. package/dist/collection/components/{elements → fields}/verdocs-field-timestamp/verdocs-field-timestamp.stories.js +0 -0
  72. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.css +23 -0
  73. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +137 -0
  74. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.stories.js +19 -0
  75. package/dist/collection/components/{elements → templates}/verdocs-template-create/verdocs-template-create.css +0 -0
  76. package/dist/collection/components/{elements → templates}/verdocs-template-create/verdocs-template-create.js +0 -0
  77. package/dist/collection/components/{elements → templates}/verdocs-template-create/verdocs-template-create.stories.js +2 -2
  78. package/dist/collection/components/{elements → templates}/verdocs-template-fields/verdocs-template-fields.css +0 -0
  79. package/dist/collection/components/{elements → templates}/verdocs-template-fields/verdocs-template-fields.js +0 -0
  80. package/dist/collection/components/{elements → templates}/verdocs-template-fields/verdocs-template-fields.stories.js +2 -3
  81. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.css +40 -0
  82. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.js +160 -0
  83. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.stories.js +19 -0
  84. package/dist/collection/components/{elements → templates}/verdocs-template-properties/verdocs-template-properties.css +0 -0
  85. package/dist/collection/components/{elements → templates}/verdocs-template-properties/verdocs-template-properties.js +0 -0
  86. package/dist/collection/components/{elements → templates}/verdocs-template-properties/verdocs-template-properties.stories.js +2 -2
  87. package/dist/collection/components/templates/verdocs-template-recipients/verdocs-template-recipients.css +192 -0
  88. package/dist/collection/components/templates/verdocs-template-recipients/verdocs-template-recipients.js +337 -0
  89. package/dist/collection/components/templates/verdocs-template-recipients/verdocs-template-recipients.stories.js +13 -0
  90. package/dist/collection/components/templates/verdocs-template-reminders/verdocs-template-reminders.css +69 -0
  91. package/dist/collection/components/templates/verdocs-template-reminders/verdocs-template-reminders.js +181 -0
  92. package/dist/collection/components/templates/verdocs-template-reminders/verdocs-template-reminders.stories.js +19 -0
  93. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.css +105 -0
  94. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +303 -0
  95. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.stories.js +13 -0
  96. package/dist/collection/components/{dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.css → templates/verdocs-template-sender/verdocs-template-sender.css} +11 -11
  97. package/dist/collection/components/templates/verdocs-template-sender/verdocs-template-sender.js +193 -0
  98. package/dist/collection/components/templates/verdocs-template-sender/verdocs-template-sender.stories.js +13 -0
  99. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.css +75 -0
  100. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.js +168 -0
  101. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.stories.js +18 -0
  102. package/dist/collection/utils/Templates.js +23 -3
  103. package/dist/collection/utils/templateStore.js +2 -1
  104. package/dist/components/Templates.js +23 -3
  105. package/dist/components/Templates2.js +15 -1
  106. package/dist/components/VerdocsEndpoint.js +43 -1
  107. package/dist/components/index.d.ts +21 -16
  108. package/dist/components/index.js +6 -1
  109. package/dist/components/templateStore.js +2 -1
  110. package/dist/components/verdocs-auth.js +8 -3
  111. package/dist/components/verdocs-build.js +17 -59
  112. package/dist/components/verdocs-contact-picker2.js +0 -1
  113. package/dist/components/verdocs-envelope-sidebar.js +0 -1
  114. package/dist/components/verdocs-field-date.js +8 -2
  115. package/dist/components/verdocs-field-initial.js +10 -4
  116. package/dist/components/verdocs-field-signature.js +10 -4
  117. package/dist/components/verdocs-field-textarea.js +8 -2
  118. package/dist/components/verdocs-field-textbox.js +8 -2
  119. package/dist/components/verdocs-field-timestamp.js +8 -2
  120. package/dist/components/verdocs-help-icon2.js +1 -1
  121. package/dist/components/verdocs-initial-dialog2.js +8 -2
  122. package/dist/components/verdocs-preview.js +0 -1
  123. package/dist/components/verdocs-quick-functions2.js +0 -1
  124. package/dist/components/verdocs-search-activity2.js +0 -1
  125. package/dist/components/verdocs-search-box2.js +0 -1
  126. package/dist/components/verdocs-search.js +0 -1
  127. package/dist/components/verdocs-select-input2.js +1 -1
  128. package/dist/components/verdocs-send.js +1 -2
  129. package/dist/components/verdocs-sign.js +1 -2
  130. package/dist/components/verdocs-signature-dialog2.js +8 -2
  131. package/dist/components/verdocs-template-attachments.d.ts +11 -0
  132. package/dist/components/verdocs-template-attachments.js +73 -0
  133. package/dist/components/verdocs-template-create2.js +0 -1
  134. package/dist/components/verdocs-template-fields2.js +0 -2
  135. package/dist/components/verdocs-template-name.d.ts +11 -0
  136. package/dist/components/verdocs-template-name.js +115 -0
  137. package/dist/components/verdocs-template-properties.js +127 -1
  138. package/dist/components/verdocs-template-recipients.js +309 -1
  139. package/dist/components/verdocs-template-reminders.d.ts +11 -0
  140. package/dist/components/verdocs-template-reminders.js +163 -0
  141. package/dist/components/verdocs-template-role-properties.d.ts +11 -0
  142. package/dist/components/verdocs-template-role-properties.js +6 -0
  143. package/dist/components/verdocs-template-role-properties2.js +229 -0
  144. package/dist/components/verdocs-template-sender.d.ts +11 -0
  145. package/dist/components/verdocs-template-sender.js +6 -0
  146. package/dist/components/verdocs-template-sender2.js +116 -0
  147. package/dist/components/verdocs-template-visibility.d.ts +11 -0
  148. package/dist/components/verdocs-template-visibility.js +117 -0
  149. package/dist/components/verdocs-text-input2.js +11 -3
  150. package/dist/components/verdocs-view2.js +0 -1
  151. package/dist/custom-elements.json +1328 -0
  152. package/dist/docs.json +750 -147
  153. package/dist/esm/{Envelopes-6982dfc6.js → Envelopes-91d7e139.js} +1 -1
  154. package/dist/esm/Roles-2488d047.js +24 -0
  155. package/dist/esm/Templates-03c50708.js +47 -0
  156. package/dist/esm/{Templates-0638b1e4.js → Templates-8e4ab976.js} +15 -1
  157. package/dist/esm/{VerdocsEndpoint-6df32d3a.js → VerdocsEndpoint-7f17b088.js} +43 -1
  158. package/dist/{cjs/verdocs-template-create_4.cjs.entry.js → esm/interact.min-32c1c1e4.js} +1 -621
  159. package/dist/esm/loader.js +1 -1
  160. package/dist/esm/{templateStore-7b50460b.js → templateStore-62eb71e2.js} +2 -1
  161. package/dist/esm/verdocs-auth.entry.js +1 -2
  162. package/dist/esm/verdocs-build.entry.js +7 -7
  163. package/dist/esm/verdocs-button-panel_2.entry.js +1 -1
  164. package/dist/esm/verdocs-contact-picker.entry.js +1 -2
  165. package/dist/esm/verdocs-envelope-sidebar.entry.js +3 -4
  166. package/dist/esm/verdocs-field-textbox.entry.js +1 -1
  167. package/dist/esm/verdocs-help-icon_2.entry.js +14 -31
  168. package/dist/esm/verdocs-preview.entry.js +4 -5
  169. package/dist/esm/verdocs-quick-functions_3.entry.js +2 -3
  170. package/dist/esm/verdocs-search.entry.js +1 -2
  171. package/dist/esm/verdocs-send.entry.js +2 -3
  172. package/dist/esm/verdocs-sign.entry.js +3 -4
  173. package/dist/esm/verdocs-template-attachments.entry.js +49 -0
  174. package/dist/esm/verdocs-template-create_2.entry.js +339 -0
  175. package/dist/esm/verdocs-template-name.entry.js +70 -0
  176. package/dist/{components/verdocs-template-properties2.js → esm/verdocs-template-properties.entry.js} +14 -66
  177. package/dist/esm/verdocs-template-recipients.entry.js +248 -0
  178. package/dist/esm/verdocs-template-reminders.entry.js +104 -0
  179. package/dist/esm/verdocs-template-role-properties_2.entry.js +223 -0
  180. package/dist/esm/verdocs-template-visibility.entry.js +77 -0
  181. package/dist/esm/verdocs-view.entry.js +3 -4
  182. package/dist/esm/verdocs-web-sdk.js +1 -1
  183. package/dist/esm-es5/{Envelopes-6982dfc6.js → Envelopes-91d7e139.js} +1 -1
  184. package/dist/esm-es5/Roles-2488d047.js +1 -0
  185. package/dist/esm-es5/Templates-03c50708.js +1 -0
  186. package/dist/esm-es5/{Templates-0638b1e4.js → Templates-8e4ab976.js} +1 -1
  187. package/dist/esm-es5/VerdocsEndpoint-7f17b088.js +1 -0
  188. package/dist/esm-es5/interact.min-32c1c1e4.js +1 -0
  189. package/dist/esm-es5/loader.js +1 -1
  190. package/dist/esm-es5/templateStore-62eb71e2.js +1 -0
  191. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  192. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  193. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  194. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  195. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  196. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  197. package/dist/esm-es5/verdocs-help-icon_2.entry.js +1 -1
  198. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  199. package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
  200. package/dist/esm-es5/verdocs-search.entry.js +1 -1
  201. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  202. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  203. package/dist/esm-es5/verdocs-template-attachments.entry.js +1 -0
  204. package/dist/esm-es5/verdocs-template-create_2.entry.js +1 -0
  205. package/dist/esm-es5/verdocs-template-name.entry.js +1 -0
  206. package/dist/esm-es5/verdocs-template-properties.entry.js +1 -0
  207. package/dist/esm-es5/verdocs-template-recipients.entry.js +1 -0
  208. package/dist/esm-es5/verdocs-template-reminders.entry.js +1 -0
  209. package/dist/esm-es5/verdocs-template-role-properties_2.entry.js +1 -0
  210. package/dist/esm-es5/verdocs-template-visibility.entry.js +1 -0
  211. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  212. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  213. package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.d.ts +4 -0
  214. package/dist/types/components/{elements → fields}/verdocs-field-attachment/verdocs-field-attachment.d.ts +0 -0
  215. package/dist/types/components/{elements → fields}/verdocs-field-attachment/verdocs-field-attachment.stories.d.ts +0 -0
  216. package/dist/types/components/{elements → fields}/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +0 -0
  217. package/dist/types/components/{elements → fields}/verdocs-field-checkbox/verdocs-field-checkbox.stories.d.ts +0 -0
  218. package/dist/types/components/{elements → fields}/verdocs-field-date/verdocs-field-date.d.ts +0 -0
  219. package/dist/types/components/{elements → fields}/verdocs-field-date/verdocs-field-date.stories.d.ts +0 -0
  220. package/dist/types/components/{elements → fields}/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +0 -0
  221. package/dist/types/components/{elements → fields}/verdocs-field-dropdown/verdocs-field-dropdown.stories.d.ts +0 -0
  222. package/dist/types/components/{elements → fields}/verdocs-field-initial/verdocs-field-initial.d.ts +0 -0
  223. package/dist/types/components/{elements → fields}/verdocs-field-initial/verdocs-field-initial.stories.d.ts +0 -0
  224. package/dist/types/components/{elements → fields}/verdocs-field-payment/verdocs-field-payment.d.ts +0 -0
  225. package/dist/types/components/{elements → fields}/verdocs-field-payment/verdocs-field-payment.stories.d.ts +0 -0
  226. package/dist/types/components/{elements → fields}/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +0 -0
  227. package/dist/types/components/{elements → fields}/verdocs-field-radio-button-group/verdocs-field-radio-button.stories.d.ts +0 -0
  228. package/dist/types/components/{elements → fields}/verdocs-field-signature/verdocs-field-signature.d.ts +0 -0
  229. package/dist/types/components/{elements → fields}/verdocs-field-signature/verdocs-field-signature.stories.d.ts +0 -0
  230. package/dist/types/components/{elements → fields}/verdocs-field-textarea/verdocs-field-textarea.d.ts +0 -0
  231. package/dist/types/components/{elements → fields}/verdocs-field-textarea/verdocs-field-textarea.stories.d.ts +0 -0
  232. package/dist/types/components/{elements → fields}/verdocs-field-textbox/verdocs-field-textbox.d.ts +0 -0
  233. package/dist/types/components/{elements → fields}/verdocs-field-textbox/verdocs-field-textbox.stories.d.ts +0 -0
  234. package/dist/types/components/{elements → fields}/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +0 -0
  235. package/dist/types/components/{elements → fields}/verdocs-field-timestamp/verdocs-field-timestamp.stories.d.ts +0 -0
  236. package/dist/types/components/templates/verdocs-template-attachments/verdocs-template-attachments.d.ts +29 -0
  237. package/dist/types/components/templates/verdocs-template-attachments/verdocs-template-attachments.stories.d.ts +7 -0
  238. package/dist/types/components/{elements → templates}/verdocs-template-create/verdocs-template-create.d.ts +0 -0
  239. package/dist/types/components/{elements → templates}/verdocs-template-create/verdocs-template-create.stories.d.ts +1 -1
  240. package/dist/types/components/{elements → templates}/verdocs-template-fields/verdocs-template-fields.d.ts +0 -0
  241. package/dist/types/components/{elements → templates}/verdocs-template-fields/verdocs-template-fields.stories.d.ts +1 -1
  242. package/dist/types/components/templates/verdocs-template-name/verdocs-template-name.d.ts +32 -0
  243. package/dist/types/components/templates/verdocs-template-name/verdocs-template-name.stories.d.ts +7 -0
  244. package/dist/types/components/{elements → templates}/verdocs-template-properties/verdocs-template-properties.d.ts +0 -0
  245. package/dist/types/components/{elements → templates}/verdocs-template-properties/verdocs-template-properties.stories.d.ts +1 -1
  246. package/dist/types/components/templates/verdocs-template-recipients/verdocs-template-recipients.d.ts +40 -0
  247. package/dist/types/components/templates/verdocs-template-recipients/verdocs-template-recipients.stories.d.ts +7 -0
  248. package/dist/types/components/templates/verdocs-template-reminders/verdocs-template-reminders.d.ts +35 -0
  249. package/dist/types/components/templates/verdocs-template-reminders/verdocs-template-reminders.stories.d.ts +7 -0
  250. package/dist/types/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.d.ts +56 -0
  251. package/dist/types/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.stories.d.ts +7 -0
  252. package/dist/types/components/templates/verdocs-template-sender/verdocs-template-sender.d.ts +36 -0
  253. package/dist/types/components/templates/verdocs-template-sender/verdocs-template-sender.stories.d.ts +7 -0
  254. package/dist/types/components/templates/verdocs-template-visibillity/verdocs-template-visibility.d.ts +33 -0
  255. package/dist/types/components/templates/verdocs-template-visibillity/verdocs-template-visibility.stories.d.ts +7 -0
  256. package/dist/types/components.d.ts +268 -32
  257. package/dist/types/utils/Templates.d.ts +1 -1
  258. package/dist/types/utils/templateStore.d.ts +1 -0
  259. package/dist/types/utils/utils.d.ts +2 -2
  260. package/dist/verdocs-web-sdk/p-0ee57bd9.entry.js +1 -0
  261. package/dist/verdocs-web-sdk/p-12c732a7.entry.js +1 -0
  262. package/dist/verdocs-web-sdk/p-130fe919.system.entry.js +1 -0
  263. package/dist/verdocs-web-sdk/p-15aef735.entry.js +1 -0
  264. package/dist/verdocs-web-sdk/p-19849b9e.entry.js +1 -0
  265. package/dist/verdocs-web-sdk/p-205027db.entry.js +1 -0
  266. package/dist/verdocs-web-sdk/p-2144b8be.entry.js +1 -0
  267. package/dist/verdocs-web-sdk/p-261dcea1.system.js +1 -0
  268. package/dist/verdocs-web-sdk/p-26b4ae0d.system.entry.js +1 -0
  269. package/dist/verdocs-web-sdk/p-285eaf3c.system.entry.js +1 -0
  270. package/dist/verdocs-web-sdk/p-2d4712ea.js +1 -0
  271. package/dist/verdocs-web-sdk/p-34db97b7.entry.js +1 -0
  272. package/dist/verdocs-web-sdk/p-37a493a6.entry.js +1 -0
  273. package/dist/verdocs-web-sdk/p-3da4b4cb.entry.js +1 -0
  274. package/dist/verdocs-web-sdk/p-3fbe602a.system.entry.js +1 -0
  275. package/dist/verdocs-web-sdk/p-4352529d.entry.js +1 -0
  276. package/dist/verdocs-web-sdk/p-464adbad.system.entry.js +1 -0
  277. package/dist/verdocs-web-sdk/p-4a1c9aa1.system.entry.js +1 -0
  278. package/dist/verdocs-web-sdk/p-4f12a8a7.js +1 -0
  279. package/dist/verdocs-web-sdk/{p-c4deb4b7.js → p-50c9771e.js} +1 -1
  280. package/dist/verdocs-web-sdk/p-50d7e990.system.entry.js +1 -0
  281. package/dist/verdocs-web-sdk/{p-a74a9c6b.system.js → p-55fc9529.system.js} +1 -1
  282. package/dist/verdocs-web-sdk/p-5ee985be.system.entry.js +1 -0
  283. package/dist/verdocs-web-sdk/{p-45ac2230.system.entry.js → p-61b824ca.system.entry.js} +1 -1
  284. package/dist/verdocs-web-sdk/{p-9cecb5df.system.js → p-69912cbf.system.js} +1 -1
  285. package/dist/verdocs-web-sdk/p-74e1ae92.entry.js +1 -0
  286. package/dist/verdocs-web-sdk/{p-2d687108.system.js → p-7ac87084.system.js} +1 -1
  287. package/dist/verdocs-web-sdk/p-7b111f2b.system.entry.js +1 -0
  288. package/dist/verdocs-web-sdk/p-848e555d.js +1 -0
  289. package/dist/verdocs-web-sdk/p-87749601.js +1 -0
  290. package/dist/verdocs-web-sdk/p-8c53e0ff.system.entry.js +1 -0
  291. package/dist/verdocs-web-sdk/p-91539130.entry.js +1 -0
  292. package/dist/verdocs-web-sdk/p-9717a531.system.entry.js +1 -0
  293. package/dist/verdocs-web-sdk/p-98aa17a8.system.entry.js +1 -0
  294. package/dist/verdocs-web-sdk/p-9b854a18.system.entry.js +1 -0
  295. package/dist/verdocs-web-sdk/{p-938a7d4e.system.entry.js → p-9bfafc67.system.entry.js} +1 -1
  296. package/dist/verdocs-web-sdk/p-9f17b920.entry.js +1 -0
  297. package/dist/verdocs-web-sdk/p-a17a81a3.entry.js +1 -0
  298. package/dist/verdocs-web-sdk/{p-b5c21eda.entry.js → p-a662b038.entry.js} +1 -1
  299. package/dist/verdocs-web-sdk/p-a6872a88.system.entry.js +1 -0
  300. package/dist/verdocs-web-sdk/{p-c8e8732b.system.js → p-a95d40dc.system.js} +1 -1
  301. package/dist/verdocs-web-sdk/{p-c2cc4492.js → p-b28ef4bb.js} +1 -1
  302. package/dist/verdocs-web-sdk/p-b4fee0ae.system.entry.js +1 -0
  303. package/dist/verdocs-web-sdk/p-bda7353b.entry.js +1 -0
  304. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  305. package/dist/verdocs-web-sdk/p-cd70bb21.system.entry.js +1 -0
  306. package/dist/verdocs-web-sdk/p-d08fca9c.entry.js +1 -0
  307. package/dist/verdocs-web-sdk/p-d122cadd.system.js +1 -0
  308. package/dist/verdocs-web-sdk/p-d5a95369.entry.js +1 -0
  309. package/dist/verdocs-web-sdk/p-daedc6c2.system.entry.js +1 -0
  310. package/dist/verdocs-web-sdk/p-de5c37cd.system.entry.js +1 -0
  311. package/dist/verdocs-web-sdk/p-df4f1a5e.entry.js +1 -0
  312. package/dist/verdocs-web-sdk/p-e223553c.system.entry.js +1 -0
  313. package/dist/verdocs-web-sdk/{p-6b205bb5.entry.js → p-ead5322f.entry.js} +1 -1
  314. package/dist/verdocs-web-sdk/p-f3e9be57.entry.js +1 -0
  315. package/dist/verdocs-web-sdk/p-fbc81799.system.js +1 -0
  316. package/dist/verdocs-web-sdk/p-ffe60abd.js +1 -0
  317. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  318. package/package.json +5 -4
  319. package/dist/cjs/Templates-358eaee4.js +0 -29
  320. package/dist/cjs/Types-da57ce69.js +0 -43
  321. package/dist/cjs/verdocs-text-input.cjs.entry.js +0 -25
  322. package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.js +0 -114
  323. package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.stories.js +0 -46
  324. package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.css +0 -136
  325. package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.js +0 -368
  326. package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.stories.js +0 -35
  327. package/dist/components/Types.js +0 -43
  328. package/dist/components/verdocs-template-recipients2.js +0 -272
  329. package/dist/components/verdocs-template-sender-dialog.d.ts +0 -11
  330. package/dist/components/verdocs-template-sender-dialog.js +0 -6
  331. package/dist/components/verdocs-template-sender-dialog2.js +0 -75
  332. package/dist/esm/Templates-ad0e1ebe.js +0 -27
  333. package/dist/esm/Types-ab9f6af8.js +0 -43
  334. package/dist/esm/verdocs-text-input.entry.js +0 -21
  335. package/dist/esm-es5/Templates-ad0e1ebe.js +0 -1
  336. package/dist/esm-es5/Types-ab9f6af8.js +0 -1
  337. package/dist/esm-es5/VerdocsEndpoint-6df32d3a.js +0 -1
  338. package/dist/esm-es5/templateStore-7b50460b.js +0 -1
  339. package/dist/esm-es5/verdocs-template-create_4.entry.js +0 -1
  340. package/dist/esm-es5/verdocs-text-input.entry.js +0 -1
  341. package/dist/types/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.d.ts +0 -26
  342. package/dist/types/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.stories.d.ts +0 -8
  343. package/dist/types/components/elements/verdocs-template-recipients/verdocs-template-recipients.d.ts +0 -88
  344. package/dist/types/components/elements/verdocs-template-recipients/verdocs-template-recipients.stories.d.ts +0 -10
  345. package/dist/verdocs-web-sdk/p-03833051.system.entry.js +0 -1
  346. package/dist/verdocs-web-sdk/p-11ab1bd0.js +0 -1
  347. package/dist/verdocs-web-sdk/p-17fd7860.entry.js +0 -1
  348. package/dist/verdocs-web-sdk/p-18cf7ea1.system.entry.js +0 -1
  349. package/dist/verdocs-web-sdk/p-266e163c.entry.js +0 -1
  350. package/dist/verdocs-web-sdk/p-2e4dfdc6.js +0 -1
  351. package/dist/verdocs-web-sdk/p-3dbf8bec.entry.js +0 -1
  352. package/dist/verdocs-web-sdk/p-3dcd05aa.system.entry.js +0 -1
  353. package/dist/verdocs-web-sdk/p-46bb5543.system.entry.js +0 -1
  354. package/dist/verdocs-web-sdk/p-50f82ed8.entry.js +0 -1
  355. package/dist/verdocs-web-sdk/p-5b8dbf0b.system.entry.js +0 -1
  356. package/dist/verdocs-web-sdk/p-5d220e75.system.entry.js +0 -1
  357. package/dist/verdocs-web-sdk/p-621c7079.system.entry.js +0 -1
  358. package/dist/verdocs-web-sdk/p-62dbe501.entry.js +0 -1
  359. package/dist/verdocs-web-sdk/p-7a5c37cd.system.entry.js +0 -1
  360. package/dist/verdocs-web-sdk/p-7b357e1a.entry.js +0 -1
  361. package/dist/verdocs-web-sdk/p-86a8b6ad.system.entry.js +0 -1
  362. package/dist/verdocs-web-sdk/p-8a2dbb48.entry.js +0 -1
  363. package/dist/verdocs-web-sdk/p-8efc9749.js +0 -1
  364. package/dist/verdocs-web-sdk/p-8f50fd8e.system.entry.js +0 -1
  365. package/dist/verdocs-web-sdk/p-95016ea1.entry.js +0 -1
  366. package/dist/verdocs-web-sdk/p-a140f6f9.entry.js +0 -1
  367. package/dist/verdocs-web-sdk/p-a1412c61.system.entry.js +0 -1
  368. package/dist/verdocs-web-sdk/p-a4dc6a79.system.js +0 -1
  369. package/dist/verdocs-web-sdk/p-a7433630.system.js +0 -1
  370. package/dist/verdocs-web-sdk/p-ae3b30c6.entry.js +0 -1
  371. package/dist/verdocs-web-sdk/p-b505db92.system.entry.js +0 -1
  372. package/dist/verdocs-web-sdk/p-b8faf8b8.entry.js +0 -1
  373. package/dist/verdocs-web-sdk/p-c6370ca8.entry.js +0 -1
  374. package/dist/verdocs-web-sdk/p-ce442d55.entry.js +0 -1
  375. package/dist/verdocs-web-sdk/p-d9ff093e.system.entry.js +0 -1
  376. package/dist/verdocs-web-sdk/p-e53f969c.js +0 -1
@@ -0,0 +1,337 @@
1
+ import interact from 'interactjs';
2
+ import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
+ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
4
+ import { createRole, updateRole } from '@verdocs/js-sdk/Templates/Roles';
5
+ import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
6
+ import { h, Fragment, Host } from '@stencil/core';
7
+ import TemplateStore from '../../../utils/templateStore';
8
+ import { loadTemplate } from '../../../utils/Templates';
9
+ import { getRoleIndex } from '../../../utils/utils';
10
+ import { SDKError } from '../../../utils/errors';
11
+ const senderLabels = {
12
+ [TemplateSenderTypes.EVERYONE]: 'Everyone',
13
+ [TemplateSenderTypes.EVERYONE_AS_CREATOR]: 'Everyone as Me',
14
+ [TemplateSenderTypes.ORGANIZATION_MEMBER]: 'Organization member',
15
+ [TemplateSenderTypes.ORGANIZATION_MEMBER_AS_CREATOR]: 'Organization Member as Me',
16
+ [TemplateSenderTypes.CREATOR]: 'Me',
17
+ };
18
+ const settingsIcon = '<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>';
19
+ const startIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="#00000089"><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>';
20
+ const stepIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="#00000089"><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>';
21
+ const doneIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="#00000089"><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>';
22
+ const 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>`;
23
+ const iconSigner = '<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>';
24
+ const iconApprover = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><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>`;
25
+ const iconCC = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><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>`;
26
+ /**
27
+ * Displays an edit form that allows the user to adjust a template's recipients and workflow.
28
+ */
29
+ export class VerdocsTemplateRecipients {
30
+ constructor() {
31
+ this.sequences = [];
32
+ this.endpoint = VerdocsEndpoint.getDefault();
33
+ this.templateId = '';
34
+ this.showingRoleDialog = null;
35
+ this.showingSenderDialog = false;
36
+ this.sender = null;
37
+ this.forceRerender = 1;
38
+ }
39
+ async componentWillLoad() {
40
+ var _a, _b, _c, _d, _e, _f;
41
+ try {
42
+ this.endpoint.loadSession();
43
+ if (!this.templateId) {
44
+ console.log(`[RECIPIENTS] Missing required template ID ${this.templateId}`);
45
+ return;
46
+ }
47
+ if (!this.endpoint.session) {
48
+ console.log('[RECIPIENTS] Unable to start builder session, must be authenticated');
49
+ return;
50
+ }
51
+ try {
52
+ console.log(`[RECIPIENTS] Loading template ${this.templateId}`, this.endpoint.session);
53
+ await loadTemplate(this.endpoint, this.templateId);
54
+ }
55
+ catch (e) {
56
+ console.log('[RECIPIENTS] Error loading template', e);
57
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
58
+ }
59
+ this.sortTemplateRoles();
60
+ this.renumberTemplateRoles();
61
+ }
62
+ catch (e) {
63
+ console.log('[FIELDS] Error with preview session', e);
64
+ (_d = this.sdkError) === null || _d === void 0 ? void 0 : _d.emit(new SDKError(e.message, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status, (_f = e.response) === null || _f === void 0 ? void 0 : _f.data));
65
+ }
66
+ }
67
+ componentDidRender() {
68
+ interact.dynamicDrop(true);
69
+ interact('.recipient').draggable({
70
+ listeners: {
71
+ start: function handleStart(e) {
72
+ e.target.classList.add('dragging');
73
+ this.el.classList.add('dragging');
74
+ }.bind(this),
75
+ move: function handleMove(e) {
76
+ const oldX = +(e.target.getAttribute('posX') || 0);
77
+ const oldY = +(e.target.getAttribute('posY') || 0);
78
+ const newX = e.dx + oldX;
79
+ const newY = e.dy + oldY;
80
+ e.target.setAttribute('posX', newX);
81
+ e.target.setAttribute('posy', newY);
82
+ e.target.style.transform = `translate(${newX + 100}px, ${newY - 40}px)`;
83
+ }.bind(this),
84
+ end: function handleEnd(e) {
85
+ e.target.classList.remove('dragging');
86
+ this.el.classList.remove('dragging');
87
+ // console.log('end', event);
88
+ e.target.setAttribute('posX', 0);
89
+ e.target.setAttribute('posy', 0);
90
+ e.target.style.transform = `translate(0px, 0px)`;
91
+ }.bind(this),
92
+ },
93
+ });
94
+ interact('.dropzone').dropzone({
95
+ overlap: 0.05,
96
+ ondrop: function handleDrop(event) {
97
+ event.target.classList.remove('active');
98
+ // target will be the recipient e.g. <div class="recipient" data-rolename="Buyer" />
99
+ // relatedTarget will be the drop zone, e.g. <div class="dropzone" data-order="2" data-sequence="1" />
100
+ // console.log(event.relatedTarget, ' was dropped into ', event.target);
101
+ // We don't use the role's own order, we rely on the fact that we sorted earlier on the order field. Many legacy
102
+ // records don't have order fields yet - they're all 1. That doesn't hurt the sort but it would hurt us here if it
103
+ // went 1..1..1 instead of 1..2..3. By using half values here it's easier to handle the drop event later. We don't
104
+ // need to do a fancy find/arraymove dance. We just set the dropped element to the half value, sort the result,
105
+ // then do a final renumber. It's not expensive to do because most flows are typically a small handful (e.g. 1-4)
106
+ // recipients. They never have hundreds.
107
+ const roleName = event.relatedTarget.dataset.rolename;
108
+ const targetSequence = +event.target.dataset.sequence;
109
+ const targetOrder = +event.target.dataset.order;
110
+ const changingRole = TemplateStore.template.roles.find(role => role.name === roleName);
111
+ if (changingRole) {
112
+ // To handle the renumbering, we update the role being moved to the new values, which will be some half-interval e.g.
113
+ // sequence 1.5 order 1. Then we
114
+ changingRole.sequence = targetSequence;
115
+ changingRole.order = targetOrder;
116
+ this.sortTemplateRoles();
117
+ this.renumberTemplateRoles();
118
+ this.forceRerender++;
119
+ // We have to update ALL the roles to be sure each gets new proper sequence/order numbers assigned.
120
+ // TODO: We could optimize this by tracking "dirty" states and only update the roles that have changed. But it's a LOT more
121
+ // code to do right, and since most workflows will typically only have 2-4 recipients max, it may not be worth it.
122
+ Promise.all(TemplateStore.template.roles.map(role => updateRole(this.endpoint, this.templateId, role.name, {
123
+ sequence: role.sequence,
124
+ order: role.order,
125
+ })))
126
+ .then(() => console.log('[RECIPIENTS] Updated roles'))
127
+ .catch(e => console.log('[RECIPIENTS] Role updates failed', e));
128
+ }
129
+ }.bind(this),
130
+ ondropactivate: e => {
131
+ e.target.classList.add('visible');
132
+ },
133
+ ondropdeactivate: e => {
134
+ e.target.classList.remove('visible');
135
+ },
136
+ ondragenter: e => {
137
+ e.target.classList.add('active');
138
+ },
139
+ ondragleave: e => {
140
+ e.target.classList.remove('active');
141
+ },
142
+ });
143
+ }
144
+ handleCancel(e) {
145
+ var _a;
146
+ e.stopPropagation();
147
+ (_a = this.cancel) === null || _a === void 0 ? void 0 : _a.emit();
148
+ }
149
+ handleSubmit(e) {
150
+ e.stopPropagation();
151
+ }
152
+ sortTemplateRoles() {
153
+ TemplateStore.template.roles.sort((a, b) => {
154
+ return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;
155
+ });
156
+ }
157
+ extractSequenceNumbers() {
158
+ this.sequences = [];
159
+ TemplateStore.template.roles.forEach(role => {
160
+ if (!this.sequences.includes(role.sequence)) {
161
+ this.sequences.push(role.sequence);
162
+ }
163
+ });
164
+ }
165
+ renumberTemplateRoles() {
166
+ // Extract the sequence numbers because they may now be something like [2.5, 1, 2]
167
+ this.extractSequenceNumbers();
168
+ // We need to renumber each role only ONE TIME
169
+ const renumbered = [];
170
+ // If the user dragged an entry from below a row to above it, we end up here like [1,0]. Make sure it's [0,1] for the next operation.
171
+ this.sequences.sort((a, b) => a - b);
172
+ this.sequences.forEach((originalSequence, newSequenceIndex) => {
173
+ TemplateStore.template.roles
174
+ .filter(role => role.sequence === originalSequence)
175
+ .forEach((role, newOrderIndex) => {
176
+ if (!renumbered.includes(role.name)) {
177
+ role.sequence = newSequenceIndex + 1;
178
+ role.order = newOrderIndex + 1;
179
+ renumbered.push(role.name);
180
+ }
181
+ });
182
+ });
183
+ // Now re-extract them to get our final result e.g. [1, 2, 3]
184
+ this.extractSequenceNumbers();
185
+ }
186
+ handleAddRole(e, sequence) {
187
+ e.stopPropagation();
188
+ // We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
189
+ const order = TemplateStore.template.roles.filter(role => role.sequence === sequence).length + 1;
190
+ // We do need to look for name conflicts because they're UGC and can be anything, regardless of order.
191
+ let name = '';
192
+ let nextNumber = TemplateStore.template.roles.length;
193
+ do {
194
+ nextNumber++;
195
+ name = `Recipient ${nextNumber}`;
196
+ } while (!name || TemplateStore.template.roles.some(role => role.name === name));
197
+ console.log('Will create', name, sequence, order);
198
+ createRole(this.endpoint, this.templateId, {
199
+ template_id: this.templateId,
200
+ name,
201
+ full_name: '',
202
+ email: '',
203
+ phone: '',
204
+ sequence,
205
+ order,
206
+ type: 'signer',
207
+ delegator: false,
208
+ })
209
+ .then(r => {
210
+ console.log('Created role', r);
211
+ TemplateStore.template.roles.push(r);
212
+ this.renumberTemplateRoles();
213
+ this.forceRerender++;
214
+ })
215
+ .catch(e => {
216
+ console.log('Error creating role', e);
217
+ });
218
+ }
219
+ render() {
220
+ // console.log('Roles', JSON.parse(JSON.stringify(TemplateStore.template.roles)));
221
+ const roleNames = TemplateStore.template.roles.map(role => role.name);
222
+ return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off", "data-r": this.forceRerender }, h("h5", null, "Recipients"), h("div", { class: "participants" }, h("div", { class: "left-line" }), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: startIcon }), h("div", { class: "row-recipients" }, h("div", { class: "sender" }, h("span", { class: "label" }, "Sender:"), " ", senderLabels[TemplateStore.template.sender], ' ', h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingSenderDialog = true), "aria-role": "button" })))), h("div", { class: "row add-sequence", "data-sequence": 0 }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "row-recipients" }, h("div", { class: "dropzone", "data-sequence": 0, "data-order": 1 }, "Add Step"))), this.sequences.map(sequence => (h(Fragment, null, h("div", { class: "row" }, h("div", { class: "icon", innerHTML: stepIcon }), h("div", { class: "row-recipients" }, h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), TemplateStore.template.roles
223
+ .filter(role => role.sequence === sequence)
224
+ .map(role => {
225
+ return (h(Fragment, null, h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, "data-rolename": role.name }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.name, " ", h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence })));
226
+ }), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-recipients" }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "dropzone", "data-sequence": sequence + 1, "data-order": 1 }, "Add Step")))))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-recipients" }, h("div", { class: "complete" }, "Document Complete")))), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "OK", size: "small", onClick: e => this.handleSubmit(e) }))), this.showingRoleDialog && (h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
227
+ this.showingRoleDialog = null;
228
+ this.forceRerender++;
229
+ }, onDelete: e => {
230
+ console.log('deleted', e.detail);
231
+ this.renumberTemplateRoles();
232
+ this.showingRoleDialog = null;
233
+ this.forceRerender++;
234
+ } })), this.showingSenderDialog && h("verdocs-template-sender", { endpoint: this.endpoint, templateId: this.templateId, onClose: () => (this.showingSenderDialog = false) })));
235
+ }
236
+ static get is() { return "verdocs-template-recipients"; }
237
+ static get originalStyleUrls() {
238
+ return {
239
+ "$": ["verdocs-template-recipients.scss"]
240
+ };
241
+ }
242
+ static get styleUrls() {
243
+ return {
244
+ "$": ["verdocs-template-recipients.css"]
245
+ };
246
+ }
247
+ static get properties() {
248
+ return {
249
+ "endpoint": {
250
+ "type": "unknown",
251
+ "mutable": false,
252
+ "complexType": {
253
+ "original": "VerdocsEndpoint",
254
+ "resolved": "VerdocsEndpoint",
255
+ "references": {
256
+ "VerdocsEndpoint": {
257
+ "location": "import",
258
+ "path": "@verdocs/js-sdk"
259
+ }
260
+ }
261
+ },
262
+ "required": false,
263
+ "optional": false,
264
+ "docs": {
265
+ "tags": [],
266
+ "text": "The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used."
267
+ },
268
+ "defaultValue": "VerdocsEndpoint.getDefault()"
269
+ },
270
+ "templateId": {
271
+ "type": "string",
272
+ "mutable": false,
273
+ "complexType": {
274
+ "original": "string",
275
+ "resolved": "string",
276
+ "references": {}
277
+ },
278
+ "required": false,
279
+ "optional": false,
280
+ "docs": {
281
+ "tags": [],
282
+ "text": "The template ID to edit."
283
+ },
284
+ "attribute": "template-id",
285
+ "reflect": false,
286
+ "defaultValue": "''"
287
+ }
288
+ };
289
+ }
290
+ static get states() {
291
+ return {
292
+ "showingRoleDialog": {},
293
+ "showingSenderDialog": {},
294
+ "sender": {},
295
+ "forceRerender": {}
296
+ };
297
+ }
298
+ static get events() {
299
+ return [{
300
+ "method": "cancel",
301
+ "name": "cancel",
302
+ "bubbles": true,
303
+ "cancelable": true,
304
+ "composed": true,
305
+ "docs": {
306
+ "tags": [],
307
+ "text": "Event fired when the user cancels the dialog."
308
+ },
309
+ "complexType": {
310
+ "original": "any",
311
+ "resolved": "any",
312
+ "references": {}
313
+ }
314
+ }, {
315
+ "method": "sdkError",
316
+ "name": "sdkError",
317
+ "bubbles": true,
318
+ "cancelable": true,
319
+ "composed": true,
320
+ "docs": {
321
+ "tags": [],
322
+ "text": "Event fired if an error occurs. The event details will contain information about the error. Most errors will\nterminate the process, and the calling application should correct the condition and re-render the component."
323
+ },
324
+ "complexType": {
325
+ "original": "SDKError",
326
+ "resolved": "SDKError",
327
+ "references": {
328
+ "SDKError": {
329
+ "location": "import",
330
+ "path": "../../../utils/errors"
331
+ }
332
+ }
333
+ }
334
+ }];
335
+ }
336
+ static get elementRef() { return "el"; }
337
+ }
@@ -0,0 +1,13 @@
1
+ import { html } from 'lit-html';
2
+ export default {
3
+ title: 'Templates/Recipients',
4
+ component: 'verdocs-template-recipients',
5
+ args: {
6
+ templateId: '056b837f-b183-4039-b50a-d68acbf81b67',
7
+ // templateId: 'd2338742-f3a1-465b-8592-806587413cc1',
8
+ },
9
+ argTypes: {
10
+ close: { action: 'cancel' },
11
+ },
12
+ };
13
+ export const Recipients = ({ templateId, cancel }) => html `<verdocs-template-recipients .templateId=${templateId} @cancel=${cancel} />`;
@@ -0,0 +1,69 @@
1
+ verdocs-template-reminders {
2
+ font-family: "Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
3
+ }
4
+ verdocs-template-reminders.loading {
5
+ min-height: 300px;
6
+ position: relative;
7
+ display: block;
8
+ }
9
+ verdocs-template-reminders.empty {
10
+ display: none;
11
+ }
12
+ verdocs-template-reminders form {
13
+ display: flex;
14
+ flex-direction: column;
15
+ }
16
+ verdocs-template-reminders form h5 {
17
+ font-size: 16px;
18
+ font-weight: bold;
19
+ color: #4c56cb;
20
+ margin: 0 0 20px 0;
21
+ }
22
+ verdocs-template-reminders form label {
23
+ font-size: 16px;
24
+ font-weight: 500;
25
+ margin: 0 0 6px 0;
26
+ color: #33364b;
27
+ }
28
+ verdocs-template-reminders form input {
29
+ border: none;
30
+ font-size: 18px;
31
+ padding: 3px 6px 3px 0;
32
+ background: transparent;
33
+ border-bottom: 1px solid #33364b;
34
+ }
35
+ verdocs-template-reminders form input:focus {
36
+ outline: none;
37
+ }
38
+ verdocs-template-reminders form .input-row {
39
+ display: flex;
40
+ margin: 0 0 10px 0;
41
+ align-items: center;
42
+ flex-direction: row;
43
+ }
44
+ verdocs-template-reminders form .input-row label {
45
+ flex: 1;
46
+ display: flex;
47
+ }
48
+ verdocs-template-reminders form .input-row verdocs-text-input {
49
+ margin: 0;
50
+ display: flex;
51
+ flex: 0 0 60px;
52
+ }
53
+ verdocs-template-reminders form .input-row verdocs-text-input input {
54
+ text-align: center;
55
+ }
56
+ verdocs-template-reminders form .input-row verdocs-checkbox {
57
+ display: flex;
58
+ flex: 0 0 40px;
59
+ justify-content: center;
60
+ }
61
+ verdocs-template-reminders .buttons {
62
+ display: flex;
63
+ column-gap: 8px;
64
+ margin-top: 16px;
65
+ flex-direction: row;
66
+ }
67
+ verdocs-template-reminders ::placeholder {
68
+ color: #aaaaaa;
69
+ }
@@ -0,0 +1,181 @@
1
+ import { VerdocsEndpoint } from '@verdocs/js-sdk';
2
+ import { h, Host } from '@stencil/core';
3
+ import { createReminder, updateReminder, deleteReminder } from '@verdocs/js-sdk/Templates/Reminders';
4
+ import TemplateStore from '../../../utils/templateStore';
5
+ import { loadTemplate } from '../../../utils/Templates';
6
+ import { SDKError } from '../../../utils/errors';
7
+ /**
8
+ * Displays an edit form that allows the user to adjust a template's reminders.
9
+ */
10
+ export class VerdocsTemplateReminders {
11
+ constructor() {
12
+ this.endpoint = VerdocsEndpoint.getDefault();
13
+ this.templateId = '';
14
+ this.showPlanBlocker = false;
15
+ this.sendReminders = false;
16
+ this.firstReminderDays = '1';
17
+ this.reminderDays = '1';
18
+ this.dirty = false;
19
+ this.loading = true;
20
+ }
21
+ async componentWillLoad() {
22
+ var _a, _b, _c;
23
+ try {
24
+ this.endpoint.loadSession();
25
+ await loadTemplate(this.endpoint, this.templateId);
26
+ this.loading = false;
27
+ this.sendReminders = !!TemplateStore.template.reminder_id;
28
+ this.dirty = false;
29
+ }
30
+ catch (e) {
31
+ console.log('[TEMPLATE REMINDERS] Error loading template', e);
32
+ this.loading = false;
33
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
34
+ }
35
+ }
36
+ handleCancel(e) {
37
+ var _a;
38
+ e.stopPropagation();
39
+ this.sendReminders = !!TemplateStore.template.reminder_id;
40
+ this.dirty = false;
41
+ (_a = this.close) === null || _a === void 0 ? void 0 : _a.emit();
42
+ }
43
+ async handleSave(e) {
44
+ var _a;
45
+ e.stopPropagation();
46
+ if (this.sendReminders) {
47
+ const params = {
48
+ setup_time: 86400000 * +this.firstReminderDays,
49
+ interval_time: 86400000 * +this.reminderDays,
50
+ };
51
+ if (!TemplateStore.template.reminder_id) {
52
+ await createReminder(this.endpoint, this.templateId, params);
53
+ }
54
+ else {
55
+ await updateReminder(this.endpoint, this.templateId, TemplateStore.template.reminder_id, params);
56
+ }
57
+ }
58
+ else {
59
+ await deleteReminder(this.endpoint, this.templateId, TemplateStore.template.reminder_id);
60
+ }
61
+ this.dirty = false;
62
+ (_a = this.close) === null || _a === void 0 ? void 0 : _a.emit();
63
+ }
64
+ render() {
65
+ if (!this.endpoint.session) {
66
+ return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
67
+ }
68
+ // This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
69
+ if (!this.endpoint.session || !TemplateStore.template) {
70
+ return h(Host, { class: "empty" });
71
+ }
72
+ return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("h5", null, "Reminders"), h("div", { class: "input-row" }, h("label", { htmlFor: "verdocs-send-reminders" }, "Send Automatic Reminders"), h("verdocs-checkbox", { id: "verdocs-send-reminders", name: "automatic-reminders", checked: this.sendReminders, value: "on", onInput: (e) => {
73
+ this.showPlanBlocker = true;
74
+ e.target.checked = false;
75
+ // this.sendReminders = e.target.checked;
76
+ // this.dirty = true;
77
+ } })), h("div", { class: "input-row" }, h("label", { htmlFor: "verdocs-first-reminder-days" }, "Days Before First Reminder"), h("verdocs-text-input", { id: "verdocs-first-reminder-days", type: "number", value: this.firstReminderDays, onInput: (e) => (this.firstReminderDays = e.target.value), disabled: !this.sendReminders })), h("div", { class: "input-row" }, h("label", { htmlFor: "verdocs-days-between-reminders" }, "Days Between Reminders"), h("verdocs-text-input", { id: "verdocs-days-between-reminders", type: "number", value: this.reminderDays, onInput: (e) => (this.reminderDays = e.target.value), disabled: !this.sendReminders })), h("div", { class: "buttons" }, h("verdocs-button", { size: "small", variant: "outline", label: "Cancel", disabled: !this.dirty, onClick: e => this.handleCancel(e) }), h("verdocs-button", { size: "small", label: "Save", disabled: !this.dirty, onClick: e => this.handleSave(e) }))), this.showPlanBlocker && (h("verdocs-ok-dialog", { heading: "Upgrade to access this feature", message: "Please upgrade your plan to access this feature.", onNext: () => (this.showPlanBlocker = false) }))));
78
+ }
79
+ static get is() { return "verdocs-template-reminders"; }
80
+ static get originalStyleUrls() {
81
+ return {
82
+ "$": ["verdocs-template-reminders.scss"]
83
+ };
84
+ }
85
+ static get styleUrls() {
86
+ return {
87
+ "$": ["verdocs-template-reminders.css"]
88
+ };
89
+ }
90
+ static get properties() {
91
+ return {
92
+ "endpoint": {
93
+ "type": "unknown",
94
+ "mutable": false,
95
+ "complexType": {
96
+ "original": "VerdocsEndpoint",
97
+ "resolved": "VerdocsEndpoint",
98
+ "references": {
99
+ "VerdocsEndpoint": {
100
+ "location": "import",
101
+ "path": "@verdocs/js-sdk"
102
+ }
103
+ }
104
+ },
105
+ "required": false,
106
+ "optional": false,
107
+ "docs": {
108
+ "tags": [],
109
+ "text": "The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used."
110
+ },
111
+ "defaultValue": "VerdocsEndpoint.getDefault()"
112
+ },
113
+ "templateId": {
114
+ "type": "string",
115
+ "mutable": false,
116
+ "complexType": {
117
+ "original": "string",
118
+ "resolved": "string",
119
+ "references": {}
120
+ },
121
+ "required": false,
122
+ "optional": false,
123
+ "docs": {
124
+ "tags": [],
125
+ "text": "The template ID to edit."
126
+ },
127
+ "attribute": "template-id",
128
+ "reflect": false,
129
+ "defaultValue": "''"
130
+ }
131
+ };
132
+ }
133
+ static get states() {
134
+ return {
135
+ "showPlanBlocker": {},
136
+ "sendReminders": {},
137
+ "firstReminderDays": {},
138
+ "reminderDays": {},
139
+ "dirty": {},
140
+ "loading": {}
141
+ };
142
+ }
143
+ static get events() {
144
+ return [{
145
+ "method": "close",
146
+ "name": "close",
147
+ "bubbles": true,
148
+ "cancelable": true,
149
+ "composed": true,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": "Event fired when the user cancels the dialog."
153
+ },
154
+ "complexType": {
155
+ "original": "any",
156
+ "resolved": "any",
157
+ "references": {}
158
+ }
159
+ }, {
160
+ "method": "sdkError",
161
+ "name": "sdkError",
162
+ "bubbles": true,
163
+ "cancelable": true,
164
+ "composed": true,
165
+ "docs": {
166
+ "tags": [],
167
+ "text": "Event fired if an error occurs. The event details will contain information about the error. Most errors will\nterminate the process, and the calling application should correct the condition and re-render the component."
168
+ },
169
+ "complexType": {
170
+ "original": "SDKError",
171
+ "resolved": "SDKError",
172
+ "references": {
173
+ "SDKError": {
174
+ "location": "import",
175
+ "path": "../../../utils/errors"
176
+ }
177
+ }
178
+ }
179
+ }];
180
+ }
181
+ }
@@ -0,0 +1,19 @@
1
+ import { html } from 'lit-html';
2
+ export default {
3
+ title: 'Templates/Reminders',
4
+ component: 'verdocs-template-reminders',
5
+ args: {
6
+ // templateId: '',
7
+ templateId: '951016b0-c5ef-450d-b628-9a0c5b84b163',
8
+ },
9
+ argTypes: {
10
+ onClose: { action: 'close' },
11
+ },
12
+ };
13
+ export const Reminders = ({ onClose, templateId }) => templateId
14
+ ? html `
15
+ <div style="width: 360px; background: #ffffff; padding: 20px; box-sizing: border-box">
16
+ <verdocs-template-reminders .templateId=${templateId} @close=${onClose} />
17
+ </div>
18
+ `
19
+ : html `<img src="https://verdocs-public-assets.s3.amazonaws.com/storybook-placeholders/template-name.png" alt="Placeholder" />`;