@verdocs/web-sdk 1.12.44 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/cjs/{templateStore-1862f03c.js → TemplateStore-01ff3237.js} +77 -43
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/verdocs-build.cjs.entry.js +12 -15
  4. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +32 -31
  5. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +2 -3
  6. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +3 -4
  7. package/dist/cjs/verdocs-field-date.cjs.entry.js +3 -4
  8. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +3 -4
  9. package/dist/cjs/verdocs-field-initial.cjs.entry.js +3 -4
  10. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -3
  11. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +3 -4
  12. package/dist/cjs/verdocs-field-signature.cjs.entry.js +3 -4
  13. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +3 -4
  14. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -4
  15. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +3 -4
  16. package/dist/cjs/verdocs-preview.cjs.entry.js +21 -17
  17. package/dist/cjs/verdocs-send.cjs.entry.js +31 -29
  18. package/dist/cjs/verdocs-template-attachments.cjs.entry.js +20 -11
  19. package/dist/cjs/verdocs-template-create_3.cjs.entry.js +86 -111
  20. package/dist/cjs/verdocs-template-name.cjs.entry.js +28 -20
  21. package/dist/cjs/verdocs-template-properties.cjs.entry.js +14 -15
  22. package/dist/cjs/verdocs-template-reminders.cjs.entry.js +24 -19
  23. package/dist/cjs/verdocs-template-role-properties_2.cjs.entry.js +30 -40
  24. package/dist/cjs/verdocs-template-visibility.cjs.entry.js +29 -22
  25. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  26. package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +1 -2
  27. package/dist/collection/components/controls/verdocs-help-icon/verdocs-help-icon.stories.js +1 -1
  28. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.stories.js +1 -1
  29. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +12 -13
  30. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +21 -16
  31. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +31 -28
  32. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +2 -2
  33. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +20 -2
  34. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +21 -3
  35. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +21 -3
  36. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +21 -3
  37. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +21 -3
  38. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +20 -2
  39. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +21 -3
  40. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +21 -3
  41. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +21 -3
  42. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +21 -3
  43. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +21 -3
  44. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +20 -15
  45. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +32 -30
  46. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +32 -32
  47. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.js +27 -19
  48. package/dist/collection/components/templates/verdocs-template-properties/verdocs-template-properties.js +13 -15
  49. package/dist/collection/components/templates/verdocs-template-reminders/verdocs-template-reminders.js +25 -20
  50. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +16 -21
  51. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +56 -82
  52. package/dist/collection/components/templates/verdocs-template-sender/verdocs-template-sender.js +13 -18
  53. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.js +27 -20
  54. package/dist/collection/utils/TemplateStore.js +77 -0
  55. package/dist/components/{templateStore.js → TemplateStore.js} +76 -43
  56. package/dist/components/Templates.js +65 -45
  57. package/dist/components/verdocs-build.js +12 -13
  58. package/dist/components/verdocs-field-attachment.js +3 -2
  59. package/dist/components/verdocs-field-checkbox.js +4 -3
  60. package/dist/components/verdocs-field-date.js +4 -3
  61. package/dist/components/verdocs-field-dropdown.js +4 -3
  62. package/dist/components/verdocs-field-initial.js +4 -3
  63. package/dist/components/verdocs-field-payment.js +3 -2
  64. package/dist/components/verdocs-field-radio-button.js +4 -3
  65. package/dist/components/verdocs-field-signature.js +4 -3
  66. package/dist/components/verdocs-field-textarea.js +4 -3
  67. package/dist/components/verdocs-field-textbox.js +4 -3
  68. package/dist/components/verdocs-field-timestamp.js +4 -3
  69. package/dist/components/verdocs-preview.js +21 -16
  70. package/dist/components/verdocs-search-activity2.js +1 -1
  71. package/dist/components/verdocs-send.js +31 -28
  72. package/dist/components/verdocs-sign.js +1 -2
  73. package/dist/components/verdocs-template-attachments.js +21 -12
  74. package/dist/components/verdocs-template-create2.js +1 -1
  75. package/dist/components/verdocs-template-field-properties2.js +32 -30
  76. package/dist/components/verdocs-template-fields2.js +32 -32
  77. package/dist/components/verdocs-template-name.js +28 -20
  78. package/dist/components/verdocs-template-properties.js +13 -15
  79. package/dist/components/verdocs-template-reminders.js +25 -20
  80. package/dist/components/verdocs-template-role-properties2.js +16 -21
  81. package/dist/components/verdocs-template-roles2.js +56 -82
  82. package/dist/components/verdocs-template-sender2.js +14 -19
  83. package/dist/components/verdocs-template-visibility.js +28 -21
  84. package/dist/components/verdocs-view2.js +20 -2
  85. package/dist/custom-elements.json +1546 -0
  86. package/dist/docs.json +189 -2
  87. package/dist/esm/{templateStore-17c872da.js → TemplateStore-91a71f46.js} +76 -43
  88. package/dist/esm/loader.js +1 -1
  89. package/dist/esm/verdocs-build.entry.js +12 -15
  90. package/dist/esm/verdocs-button-panel_3.entry.js +32 -31
  91. package/dist/esm/verdocs-field-attachment.entry.js +2 -3
  92. package/dist/esm/verdocs-field-checkbox.entry.js +3 -4
  93. package/dist/esm/verdocs-field-date.entry.js +3 -4
  94. package/dist/esm/verdocs-field-dropdown.entry.js +3 -4
  95. package/dist/esm/verdocs-field-initial.entry.js +3 -4
  96. package/dist/esm/verdocs-field-payment.entry.js +2 -3
  97. package/dist/esm/verdocs-field-radio-button.entry.js +3 -4
  98. package/dist/esm/verdocs-field-signature.entry.js +3 -4
  99. package/dist/esm/verdocs-field-textarea.entry.js +3 -4
  100. package/dist/esm/verdocs-field-textbox.entry.js +3 -4
  101. package/dist/esm/verdocs-field-timestamp.entry.js +3 -4
  102. package/dist/esm/verdocs-preview.entry.js +21 -17
  103. package/dist/esm/verdocs-send.entry.js +31 -29
  104. package/dist/esm/verdocs-template-attachments.entry.js +20 -11
  105. package/dist/esm/verdocs-template-create_3.entry.js +86 -111
  106. package/dist/esm/verdocs-template-name.entry.js +26 -18
  107. package/dist/esm/verdocs-template-properties.entry.js +14 -15
  108. package/dist/esm/verdocs-template-reminders.entry.js +24 -19
  109. package/dist/esm/verdocs-template-role-properties_2.entry.js +28 -38
  110. package/dist/esm/verdocs-template-visibility.entry.js +27 -20
  111. package/dist/esm/verdocs-web-sdk.js +1 -1
  112. package/dist/esm-es5/TemplateStore-91a71f46.js +1 -0
  113. package/dist/esm-es5/loader.js +1 -1
  114. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  115. package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
  116. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  117. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  118. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  119. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  120. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  121. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  123. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  124. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  125. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  126. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  127. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  128. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  129. package/dist/esm-es5/verdocs-template-attachments.entry.js +1 -1
  130. package/dist/esm-es5/verdocs-template-create_3.entry.js +1 -1
  131. package/dist/esm-es5/verdocs-template-name.entry.js +1 -1
  132. package/dist/esm-es5/verdocs-template-properties.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-template-reminders.entry.js +1 -1
  134. package/dist/esm-es5/verdocs-template-role-properties_2.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-template-visibility.entry.js +1 -1
  136. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  137. package/dist/types/components/controls/verdocs-button-panel/verdocs-button-panel.d.ts +1 -2
  138. package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +2 -0
  139. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +3 -1
  140. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +3 -1
  141. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +4 -0
  142. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +4 -0
  143. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +4 -0
  144. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +4 -0
  145. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +4 -0
  146. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +4 -0
  147. package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +4 -0
  148. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +4 -0
  149. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +4 -0
  150. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +4 -0
  151. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +4 -0
  152. package/dist/types/components/templates/verdocs-template-attachments/verdocs-template-attachments.d.ts +2 -1
  153. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +2 -0
  154. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +2 -0
  155. package/dist/types/components/templates/verdocs-template-name/verdocs-template-name.d.ts +2 -1
  156. package/dist/types/components/templates/verdocs-template-properties/verdocs-template-properties.d.ts +2 -2
  157. package/dist/types/components/templates/verdocs-template-reminders/verdocs-template-reminders.d.ts +2 -1
  158. package/dist/types/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.d.ts +2 -0
  159. package/dist/types/components/templates/verdocs-template-roles/verdocs-template-roles.d.ts +3 -1
  160. package/dist/types/components/templates/verdocs-template-sender/verdocs-template-sender.d.ts +2 -0
  161. package/dist/types/components/templates/verdocs-template-visibillity/verdocs-template-visibility.d.ts +2 -1
  162. package/dist/types/components.d.ts +88 -0
  163. package/dist/types/utils/TemplateStore.d.ts +14 -0
  164. package/dist/verdocs-web-sdk/p-1b21b08d.system.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/p-2216464c.system.entry.js +1 -0
  166. package/dist/verdocs-web-sdk/p-227d07a2.entry.js +1 -0
  167. package/dist/verdocs-web-sdk/p-2cb414ec.system.entry.js +1 -0
  168. package/dist/verdocs-web-sdk/p-2d39a000.entry.js +1 -0
  169. package/dist/verdocs-web-sdk/p-34d3d150.system.entry.js +1 -0
  170. package/dist/verdocs-web-sdk/p-36a31514.entry.js +1 -0
  171. package/dist/verdocs-web-sdk/p-37dd3108.system.entry.js +1 -0
  172. package/dist/verdocs-web-sdk/p-38d0af92.entry.js +1 -0
  173. package/dist/verdocs-web-sdk/p-47bba747.entry.js +1 -0
  174. package/dist/verdocs-web-sdk/p-4eb829ca.system.entry.js +1 -0
  175. package/dist/verdocs-web-sdk/p-5a3d9d9f.system.entry.js +1 -0
  176. package/dist/verdocs-web-sdk/p-5b4dd6a0.entry.js +1 -0
  177. package/dist/verdocs-web-sdk/p-62e12e8f.system.entry.js +1 -0
  178. package/dist/verdocs-web-sdk/p-650b9205.system.entry.js +1 -0
  179. package/dist/verdocs-web-sdk/p-65abb620.entry.js +1 -0
  180. package/dist/verdocs-web-sdk/p-6a0e0615.system.entry.js +1 -0
  181. package/dist/verdocs-web-sdk/p-6caf1137.system.js +1 -1
  182. package/dist/verdocs-web-sdk/p-6f511c7b.entry.js +1 -0
  183. package/dist/verdocs-web-sdk/p-7306abd0.system.entry.js +1 -0
  184. package/dist/verdocs-web-sdk/p-7464fd3c.system.entry.js +1 -0
  185. package/dist/verdocs-web-sdk/p-7f927fb9.system.entry.js +1 -0
  186. package/dist/verdocs-web-sdk/p-809947d4.system.entry.js +1 -0
  187. package/dist/verdocs-web-sdk/p-8c9caa8a.system.entry.js +1 -0
  188. package/dist/verdocs-web-sdk/p-8d32078d.entry.js +1 -0
  189. package/dist/verdocs-web-sdk/p-8eca5dd8.entry.js +1 -0
  190. package/dist/verdocs-web-sdk/p-92a2bb47.entry.js +1 -0
  191. package/dist/verdocs-web-sdk/p-a3747387.system.entry.js +1 -0
  192. package/dist/verdocs-web-sdk/p-a5970648.system.entry.js +1 -0
  193. package/dist/verdocs-web-sdk/p-ab6bd525.entry.js +1 -0
  194. package/dist/verdocs-web-sdk/p-b3bca701.entry.js +1 -0
  195. package/dist/verdocs-web-sdk/p-ba62a8f6.system.entry.js +1 -0
  196. package/dist/verdocs-web-sdk/p-c25d965d.js +1 -0
  197. package/dist/verdocs-web-sdk/p-c2770861.system.entry.js +1 -0
  198. package/dist/verdocs-web-sdk/p-c35bbaef.entry.js +1 -0
  199. package/dist/verdocs-web-sdk/p-c8901fde.entry.js +1 -0
  200. package/dist/verdocs-web-sdk/p-cc396cda.entry.js +1 -0
  201. package/dist/verdocs-web-sdk/p-d63fe7e9.system.entry.js +1 -0
  202. package/dist/verdocs-web-sdk/p-d7ca70cc.entry.js +1 -0
  203. package/dist/verdocs-web-sdk/p-db2b75bc.system.entry.js +1 -0
  204. package/dist/verdocs-web-sdk/p-de4c38a1.entry.js +1 -0
  205. package/dist/verdocs-web-sdk/p-e4b56475.entry.js +1 -0
  206. package/dist/verdocs-web-sdk/p-e9751ec7.entry.js +1 -0
  207. package/dist/verdocs-web-sdk/p-e9c9cdf5.entry.js +1 -0
  208. package/dist/verdocs-web-sdk/p-ec81b1f2.entry.js +1 -0
  209. package/dist/verdocs-web-sdk/p-f1edfd5a.system.js +1 -0
  210. package/dist/verdocs-web-sdk/p-f201e410.system.entry.js +1 -0
  211. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  212. package/package.json +2 -2
  213. package/dist/cjs/Templates-f310df2f.js +0 -49
  214. package/dist/collection/utils/Templates.js +0 -44
  215. package/dist/collection/utils/templateStore.js +0 -46
  216. package/dist/components/Primitives.js +0 -20
  217. package/dist/components/Templates2.js +0 -67
  218. package/dist/esm/Templates-d94fb9d5.js +0 -47
  219. package/dist/esm-es5/Templates-d94fb9d5.js +0 -1
  220. package/dist/esm-es5/templateStore-17c872da.js +0 -1
  221. package/dist/types/utils/Templates.d.ts +0 -2
  222. package/dist/types/utils/templateStore.d.ts +0 -14
  223. package/dist/verdocs-web-sdk/p-02316241.system.js +0 -1
  224. package/dist/verdocs-web-sdk/p-0e727b1c.system.entry.js +0 -1
  225. package/dist/verdocs-web-sdk/p-0fd75d91.system.entry.js +0 -1
  226. package/dist/verdocs-web-sdk/p-1cfb7ff5.entry.js +0 -1
  227. package/dist/verdocs-web-sdk/p-1e35f143.entry.js +0 -1
  228. package/dist/verdocs-web-sdk/p-28976191.system.entry.js +0 -1
  229. package/dist/verdocs-web-sdk/p-2e0980f3.system.entry.js +0 -1
  230. package/dist/verdocs-web-sdk/p-38368af4.system.entry.js +0 -1
  231. package/dist/verdocs-web-sdk/p-3ba4df31.system.entry.js +0 -1
  232. package/dist/verdocs-web-sdk/p-41d9b35b.system.entry.js +0 -1
  233. package/dist/verdocs-web-sdk/p-48eb46ed.system.entry.js +0 -1
  234. package/dist/verdocs-web-sdk/p-519127ef.entry.js +0 -1
  235. package/dist/verdocs-web-sdk/p-552441c6.system.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-645e4723.system.entry.js +0 -1
  237. package/dist/verdocs-web-sdk/p-66158f86.system.entry.js +0 -1
  238. package/dist/verdocs-web-sdk/p-667cbdb4.system.entry.js +0 -1
  239. package/dist/verdocs-web-sdk/p-6ec15fc0.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-71b8bb54.system.js +0 -1
  241. package/dist/verdocs-web-sdk/p-72b936b3.entry.js +0 -1
  242. package/dist/verdocs-web-sdk/p-73452912.system.entry.js +0 -1
  243. package/dist/verdocs-web-sdk/p-753a6e4a.entry.js +0 -1
  244. package/dist/verdocs-web-sdk/p-7bc337ce.entry.js +0 -1
  245. package/dist/verdocs-web-sdk/p-808f6a46.entry.js +0 -1
  246. package/dist/verdocs-web-sdk/p-81b24500.entry.js +0 -1
  247. package/dist/verdocs-web-sdk/p-89963a6e.system.entry.js +0 -1
  248. package/dist/verdocs-web-sdk/p-8be51136.entry.js +0 -1
  249. package/dist/verdocs-web-sdk/p-8cba983e.entry.js +0 -1
  250. package/dist/verdocs-web-sdk/p-90c71302.entry.js +0 -1
  251. package/dist/verdocs-web-sdk/p-94fa2efb.system.entry.js +0 -1
  252. package/dist/verdocs-web-sdk/p-9e9de6e3.system.entry.js +0 -1
  253. package/dist/verdocs-web-sdk/p-9eb2690b.entry.js +0 -1
  254. package/dist/verdocs-web-sdk/p-a612d29b.system.entry.js +0 -1
  255. package/dist/verdocs-web-sdk/p-b24324f6.entry.js +0 -1
  256. package/dist/verdocs-web-sdk/p-b2c96afc.entry.js +0 -1
  257. package/dist/verdocs-web-sdk/p-b355484e.system.entry.js +0 -1
  258. package/dist/verdocs-web-sdk/p-be25b61f.js +0 -1
  259. package/dist/verdocs-web-sdk/p-bf8cc58c.entry.js +0 -1
  260. package/dist/verdocs-web-sdk/p-c0c4cbe6.entry.js +0 -1
  261. package/dist/verdocs-web-sdk/p-c60c9371.entry.js +0 -1
  262. package/dist/verdocs-web-sdk/p-c83042ac.entry.js +0 -1
  263. package/dist/verdocs-web-sdk/p-c903c4a7.js +0 -1
  264. package/dist/verdocs-web-sdk/p-cae4a96e.system.entry.js +0 -1
  265. package/dist/verdocs-web-sdk/p-ce14f118.system.entry.js +0 -1
  266. package/dist/verdocs-web-sdk/p-cf09e52c.entry.js +0 -1
  267. package/dist/verdocs-web-sdk/p-dca6db47.system.entry.js +0 -1
  268. package/dist/verdocs-web-sdk/p-f3206b9e.system.entry.js +0 -1
  269. package/dist/verdocs-web-sdk/p-f6f1eb46.entry.js +0 -1
  270. package/dist/verdocs-web-sdk/p-fd463970.entry.js +0 -1
@@ -4,8 +4,7 @@ import './Types.js';
4
4
  import { u as updateRole, c as createRole, d as defineCustomElement$3 } from './verdocs-template-role-properties2.js';
5
5
  import { V as VerdocsEndpoint, T as TemplateSenderTypes } from './VerdocsEndpoint.js';
6
6
  import { g as getRGBA } from './Colors.js';
7
- import { s as state } from './templateStore.js';
8
- import { l as loadTemplate } from './Templates.js';
7
+ import { g as getTemplateStore } from './TemplateStore.js';
9
8
  import { a as getRoleIndex } from './utils.js';
10
9
  import { S as SDKError } from './errors.js';
11
10
  import { d as defineCustomElement$a } from './verdocs-button2.js';
@@ -44,15 +43,15 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
44
43
  this.sdkError = createEvent(this, "sdkError", 7);
45
44
  this.templateUpdated = createEvent(this, "templateUpdated", 7);
46
45
  this.sequences = [];
46
+ this.store = null;
47
47
  this.endpoint = VerdocsEndpoint.getDefault();
48
48
  this.templateId = '';
49
49
  this.showingRoleDialog = null;
50
50
  this.showingSenderDialog = false;
51
51
  this.sender = null;
52
- this.forceRerender = 1;
53
52
  }
54
53
  async componentWillLoad() {
55
- var _a, _b, _c, _d, _e, _f;
54
+ var _a, _b, _c;
56
55
  try {
57
56
  this.endpoint.loadSession();
58
57
  if (!this.templateId) {
@@ -63,20 +62,13 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
63
62
  console.log('[ROLES] Unable to start builder session, must be authenticated');
64
63
  return;
65
64
  }
66
- try {
67
- console.log(`[ROLES] Loading template ${this.templateId}`, this.endpoint.session);
68
- await loadTemplate(this.endpoint, this.templateId, true);
69
- }
70
- catch (e) {
71
- console.log('[ROLES] Error loading template', e);
72
- (_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));
73
- }
65
+ this.store = await getTemplateStore(this.endpoint, this.templateId, true);
74
66
  this.sortTemplateRoles();
75
67
  this.renumberTemplateRoles();
76
68
  }
77
69
  catch (e) {
78
70
  console.log('[FIELDS] Error with preview session', e);
79
- (_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));
71
+ (_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));
80
72
  }
81
73
  }
82
74
  componentDidRender() {
@@ -109,7 +101,7 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
109
101
  interact('.dropzone').dropzone({
110
102
  overlap: 0.05,
111
103
  ondrop: function handleDrop(event) {
112
- var _a, _b;
104
+ var _a, _b, _c, _d, _e;
113
105
  event.target.classList.remove('active');
114
106
  // target will be the recipient e.g. <div class="recipient" data-rolename="Buyer" />
115
107
  // relatedTarget will be the drop zone, e.g. <div class="dropzone" data-order="2" data-sequence="1" />
@@ -123,7 +115,7 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
123
115
  const roleName = event.relatedTarget.dataset.rolename;
124
116
  const targetSequence = +event.target.dataset.sequence;
125
117
  const targetOrder = +event.target.dataset.order;
126
- const changingRole = (_a = state.template) === null || _a === void 0 ? void 0 : _a.roles.find(role => role.name === roleName);
118
+ const changingRole = (_c = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) === null || _c === void 0 ? void 0 : _c.find(role => role.name === roleName);
127
119
  if (changingRole) {
128
120
  // To handle the renumbering, we update the role being moved to the new values, which will be some half-interval e.g.
129
121
  // sequence 1.5 order 1. Then we
@@ -135,14 +127,14 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
135
127
  // We have to update ALL the roles to be sure each gets new proper sequence/order numbers assigned.
136
128
  // TODO: We could optimize this by tracking "dirty" states and only update the roles that have changed. But it's a LOT more
137
129
  // code to do right, and since most workflows will typically only have 2-4 recipients max, it may not be worth it.
138
- Promise.all((_b = state.template) === null || _b === void 0 ? void 0 : _b.roles.map(role => updateRole(this.endpoint, this.templateId, role.name, {
130
+ Promise.all((_e = (_d = this.store) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.roles.map(role => updateRole(this.endpoint, this.templateId, role.name, {
139
131
  sequence: role.sequence,
140
132
  order: role.order,
141
133
  })))
142
134
  .then(() => {
143
- var _a;
135
+ var _a, _b;
144
136
  console.log('[ROLES] Updated roles');
145
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'updated-role', endpoint: this.endpoint, template: state.template });
137
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'updated-role', endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state });
146
138
  })
147
139
  .catch(e => console.log('[ROLES] Role updates failed', e));
148
140
  }
@@ -170,15 +162,15 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
170
162
  (_a = this.next) === null || _a === void 0 ? void 0 : _a.emit();
171
163
  }
172
164
  sortTemplateRoles() {
173
- var _a;
174
- (_a = state.template) === null || _a === void 0 ? void 0 : _a.roles.sort((a, b) => {
165
+ var _a, _b;
166
+ (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles.sort((a, b) => {
175
167
  return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;
176
168
  });
177
169
  }
178
170
  extractSequenceNumbers() {
179
- var _a;
171
+ var _a, _b;
180
172
  this.sequences = [];
181
- (_a = state.template) === null || _a === void 0 ? void 0 : _a.roles.forEach(role => {
173
+ (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles.forEach(role => {
182
174
  if (!this.sequences.includes(role.sequence)) {
183
175
  this.sequences.push(role.sequence);
184
176
  }
@@ -192,8 +184,8 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
192
184
  // 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.
193
185
  this.sequences.sort((a, b) => a - b);
194
186
  this.sequences.forEach((originalSequence, newSequenceIndex) => {
195
- var _a;
196
- (_a = state.template) === null || _a === void 0 ? void 0 : _a.roles.filter(role => role.sequence === originalSequence).forEach((role, newOrderIndex) => {
187
+ var _a, _b;
188
+ (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles.filter(role => role.sequence === originalSequence).forEach((role, newOrderIndex) => {
197
189
  if (!renumbered.includes(role.name)) {
198
190
  role.sequence = newSequenceIndex + 1;
199
191
  role.order = newOrderIndex + 1;
@@ -206,96 +198,79 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
206
198
  }
207
199
  // Look for name conflicts, because they're UGC and can be anything, regardless of order.
208
200
  getNextRoleName() {
209
- var _a, _b;
201
+ var _a, _b, _c, _d;
210
202
  let name = '';
211
- let nextNumber = (_a = state.template) === null || _a === void 0 ? void 0 : _a.roles.length;
203
+ let nextNumber = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles.length;
212
204
  do {
213
205
  nextNumber++;
214
206
  name = `Recipient ${nextNumber}`;
215
- } while (!name || ((_b = state.template) === null || _b === void 0 ? void 0 : _b.roles.some(role => role.name === name)));
207
+ } while (!name || ((_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles.some(role => role.name === name)));
216
208
  return name;
217
209
  }
218
- handleAddRole(e, sequence) {
219
- e.stopPropagation();
220
- // We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
221
- const order = state.template.roles.filter(role => role.sequence === sequence).length + 1;
222
- const name = this.getNextRoleName();
223
- console.log('Will create', name, sequence, order);
210
+ callCreateRole(name, sequence, order) {
211
+ console.log('[ROLES] Will create role', { name, sequence, order });
224
212
  createRole(this.endpoint, this.templateId, {
225
213
  template_id: this.templateId,
226
214
  name,
215
+ sequence,
216
+ order,
227
217
  full_name: '',
228
218
  email: '',
229
219
  phone: '',
230
- sequence,
231
- order,
232
220
  type: 'signer',
233
221
  delegator: false,
234
222
  })
235
223
  .then(r => {
236
- var _a;
237
- console.log('Created role', r);
238
- state.template.roles.push(r);
224
+ var _a, _b, _c;
225
+ console.log('[ROLES] Created role', r);
226
+ this.store.state.roles = [...(_a = this.store) === null || _a === void 0 ? void 0 : _a.state.roles, r];
239
227
  this.renumberTemplateRoles();
240
- this.forceRerender++;
241
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'created-role', endpoint: this.endpoint, template: state.template });
228
+ (_b = this.templateUpdated) === null || _b === void 0 ? void 0 : _b.emit({ event: 'created-role', endpoint: this.endpoint, template: (_c = this.store) === null || _c === void 0 ? void 0 : _c.state });
242
229
  })
243
230
  .catch(e => {
244
- console.log('Error creating role', e);
231
+ console.log('[ROLES] Error creating role', e);
245
232
  });
246
233
  }
234
+ handleAddRole(e, sequence) {
235
+ var _a;
236
+ e.stopPropagation();
237
+ // We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
238
+ const order = ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.roles.filter(role => role.sequence === sequence).length) + 1;
239
+ const name = this.getNextRoleName();
240
+ this.callCreateRole(name, sequence, order);
241
+ }
247
242
  handleAddStep(e, sequence) {
248
243
  e.stopPropagation();
249
244
  const order = 1;
250
245
  const name = this.getNextRoleName();
251
- console.log('Will create', name, sequence, order);
252
- createRole(this.endpoint, this.templateId, {
253
- template_id: this.templateId,
254
- name,
255
- full_name: '',
256
- email: '',
257
- phone: '',
258
- sequence,
259
- order,
260
- type: 'signer',
261
- delegator: false,
262
- })
263
- .then(r => {
264
- var _a;
265
- console.log('Created role', r);
266
- state.template.roles.push(r);
267
- this.renumberTemplateRoles();
268
- this.forceRerender++;
269
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'created-role', endpoint: this.endpoint, template: state.template });
270
- })
271
- .catch(e => {
272
- console.log('Error creating role', e);
273
- });
246
+ this.callCreateRole(name, sequence, order);
274
247
  }
275
248
  render() {
276
- var _a;
249
+ var _a, _b, _c, _d, _e, _f;
277
250
  if (!this.endpoint.session) {
278
251
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
279
252
  }
280
- if (state.loading || !state.template) {
281
- return (h(Host, null, h("verdocs-loader", null)));
253
+ if (!((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.isLoaded)) {
254
+ return (h(Host, { class: "loading" }, h("verdocs-loader", null)));
282
255
  }
283
- const roleNames = (((_a = state.template) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name);
284
- return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off", "data-r": this.forceRerender }, h("h5", null, "Roles and Workflow"), h("div", { class: "participants" }, h("div", { class: "left-line" }), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: startIcon }), h("div", { class: "row-roles" }, h("div", { class: "sender" }, h("span", { class: "label" }, "Sender:"), " ", senderLabels[state.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-roles" }, 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-roles" }, h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), state.template.roles
285
- .filter(role => role.sequence === sequence)
286
- .map(role => {
287
- const unknown = !role.email;
288
- return unknown ? (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 }))) : (h(Fragment, null, h("div", { class: "recipient", style: { borderColor: 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.full_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 })));
289
- }), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), this.sequences.length > 0 && (h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "dropzone", "data-sequence": sequence + 1, "data-order": 1 }, "Add Step"))))))), h("div", { class: "row", "data-sequence": this.sequences.length + 1 }, h("div", { class: "row-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("button", { class: "add-step", innerHTML: plusIcon, onClick: e => this.handleAddStep(e, this.sequences.length + 1) }))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-roles" }, h("div", { class: "complete" }, "Document Complete")))), roleNames.length < 1 && (h("div", { class: "empty" }, "You must add at least one Role before proceeding.", h("br", null), " Click the ", h("span", { innerHTML: plusIcon }), " Add button above to get started.")), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: () => this.handleCancel() }), h("verdocs-button", { label: "OK", size: "small", onClick: () => this.handleSubmit(), disabled: roleNames.length < 1 }))), this.showingRoleDialog && (h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
256
+ const roleNames = (((_c = (_b = this.store) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.roles) || []).map(role => role.name);
257
+ return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off", "data-r": (_d = this.store.state) === null || _d === void 0 ? void 0 : _d.updateCount }, h("h5", null, "Roles and Workflow"), h("div", { class: "participants" }, h("div", { class: "left-line" }), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: startIcon }), h("div", { class: "row-roles" }, h("div", { class: "sender" }, h("span", { class: "label" }, "Sender:"), " ", senderLabels[(_f = (_e = this.store) === null || _e === void 0 ? void 0 : _e.state) === null || _f === void 0 ? void 0 : _f.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-roles" }, h("div", { class: "dropzone", "data-sequence": 0, "data-order": 1 }, "Add Step"))), this.sequences.map(sequence => {
258
+ var _a, _b;
259
+ return (h(Fragment, null, h("div", { class: "row" }, h("div", { class: "icon", innerHTML: stepIcon }), h("div", { class: "row-roles" }, h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 :
260
+ _b.roles.filter(role => role.sequence === sequence).map(role => {
261
+ const unknown = !role.email;
262
+ return unknown ? (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 }))) : (h(Fragment, null, h("div", { class: "recipient", style: { borderColor: 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.full_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 })));
263
+ }), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), this.sequences.length > 0 && (h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "dropzone", "data-sequence": sequence + 1, "data-order": 1 }, "Add Step"))))));
264
+ }), h("div", { class: "row", "data-sequence": this.sequences.length + 1 }, h("div", { class: "row-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("button", { class: "add-step", innerHTML: plusIcon, onClick: e => this.handleAddStep(e, this.sequences.length + 1) }))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-roles" }, h("div", { class: "complete" }, "Document Complete")))), roleNames.length < 1 && (h("div", { class: "empty" }, "You must add at least one Role before proceeding.", h("br", null), " Click the ", h("span", { innerHTML: plusIcon }), " Add button above to get started.")), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: () => this.handleCancel() }), h("verdocs-button", { label: "OK", size: "small", onClick: () => this.handleSubmit(), disabled: roleNames.length < 1 }))), this.showingRoleDialog && (h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
290
265
  this.showingRoleDialog = null;
291
- this.forceRerender++;
292
- }, onDelete: e => {
293
- var _a;
294
- console.log('deleted', e.detail);
266
+ // this.forceRerender++;
267
+ }, onDelete: async () => {
268
+ var _a, _b;
269
+ await getTemplateStore(this.endpoint, this.templateId, true);
295
270
  this.renumberTemplateRoles();
296
271
  this.showingRoleDialog = null;
297
- this.forceRerender++;
298
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'deleted-role', endpoint: this.endpoint, template: state.template });
272
+ // this.forceRerender++;
273
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'deleted-role', endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state });
299
274
  } })), this.showingSenderDialog && h("verdocs-template-sender", { endpoint: this.endpoint, templateId: this.templateId, onClose: () => (this.showingSenderDialog = false) })));
300
275
  }
301
276
  get el() { return this; }
@@ -305,8 +280,7 @@ const VerdocsTemplateRoles = /*@__PURE__*/ proxyCustomElement(class extends HTML
305
280
  "templateId": [1, "template-id"],
306
281
  "showingRoleDialog": [32],
307
282
  "showingSenderDialog": [32],
308
- "sender": [32],
309
- "forceRerender": [32]
283
+ "sender": [32]
310
284
  }]);
311
285
  function defineCustomElement() {
312
286
  if (typeof customElements === "undefined") {
@@ -1,9 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import './Types.js';
3
- import { u as updateTemplate } from './Templates2.js';
3
+ import { u as updateTemplate } from './Templates.js';
4
4
  import { V as VerdocsEndpoint, T as TemplateSenderTypes } from './VerdocsEndpoint.js';
5
- import { s as state } from './templateStore.js';
6
- import { l as loadTemplate } from './Templates.js';
5
+ import { g as getTemplateStore } from './TemplateStore.js';
7
6
  import { S as SDKError } from './errors.js';
8
7
  import { d as defineCustomElement$3 } from './verdocs-button2.js';
9
8
  import { d as defineCustomElement$2 } from './verdocs-help-icon2.js';
@@ -17,37 +16,30 @@ const VerdocsTemplateSender = /*@__PURE__*/ proxyCustomElement(class extends HTM
17
16
  this.__registerHost();
18
17
  this.close = createEvent(this, "close", 7);
19
18
  this.sdkError = createEvent(this, "sdkError", 7);
19
+ this.store = null;
20
20
  this.endpoint = VerdocsEndpoint.getDefault();
21
21
  this.templateId = '';
22
22
  this.sender = TemplateSenderTypes.EVERYONE;
23
23
  this.saving = false;
24
24
  }
25
25
  async componentWillLoad() {
26
- var _a, _b, _c, _d, _e, _f;
26
+ var _a, _b, _c, _d, _e;
27
27
  try {
28
28
  this.endpoint.loadSession();
29
29
  if (!this.templateId) {
30
- console.log(`[TEMPLATE SENDER] Missing required template ID ${this.templateId}`);
30
+ console.log(`[SENDER] Missing required template ID ${this.templateId}`);
31
31
  return;
32
32
  }
33
33
  if (!this.endpoint.session) {
34
- console.log('[TEMPLATE SENDER] Unable to start builder session, must be authenticated');
34
+ console.log('[SENDER] Unable to start builder session, must be authenticated');
35
35
  return;
36
36
  }
37
- try {
38
- console.log(`[TEMPLATE SENDER] Loading template ${this.templateId}`, this.endpoint.session);
39
- await loadTemplate(this.endpoint, this.templateId);
40
- }
41
- catch (e) {
42
- console.log('[TEMPLATE SENDER] Error loading template', e);
43
- (_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));
44
- }
45
- this.sender = state.template.sender;
46
- console.log('s', this.sender);
37
+ this.store = await getTemplateStore(this.endpoint, this.templateId, false);
38
+ this.sender = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.sender;
47
39
  }
48
40
  catch (e) {
49
- console.log('[TEMPLATE SENDER] Error with preview session', e);
50
- (_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));
41
+ console.log('[SENDER] Error with preview session', e);
42
+ (_c = this.sdkError) === null || _c === void 0 ? void 0 : _c.emit(new SDKError(e.message, (_d = e.response) === null || _d === void 0 ? void 0 : _d.status, (_e = e.response) === null || _e === void 0 ? void 0 : _e.data));
51
43
  }
52
44
  }
53
45
  handleClose() {
@@ -64,8 +56,11 @@ const VerdocsTemplateSender = /*@__PURE__*/ proxyCustomElement(class extends HTM
64
56
  this.saving = true;
65
57
  updateTemplate(this.endpoint, this.templateId, { sender: value })
66
58
  .then(r => {
59
+ var _a;
67
60
  console.log('Update result', r);
68
- state.template.sender = value;
61
+ if ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state) {
62
+ this.store.state.sender = value;
63
+ }
69
64
  this.saving = false;
70
65
  this.sender = value;
71
66
  })
@@ -1,9 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import './Types.js';
3
- import { u as updateTemplate } from './Templates2.js';
3
+ import { u as updateTemplate } from './Templates.js';
4
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
- import { s as state } from './templateStore.js';
6
- import { l as loadTemplate } from './Templates.js';
5
+ import { g as getTemplateStore } from './TemplateStore.js';
7
6
  import { S as SDKError } from './errors.js';
8
7
  import { d as defineCustomElement$4 } from './verdocs-button2.js';
9
8
  import { d as defineCustomElement$3 } from './verdocs-checkbox2.js';
@@ -17,52 +16,61 @@ const VerdocsTemplateVisibility$1 = /*@__PURE__*/ proxyCustomElement(class exten
17
16
  this.__registerHost();
18
17
  this.close = createEvent(this, "close", 7);
19
18
  this.sdkError = createEvent(this, "sdkError", 7);
19
+ this.store = null;
20
20
  this.endpoint = VerdocsEndpoint.getDefault();
21
21
  this.templateId = '';
22
22
  this.dirty = false;
23
- this.loading = true;
24
23
  this.personal = false;
25
24
  this.public = false;
26
25
  }
27
26
  async componentWillLoad() {
28
- var _a, _b, _c;
27
+ var _a, _b, _c, _d, _e, _f, _g;
29
28
  try {
30
29
  this.endpoint.loadSession();
31
- await loadTemplate(this.endpoint, this.templateId);
32
- this.loading = false;
33
- this.personal = state.template.is_personal;
34
- this.public = state.template.is_public;
30
+ if (!this.templateId) {
31
+ console.log(`[VISIBILITY] Missing required template ID ${this.templateId}`);
32
+ return;
33
+ }
34
+ if (!this.endpoint.session) {
35
+ console.log('[VISIBILITY] Unable to start builder session, must be authenticated');
36
+ return;
37
+ }
38
+ this.store = await getTemplateStore(this.endpoint, this.templateId, false);
39
+ this.personal = ((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.is_personal) || true;
40
+ this.public = ((_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.is_public) || false;
35
41
  this.dirty = false;
36
42
  }
37
43
  catch (e) {
38
44
  console.log('[TEMPLATE VISIBILITY] Error loading template', e);
39
- this.loading = false;
40
- (_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));
45
+ (_e = this.sdkError) === null || _e === void 0 ? void 0 : _e.emit(new SDKError(e.message, (_f = e.response) === null || _f === void 0 ? void 0 : _f.status, (_g = e.response) === null || _g === void 0 ? void 0 : _g.data));
41
46
  }
42
47
  }
43
48
  handleCancel(e) {
44
- var _a;
49
+ var _a, _b, _c, _d, _e;
45
50
  e.stopPropagation();
46
- this.personal = state.template.is_personal;
47
- this.public = state.template.is_public;
51
+ this.personal = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.is_personal;
52
+ this.public = (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.is_public;
48
53
  this.dirty = false;
49
- (_a = this.close) === null || _a === void 0 ? void 0 : _a.emit();
54
+ (_e = this.close) === null || _e === void 0 ? void 0 : _e.emit();
50
55
  }
51
56
  async handleSave(e) {
52
- var _a;
57
+ var _a, _b;
53
58
  e.stopPropagation();
54
59
  await updateTemplate(this.endpoint, this.templateId, { is_personal: this.personal, is_public: this.public });
55
- state.template.is_personal = this.personal;
56
- state.template.is_public = this.public;
60
+ if ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state) {
61
+ this.store.state.is_personal = this.personal;
62
+ this.store.state.is_public = this.public;
63
+ }
57
64
  this.dirty = false;
58
- (_a = this.close) === null || _a === void 0 ? void 0 : _a.emit();
65
+ (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
59
66
  }
60
67
  render() {
68
+ var _a, _b;
61
69
  if (!this.endpoint.session) {
62
70
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
63
71
  }
64
72
  // This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
65
- if (!this.endpoint.session || !state.template) {
73
+ if (!this.endpoint.session || !((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.isLoaded)) {
66
74
  return h(Host, { class: "empty" });
67
75
  }
68
76
  return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("h5", null, "Visibility"), h("div", { class: "input-row" }, h("label", { htmlFor: "verdocs-is-shared" }, "Shared"), h("verdocs-checkbox", { id: "verdocs-is-shared", name: "is-shared", checked: !this.personal, value: "on", onInput: (e) => {
@@ -78,7 +86,6 @@ const VerdocsTemplateVisibility$1 = /*@__PURE__*/ proxyCustomElement(class exten
78
86
  "endpoint": [16],
79
87
  "templateId": [1, "template-id"],
80
88
  "dirty": [32],
81
- "loading": [32],
82
89
  "personal": [32],
83
90
  "public": [32]
84
91
  }]);
@@ -2,7 +2,6 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host, Fragment } from
2
2
  import { t as throttledGetEnvelope, d as cancelEnvelope } from './Envelopes.js';
3
3
  import { E as EnvelopeStates } from './Types.js';
4
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
- import { i as integerSequence } from './Primitives.js';
6
5
  import { f as saveEnvelopesAsZip, h as saveCertificate, s as saveAttachment } from './utils.js';
7
6
  import { S as SDKError } from './errors.js';
8
7
  import { d as defineCustomElement$4 } from './verdocs-button2.js';
@@ -29,6 +28,25 @@ var userCanCancelEnvelope = function (session, envelope) {
29
28
  envelope.status !== EnvelopeStates.CANCELED;
30
29
  };
31
30
 
31
+ /**
32
+ * Create an array containing a sequence of integers, e.g. [START, START+1, START+2, ...] This is frequently useful
33
+ * in rendering operations when there is no source array to .map() across.
34
+ */
35
+ var integerSequence = function (start, count) {
36
+ return Array(count)
37
+ .fill(1)
38
+ .map(function (_, index) { return index + start; });
39
+ };
40
+ /**
41
+ * Generate suggested initials for a full name, e.g. "John Doe" will yield "JD".
42
+ */
43
+ var fullNameToInitials = function (name) {
44
+ return name
45
+ .split(' ')
46
+ .map(function (word) { return word[0]; })
47
+ .join('');
48
+ };
49
+
32
50
  const verdocsViewCss = "verdocs-view{display:-ms-flexbox;display:flex;overflow:hidden;min-height:600px;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-view div,verdocs-view canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-view .document{-ms-flex:1;flex:1;width:100%;height:100%;display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;max-width:1200px;position:relative;overflow-y:scroll;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-view .document .inner{width:100%;max-width:1028px}#verdocs-view-header{width:100%;color:#fff;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex:0 0 56px;flex:0 0 56px;padding:0 20px;font-size:12px;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-webkit-transition:all 0.25s;transition:all 0.25s;background-color:#33354c;-webkit-box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12);box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12)}#verdocs-view-header .inner{width:100%;display:-ms-flexbox;display:flex;margin:0 auto;padding:0 20px;max-width:1200px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}#verdocs-view-header .logo{width:80px;display:none;margin:-6px 0 0 0}#verdocs-view-header .title{font-size:18px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}";
33
51
 
34
52
  const VerdocsView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -211,4 +229,4 @@ function defineCustomElement() {
211
229
  }
212
230
  defineCustomElement();
213
231
 
214
- export { VerdocsView as V, defineCustomElement as d };
232
+ export { VerdocsView as V, defineCustomElement as d, fullNameToInitials as f, integerSequence as i };