@verdocs/web-sdk 4.2.157 → 5.0.0

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 (514) hide show
  1. package/dist/cjs/Datastore-b1742da2.js +1783 -0
  2. package/dist/cjs/Icons-02a47df1.js +7 -0
  3. package/dist/cjs/{index-2589e4d1.js → index-ccac8641.js} +19 -31
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/{utils-5accd019.js → utils-ba1e95e0.js} +4 -2
  6. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-build.cjs.entry.js +22 -13
  8. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +1 -1
  9. package/dist/cjs/{verdocs-button_3.cjs.entry.js → verdocs-button_2.cjs.entry.js} +1 -56
  10. package/dist/cjs/{verdocs-checkbox_4.cjs.entry.js → verdocs-checkbox_6.cjs.entry.js} +115 -24
  11. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +2 -2
  12. package/dist/cjs/verdocs-dialog.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +2 -2
  15. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +30 -15
  16. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +32 -17
  17. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +64 -45
  18. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +2 -2
  19. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +105 -156
  20. package/dist/cjs/verdocs-field-payment.cjs.entry.js +38 -25
  21. package/dist/cjs/{verdocs-file-chooser_2.cjs.entry.js → verdocs-file-chooser.cjs.entry.js} +2 -21
  22. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js +27 -5
  23. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +1 -1
  25. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +2 -2
  26. package/dist/cjs/{verdocs-preview_9.cjs.entry.js → verdocs-preview_5.cjs.entry.js} +220 -593
  27. package/dist/cjs/verdocs-progress-bar.cjs.entry.js +25 -0
  28. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-search-box.cjs.entry.js +1 -1
  31. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  32. package/dist/cjs/verdocs-sign.cjs.entry.js +11 -12
  33. package/dist/cjs/verdocs-spinner.cjs.entry.js +1 -1
  34. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +1 -1
  35. package/dist/cjs/verdocs-table.cjs.entry.js +1 -1
  36. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  37. package/dist/cjs/verdocs-template-create.cjs.entry.js +108 -0
  38. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +78 -63
  39. package/dist/cjs/verdocs-template-role-properties.cjs.entry.js +58 -37
  40. package/dist/cjs/verdocs-template-star.cjs.entry.js +2 -2
  41. package/dist/cjs/verdocs-template-tags.cjs.entry.js +2 -2
  42. package/dist/cjs/verdocs-templates-list.cjs.entry.js +1 -1
  43. package/dist/cjs/verdocs-toggle.cjs.entry.js +1 -1
  44. package/dist/cjs/verdocs-web-sdk.cjs.js +3 -3
  45. package/dist/collection/collection-manifest.json +2 -5
  46. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +5 -21
  47. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +27 -40
  48. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +27 -28
  49. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +45 -44
  50. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +12 -11
  51. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +28 -28
  52. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.js +34 -15
  53. package/dist/collection/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.js +35 -17
  54. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +67 -45
  55. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +29 -18
  56. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +30 -20
  57. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +30 -22
  58. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +29 -17
  59. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +30 -18
  60. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +192 -139
  61. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +30 -20
  62. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +30 -18
  63. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +31 -19
  64. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +31 -0
  65. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +44 -44
  66. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +29 -17
  67. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.js +37 -32
  68. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.js +7 -15
  69. package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.css +6 -0
  70. package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js +79 -61
  71. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +48 -24
  72. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +65 -64
  73. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +61 -36
  74. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +63 -46
  75. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  76. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  77. package/dist/collection/utils/Datastore.js +141 -0
  78. package/dist/collection/utils/Templates.js +2 -0
  79. package/dist/collection/utils/utils.js +3 -2
  80. package/dist/components/index.js +1 -7
  81. package/dist/components/{p-3044c9cb.js → p-070bebd7.js} +1 -1
  82. package/dist/components/{p-69881420.js → p-0ca7012b.js} +1 -1
  83. package/dist/components/{p-b2bf338f.js → p-0d063bf9.js} +65 -35
  84. package/dist/components/{p-ac7578f6.js → p-0e332769.js} +1 -1
  85. package/dist/components/{p-12594438.js → p-1030e0b1.js} +32 -32
  86. package/dist/components/{p-b11eb119.js → p-15d530b8.js} +6 -6
  87. package/dist/components/{p-71dd305b.js → p-18999830.js} +2 -2
  88. package/dist/components/{p-90540412.js → p-1ae5d7e0.js} +1 -1
  89. package/dist/components/{p-4d2f2954.js → p-1e2e8b1c.js} +1 -1
  90. package/dist/components/{p-c7a21595.js → p-1e67ebdf.js} +67 -42
  91. package/dist/components/{p-72e959a7.js → p-1fc15f94.js} +31 -32
  92. package/dist/components/{p-85ef4d07.js → p-2548f3f0.js} +49 -38
  93. package/dist/components/{p-9a85b700.js → p-258c3c53.js} +125 -101
  94. package/dist/components/{p-263dc67d.js → p-315d6592.js} +1 -1
  95. package/dist/components/{p-4dc4418a.js → p-3201d529.js} +1 -1
  96. package/dist/components/{p-7786799a.js → p-324ed895.js} +8 -4
  97. package/dist/components/{p-4c8548d4.js → p-4bc5ac82.js} +4 -3
  98. package/dist/components/{p-ffe8b41d.js → p-4dd750e9.js} +1 -1
  99. package/dist/components/{p-b679d760.js → p-4e08dcdd.js} +33 -32
  100. package/dist/components/{p-82fb3284.js → p-58c2bd5d.js} +1 -1
  101. package/dist/components/{p-d3170dcd.js → p-5a9cea40.js} +4 -4
  102. package/dist/components/{p-76282bf0.js → p-5d1dec61.js} +52 -53
  103. package/dist/components/{p-8b27ce22.js → p-5d4bbcd0.js} +1 -1
  104. package/dist/components/{p-8cd2e08d.js → p-5d82a9f3.js} +64 -57
  105. package/dist/components/{p-877eaf65.js → p-5eb45a4f.js} +1 -1
  106. package/dist/components/{p-cbb20d7a.js → p-6400f542.js} +36 -14
  107. package/dist/components/{p-6e8c00bc.js → p-642af221.js} +32 -31
  108. package/dist/components/{p-03660739.js → p-649a2ae7.js} +31 -32
  109. package/dist/components/{p-e4ac6259.js → p-6fcd99d1.js} +2 -2
  110. package/dist/components/p-7e9c499e.js +4 -0
  111. package/dist/components/{p-cdf871dd.js → p-81794664.js} +30 -29
  112. package/dist/components/{p-1b60debe.js → p-82a3f92e.js} +30 -29
  113. package/dist/components/{p-921297ba.js → p-84ae0283.js} +1 -1
  114. package/dist/components/{p-fbc69665.js → p-8d3c0b4c.js} +2 -2
  115. package/dist/components/{p-83a2fa2f.js → p-8fbc64e9.js} +72 -55
  116. package/dist/components/{p-761eefa9.js → p-94065def.js} +91 -90
  117. package/dist/components/{p-0e64ccc3.js → p-9bb47a5a.js} +1 -1
  118. package/dist/components/{p-df4ac086.js → p-a3e12c74.js} +2 -2
  119. package/dist/components/{p-6b369b14.js → p-b16c202a.js} +1 -1
  120. package/dist/components/{p-3518350d.js → p-b9034018.js} +4 -4
  121. package/dist/components/{p-b8cd75c0.js → p-b9a18099.js} +56 -46
  122. package/dist/components/{p-8f942993.js → p-bdc03b91.js} +32 -31
  123. package/dist/components/{p-4535a9fd.js → p-c7b00ce6.js} +36 -17
  124. package/dist/components/{p-e4a852b5.js → p-c8fedb4e.js} +7 -6
  125. package/dist/components/{p-0162bdd3.js → p-caa41754.js} +31 -34
  126. package/dist/components/{p-83245875.js → p-cf6ea837.js} +2 -2
  127. package/dist/components/p-da4d4eed.js +1781 -0
  128. package/dist/components/p-ea5954bd.js +4 -0
  129. package/dist/components/{p-1e63fb14.js → p-ec894daf.js} +2 -2
  130. package/dist/components/{p-556596e4.js → p-f72b9c45.js} +1 -1
  131. package/dist/components/{p-a7bbe96b.js → p-f990140a.js} +3 -3
  132. package/dist/components/{p-db4a15fd.js → p-fcad60f5.js} +1 -1
  133. package/dist/components/verdocs-auth.js +4 -4
  134. package/dist/components/verdocs-build.js +93 -115
  135. package/dist/components/verdocs-button-panel.js +1 -1
  136. package/dist/components/verdocs-button.js +1 -1
  137. package/dist/components/verdocs-checkbox.js +1 -1
  138. package/dist/components/verdocs-component-error.js +1 -1
  139. package/dist/components/verdocs-contact-picker.js +1 -1
  140. package/dist/components/verdocs-dialog.js +1 -1
  141. package/dist/components/verdocs-dropdown.js +1 -1
  142. package/dist/components/verdocs-envelope-document-page.js +1 -1
  143. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  144. package/dist/components/verdocs-envelope-recipient-summary.js +37 -19
  145. package/dist/components/verdocs-envelope-sidebar.js +76 -54
  146. package/dist/components/verdocs-envelopes-list.js +12 -12
  147. package/dist/components/verdocs-field-attachment.js +1 -1
  148. package/dist/components/verdocs-field-checkbox.js +1 -1
  149. package/dist/components/verdocs-field-date.js +1 -1
  150. package/dist/components/verdocs-field-dropdown.js +1 -1
  151. package/dist/components/verdocs-field-initial.js +1 -1
  152. package/dist/components/verdocs-field-payment.js +106 -33
  153. package/dist/components/verdocs-field-radio.js +1 -1
  154. package/dist/components/verdocs-field-signature.js +1 -1
  155. package/dist/components/verdocs-field-textarea.js +1 -1
  156. package/dist/components/verdocs-field-textbox.js +1 -1
  157. package/dist/components/verdocs-field-timestamp.js +1 -1
  158. package/dist/components/verdocs-file-chooser.js +56 -1
  159. package/dist/components/verdocs-help-icon.js +1 -1
  160. package/dist/components/verdocs-initial-dialog.js +1 -1
  161. package/dist/components/verdocs-kba-dialog.js +1 -1
  162. package/dist/components/verdocs-loader.js +1 -1
  163. package/dist/components/verdocs-ok-dialog.js +1 -1
  164. package/dist/components/verdocs-organization-card.js +2 -2
  165. package/dist/components/verdocs-pagination.js +1 -1
  166. package/dist/components/verdocs-portal.js +1 -1
  167. package/dist/components/verdocs-preview.js +1 -1
  168. package/dist/components/verdocs-progress-bar.js +1 -1
  169. package/dist/components/verdocs-quick-filter.js +1 -1
  170. package/dist/components/verdocs-quick-functions.js +1 -1
  171. package/dist/components/verdocs-radio-button.js +1 -1
  172. package/dist/components/verdocs-search-box.js +1 -1
  173. package/dist/components/verdocs-search-tabs.js +1 -1
  174. package/dist/components/verdocs-select-input.js +1 -1
  175. package/dist/components/verdocs-send.js +1 -1
  176. package/dist/components/verdocs-sign.js +24 -23
  177. package/dist/components/verdocs-signature-dialog.js +1 -1
  178. package/dist/components/verdocs-spinner.js +1 -1
  179. package/dist/components/verdocs-status-indicator.js +1 -1
  180. package/dist/components/verdocs-switch.js +1 -1
  181. package/dist/components/verdocs-table.js +1 -1
  182. package/dist/components/verdocs-tabs.js +1 -1
  183. package/dist/components/verdocs-template-build-tabs.js +1 -1
  184. package/dist/components/verdocs-template-card.js +1 -1
  185. package/dist/components/verdocs-template-create.js +148 -1
  186. package/dist/components/verdocs-template-document-page.js +1 -1
  187. package/dist/components/verdocs-template-field-properties.js +1 -1
  188. package/dist/components/verdocs-template-fields.js +1 -1
  189. package/dist/components/verdocs-template-role-properties.js +1 -1
  190. package/dist/components/verdocs-template-roles.js +1 -1
  191. package/dist/components/verdocs-template-star.js +1 -1
  192. package/dist/components/verdocs-template-tags.js +2 -2
  193. package/dist/components/verdocs-templates-list.js +11 -11
  194. package/dist/components/verdocs-text-input.js +1 -1
  195. package/dist/components/verdocs-toggle-button.js +1 -1
  196. package/dist/components/verdocs-toggle.js +1 -1
  197. package/dist/components/verdocs-toolbar-icon.js +1 -1
  198. package/dist/components/verdocs-upload-dialog.js +1 -1
  199. package/dist/components/verdocs-view.js +1 -1
  200. package/dist/custom-elements.json +2114 -0
  201. package/dist/esm/Datastore-52fcbac6.js +1781 -0
  202. package/dist/esm/Icons-190fd11d.js +4 -0
  203. package/dist/esm/{index-c8587076.js → index-272d51a4.js} +20 -30
  204. package/dist/esm/loader.js +3 -3
  205. package/dist/esm/{utils-6ecd6558.js → utils-47de6f79.js} +4 -3
  206. package/dist/esm/verdocs-auth.entry.js +1 -1
  207. package/dist/esm/verdocs-build.entry.js +23 -14
  208. package/dist/esm/verdocs-button-panel_2.entry.js +1 -1
  209. package/dist/esm/{verdocs-button_3.entry.js → verdocs-button_2.entry.js} +2 -56
  210. package/dist/esm/{verdocs-checkbox_4.entry.js → verdocs-checkbox_6.entry.js} +115 -26
  211. package/dist/esm/verdocs-contact-picker_2.entry.js +2 -2
  212. package/dist/esm/verdocs-dialog.entry.js +1 -1
  213. package/dist/esm/verdocs-dropdown.entry.js +1 -1
  214. package/dist/esm/verdocs-envelope-document-page.entry.js +2 -2
  215. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +31 -16
  216. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +33 -18
  217. package/dist/esm/verdocs-envelope-sidebar.entry.js +65 -46
  218. package/dist/esm/verdocs-envelopes-list.entry.js +2 -2
  219. package/dist/esm/verdocs-field-attachment_13.entry.js +105 -156
  220. package/dist/esm/verdocs-field-payment.entry.js +38 -25
  221. package/dist/{components/p-fe2dca8c.js → esm/verdocs-file-chooser.entry.js} +8 -31
  222. package/dist/esm/verdocs-kba-dialog_2.entry.js +27 -5
  223. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  224. package/dist/esm/verdocs-organization-card_2.entry.js +1 -1
  225. package/dist/esm/verdocs-pagination_2.entry.js +2 -2
  226. package/dist/esm/{verdocs-preview_9.entry.js → verdocs-preview_5.entry.js} +222 -591
  227. package/dist/esm/verdocs-progress-bar.entry.js +21 -0
  228. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  229. package/dist/esm/verdocs-radio-button.entry.js +1 -1
  230. package/dist/esm/verdocs-search-box.entry.js +1 -1
  231. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  232. package/dist/esm/verdocs-sign.entry.js +11 -12
  233. package/dist/esm/verdocs-spinner.entry.js +1 -1
  234. package/dist/esm/verdocs-status-indicator.entry.js +1 -1
  235. package/dist/esm/verdocs-table.entry.js +1 -1
  236. package/dist/esm/verdocs-template-card.entry.js +1 -1
  237. package/dist/{components/p-f9cc62a7.js → esm/verdocs-template-create.entry.js} +15 -69
  238. package/dist/esm/verdocs-template-document-page_2.entry.js +79 -64
  239. package/dist/esm/verdocs-template-role-properties.entry.js +59 -38
  240. package/dist/esm/verdocs-template-star.entry.js +2 -2
  241. package/dist/esm/verdocs-template-tags.entry.js +2 -2
  242. package/dist/esm/verdocs-templates-list.entry.js +1 -1
  243. package/dist/esm/verdocs-toggle.entry.js +1 -1
  244. package/dist/esm/verdocs-web-sdk.js +4 -4
  245. package/dist/esm-es5/Datastore-52fcbac6.js +1 -0
  246. package/dist/esm-es5/Icons-190fd11d.js +1 -0
  247. package/dist/esm-es5/index-272d51a4.js +1 -0
  248. package/dist/esm-es5/loader.js +1 -1
  249. package/dist/esm-es5/{utils-6ecd6558.js → utils-47de6f79.js} +1 -1
  250. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  251. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  252. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  253. package/dist/esm-es5/verdocs-button_2.entry.js +1 -0
  254. package/dist/esm-es5/verdocs-checkbox_6.entry.js +1 -0
  255. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  256. package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
  257. package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
  258. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  259. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  260. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  261. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  262. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  263. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  264. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  265. package/dist/esm-es5/verdocs-file-chooser.entry.js +1 -0
  266. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +1 -1
  267. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  268. package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
  269. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  270. package/dist/esm-es5/verdocs-preview_5.entry.js +1 -0
  271. package/dist/esm-es5/verdocs-progress-bar.entry.js +1 -0
  272. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  273. package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
  274. package/dist/esm-es5/verdocs-search-box.entry.js +1 -1
  275. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  276. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  277. package/dist/esm-es5/verdocs-spinner.entry.js +1 -1
  278. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  279. package/dist/esm-es5/verdocs-table.entry.js +1 -1
  280. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  281. package/dist/esm-es5/verdocs-template-create.entry.js +1 -0
  282. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  283. package/dist/esm-es5/verdocs-template-role-properties.entry.js +1 -1
  284. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  285. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  286. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  287. package/dist/esm-es5/verdocs-toggle.entry.js +1 -1
  288. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  289. package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.d.ts +0 -2
  290. package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +8 -32
  291. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +6 -8
  292. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +7 -6
  293. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +3 -3
  294. package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +6 -5
  295. package/dist/types/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.d.ts +6 -3
  296. package/dist/types/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.d.ts +6 -3
  297. package/dist/types/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +8 -4
  298. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +6 -7
  299. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +6 -7
  300. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +6 -7
  301. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +6 -7
  302. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +6 -7
  303. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +44 -30
  304. package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +6 -7
  305. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +6 -7
  306. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +6 -7
  307. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +5 -12
  308. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +6 -7
  309. package/dist/types/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.d.ts +7 -4
  310. package/dist/types/components/templates/verdocs-template-document-page/verdocs-template-document-page.d.ts +7 -4
  311. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +7 -8
  312. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +6 -8
  313. package/dist/types/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.d.ts +7 -7
  314. package/dist/types/components/templates/verdocs-template-roles/verdocs-template-roles.d.ts +7 -6
  315. package/dist/types/components.d.ts +176 -409
  316. package/dist/types/utils/Datastore.d.ts +24 -0
  317. package/dist/types/utils/Templates.d.ts +3 -0
  318. package/dist/types/utils/utils.d.ts +1 -1
  319. package/dist/verdocs-web-sdk/{p-efcbb3cf.entry.js → p-0ca1e87c.entry.js} +1 -1
  320. package/dist/verdocs-web-sdk/{p-dc271457.entry.js → p-167e3d7e.entry.js} +1 -1
  321. package/dist/verdocs-web-sdk/p-1efce6e0.entry.js +1 -0
  322. package/dist/verdocs-web-sdk/{p-7bd37bca.entry.js → p-2a1287ec.entry.js} +1 -1
  323. package/dist/verdocs-web-sdk/{p-5381847c.system.js → p-2be751c4.system.js} +1 -1
  324. package/dist/verdocs-web-sdk/{p-cb30f11e.entry.js → p-2f73c9de.entry.js} +1 -1
  325. package/dist/verdocs-web-sdk/p-3364cc13.system.entry.js +1 -0
  326. package/dist/verdocs-web-sdk/{p-03d40eb5.system.entry.js → p-37d747fb.system.entry.js} +1 -1
  327. package/dist/verdocs-web-sdk/p-386d789c.system.entry.js +1 -0
  328. package/dist/verdocs-web-sdk/p-3a1fa556.system.entry.js +1 -0
  329. package/dist/verdocs-web-sdk/{p-0fd57194.entry.js → p-41cbf650.entry.js} +1 -1
  330. package/dist/verdocs-web-sdk/{p-26715b8b.entry.js → p-4b36ca30.entry.js} +1 -1
  331. package/dist/verdocs-web-sdk/{p-98501408.system.entry.js → p-4e9e154f.system.entry.js} +1 -1
  332. package/dist/verdocs-web-sdk/{p-a3778013.system.entry.js → p-511a4ecc.system.entry.js} +1 -1
  333. package/dist/verdocs-web-sdk/{p-65a4e01e.entry.js → p-524f37a0.entry.js} +1 -1
  334. package/dist/verdocs-web-sdk/{p-13fe8650.system.entry.js → p-53f4c7c3.system.entry.js} +1 -1
  335. package/dist/verdocs-web-sdk/p-54f085d1.entry.js +1 -0
  336. package/dist/verdocs-web-sdk/{p-d1e64207.entry.js → p-584113d1.entry.js} +1 -1
  337. package/dist/verdocs-web-sdk/{p-f8cad58e.entry.js → p-5f1a000c.entry.js} +1 -1
  338. package/dist/verdocs-web-sdk/{p-256f07fd.system.entry.js → p-62f15675.system.entry.js} +1 -1
  339. package/dist/verdocs-web-sdk/{p-fae63f89.js → p-650697bd.js} +1 -1
  340. package/dist/verdocs-web-sdk/{p-c06d2604.entry.js → p-65c5398e.entry.js} +1 -1
  341. package/dist/verdocs-web-sdk/p-6a95ce12.system.entry.js +1 -0
  342. package/dist/verdocs-web-sdk/{p-0446030b.entry.js → p-6ced37ed.entry.js} +1 -1
  343. package/dist/verdocs-web-sdk/{p-16619383.entry.js → p-7464b84f.entry.js} +1 -1
  344. package/dist/verdocs-web-sdk/{p-6e3fa0c4.system.entry.js → p-761f6656.system.entry.js} +1 -1
  345. package/dist/verdocs-web-sdk/{p-30bc5986.entry.js → p-76cc40fe.entry.js} +1 -1
  346. package/dist/verdocs-web-sdk/{p-c45dc777.entry.js → p-771c2f92.entry.js} +1 -1
  347. package/dist/verdocs-web-sdk/p-78191329.system.entry.js +1 -0
  348. package/dist/verdocs-web-sdk/p-79f842b4.system.entry.js +1 -0
  349. package/dist/verdocs-web-sdk/{p-f3c995d8.system.entry.js → p-7c8938e7.system.entry.js} +1 -1
  350. package/dist/verdocs-web-sdk/p-7e9c499e.js +1 -0
  351. package/dist/verdocs-web-sdk/p-8221a48f.entry.js +1 -0
  352. package/dist/verdocs-web-sdk/p-860b9f94.system.entry.js +1 -0
  353. package/dist/verdocs-web-sdk/p-89cdecac.system.entry.js +1 -0
  354. package/dist/verdocs-web-sdk/p-8a2ff048.entry.js +1 -0
  355. package/dist/verdocs-web-sdk/{p-921b56fd.system.entry.js → p-914e131c.system.entry.js} +1 -1
  356. package/dist/verdocs-web-sdk/{p-5737f0ae.system.js → p-9186f42e.system.js} +1 -1
  357. package/dist/verdocs-web-sdk/{p-8e233a6b.system.entry.js → p-9227d400.system.entry.js} +1 -1
  358. package/dist/verdocs-web-sdk/p-92ce6180.entry.js +1 -0
  359. package/dist/verdocs-web-sdk/p-9567cb7d.system.entry.js +1 -0
  360. package/dist/verdocs-web-sdk/p-9812e99d.system.entry.js +1 -0
  361. package/dist/verdocs-web-sdk/{p-4b4801ad.system.entry.js → p-982f1b36.system.entry.js} +1 -1
  362. package/dist/verdocs-web-sdk/{p-ed6a5478.system.entry.js → p-9d0b0e36.system.entry.js} +1 -1
  363. package/dist/verdocs-web-sdk/{p-4266e717.system.entry.js → p-a08886c1.system.entry.js} +1 -1
  364. package/dist/verdocs-web-sdk/{p-e25e1dcf.entry.js → p-a165607e.entry.js} +1 -1
  365. package/dist/verdocs-web-sdk/p-a242aa80.system.entry.js +1 -0
  366. package/dist/verdocs-web-sdk/p-a7db9f1f.system.entry.js +1 -0
  367. package/dist/verdocs-web-sdk/{p-5d6a2fda.system.entry.js → p-a9635106.system.entry.js} +1 -1
  368. package/dist/verdocs-web-sdk/p-aebb0cd9.system.entry.js +1 -0
  369. package/dist/verdocs-web-sdk/p-b00ef194.system.entry.js +1 -0
  370. package/dist/verdocs-web-sdk/p-b0b958a0.entry.js +1 -0
  371. package/dist/verdocs-web-sdk/p-b8737f7b.entry.js +1 -0
  372. package/dist/verdocs-web-sdk/{p-49988769.js → p-b9654a5e.js} +2 -2
  373. package/dist/verdocs-web-sdk/p-bb0effe1.entry.js +1 -0
  374. package/dist/verdocs-web-sdk/p-bcc23811.entry.js +1 -0
  375. package/dist/verdocs-web-sdk/{p-281e63e5.entry.js → p-bd7406ae.entry.js} +1 -1
  376. package/dist/verdocs-web-sdk/{p-e8d91957.entry.js → p-bdd7b3d3.entry.js} +1 -1
  377. package/dist/verdocs-web-sdk/{p-c5818330.entry.js → p-c1728f5c.entry.js} +1 -1
  378. package/dist/verdocs-web-sdk/p-c18c718f.system.js +1 -0
  379. package/dist/verdocs-web-sdk/{p-731066de.system.entry.js → p-c6fd3e53.system.entry.js} +1 -1
  380. package/dist/verdocs-web-sdk/p-c7cd6843.entry.js +1 -0
  381. package/dist/verdocs-web-sdk/{p-4f7c72f9.system.entry.js → p-c9f40726.system.entry.js} +1 -1
  382. package/dist/verdocs-web-sdk/p-ca712f40.system.entry.js +1 -0
  383. package/dist/verdocs-web-sdk/p-cbb75c5e.system.entry.js +1 -0
  384. package/dist/verdocs-web-sdk/{p-751b0280.entry.js → p-d475fff3.entry.js} +1 -1
  385. package/dist/verdocs-web-sdk/{p-91c4298b.system.entry.js → p-d5870e33.system.entry.js} +1 -1
  386. package/dist/verdocs-web-sdk/{p-e5126f26.system.entry.js → p-d8dae4e9.system.entry.js} +1 -1
  387. package/dist/verdocs-web-sdk/p-d93c7661.entry.js +1 -0
  388. package/dist/verdocs-web-sdk/{p-93093a7a.system.entry.js → p-d98cbd0f.system.entry.js} +1 -1
  389. package/dist/verdocs-web-sdk/p-da4d4eed.js +1 -0
  390. package/dist/verdocs-web-sdk/{p-2298c22e.entry.js → p-ddb17b3e.entry.js} +1 -1
  391. package/dist/verdocs-web-sdk/p-df04f0ca.entry.js +1 -0
  392. package/dist/verdocs-web-sdk/p-e2b70dfb.system.js +1 -0
  393. package/dist/verdocs-web-sdk/{p-2aea0c7b.system.entry.js → p-e438bd02.system.entry.js} +1 -1
  394. package/dist/verdocs-web-sdk/p-e5044463.entry.js +1 -0
  395. package/dist/verdocs-web-sdk/{p-b066c4f2.system.entry.js → p-e5d291f3.system.entry.js} +1 -1
  396. package/dist/verdocs-web-sdk/{p-7f1e0c5e.entry.js → p-e6dbb0f7.entry.js} +1 -1
  397. package/dist/verdocs-web-sdk/{p-c4d61c66.entry.js → p-e83cd333.entry.js} +1 -1
  398. package/dist/verdocs-web-sdk/p-efd8149f.system.js +1 -0
  399. package/dist/verdocs-web-sdk/p-f4fcf7a5.entry.js +1 -0
  400. package/dist/verdocs-web-sdk/{p-97b951e6.system.entry.js → p-f5d01982.system.entry.js} +1 -1
  401. package/dist/verdocs-web-sdk/p-f65a9b03.entry.js +1 -0
  402. package/dist/verdocs-web-sdk/p-f7abe6e2.entry.js +1 -0
  403. package/dist/verdocs-web-sdk/{p-6e55af26.system.entry.js → p-f9b37af2.system.entry.js} +1 -1
  404. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  405. package/dist/verdocs-web-sdk/verdocs-web-sdk.js +1 -1
  406. package/package.json +3 -3
  407. package/dist/cjs/EnvelopeStore-f1cd9bd3.js +0 -96
  408. package/dist/cjs/Icons-9a6f2f7c.js +0 -86
  409. package/dist/cjs/TemplateFieldStore-7bcc0f7a.js +0 -44
  410. package/dist/cjs/TemplateRoleStore-e8bb00ec.js +0 -51
  411. package/dist/cjs/TemplateStore-db21be4d.js +0 -99
  412. package/dist/cjs/index-2a189d85.js +0 -3721
  413. package/dist/cjs/index-76d03a35.js +0 -196
  414. package/dist/cjs/verdocs-loader.cjs.entry.js +0 -20
  415. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.css +0 -120
  416. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +0 -284
  417. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.css +0 -0
  418. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.js +0 -196
  419. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.css +0 -86
  420. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.js +0 -203
  421. package/dist/collection/utils/EnvelopeStore.js +0 -90
  422. package/dist/collection/utils/TemplateFieldStore.js +0 -36
  423. package/dist/collection/utils/TemplateRoleStore.js +0 -41
  424. package/dist/collection/utils/TemplateStore.js +0 -94
  425. package/dist/components/p-00d39dca.js +0 -39
  426. package/dist/components/p-0933fb2d.js +0 -127
  427. package/dist/components/p-09d28afd.js +0 -97
  428. package/dist/components/p-3555cef1.js +0 -122
  429. package/dist/components/p-474b6663.js +0 -1314
  430. package/dist/components/p-821f2345.js +0 -93
  431. package/dist/components/p-9b5a4f9e.js +0 -44
  432. package/dist/components/p-a706bac9.js +0 -3719
  433. package/dist/components/p-b0766439.js +0 -76
  434. package/dist/components/p-ed9a1a21.js +0 -200
  435. package/dist/components/verdocs-template-attachments.d.ts +0 -11
  436. package/dist/components/verdocs-template-attachments.js +0 -6
  437. package/dist/components/verdocs-template-name.d.ts +0 -11
  438. package/dist/components/verdocs-template-name.js +0 -6
  439. package/dist/components/verdocs-template-visibility.d.ts +0 -11
  440. package/dist/components/verdocs-template-visibility.js +0 -6
  441. package/dist/esm/EnvelopeStore-4599b7d3.js +0 -93
  442. package/dist/esm/Icons-faf0377f.js +0 -76
  443. package/dist/esm/TemplateFieldStore-909147d8.js +0 -39
  444. package/dist/esm/TemplateRoleStore-2fef1fdb.js +0 -44
  445. package/dist/esm/TemplateStore-ace14a8b.js +0 -97
  446. package/dist/esm/index-24d8ae6a.js +0 -194
  447. package/dist/esm/index-7588a071.js +0 -3719
  448. package/dist/esm/verdocs-file-chooser_2.entry.js +0 -53
  449. package/dist/esm/verdocs-loader.entry.js +0 -16
  450. package/dist/esm-es5/EnvelopeStore-4599b7d3.js +0 -1
  451. package/dist/esm-es5/Icons-faf0377f.js +0 -1
  452. package/dist/esm-es5/TemplateFieldStore-909147d8.js +0 -1
  453. package/dist/esm-es5/TemplateRoleStore-2fef1fdb.js +0 -1
  454. package/dist/esm-es5/TemplateStore-ace14a8b.js +0 -1
  455. package/dist/esm-es5/index-24d8ae6a.js +0 -1
  456. package/dist/esm-es5/index-7588a071.js +0 -1
  457. package/dist/esm-es5/index-c8587076.js +0 -1
  458. package/dist/esm-es5/verdocs-button_3.entry.js +0 -1
  459. package/dist/esm-es5/verdocs-checkbox_4.entry.js +0 -1
  460. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +0 -1
  461. package/dist/esm-es5/verdocs-loader.entry.js +0 -1
  462. package/dist/esm-es5/verdocs-preview_9.entry.js +0 -1
  463. package/dist/types/components/templates/verdocs-template-attachments/verdocs-template-attachments.d.ts +0 -56
  464. package/dist/types/components/templates/verdocs-template-name/verdocs-template-name.d.ts +0 -41
  465. package/dist/types/components/templates/verdocs-template-visibillity/verdocs-template-visibility.d.ts +0 -42
  466. package/dist/types/utils/EnvelopeStore.d.ts +0 -12
  467. package/dist/types/utils/TemplateFieldStore.d.ts +0 -9
  468. package/dist/types/utils/TemplateRoleStore.d.ts +0 -11
  469. package/dist/types/utils/TemplateStore.d.ts +0 -16
  470. package/dist/verdocs-web-sdk/p-0c51c5be.entry.js +0 -1
  471. package/dist/verdocs-web-sdk/p-194f9f4d.entry.js +0 -1
  472. package/dist/verdocs-web-sdk/p-1ce2f724.system.entry.js +0 -1
  473. package/dist/verdocs-web-sdk/p-2211234d.system.js +0 -1
  474. package/dist/verdocs-web-sdk/p-2305c1e8.system.entry.js +0 -1
  475. package/dist/verdocs-web-sdk/p-261d5b4a.system.entry.js +0 -1
  476. package/dist/verdocs-web-sdk/p-341d540f.system.entry.js +0 -1
  477. package/dist/verdocs-web-sdk/p-368a36ea.system.js +0 -1
  478. package/dist/verdocs-web-sdk/p-36b5d46e.entry.js +0 -1
  479. package/dist/verdocs-web-sdk/p-569434fb.system.js +0 -1
  480. package/dist/verdocs-web-sdk/p-56c1ebd6.entry.js +0 -1
  481. package/dist/verdocs-web-sdk/p-5bf2910c.system.entry.js +0 -1
  482. package/dist/verdocs-web-sdk/p-6bc1b9f4.entry.js +0 -1
  483. package/dist/verdocs-web-sdk/p-6fda3817.js +0 -1
  484. package/dist/verdocs-web-sdk/p-77ec43a3.system.entry.js +0 -1
  485. package/dist/verdocs-web-sdk/p-79e222f8.entry.js +0 -1
  486. package/dist/verdocs-web-sdk/p-7a5b80f8.entry.js +0 -1
  487. package/dist/verdocs-web-sdk/p-7d18cb23.system.entry.js +0 -1
  488. package/dist/verdocs-web-sdk/p-7d593603.system.js +0 -1
  489. package/dist/verdocs-web-sdk/p-9fabdbb1.system.entry.js +0 -1
  490. package/dist/verdocs-web-sdk/p-9ff1be63.entry.js +0 -1
  491. package/dist/verdocs-web-sdk/p-a04aac80.entry.js +0 -1
  492. package/dist/verdocs-web-sdk/p-a1a2c13b.entry.js +0 -1
  493. package/dist/verdocs-web-sdk/p-a706bac9.js +0 -1
  494. package/dist/verdocs-web-sdk/p-b0766439.js +0 -1
  495. package/dist/verdocs-web-sdk/p-b0bc8c15.system.entry.js +0 -1
  496. package/dist/verdocs-web-sdk/p-b17843d9.system.js +0 -1
  497. package/dist/verdocs-web-sdk/p-b1fcc883.entry.js +0 -1
  498. package/dist/verdocs-web-sdk/p-b56793c4.entry.js +0 -1
  499. package/dist/verdocs-web-sdk/p-b84d1a25.system.entry.js +0 -1
  500. package/dist/verdocs-web-sdk/p-bb253149.js +0 -1
  501. package/dist/verdocs-web-sdk/p-bd642df2.js +0 -1
  502. package/dist/verdocs-web-sdk/p-c7115b35.system.entry.js +0 -1
  503. package/dist/verdocs-web-sdk/p-cd546dbe.system.js +0 -1
  504. package/dist/verdocs-web-sdk/p-cde4c155.js +0 -1
  505. package/dist/verdocs-web-sdk/p-d3ddc7c8.system.entry.js +0 -1
  506. package/dist/verdocs-web-sdk/p-d86c8c1a.entry.js +0 -1
  507. package/dist/verdocs-web-sdk/p-dbddb752.system.entry.js +0 -1
  508. package/dist/verdocs-web-sdk/p-dcd3eb1b.js +0 -1
  509. package/dist/verdocs-web-sdk/p-e123f19c.entry.js +0 -1
  510. package/dist/verdocs-web-sdk/p-e294b6c2.system.entry.js +0 -1
  511. package/dist/verdocs-web-sdk/p-e48b387d.system.entry.js +0 -1
  512. package/dist/verdocs-web-sdk/p-e83a163d.entry.js +0 -1
  513. package/dist/verdocs-web-sdk/p-f5064e0c.system.js +0 -1
  514. package/dist/verdocs-web-sdk/p-f79b8537.system.js +0 -1
@@ -2,19 +2,17 @@ import interact from "interactjs";
2
2
  import { VerdocsEndpoint } from "@verdocs/js-sdk";
3
3
  import { updateField, getRGBA } from "@verdocs/js-sdk";
4
4
  import { h, Host, Fragment } from "@stencil/core";
5
- import { getRoleIndex, getTemplateRoleStore } from "../../../utils/TemplateRoleStore";
6
- import { getTemplateFieldStore } from "../../../utils/TemplateFieldStore";
7
5
  import { SettingsIcon } from "../../../utils/Icons";
6
+ import { Store } from "../../../utils/Datastore";
8
7
  /**
9
8
  * Display a multi-line text input field. Reminder: the "position" of the field is specified
10
9
  * as the BOTTOM-LEFT corner.
11
10
  */
12
11
  export class VerdocsFieldTextarea {
13
12
  constructor() {
14
- this.fieldStore = null;
15
- this.roleStore = null;
16
13
  this.endpoint = VerdocsEndpoint.getDefault();
17
- this.templateid = '';
14
+ this.source = 'template';
15
+ this.sourceid = '';
18
16
  this.fieldname = '';
19
17
  this.disabled = false;
20
18
  this.editable = false;
@@ -41,10 +39,6 @@ export class VerdocsFieldTextarea {
41
39
  settingsPanel.hidePanel();
42
40
  }
43
41
  }
44
- async componentWillLoad() {
45
- this.fieldStore = getTemplateFieldStore(this.templateid);
46
- this.roleStore = getTemplateRoleStore(this.templateid);
47
- }
48
42
  componentDidRender() {
49
43
  interact.dynamicDrop(true);
50
44
  if (this.editable) {
@@ -76,7 +70,7 @@ export class VerdocsFieldTextarea {
76
70
  Object.assign(e.target.dataset, { x, y, h });
77
71
  }
78
72
  handleResizeEnd(e) {
79
- const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
73
+ const { field } = Store.getField(this.source, this.sourceid, this.fieldname);
80
74
  if (!field) {
81
75
  return h(Fragment, null);
82
76
  }
@@ -85,7 +79,7 @@ export class VerdocsFieldTextarea {
85
79
  const height = Math.round(parseFloat(e.target.style.height) / this.yscale);
86
80
  const x = Math.round(field.x + translateX / this.xscale);
87
81
  const y = Math.round(field.y - translateY / this.yscale);
88
- updateField(this.endpoint, this.templateid, this.fieldname, { x, y, width, height })
82
+ updateField(this.endpoint, this.sourceid, this.fieldname, { x, y, width, height })
89
83
  .then(field => {
90
84
  var _a;
91
85
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldname, field });
@@ -94,17 +88,17 @@ export class VerdocsFieldTextarea {
94
88
  .catch(e => console.log('Field update failed', e));
95
89
  }
96
90
  render() {
97
- const { templateid, fieldname = '', editable = false, focused, done = false, disabled = false, xscale = 1, yscale = 1 } = this;
98
- const field = this.fieldStore.get('fields').find(field => field.name === fieldname);
99
- const { required = false, role_name = '', placeholder = '', value = '', label = '' } = field || {};
100
- const backgroundColor = getRGBA(getRoleIndex(this.roleStore, role_name));
91
+ const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
92
+ const { index, field } = Store.getField(source, sourceid, fieldname);
93
+ const { required = false, placeholder = '', value = '', label = '' } = field || {};
94
+ const backgroundColor = getRGBA(index);
101
95
  if (done) {
102
96
  return h(Host, { class: { done } }, value);
103
97
  }
104
98
  return (h(Host, { class: { required, disabled, done, focused }, style: { backgroundColor } }, label && h("label", null, label), h("textarea", { name: fieldname, disabled: disabled, required: required, placeholder: placeholder, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }, value), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
105
99
  e.stopPropagation();
106
100
  this.showingProperties = !this.showingProperties;
107
- } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: templateid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
101
+ } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
108
102
  var _a;
109
103
  (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: fieldname });
110
104
  return this.hideSettingsPanel();
@@ -149,7 +143,25 @@ export class VerdocsFieldTextarea {
149
143
  },
150
144
  "defaultValue": "VerdocsEndpoint.getDefault()"
151
145
  },
152
- "templateid": {
146
+ "source": {
147
+ "type": "string",
148
+ "mutable": false,
149
+ "complexType": {
150
+ "original": "'template' | 'envelope'",
151
+ "resolved": "\"envelope\" | \"template\"",
152
+ "references": {}
153
+ },
154
+ "required": false,
155
+ "optional": false,
156
+ "docs": {
157
+ "tags": [],
158
+ "text": "Fields may be attached to templates or envelopes, but only template fields may be edited."
159
+ },
160
+ "attribute": "source",
161
+ "reflect": true,
162
+ "defaultValue": "'template'"
163
+ },
164
+ "sourceid": {
153
165
  "type": "string",
154
166
  "mutable": false,
155
167
  "complexType": {
@@ -161,9 +173,9 @@ export class VerdocsFieldTextarea {
161
173
  "optional": false,
162
174
  "docs": {
163
175
  "tags": [],
164
- "text": "The template the field is for/from. Only required in Builder mode, to support the Field Properties dialog."
176
+ "text": "The source template or envelope ID the field is found in."
165
177
  },
166
- "attribute": "templateid",
178
+ "attribute": "sourceid",
167
179
  "reflect": true,
168
180
  "defaultValue": "''"
169
181
  },
@@ -23,6 +23,37 @@ verdocs-field-textbox {
23
23
  transform-origin: bottom left;
24
24
  border: 1px solid rgba(0, 0, 0, 0.2);
25
25
  }
26
+ verdocs-field-textbox .edge-top,
27
+ verdocs-field-textbox .edge-right,
28
+ verdocs-field-textbox .edge-left,
29
+ verdocs-field-textbox .edge-bottom {
30
+ position: absolute;
31
+ z-index: 10;
32
+ }
33
+ verdocs-field-textbox .edge-top {
34
+ top: -2px;
35
+ left: 0;
36
+ right: 0;
37
+ height: 5px;
38
+ }
39
+ verdocs-field-textbox .edge-right {
40
+ top: 0;
41
+ bottom: 0;
42
+ right: -2px;
43
+ width: 5px;
44
+ }
45
+ verdocs-field-textbox .edge-left {
46
+ top: 0;
47
+ left: -2px;
48
+ bottom: 0;
49
+ width: 5px;
50
+ }
51
+ verdocs-field-textbox .edge-bottom {
52
+ bottom: -2px;
53
+ left: 0;
54
+ right: 0;
55
+ height: 5px;
56
+ }
26
57
  verdocs-field-textbox input {
27
58
  cursor: inherit;
28
59
  width: 100%;
@@ -1,18 +1,15 @@
1
1
  import interact from "interactjs";
2
2
  import { getRGBA, updateField, VerdocsEndpoint } from "@verdocs/js-sdk";
3
3
  import { h, Host, Fragment } from "@stencil/core";
4
- import { getTemplateFieldStore, updateStoreField } from "../../../utils/TemplateFieldStore";
5
- import { getRoleIndex, getTemplateRoleStore } from "../../../utils/TemplateRoleStore";
6
4
  import { SettingsIcon } from "../../../utils/Icons";
5
+ import { Store } from "../../../utils/Datastore";
7
6
  /**
8
7
  * Display a simple 1-line text input field.
9
8
  */
10
9
  export class VerdocsFieldTextbox {
11
10
  constructor() {
12
- this.fieldStore = null;
13
- this.roleStore = null;
14
- this.endpoint = VerdocsEndpoint.getDefault();
15
- this.templateid = '';
11
+ this.source = 'template';
12
+ this.sourceid = '';
16
13
  this.fieldname = '';
17
14
  this.disabled = false;
18
15
  this.multiline = false;
@@ -41,15 +38,16 @@ export class VerdocsFieldTextbox {
41
38
  }
42
39
  this.showingProperties = false;
43
40
  }
44
- async componentWillLoad() {
45
- this.fieldStore = getTemplateFieldStore(this.templateid);
46
- this.roleStore = getTemplateRoleStore(this.templateid);
47
- }
48
41
  componentDidRender() {
49
42
  interact.dynamicDrop(true);
50
43
  if (this.editable) {
51
44
  interact(this.el).resizable({
52
- edges: { top: true, bottom: false, left: true, right: true },
45
+ edges: {
46
+ top: '.edge-top',
47
+ left: '.edge-left',
48
+ bottom: '.edge-bottom',
49
+ right: '.edge-right',
50
+ },
53
51
  modifiers: [
54
52
  interact.modifiers.restrictSize({
55
53
  min: { width: 30, height: 15 },
@@ -68,55 +66,61 @@ export class VerdocsFieldTextbox {
68
66
  e.stopPropagation();
69
67
  }
70
68
  handleResize(e) {
71
- let { x = 0, y = 0, h = 0 } = e.target.dataset;
72
69
  let { width, height } = e.rect;
73
- x = (parseFloat(x) || 0) + e.deltaRect.left;
74
- y = (parseFloat(y) || 0) + e.deltaRect.top;
75
- h = (parseFloat(h) || 0) + e.deltaRect.height;
70
+ const dX = e.deltaRect.left;
71
+ const dY = e.deltaRect.bottom;
72
+ const currentLeft = parseFloat(e.target.style.left);
73
+ const currentBottom = parseFloat(e.target.style.bottom);
76
74
  width /= this.xscale;
77
75
  height /= this.yscale;
78
76
  Object.assign(e.target.style, {
79
77
  width: `${width}px`,
80
78
  height: `${height}px`,
81
- transform: `scale(${this.xscale}, ${this.yscale}); translate(${x}px, ${y + h}px)`,
79
+ left: `${currentLeft + dX}px`,
80
+ bottom: `${currentBottom - dY}px`,
82
81
  });
83
- Object.assign(e.target.dataset, { x, y, h });
84
82
  }
85
83
  handleResizeEnd(e) {
86
- const { fieldname = '' } = this;
84
+ const { sourceid, fieldname } = this;
87
85
  const width = Math.round(parseFloat(e.target.style.width));
88
86
  let height = Math.round(parseFloat(e.target.style.height));
89
87
  if (height < 20) {
90
88
  height = 15;
91
89
  }
92
90
  const multiline = height > 15;
93
- updateField(this.endpoint, this.templateid, this.fieldname, { width, height, multiline })
94
- .then(field => {
91
+ updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, { width, height, multiline })
92
+ .then(async (updatedField) => {
95
93
  var _a;
96
- updateStoreField(this.fieldStore, this.fieldname, field);
97
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: fieldname, field });
94
+ const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);
95
+ const newTemplate = JSON.parse(JSON.stringify(template));
96
+ const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);
97
+ if (fieldIndex > -1) {
98
+ newTemplate.fields[fieldIndex] = updatedField;
99
+ }
100
+ Store.updateTemplate(this.sourceid, newTemplate);
101
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: fieldname, field: updatedField });
98
102
  Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });
99
103
  })
100
104
  .catch(e => console.log('Field update failed', e));
101
105
  }
102
106
  render() {
103
- const { templateid, fieldname = '', editable = false, focused, done = false, disabled = false, xscale = 1, yscale = 1 } = this;
104
- const field = this.fieldStore.get('fields').find(field => field.name === fieldname);
105
- let { required = false, role_name = '', placeholder = '', label = '', width = 150, default: value = '', multiline = false } = field || {};
107
+ const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
108
+ const { index, field } = Store.getField(source, sourceid, fieldname);
109
+ let { required = false, placeholder = '', label = '', width = 150, default: value = '', multiline = false } = field || {};
110
+ const backgroundColor = getRGBA(index);
106
111
  // TODO: Consolidate value/defaultValue handling between template and envelope fields
107
112
  if (field.value) {
108
113
  value = field.value;
109
114
  }
110
115
  // TODO: This is an outdated technique from the old system. We should compute it.
111
116
  const maxlength = width / 5;
112
- const backgroundColor = getRGBA(getRoleIndex(this.roleStore, role_name));
113
117
  if (done) {
114
118
  return h(Host, { class: { done } }, value);
115
119
  }
116
- return (h(Host, { class: { required, disabled, done, focused }, style: { backgroundColor } }, label && h("label", null, label), multiline ? (h("textarea", { name: fieldname, disabled: disabled, required: required, placeholder: placeholder, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }, value)) : (h("input", { type: "text", name: fieldname, value: value, disabled: disabled, required: required, placeholder: placeholder, maxlength: maxlength, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) })), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
120
+ return (h(Host, { class: { required, disabled, done, focused }, style: { backgroundColor } }, editable && h("div", { class: "edge-top" }), editable && h("div", { class: "edge-right" }), editable && h("div", { class: "edge-left" }), editable && h("div", { class: "edge-bottom" }), label && h("label", null, label), multiline ? (h("textarea", { name: fieldname, disabled: disabled, required: required, placeholder: placeholder, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) }, value)) : (h("input", { type: "text", name: fieldname, value: value, disabled: disabled, required: required, placeholder: placeholder, maxlength: maxlength, ref: el => (this.inputEl = el), onFocus: () => (this.focused = true), onBlur: () => (this.focused = false) })), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
117
121
  e.stopPropagation();
118
122
  this.showingProperties = !this.showingProperties;
119
- } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: templateid, fieldName: fieldname, onClose: () => this.hideSettingsPanel(), onDelete: () => {
123
+ } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => this.hideSettingsPanel(), onDelete: () => {
120
124
  var _a;
121
125
  (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: fieldname });
122
126
  return this.hideSettingsPanel();
@@ -139,29 +143,25 @@ export class VerdocsFieldTextbox {
139
143
  }
140
144
  static get properties() {
141
145
  return {
142
- "endpoint": {
143
- "type": "unknown",
146
+ "source": {
147
+ "type": "string",
144
148
  "mutable": false,
145
149
  "complexType": {
146
- "original": "VerdocsEndpoint",
147
- "resolved": "VerdocsEndpoint",
148
- "references": {
149
- "VerdocsEndpoint": {
150
- "location": "import",
151
- "path": "@verdocs/js-sdk",
152
- "id": "node_modules::VerdocsEndpoint"
153
- }
154
- }
150
+ "original": "'template' | 'envelope'",
151
+ "resolved": "\"envelope\" | \"template\"",
152
+ "references": {}
155
153
  },
156
154
  "required": false,
157
155
  "optional": false,
158
156
  "docs": {
159
157
  "tags": [],
160
- "text": "The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\nThis component self-manages its resize (width) behavior when in edit-template mode, and uses\nthis endpoint to save changes."
158
+ "text": "Fields may be attached to templates or envelopes, but only template fields may be edited."
161
159
  },
162
- "defaultValue": "VerdocsEndpoint.getDefault()"
160
+ "attribute": "source",
161
+ "reflect": true,
162
+ "defaultValue": "'template'"
163
163
  },
164
- "templateid": {
164
+ "sourceid": {
165
165
  "type": "string",
166
166
  "mutable": false,
167
167
  "complexType": {
@@ -173,9 +173,9 @@ export class VerdocsFieldTextbox {
173
173
  "optional": false,
174
174
  "docs": {
175
175
  "tags": [],
176
- "text": "The template the field is for/from. Only required in Builder mode, to support the Field Properties dialog."
176
+ "text": "The source template or envelope ID the field is found in."
177
177
  },
178
- "attribute": "templateid",
178
+ "attribute": "sourceid",
179
179
  "reflect": true,
180
180
  "defaultValue": "''"
181
181
  },
@@ -1,19 +1,17 @@
1
1
  import { format } from "date-fns/format";
2
2
  import { getRGBA } from "@verdocs/js-sdk";
3
3
  import { h, Host, Fragment } from "@stencil/core";
4
- import { getRoleIndex, getTemplateRoleStore } from "../../../utils/TemplateRoleStore";
5
- import { getTemplateFieldStore } from "../../../utils/TemplateFieldStore";
6
4
  import { FORMAT_TIMESTAMP } from "../../../utils/Types";
7
5
  import { SettingsIcon } from "../../../utils/Icons";
6
+ import { Store } from "../../../utils/Datastore";
8
7
  /**
9
8
  * Display a timestamp. Timestamps are not editable by signers. Instead, they are automatically
10
9
  * filled when the signer submits the document.
11
10
  */
12
11
  export class VerdocsFieldTimestamp {
13
12
  constructor() {
14
- this.fieldStore = null;
15
- this.roleStore = null;
16
- this.templateid = '';
13
+ this.source = 'template';
14
+ this.sourceid = '';
17
15
  this.fieldname = '';
18
16
  this.disabled = false;
19
17
  this.editable = false;
@@ -40,15 +38,11 @@ export class VerdocsFieldTimestamp {
40
38
  }
41
39
  this.showingProperties = false;
42
40
  }
43
- async componentWillLoad() {
44
- this.fieldStore = getTemplateFieldStore(this.templateid);
45
- this.roleStore = getTemplateRoleStore(this.templateid);
46
- }
47
41
  render() {
48
- const { templateid, fieldname = '', editable = false, done = false, disabled = false, xscale = 1, yscale = 1 } = this;
49
- const field = this.fieldStore.get('fields').find(field => field.name === fieldname);
50
- const { required = false, role_name = '', placeholder = '', value = '', label = '' } = field || {};
51
- const backgroundColor = getRGBA(getRoleIndex(this.roleStore, role_name));
42
+ const { source, sourceid, fieldname, editable = false, done = false, disabled = false, xscale = 1, yscale = 1 } = this;
43
+ const { index, field } = Store.getField(source, sourceid, fieldname);
44
+ const { required = false, placeholder = '', value = '', label = '' } = field || {};
45
+ const backgroundColor = getRGBA(index);
52
46
  const formatted = format(new Date(value || new Date().toISOString()), FORMAT_TIMESTAMP);
53
47
  if (done) {
54
48
  return h(Host, { class: { done } }, formatted);
@@ -56,7 +50,7 @@ export class VerdocsFieldTimestamp {
56
50
  return (h(Host, { class: { required, disabled, done }, style: { backgroundColor } }, label && h("label", null, label), h("input", { type: "text", placeholder: placeholder, value: formatted, disabled: true, ref: el => (this.el = el) }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
57
51
  e.stopPropagation();
58
52
  this.showingProperties = !this.showingProperties;
59
- } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: templateid, fieldName: fieldname, onClose: () => this.hideSettingsPanel(), onDelete: () => {
53
+ } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => this.hideSettingsPanel(), onDelete: () => {
60
54
  var _a;
61
55
  (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: fieldname });
62
56
  return this.hideSettingsPanel();
@@ -79,7 +73,25 @@ export class VerdocsFieldTimestamp {
79
73
  }
80
74
  static get properties() {
81
75
  return {
82
- "templateid": {
76
+ "source": {
77
+ "type": "string",
78
+ "mutable": false,
79
+ "complexType": {
80
+ "original": "'template' | 'envelope'",
81
+ "resolved": "\"envelope\" | \"template\"",
82
+ "references": {}
83
+ },
84
+ "required": false,
85
+ "optional": false,
86
+ "docs": {
87
+ "tags": [],
88
+ "text": "Fields may be attached to templates or envelopes, but only template fields may be edited."
89
+ },
90
+ "attribute": "source",
91
+ "reflect": true,
92
+ "defaultValue": "'template'"
93
+ },
94
+ "sourceid": {
83
95
  "type": "string",
84
96
  "mutable": false,
85
97
  "complexType": {
@@ -91,9 +103,9 @@ export class VerdocsFieldTimestamp {
91
103
  "optional": false,
92
104
  "docs": {
93
105
  "tags": [],
94
- "text": "The template the field is for/from. Only required in Builder mode, to support the Field Properties dialog."
106
+ "text": "The source template or envelope ID the field is found in."
95
107
  },
96
- "attribute": "templateid",
108
+ "attribute": "sourceid",
97
109
  "reflect": true,
98
110
  "defaultValue": "''"
99
111
  },
@@ -1,9 +1,9 @@
1
1
  import { format } from "date-fns";
2
- import { VerdocsEndpoint } from "@verdocs/js-sdk";
2
+ import { getTemplate, VerdocsEndpoint } from "@verdocs/js-sdk";
3
3
  import { h, Host } from "@stencil/core";
4
- import { getTemplateStore } from "../../../utils/TemplateStore";
5
4
  import { VerdocsToast } from "../../../utils/Toast";
6
5
  import { SDKError } from "../../../utils/errors";
6
+ import { Store } from "../../../utils/Datastore";
7
7
  const HelpIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" fill="#5c6575"><path d="M11.925 18q.55 0 .938-.387.387-.388.387-.938 0-.55-.387-.925-.388-.375-.938-.375-.55 0-.925.375t-.375.925q0 .55.375.938.375.387.925.387Zm-.95-3.85h1.95q0-.8.2-1.287.2-.488 1.025-1.288.65-.625 1.025-1.213.375-.587.375-1.437 0-1.425-1.025-2.175Q13.5 6 12.1 6q-1.425 0-2.35.775t-1.275 1.85l1.775.7q.125-.45.55-.975.425-.525 1.275-.525.725 0 1.1.412.375.413.375.888 0 .475-.287.9-.288.425-.713.775-1.075.95-1.325 1.475-.25.525-.25 1.875ZM12 22.2q-2.125 0-3.988-.8-1.862-.8-3.237-2.175Q3.4 17.85 2.6 15.988 1.8 14.125 1.8 12t.8-3.988q.8-1.862 2.175-3.237Q6.15 3.4 8.012 2.6 9.875 1.8 12 1.8t3.988.8q1.862.8 3.237 2.175Q20.6 6.15 21.4 8.012q.8 1.863.8 3.988t-.8 3.988q-.8 1.862-2.175 3.237Q17.85 20.6 15.988 21.4q-1.863.8-3.988.8Zm0-2.275q3.325 0 5.625-2.3t2.3-5.625q0-3.325-2.3-5.625T12 4.075q-3.325 0-5.625 2.3T4.075 12q0 3.325 2.3 5.625t5.625 2.3ZM12 12Z"/></svg>';
8
8
  const CopyIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75" /></svg>`;
9
9
  const STEPS = ['attachments', 'roles', 'settings', 'fields', 'preview'];
@@ -12,21 +12,38 @@ const STEPS = ['attachments', 'roles', 'settings', 'fields', 'preview'];
12
12
  */
13
13
  export class VerdocsTemplateBuildTabs {
14
14
  constructor() {
15
+ this.templateListenerId = null;
15
16
  this.endpoint = VerdocsEndpoint.getDefault();
16
17
  this.templateId = null;
17
18
  this.step = 'preview';
18
- this.templateStore = null;
19
+ this.loading = true;
20
+ this.template = null;
21
+ }
22
+ disconnectedCallback() {
23
+ this.unlistenToTemplate();
24
+ }
25
+ async listenToTemplate() {
26
+ this.unlistenToTemplate();
27
+ Store.subscribe('templates', this.templateId, () => getTemplate(this.endpoint, this.templateId), false, (template) => {
28
+ this.template = template;
29
+ this.loading = false;
30
+ });
31
+ }
32
+ unlistenToTemplate() {
33
+ if (this.templateListenerId) {
34
+ Store.store.delListener(this.templateListenerId);
35
+ this.templateListenerId = null;
36
+ }
19
37
  }
20
38
  onTemplateIdChanged(newTemplateId) {
21
39
  console.log('[BUILD_TABS] Template ID changed', newTemplateId);
22
- this.loadTemplate(newTemplateId).catch((e) => console.log('Unknown Error', e));
40
+ this.listenToTemplate();
23
41
  }
24
42
  onStepChanged(newStep) {
25
43
  console.log('[BUILD_TABS] Step changed', newStep);
26
- this.loadTemplate(this.templateId).catch((e) => console.log('Unknown Error', e));
27
44
  }
28
45
  async componentWillLoad() {
29
- var _a, _b, _c, _d, _e, _f;
46
+ var _a, _b, _c;
30
47
  try {
31
48
  this.endpoint.loadSession();
32
49
  if (!this.endpoint.session) {
@@ -38,27 +55,16 @@ export class VerdocsTemplateBuildTabs {
38
55
  console.log('[BUILD_TABS] Missing required template ID, forcing view to attachments');
39
56
  return;
40
57
  }
41
- try {
42
- this.templateStore = await getTemplateStore(this.endpoint, this.templateId, false);
43
- }
44
- catch (e) {
45
- console.log('[BUILD_TABS] Error loading template', e);
46
- (_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));
47
- }
58
+ this.listenToTemplate();
48
59
  }
49
60
  catch (e) {
50
61
  console.log('[BUILD_TABS] Error loading template', e);
51
- (_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));
52
- }
53
- }
54
- async loadTemplate(templateId) {
55
- if (templateId) {
56
- this.templateStore = await getTemplateStore(this.endpoint, templateId, false);
62
+ (_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));
57
63
  }
58
64
  }
59
65
  setStep(e) {
60
66
  var _a;
61
- console.log('Selected step', e.detail.tab.id);
67
+ console.log('[BUILD_TABS] Selected step', e.detail.tab.id);
62
68
  e.stopPropagation();
63
69
  e.preventDefault();
64
70
  this.step = e.detail.tab.id;
@@ -77,18 +83,16 @@ export class VerdocsTemplateBuildTabs {
77
83
  });
78
84
  }
79
85
  render() {
80
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
86
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
87
+ if (this.loading) {
88
+ return (h(Host, null, h("verdocs-loader", null)));
89
+ }
81
90
  if (!this.endpoint.session) {
82
91
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
83
92
  }
84
- let canPreview = false;
85
- let canEditFields = false;
86
- let canEditRoles = false;
87
- if (this.templateId && this.templateStore && this.templateStore.state) {
88
- canEditRoles = ((_c = (_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.documents) === null || _c === void 0 ? void 0 : _c.length) > 0;
89
- canEditFields = canEditRoles && ((_f = (_e = (_d = this.templateStore) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.roles) === null || _f === void 0 ? void 0 : _f.length) > 0;
90
- canPreview = canEditFields && ((_j = (_h = (_g = this.templateStore) === null || _g === void 0 ? void 0 : _g.state) === null || _h === void 0 ? void 0 : _h.fields) === null || _j === void 0 ? void 0 : _j.length) > 0;
91
- }
93
+ const canEditRoles = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.documents) || []).length > 0;
94
+ let canEditFields = canEditRoles && (((_b = this.template) === null || _b === void 0 ? void 0 : _b.roles) || []).length > 0;
95
+ const canPreview = canEditFields && (((_c = this.template) === null || _c === void 0 ? void 0 : _c.fields) || []).length > 0;
92
96
  let selectedStepIndex = Math.max(STEPS.indexOf(this.step), 0);
93
97
  if (!canPreview && selectedStepIndex >= 4) {
94
98
  selectedStepIndex = 3;
@@ -105,8 +109,8 @@ export class VerdocsTemplateBuildTabs {
105
109
  { id: 'settings', disabled: !canEditFields, label: 'Settings' },
106
110
  { id: 'fields', disabled: !canEditFields, label: 'Fields' },
107
111
  { id: 'preview', disabled: !canPreview, label: 'Preview/Send' },
108
- ] }), this.templateId && (h("div", { class: "info" }, h("verdocs-button-panel", { icon: HelpIcon }, h("div", { class: "template-details-panel" }, h("h6", null, "Template Details"), h("div", { class: "row" }, h("label", null, "ID:"), h("div", { class: "value" }, this.templateId), h("div", { class: "icon-button", innerHTML: CopyIcon, onClick: () => this.copyTemplateId() })), h("div", { class: "row" }, h("label", null, "Name:"), h("div", { class: "value" }, (_l = (_k = this.templateStore) === null || _k === void 0 ? void 0 : _k.state) === null || _l === void 0 ? void 0 : _l.name)), h("div", { class: "row" }, h("label", null, "Visibility:"), h("div", { class: "value" }, ((_o = (_m = this.templateStore) === null || _m === void 0 ? void 0 : _m.state) === null || _o === void 0 ? void 0 : _o.is_public) ? 'Public' : ((_q = (_p = this.templateStore) === null || _p === void 0 ? void 0 : _p.state) === null || _q === void 0 ? void 0 : _q.is_personal) ? 'Private' : 'Shared')), h("div", { class: "row" }, h("label", null, "Created:"), h("div", { class: "value" }, ((_s = (_r = this.templateStore) === null || _r === void 0 ? void 0 : _r.state) === null || _s === void 0 ? void 0 : _s.counter) ? format(new Date((_u = (_t = this.templateStore) === null || _t === void 0 ? void 0 : _t.state) === null || _u === void 0 ? void 0 : _u.created_at), 'P p') : '')), h("div", { class: "row" }, h("label", null, "Used:"), h("div", { class: "value" }, (_w = (_v = this.templateStore) === null || _v === void 0 ? void 0 : _v.state) === null || _w === void 0 ? void 0 :
109
- _w.counter, " time(s)"))))))));
112
+ ] }), this.templateId && (h("div", { class: "info" }, h("verdocs-button-panel", { icon: HelpIcon }, h("div", { class: "template-details-panel" }, h("h6", null, "Template Details"), h("div", { class: "row" }, h("label", null, "ID:"), h("div", { class: "value" }, this.templateId), h("div", { class: "icon-button", innerHTML: CopyIcon, onClick: () => this.copyTemplateId() })), h("div", { class: "row" }, h("label", null, "Name:"), h("div", { class: "value" }, (_d = this.template) === null || _d === void 0 ? void 0 : _d.name)), h("div", { class: "row" }, h("label", null, "Visibility:"), h("div", { class: "value" }, ((_e = this.template) === null || _e === void 0 ? void 0 : _e.is_public) ? 'Public' : ((_f = this.template) === null || _f === void 0 ? void 0 : _f.is_personal) ? 'Private' : 'Shared')), h("div", { class: "row" }, h("label", null, "Created:"), h("div", { class: "value" }, ((_g = this.template) === null || _g === void 0 ? void 0 : _g.counter) ? format(new Date((_h = this.template) === null || _h === void 0 ? void 0 : _h.created_at), 'P p') : '')), h("div", { class: "row" }, h("label", null, "Used:"), h("div", { class: "value" }, (_j = this.template) === null || _j === void 0 ? void 0 :
113
+ _j.counter, " time(s)"))))))));
110
114
  }
111
115
  static get is() { return "verdocs-template-build-tabs"; }
112
116
  static get originalStyleUrls() {
@@ -189,7 +193,8 @@ export class VerdocsTemplateBuildTabs {
189
193
  }
190
194
  static get states() {
191
195
  return {
192
- "templateStore": {}
196
+ "loading": {},
197
+ "template": {}
193
198
  };
194
199
  }
195
200
  static get events() {
@@ -1,6 +1,5 @@
1
1
  import { createTemplate, VerdocsEndpoint } from "@verdocs/js-sdk";
2
2
  import { h, Host } from "@stencil/core";
3
- import { getTemplateStore } from "../../../utils/TemplateStore";
4
3
  import { SDKError } from "../../../utils/errors";
5
4
  const FileIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"></path></svg>';
6
5
  /**
@@ -41,7 +40,7 @@ export class VerdocsTemplateCreate {
41
40
  this.exit.emit();
42
41
  }
43
42
  async handleSubmit(e) {
44
- var _a, _b, _c;
43
+ var _a, _b, _c, _d, _e;
45
44
  e.stopPropagation();
46
45
  // Should be true if we're here because onClick is only enabled then. We're just guarding this for Typescript.
47
46
  if (!this.file) {
@@ -66,22 +65,15 @@ export class VerdocsTemplateCreate {
66
65
  }
67
66
  });
68
67
  console.log('[CREATE] Created template', template);
69
- getTemplateStore(this.endpoint, template.id, true)
70
- .then(() => {
71
- var _a, _b;
72
- (_a = this.templateCreated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template, templateId: template.id });
73
- (_b = this.next) === null || _b === void 0 ? void 0 : _b.emit(template);
74
- this.creating = false;
75
- this.progressLabel = '';
76
- this.progressPercent = 0;
77
- })
78
- .catch(e => {
79
- console.log(e);
80
- });
68
+ (_a = this.templateCreated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template, templateId: template.id });
69
+ (_b = this.next) === null || _b === void 0 ? void 0 : _b.emit(template);
70
+ this.creating = false;
71
+ this.progressLabel = '';
72
+ this.progressPercent = 0;
81
73
  }
82
74
  catch (e) {
83
75
  console.log('[CREATE] Error creating template', e);
84
- (_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));
76
+ (_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));
85
77
  this.creating = false;
86
78
  }
87
79
  }
@@ -23,4 +23,10 @@ verdocs-template-document-page .verdocs-template-document-page-layer {
23
23
  }
24
24
  verdocs-template-document-page .verdocs-template-document-page-layer.img {
25
25
  width: 100%;
26
+ }
27
+ verdocs-template-document-page .placeholder {
28
+ opacity: 0.1;
29
+ width: 612px;
30
+ height: 792px;
31
+ box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.0588235294);
26
32
  }