@verdocs/web-sdk 4.2.158 → 5.0.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 (491) hide show
  1. package/dist/cjs/Datastore-b1742da2.js +1783 -0
  2. package/dist/cjs/{index-2589e4d1.js → index-ccac8641.js} +11 -27
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{utils-6d673ca1.js → utils-ba1e95e0.js} +3 -2
  5. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-build.cjs.entry.js +22 -13
  7. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +1 -1
  8. package/dist/cjs/{verdocs-button_3.cjs.entry.js → verdocs-button_2.cjs.entry.js} +1 -56
  9. package/dist/cjs/{verdocs-checkbox_4.cjs.entry.js → verdocs-checkbox_6.cjs.entry.js} +115 -24
  10. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +2 -2
  11. package/dist/cjs/verdocs-dialog.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +2 -2
  14. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +30 -15
  15. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +32 -17
  16. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +64 -45
  17. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +2 -2
  18. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +104 -155
  19. package/dist/cjs/verdocs-field-payment.cjs.entry.js +38 -25
  20. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js +27 -5
  22. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  23. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +2 -2
  25. package/dist/cjs/{verdocs-preview_9.cjs.entry.js → verdocs-preview_6.cjs.entry.js} +252 -469
  26. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -1
  28. package/dist/cjs/verdocs-search-box.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-sign.cjs.entry.js +11 -12
  31. package/dist/cjs/verdocs-spinner.cjs.entry.js +1 -1
  32. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +1 -1
  33. package/dist/cjs/verdocs-table.cjs.entry.js +1 -1
  34. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  35. package/dist/cjs/verdocs-template-create.cjs.entry.js +108 -0
  36. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +78 -63
  37. package/dist/cjs/verdocs-template-role-properties.cjs.entry.js +58 -37
  38. package/dist/cjs/verdocs-template-star.cjs.entry.js +2 -2
  39. package/dist/cjs/verdocs-template-tags.cjs.entry.js +2 -2
  40. package/dist/cjs/verdocs-templates-list.cjs.entry.js +1 -1
  41. package/dist/cjs/verdocs-toggle.cjs.entry.js +1 -1
  42. package/dist/cjs/verdocs-web-sdk.cjs.js +3 -3
  43. package/dist/collection/collection-manifest.json +2 -4
  44. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +5 -21
  45. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +27 -40
  46. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +27 -28
  47. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +45 -44
  48. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +12 -11
  49. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +28 -28
  50. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.js +34 -15
  51. package/dist/collection/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.js +35 -17
  52. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +67 -45
  53. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +29 -18
  54. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +30 -20
  55. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +30 -22
  56. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +29 -17
  57. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +30 -18
  58. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +192 -139
  59. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +30 -20
  60. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +30 -18
  61. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +31 -19
  62. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +31 -0
  63. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +44 -44
  64. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +29 -17
  65. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +37 -17
  66. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.js +37 -32
  67. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.js +7 -15
  68. package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.css +6 -0
  69. package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js +79 -61
  70. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +48 -24
  71. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +63 -61
  72. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +61 -36
  73. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +63 -46
  74. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  75. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  76. package/dist/collection/utils/Datastore.js +141 -0
  77. package/dist/collection/utils/Templates.js +2 -0
  78. package/dist/collection/utils/utils.js +3 -2
  79. package/dist/components/index.js +1 -5
  80. package/dist/components/{p-3044c9cb.js → p-070bebd7.js} +1 -1
  81. package/dist/components/{p-1b60debe.js → p-0a69031f.js} +29 -28
  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-a655b737.js → p-15d530b8.js} +6 -6
  86. package/dist/components/{p-71dd305b.js → p-18999830.js} +2 -2
  87. package/dist/components/{p-90540412.js → p-1ae5d7e0.js} +1 -1
  88. package/dist/components/{p-8f942993.js → p-1ca705bc.js} +31 -30
  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-fe2dca8c.js → p-22da6d14.js} +2 -2
  92. package/dist/components/{p-945d225a.js → p-22e52874.js} +90 -88
  93. package/dist/components/{p-85ef4d07.js → p-2548f3f0.js} +49 -38
  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-b679d760.js → p-49153610.js} +32 -31
  98. package/dist/components/{p-03660739.js → p-4afcdc84.js} +30 -31
  99. package/dist/components/{p-b0af9b72.js → p-4bc5ac82.js} +3 -2
  100. package/dist/components/{p-ffe8b41d.js → p-4dd750e9.js} +1 -1
  101. package/dist/components/{p-82fb3284.js → p-58c2bd5d.js} +1 -1
  102. package/dist/components/{p-d3170dcd.js → p-5a9cea40.js} +4 -4
  103. package/dist/components/{p-8b27ce22.js → p-5d4bbcd0.js} +1 -1
  104. package/dist/components/{p-1e66385b.js → p-5d82a9f3.js} +64 -57
  105. package/dist/components/{p-877eaf65.js → p-5eb45a4f.js} +1 -1
  106. package/dist/components/{p-62f8b36c.js → p-6400f542.js} +36 -14
  107. package/dist/components/{p-e4ac6259.js → p-6fcd99d1.js} +2 -2
  108. package/dist/components/{p-921297ba.js → p-84ae0283.js} +1 -1
  109. package/dist/components/{p-7927a846.js → p-8d3c0b4c.js} +2 -2
  110. package/dist/components/{p-83a2fa2f.js → p-8fbc64e9.js} +72 -55
  111. package/dist/components/{p-0e64ccc3.js → p-9bb47a5a.js} +1 -1
  112. package/dist/components/{p-12594438.js → p-9c3fd545.js} +31 -31
  113. package/dist/components/{p-fe533b11.js → p-a22a3b1b.js} +125 -101
  114. package/dist/components/{p-df4ac086.js → p-a3e12c74.js} +2 -2
  115. package/dist/components/{p-6e8c00bc.js → p-b0c02eb8.js} +31 -30
  116. package/dist/components/{p-6b369b14.js → p-b16c202a.js} +1 -1
  117. package/dist/components/{p-3518350d.js → p-b9034018.js} +4 -4
  118. package/dist/components/{p-c7db1c7d.js → p-c25e82b9.js} +52 -53
  119. package/dist/components/{p-4535a9fd.js → p-c7b00ce6.js} +36 -17
  120. package/dist/components/{p-e4a852b5.js → p-c8fedb4e.js} +7 -6
  121. package/dist/components/{p-83245875.js → p-cf6ea837.js} +2 -2
  122. package/dist/components/{p-b8cd75c0.js → p-d9704a51.js} +55 -45
  123. package/dist/components/p-da4d4eed.js +1781 -0
  124. package/dist/components/{p-cdf871dd.js → p-dd701894.js} +29 -28
  125. package/dist/components/p-ea5954bd.js +4 -0
  126. package/dist/components/{p-42a676b7.js → p-ec894daf.js} +2 -2
  127. package/dist/components/{p-72e959a7.js → p-ecc818bb.js} +30 -31
  128. package/dist/components/{p-ed9a1a21.js → p-ed88b8d2.js} +44 -24
  129. package/dist/components/{p-556596e4.js → p-f72b9c45.js} +1 -1
  130. package/dist/components/{p-a7bbe96b.js → p-f990140a.js} +3 -3
  131. package/dist/components/{p-db4a15fd.js → p-fcad60f5.js} +1 -1
  132. package/dist/components/{p-0162bdd3.js → p-fd96322b.js} +30 -33
  133. package/dist/components/verdocs-auth.js +4 -4
  134. package/dist/components/verdocs-build.js +99 -103
  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 +1 -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-attachments.js +1 -1
  184. package/dist/components/verdocs-template-build-tabs.js +1 -1
  185. package/dist/components/verdocs-template-card.js +1 -1
  186. package/dist/components/verdocs-template-create.js +148 -1
  187. package/dist/components/verdocs-template-document-page.js +1 -1
  188. package/dist/components/verdocs-template-field-properties.js +1 -1
  189. package/dist/components/verdocs-template-fields.js +1 -1
  190. package/dist/components/verdocs-template-role-properties.js +1 -1
  191. package/dist/components/verdocs-template-roles.js +1 -1
  192. package/dist/components/verdocs-template-star.js +1 -1
  193. package/dist/components/verdocs-template-tags.js +2 -2
  194. package/dist/components/verdocs-templates-list.js +11 -11
  195. package/dist/components/verdocs-text-input.js +1 -1
  196. package/dist/components/verdocs-toggle-button.js +1 -1
  197. package/dist/components/verdocs-toggle.js +1 -1
  198. package/dist/components/verdocs-toolbar-icon.js +1 -1
  199. package/dist/components/verdocs-upload-dialog.js +1 -1
  200. package/dist/components/verdocs-view.js +1 -1
  201. package/dist/esm/Datastore-52fcbac6.js +1781 -0
  202. package/dist/esm/{index-c8587076.js → index-272d51a4.js} +12 -26
  203. package/dist/esm/loader.js +3 -3
  204. package/dist/esm/{utils-27fa12eb.js → utils-47de6f79.js} +3 -2
  205. package/dist/esm/verdocs-auth.entry.js +1 -1
  206. package/dist/esm/verdocs-build.entry.js +23 -14
  207. package/dist/esm/verdocs-button-panel_2.entry.js +1 -1
  208. package/dist/esm/{verdocs-button_3.entry.js → verdocs-button_2.entry.js} +2 -56
  209. package/dist/esm/{verdocs-checkbox_4.entry.js → verdocs-checkbox_6.entry.js} +115 -26
  210. package/dist/esm/verdocs-contact-picker_2.entry.js +2 -2
  211. package/dist/esm/verdocs-dialog.entry.js +1 -1
  212. package/dist/esm/verdocs-dropdown.entry.js +1 -1
  213. package/dist/esm/verdocs-envelope-document-page.entry.js +2 -2
  214. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +31 -16
  215. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +33 -18
  216. package/dist/esm/verdocs-envelope-sidebar.entry.js +65 -46
  217. package/dist/esm/verdocs-envelopes-list.entry.js +2 -2
  218. package/dist/esm/verdocs-field-attachment_13.entry.js +104 -155
  219. package/dist/esm/verdocs-field-payment.entry.js +38 -25
  220. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  221. package/dist/esm/verdocs-kba-dialog_2.entry.js +27 -5
  222. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  223. package/dist/esm/verdocs-organization-card_2.entry.js +1 -1
  224. package/dist/esm/verdocs-pagination_2.entry.js +2 -2
  225. package/dist/esm/{verdocs-preview_9.entry.js → verdocs-preview_6.entry.js} +256 -470
  226. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  227. package/dist/esm/verdocs-radio-button.entry.js +1 -1
  228. package/dist/esm/verdocs-search-box.entry.js +1 -1
  229. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  230. package/dist/esm/verdocs-sign.entry.js +11 -12
  231. package/dist/esm/verdocs-spinner.entry.js +1 -1
  232. package/dist/esm/verdocs-status-indicator.entry.js +1 -1
  233. package/dist/esm/verdocs-table.entry.js +1 -1
  234. package/dist/esm/verdocs-template-card.entry.js +1 -1
  235. package/dist/{components/p-f9cc62a7.js → esm/verdocs-template-create.entry.js} +15 -69
  236. package/dist/esm/verdocs-template-document-page_2.entry.js +79 -64
  237. package/dist/esm/verdocs-template-role-properties.entry.js +59 -38
  238. package/dist/esm/verdocs-template-star.entry.js +2 -2
  239. package/dist/esm/verdocs-template-tags.entry.js +2 -2
  240. package/dist/esm/verdocs-templates-list.entry.js +1 -1
  241. package/dist/esm/verdocs-toggle.entry.js +1 -1
  242. package/dist/esm/verdocs-web-sdk.js +4 -4
  243. package/dist/esm-es5/Datastore-52fcbac6.js +1 -0
  244. package/dist/esm-es5/index-272d51a4.js +1 -0
  245. package/dist/esm-es5/loader.js +1 -1
  246. package/dist/esm-es5/{utils-27fa12eb.js → utils-47de6f79.js} +1 -1
  247. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  248. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  249. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  250. package/dist/esm-es5/verdocs-button_2.entry.js +1 -0
  251. package/dist/esm-es5/verdocs-checkbox_6.entry.js +1 -0
  252. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  253. package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
  254. package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
  255. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  256. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  257. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  258. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  259. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  260. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  261. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  262. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  263. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +1 -1
  264. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  265. package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
  266. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  267. package/dist/esm-es5/verdocs-preview_6.entry.js +1 -0
  268. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  269. package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
  270. package/dist/esm-es5/verdocs-search-box.entry.js +1 -1
  271. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  272. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  273. package/dist/esm-es5/verdocs-spinner.entry.js +1 -1
  274. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  275. package/dist/esm-es5/verdocs-table.entry.js +1 -1
  276. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  277. package/dist/esm-es5/verdocs-template-create.entry.js +1 -0
  278. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  279. package/dist/esm-es5/verdocs-template-role-properties.entry.js +1 -1
  280. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  281. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  282. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  283. package/dist/esm-es5/verdocs-toggle.entry.js +1 -1
  284. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  285. package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.d.ts +0 -2
  286. package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +8 -32
  287. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +6 -8
  288. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +7 -6
  289. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +3 -3
  290. package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +6 -5
  291. package/dist/types/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.d.ts +6 -3
  292. package/dist/types/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.d.ts +6 -3
  293. package/dist/types/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +8 -4
  294. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +6 -7
  295. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +6 -7
  296. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +6 -7
  297. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +6 -7
  298. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +6 -7
  299. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +44 -30
  300. package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +6 -7
  301. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +6 -7
  302. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +6 -7
  303. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +5 -12
  304. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +6 -7
  305. package/dist/types/components/templates/verdocs-template-attachments/verdocs-template-attachments.d.ts +6 -2
  306. package/dist/types/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.d.ts +7 -4
  307. package/dist/types/components/templates/verdocs-template-document-page/verdocs-template-document-page.d.ts +7 -4
  308. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +7 -8
  309. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +6 -8
  310. package/dist/types/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.d.ts +7 -7
  311. package/dist/types/components/templates/verdocs-template-roles/verdocs-template-roles.d.ts +7 -6
  312. package/dist/types/components.d.ts +176 -330
  313. package/dist/types/utils/Datastore.d.ts +24 -0
  314. package/dist/types/utils/Templates.d.ts +3 -0
  315. package/dist/types/utils/utils.d.ts +1 -1
  316. package/dist/verdocs-web-sdk/{p-98c5f5a5.entry.js → p-0ca1e87c.entry.js} +1 -1
  317. package/dist/verdocs-web-sdk/p-0e9de098.entry.js +1 -0
  318. package/dist/verdocs-web-sdk/{p-fc053d00.entry.js → p-167e3d7e.entry.js} +1 -1
  319. package/dist/verdocs-web-sdk/{p-7bd37bca.entry.js → p-2a1287ec.entry.js} +1 -1
  320. package/dist/verdocs-web-sdk/{p-6419b913.system.js → p-2be751c4.system.js} +1 -1
  321. package/dist/verdocs-web-sdk/{p-cb30f11e.entry.js → p-2f73c9de.entry.js} +1 -1
  322. package/dist/verdocs-web-sdk/p-3364cc13.system.entry.js +1 -0
  323. package/dist/verdocs-web-sdk/{p-196bc80f.system.entry.js → p-37d747fb.system.entry.js} +1 -1
  324. package/dist/verdocs-web-sdk/p-386d789c.system.entry.js +1 -0
  325. package/dist/verdocs-web-sdk/p-3a1fa556.system.entry.js +1 -0
  326. package/dist/verdocs-web-sdk/{p-0fd57194.entry.js → p-41cbf650.entry.js} +1 -1
  327. package/dist/verdocs-web-sdk/{p-26715b8b.entry.js → p-4b36ca30.entry.js} +1 -1
  328. package/dist/verdocs-web-sdk/{p-98501408.system.entry.js → p-4e9e154f.system.entry.js} +1 -1
  329. package/dist/verdocs-web-sdk/{p-a3778013.system.entry.js → p-511a4ecc.system.entry.js} +1 -1
  330. package/dist/verdocs-web-sdk/{p-65a4e01e.entry.js → p-524f37a0.entry.js} +1 -1
  331. package/dist/verdocs-web-sdk/{p-13fe8650.system.entry.js → p-53f4c7c3.system.entry.js} +1 -1
  332. package/dist/verdocs-web-sdk/p-54f085d1.entry.js +1 -0
  333. package/dist/verdocs-web-sdk/{p-cca517dc.entry.js → p-584113d1.entry.js} +1 -1
  334. package/dist/verdocs-web-sdk/{p-f8cad58e.entry.js → p-5f1a000c.entry.js} +1 -1
  335. package/dist/verdocs-web-sdk/{p-256f07fd.system.entry.js → p-62f15675.system.entry.js} +1 -1
  336. package/dist/verdocs-web-sdk/{p-9b921211.js → p-650697bd.js} +1 -1
  337. package/dist/verdocs-web-sdk/{p-c06d2604.entry.js → p-65c5398e.entry.js} +1 -1
  338. package/dist/verdocs-web-sdk/{p-0446030b.entry.js → p-6ced37ed.entry.js} +1 -1
  339. package/dist/verdocs-web-sdk/{p-16619383.entry.js → p-7464b84f.entry.js} +1 -1
  340. package/dist/verdocs-web-sdk/{p-6e3fa0c4.system.entry.js → p-761f6656.system.entry.js} +1 -1
  341. package/dist/verdocs-web-sdk/{p-30bc5986.entry.js → p-76cc40fe.entry.js} +1 -1
  342. package/dist/verdocs-web-sdk/{p-c45dc777.entry.js → p-771c2f92.entry.js} +1 -1
  343. package/dist/verdocs-web-sdk/p-78191329.system.entry.js +1 -0
  344. package/dist/verdocs-web-sdk/{p-f3c995d8.system.entry.js → p-7c8938e7.system.entry.js} +1 -1
  345. package/dist/verdocs-web-sdk/{p-1ce2f724.system.entry.js → p-80ce3711.system.entry.js} +1 -1
  346. package/dist/verdocs-web-sdk/p-81c8663f.entry.js +1 -0
  347. package/dist/verdocs-web-sdk/p-8221a48f.entry.js +1 -0
  348. package/dist/verdocs-web-sdk/p-860b9f94.system.entry.js +1 -0
  349. package/dist/verdocs-web-sdk/p-89cdecac.system.entry.js +1 -0
  350. package/dist/verdocs-web-sdk/p-8a2ff048.entry.js +1 -0
  351. package/dist/verdocs-web-sdk/p-8c03fc69.entry.js +1 -0
  352. package/dist/verdocs-web-sdk/p-8d401072.system.entry.js +1 -0
  353. package/dist/verdocs-web-sdk/{p-921b56fd.system.entry.js → p-914e131c.system.entry.js} +1 -1
  354. package/dist/verdocs-web-sdk/{p-5737f0ae.system.js → p-9186f42e.system.js} +1 -1
  355. package/dist/verdocs-web-sdk/{p-8e233a6b.system.entry.js → p-9227d400.system.entry.js} +1 -1
  356. package/dist/verdocs-web-sdk/p-92ce6180.entry.js +1 -0
  357. package/dist/verdocs-web-sdk/p-9567cb7d.system.entry.js +1 -0
  358. package/dist/verdocs-web-sdk/p-97b00cae.system.entry.js +1 -0
  359. package/dist/verdocs-web-sdk/{p-4b4801ad.system.entry.js → p-982f1b36.system.entry.js} +1 -1
  360. package/dist/verdocs-web-sdk/{p-1b6736fe.system.entry.js → p-9d0b0e36.system.entry.js} +1 -1
  361. package/dist/verdocs-web-sdk/{p-6d1d86ff.system.entry.js → p-a08886c1.system.entry.js} +1 -1
  362. package/dist/verdocs-web-sdk/{p-e25e1dcf.entry.js → p-a165607e.entry.js} +1 -1
  363. package/dist/verdocs-web-sdk/p-a242aa80.system.entry.js +1 -0
  364. package/dist/verdocs-web-sdk/{p-5d6a2fda.system.entry.js → p-a9635106.system.entry.js} +1 -1
  365. package/dist/verdocs-web-sdk/p-aebb0cd9.system.entry.js +1 -0
  366. package/dist/verdocs-web-sdk/p-b0b958a0.entry.js +1 -0
  367. package/dist/verdocs-web-sdk/p-b8737f7b.entry.js +1 -0
  368. package/dist/verdocs-web-sdk/{p-49988769.js → p-b9654a5e.js} +2 -2
  369. package/dist/verdocs-web-sdk/p-bb0effe1.entry.js +1 -0
  370. package/dist/verdocs-web-sdk/p-bcc23811.entry.js +1 -0
  371. package/dist/verdocs-web-sdk/{p-0c3a471b.entry.js → p-bd7406ae.entry.js} +1 -1
  372. package/dist/verdocs-web-sdk/{p-e8d91957.entry.js → p-bdd7b3d3.entry.js} +1 -1
  373. package/dist/verdocs-web-sdk/{p-c5818330.entry.js → p-c1728f5c.entry.js} +1 -1
  374. package/dist/verdocs-web-sdk/p-c18c718f.system.js +1 -0
  375. package/dist/verdocs-web-sdk/{p-731066de.system.entry.js → p-c6fd3e53.system.entry.js} +1 -1
  376. package/dist/verdocs-web-sdk/p-c7cd6843.entry.js +1 -0
  377. package/dist/verdocs-web-sdk/{p-4f7c72f9.system.entry.js → p-c9f40726.system.entry.js} +1 -1
  378. package/dist/verdocs-web-sdk/p-ca712f40.system.entry.js +1 -0
  379. package/dist/verdocs-web-sdk/p-cbb75c5e.system.entry.js +1 -0
  380. package/dist/verdocs-web-sdk/{p-751b0280.entry.js → p-d475fff3.entry.js} +1 -1
  381. package/dist/verdocs-web-sdk/{p-91c4298b.system.entry.js → p-d5870e33.system.entry.js} +1 -1
  382. package/dist/verdocs-web-sdk/{p-e5126f26.system.entry.js → p-d8dae4e9.system.entry.js} +1 -1
  383. package/dist/verdocs-web-sdk/{p-93093a7a.system.entry.js → p-d98cbd0f.system.entry.js} +1 -1
  384. package/dist/verdocs-web-sdk/p-da4d4eed.js +1 -0
  385. package/dist/verdocs-web-sdk/{p-2298c22e.entry.js → p-ddb17b3e.entry.js} +1 -1
  386. package/dist/verdocs-web-sdk/p-df04f0ca.entry.js +1 -0
  387. package/dist/verdocs-web-sdk/{p-9ff1be63.entry.js → p-df392ef9.entry.js} +1 -1
  388. package/dist/verdocs-web-sdk/p-e2b70dfb.system.js +1 -0
  389. package/dist/verdocs-web-sdk/{p-2aea0c7b.system.entry.js → p-e438bd02.system.entry.js} +1 -1
  390. package/dist/verdocs-web-sdk/{p-0c42cb22.system.entry.js → p-e5d291f3.system.entry.js} +1 -1
  391. package/dist/verdocs-web-sdk/{p-7f1e0c5e.entry.js → p-e6dbb0f7.entry.js} +1 -1
  392. package/dist/verdocs-web-sdk/{p-c4d61c66.entry.js → p-e83cd333.entry.js} +1 -1
  393. package/dist/verdocs-web-sdk/p-edfb1951.system.entry.js +1 -0
  394. package/dist/verdocs-web-sdk/p-f4fcf7a5.entry.js +1 -0
  395. package/dist/verdocs-web-sdk/{p-97b951e6.system.entry.js → p-f5d01982.system.entry.js} +1 -1
  396. package/dist/verdocs-web-sdk/{p-6e55af26.system.entry.js → p-f9b37af2.system.entry.js} +1 -1
  397. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  398. package/dist/verdocs-web-sdk/verdocs-web-sdk.js +1 -1
  399. package/package.json +3 -3
  400. package/dist/cjs/EnvelopeStore-f1cd9bd3.js +0 -96
  401. package/dist/cjs/TemplateFieldStore-7bcc0f7a.js +0 -44
  402. package/dist/cjs/TemplateRoleStore-e8bb00ec.js +0 -51
  403. package/dist/cjs/TemplateStore-db21be4d.js +0 -99
  404. package/dist/cjs/index-2a189d85.js +0 -3721
  405. package/dist/cjs/index-76d03a35.js +0 -196
  406. package/dist/cjs/verdocs-loader.cjs.entry.js +0 -20
  407. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.css +0 -0
  408. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.js +0 -196
  409. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.css +0 -86
  410. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.js +0 -203
  411. package/dist/collection/utils/EnvelopeStore.js +0 -90
  412. package/dist/collection/utils/TemplateFieldStore.js +0 -36
  413. package/dist/collection/utils/TemplateRoleStore.js +0 -41
  414. package/dist/collection/utils/TemplateStore.js +0 -94
  415. package/dist/components/p-00d39dca.js +0 -39
  416. package/dist/components/p-0933fb2d.js +0 -127
  417. package/dist/components/p-09d28afd.js +0 -97
  418. package/dist/components/p-3555cef1.js +0 -122
  419. package/dist/components/p-474b6663.js +0 -1314
  420. package/dist/components/p-821f2345.js +0 -93
  421. package/dist/components/p-9b5a4f9e.js +0 -44
  422. package/dist/components/p-a706bac9.js +0 -3719
  423. package/dist/components/verdocs-template-name.d.ts +0 -11
  424. package/dist/components/verdocs-template-name.js +0 -6
  425. package/dist/components/verdocs-template-visibility.d.ts +0 -11
  426. package/dist/components/verdocs-template-visibility.js +0 -6
  427. package/dist/esm/EnvelopeStore-4599b7d3.js +0 -93
  428. package/dist/esm/TemplateFieldStore-909147d8.js +0 -39
  429. package/dist/esm/TemplateRoleStore-2fef1fdb.js +0 -44
  430. package/dist/esm/TemplateStore-ace14a8b.js +0 -97
  431. package/dist/esm/index-24d8ae6a.js +0 -194
  432. package/dist/esm/index-7588a071.js +0 -3719
  433. package/dist/esm/verdocs-loader.entry.js +0 -16
  434. package/dist/esm-es5/EnvelopeStore-4599b7d3.js +0 -1
  435. package/dist/esm-es5/TemplateFieldStore-909147d8.js +0 -1
  436. package/dist/esm-es5/TemplateRoleStore-2fef1fdb.js +0 -1
  437. package/dist/esm-es5/TemplateStore-ace14a8b.js +0 -1
  438. package/dist/esm-es5/index-24d8ae6a.js +0 -1
  439. package/dist/esm-es5/index-7588a071.js +0 -1
  440. package/dist/esm-es5/index-c8587076.js +0 -1
  441. package/dist/esm-es5/verdocs-button_3.entry.js +0 -1
  442. package/dist/esm-es5/verdocs-checkbox_4.entry.js +0 -1
  443. package/dist/esm-es5/verdocs-loader.entry.js +0 -1
  444. package/dist/esm-es5/verdocs-preview_9.entry.js +0 -1
  445. package/dist/types/components/templates/verdocs-template-name/verdocs-template-name.d.ts +0 -41
  446. package/dist/types/components/templates/verdocs-template-visibillity/verdocs-template-visibility.d.ts +0 -42
  447. package/dist/types/utils/EnvelopeStore.d.ts +0 -12
  448. package/dist/types/utils/TemplateFieldStore.d.ts +0 -9
  449. package/dist/types/utils/TemplateRoleStore.d.ts +0 -11
  450. package/dist/types/utils/TemplateStore.d.ts +0 -16
  451. package/dist/verdocs-web-sdk/p-0c51c5be.entry.js +0 -1
  452. package/dist/verdocs-web-sdk/p-194f9f4d.entry.js +0 -1
  453. package/dist/verdocs-web-sdk/p-1bb57e5d.entry.js +0 -1
  454. package/dist/verdocs-web-sdk/p-2211234d.system.js +0 -1
  455. package/dist/verdocs-web-sdk/p-2305c1e8.system.entry.js +0 -1
  456. package/dist/verdocs-web-sdk/p-341d540f.system.entry.js +0 -1
  457. package/dist/verdocs-web-sdk/p-368a36ea.system.js +0 -1
  458. package/dist/verdocs-web-sdk/p-36b5d46e.entry.js +0 -1
  459. package/dist/verdocs-web-sdk/p-483f3d7f.entry.js +0 -1
  460. package/dist/verdocs-web-sdk/p-569434fb.system.js +0 -1
  461. package/dist/verdocs-web-sdk/p-56c1ebd6.entry.js +0 -1
  462. package/dist/verdocs-web-sdk/p-5bf2910c.system.entry.js +0 -1
  463. package/dist/verdocs-web-sdk/p-60da2bbe.system.entry.js +0 -1
  464. package/dist/verdocs-web-sdk/p-6fda3817.js +0 -1
  465. package/dist/verdocs-web-sdk/p-79e222f8.entry.js +0 -1
  466. package/dist/verdocs-web-sdk/p-7d18cb23.system.entry.js +0 -1
  467. package/dist/verdocs-web-sdk/p-7d593603.system.js +0 -1
  468. package/dist/verdocs-web-sdk/p-9515e206.system.entry.js +0 -1
  469. package/dist/verdocs-web-sdk/p-9fabdbb1.system.entry.js +0 -1
  470. package/dist/verdocs-web-sdk/p-a04aac80.entry.js +0 -1
  471. package/dist/verdocs-web-sdk/p-a706bac9.js +0 -1
  472. package/dist/verdocs-web-sdk/p-b17843d9.system.js +0 -1
  473. package/dist/verdocs-web-sdk/p-b56793c4.entry.js +0 -1
  474. package/dist/verdocs-web-sdk/p-b7a9f07d.system.entry.js +0 -1
  475. package/dist/verdocs-web-sdk/p-b84d1a25.system.entry.js +0 -1
  476. package/dist/verdocs-web-sdk/p-bb253149.js +0 -1
  477. package/dist/verdocs-web-sdk/p-bd642df2.js +0 -1
  478. package/dist/verdocs-web-sdk/p-c7115b35.system.entry.js +0 -1
  479. package/dist/verdocs-web-sdk/p-cde4c155.js +0 -1
  480. package/dist/verdocs-web-sdk/p-d86c8c1a.entry.js +0 -1
  481. package/dist/verdocs-web-sdk/p-dbddb752.system.entry.js +0 -1
  482. package/dist/verdocs-web-sdk/p-dcd3eb1b.js +0 -1
  483. package/dist/verdocs-web-sdk/p-e123f19c.entry.js +0 -1
  484. package/dist/verdocs-web-sdk/p-e294b6c2.system.entry.js +0 -1
  485. package/dist/verdocs-web-sdk/p-e48b387d.system.entry.js +0 -1
  486. package/dist/verdocs-web-sdk/p-e83a163d.entry.js +0 -1
  487. package/dist/verdocs-web-sdk/p-e952ab89.system.entry.js +0 -1
  488. package/dist/verdocs-web-sdk/p-f08eb8bf.entry.js +0 -1
  489. package/dist/verdocs-web-sdk/p-f5064e0c.system.js +0 -1
  490. package/dist/verdocs-web-sdk/p-f79b8537.system.js +0 -1
  491. package/dist/verdocs-web-sdk/p-fa06e241.entry.js +0 -1
@@ -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
  }
@@ -1,9 +1,9 @@
1
1
  // NOTE: This component does not have a story because it's not intended for external use.
2
- import { getTemplateDocumentPageDisplayUri, VerdocsEndpoint } from "@verdocs/js-sdk";
2
+ import { getTemplate, getTemplateDocumentPageDisplayUri, VerdocsEndpoint } from "@verdocs/js-sdk";
3
3
  import { h, Host, Fragment } from "@stencil/core";
4
- import { getTemplateFieldStore } from "../../../utils/TemplateFieldStore";
5
4
  import { getControlStyles, getFieldId } from "../../../utils/utils";
6
5
  import { throttle } from "../../../utils/utils";
6
+ import { Store } from "../../../utils/Datastore";
7
7
  /**
8
8
  * Represents one document page. This is primarily a layout container used to coordinate positions of
9
9
  * page-related layers such as the page itself, signature fields, etc. It is not intended to be used
@@ -11,7 +11,7 @@ import { throttle } from "../../../utils/utils";
11
11
  */
12
12
  export class VerdocsTemplateDocumentPage {
13
13
  constructor() {
14
- this.fieldStore = null;
14
+ this.templateListenerId = null;
15
15
  this.endpoint = VerdocsEndpoint.getDefault();
16
16
  this.editable = false;
17
17
  this.disabled = false;
@@ -32,10 +32,12 @@ export class VerdocsTemplateDocumentPage {
32
32
  this.pageDisplayUri = '';
33
33
  this.xScale = 1;
34
34
  this.yScale = 1;
35
+ this.loading = true;
36
+ this.template = null;
35
37
  }
36
38
  async componentWillLoad() {
37
39
  this.pageDisplayUri = await getTemplateDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber);
38
- this.fieldStore = getTemplateFieldStore(this.templateId);
40
+ this.listenToTemplate();
39
41
  }
40
42
  componentDidLoad() {
41
43
  this.resizeObserver = new ResizeObserver(throttle(entries => {
@@ -55,12 +57,21 @@ export class VerdocsTemplateDocumentPage {
55
57
  disconnectedCallback() {
56
58
  var _a;
57
59
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
60
+ this.unlistenToTemplate();
61
+ }
62
+ async listenToTemplate() {
63
+ this.unlistenToTemplate();
64
+ Store.subscribe('templates', this.templateId, () => getTemplate(this.endpoint, this.templateId), false, (template) => {
65
+ this.template = template;
66
+ this.loading = false;
67
+ });
68
+ }
69
+ unlistenToTemplate() {
70
+ if (this.templateListenerId) {
71
+ Store.store.delListener(this.templateListenerId);
72
+ this.templateListenerId = null;
73
+ }
58
74
  }
59
- // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.
60
- // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.
61
- // componentDidRender() {
62
- // this.notifyRenderedSize();
63
- // }
64
75
  notifyRenderedSize() {
65
76
  // We skip one notification because by default we will always get at least two, one when rendering the initial size
66
77
  // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.
@@ -93,58 +104,63 @@ export class VerdocsTemplateDocumentPage {
93
104
  });
94
105
  }
95
106
  render() {
107
+ if (this.loading) {
108
+ return (h(Host, null, h("img", { src: "https://public-assets.verdocs.com/loading-placeholder.png", class: "placeholder", alt: "Placeholder page" })));
109
+ }
96
110
  const height = `${this.renderedHeight}px`;
97
- return (h(Host, { key: '1e8a98b5849ce5cc222baf9f7bcd544456c07a35', id: `${this.containerId}`, style: { height, flex: `0 0 ${height}` } }, this.layers.map(layer => layer.type === 'div' ? (h("div", { class: "verdocs-template-document-page-layer", id: `${this.containerId}-${layer.name}`, style: { height } }, layer.name === 'controls' &&
98
- this.fieldStore
99
- .get('fields')
100
- .filter(field => field && field.page === this.pageNumber)
101
- .map(field => {
102
- var _a, _b;
103
- const id = getFieldId(field);
104
- let { name, type, multiline } = field;
105
- const { xScale, yScale, templateId, editable, disabled, done, pageNumber } = this;
106
- if (((_a = field['setting']) === null || _a === void 0 ? void 0 : _a.leading) > 0 || ((_b = field['settings']) === null || _b === void 0 ? void 0 : _b.leading) > 0) {
107
- type = 'textarea';
108
- multiline = true;
109
- }
110
- switch (type) {
111
- case 'textbox':
112
- return (h("verdocs-field-textbox", { id: id, fieldname: name, templateid: templateId, editable: editable, multiline: multiline, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
113
- case 'textarea':
114
- return (h("verdocs-field-textarea", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
115
- case 'date':
116
- return (h("verdocs-field-date", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
117
- case 'attachment':
118
- return (h("verdocs-field-attachment", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
119
- case 'dropdown':
120
- return (h("verdocs-field-dropdown", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
121
- case 'initial':
122
- return (h("verdocs-field-initial", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
123
- case 'signature':
124
- return (h("verdocs-field-signature", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, this.xScale, this.yScale) }));
125
- case 'timestamp':
126
- return (h("verdocs-field-timestamp", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
127
- case 'checkbox':
128
- return (h("verdocs-field-checkbox", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
129
- case 'radio':
130
- return (h("verdocs-field-radio", { id: id, fieldname: name, templateid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
131
- default:
132
- return h(Fragment, null, name);
133
- }
134
- }))) : this.pageDisplayUri ? (h("img", { class: "verdocs-template-document-page-layer img", id: `${this.containerId}-${layer.name}`, src: this.pageDisplayUri, alt: `Page ${this.pageNumber}`, "aria-hidden": true, loading: "lazy", onLoad: (e) => {
135
- // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that
136
- // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).
137
- // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values
138
- // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the
139
- // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the
140
- // aspect ratio to adjust the "virtual" height in case the page is not 8.5"x11".
141
- // TODO: Store this in the DB with each page.
142
- this.naturalWidth = e.target.naturalWidth;
143
- this.naturalHeight = e.target.naturalHeight;
144
- this.aspectRatio = this.naturalWidth / this.naturalHeight;
145
- this.virtualHeight = this.virtualWidth / this.aspectRatio;
146
- this.renderedHeight = e.target.offsetWidth / this.aspectRatio;
147
- } })) : (h("div", null)))));
111
+ return (h(Host, { id: `${this.containerId}`, style: { height, flex: `0 0 ${height}` } }, this.layers.map(layer => {
112
+ var _a;
113
+ return layer.type === 'div' ? (h("div", { class: "verdocs-template-document-page-layer", id: `${this.containerId}-${layer.name}`, style: { height } }, layer.name === 'controls' &&
114
+ (((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || [])
115
+ .filter(field => field && field.page === this.pageNumber)
116
+ .map(field => {
117
+ var _a, _b;
118
+ const id = getFieldId(field);
119
+ let { name, type, multiline } = field;
120
+ const { xScale, yScale, templateId, editable, disabled, done, pageNumber } = this;
121
+ if (((_a = field['setting']) === null || _a === void 0 ? void 0 : _a.leading) > 0 || ((_b = field['settings']) === null || _b === void 0 ? void 0 : _b.leading) > 0) {
122
+ type = 'textarea';
123
+ multiline = true;
124
+ }
125
+ switch (type) {
126
+ case 'textbox':
127
+ return (h("verdocs-field-textbox", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, multiline: multiline, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
128
+ case 'textarea':
129
+ return (h("verdocs-field-textarea", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
130
+ case 'date':
131
+ return (h("verdocs-field-date", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
132
+ case 'attachment':
133
+ return (h("verdocs-field-attachment", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
134
+ case 'dropdown':
135
+ return (h("verdocs-field-dropdown", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
136
+ case 'initial':
137
+ return (h("verdocs-field-initial", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
138
+ case 'signature':
139
+ return (h("verdocs-field-signature", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, this.xScale, this.yScale) }));
140
+ case 'timestamp':
141
+ return (h("verdocs-field-timestamp", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
142
+ case 'checkbox':
143
+ return (h("verdocs-field-checkbox", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
144
+ case 'radio':
145
+ return (h("verdocs-field-radio", { id: id, fieldname: name, source: "template", sourceid: templateId, editable: editable, disabled: disabled, done: done, xscale: xScale, yscale: yScale, pagenumber: pageNumber, style: getControlStyles(field, xScale, yScale) }));
146
+ default:
147
+ return h(Fragment, null, name);
148
+ }
149
+ }))) : this.pageDisplayUri ? (h("img", { class: "verdocs-template-document-page-layer img", id: `${this.containerId}-${layer.name}`, src: this.pageDisplayUri, alt: `Page ${this.pageNumber}`, "aria-hidden": true, loading: "lazy", onLoad: (e) => {
150
+ // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that
151
+ // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).
152
+ // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values
153
+ // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the
154
+ // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the
155
+ // aspect ratio to adjust the "virtual" height in case the page is not 8.5"x11".
156
+ // TODO: Store this in the DB with each page.
157
+ this.naturalWidth = e.target.naturalWidth;
158
+ this.naturalHeight = e.target.naturalHeight;
159
+ this.aspectRatio = this.naturalWidth / this.naturalHeight;
160
+ this.virtualHeight = this.virtualWidth / this.aspectRatio;
161
+ this.renderedHeight = e.target.offsetWidth / this.aspectRatio;
162
+ } })) : (h("div", null));
163
+ })));
148
164
  }
149
165
  static get is() { return "verdocs-template-document-page"; }
150
166
  static get originalStyleUrls() {
@@ -360,7 +376,9 @@ export class VerdocsTemplateDocumentPage {
360
376
  "skipFirstNotification": {},
361
377
  "pageDisplayUri": {},
362
378
  "xScale": {},
363
- "yScale": {}
379
+ "yScale": {},
380
+ "loading": {},
381
+ "template": {}
364
382
  };
365
383
  }
366
384
  static get events() {
@@ -1,9 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
- import { deleteField, updateField, VerdocsEndpoint } from "@verdocs/js-sdk";
3
- import { getTemplateFieldStore, updateStoreField } from "../../../utils/TemplateFieldStore";
4
- import { getTemplateRoleStore } from "../../../utils/TemplateRoleStore";
5
- import { getTemplateStore } from "../../../utils/TemplateStore";
2
+ import { deleteField, getTemplate, updateField, VerdocsEndpoint } from "@verdocs/js-sdk";
6
3
  import { SDKError } from "../../../utils/errors";
4
+ import { Store } from "../../../utils/Datastore";
7
5
  const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
8
6
  const TrashIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#a50021"><path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" /></svg>`;
9
7
  const HelpIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><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>';
@@ -12,15 +10,12 @@ const HelpIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"
12
10
  */
13
11
  export class VerdocsTemplateFieldProperties {
14
12
  constructor() {
15
- this.templateStore = null;
16
- this.fieldStore = null;
17
- this.roleStore = null;
13
+ this.templateListenerId = null;
18
14
  this.endpoint = VerdocsEndpoint.getDefault();
19
15
  this.templateId = '';
20
16
  this.fieldName = '';
21
17
  this.helpText = '';
22
18
  this.dirty = false;
23
- this.loading = true;
24
19
  this.label = '';
25
20
  this.type = 'textbox';
26
21
  this.name = '';
@@ -32,6 +27,27 @@ export class VerdocsTemplateFieldProperties {
32
27
  this.placeholder = '';
33
28
  this.defaultValue = '';
34
29
  this.showingHelp = false;
30
+ this.loading = true;
31
+ this.template = null;
32
+ }
33
+ disconnectedCallback() {
34
+ this.unlistenToTemplate();
35
+ }
36
+ async listenToTemplate() {
37
+ console.log('[SENT] Loading template', this.templateId);
38
+ this.unlistenToTemplate();
39
+ Store.subscribe('templates', this.templateId, () => getTemplate(this.endpoint, this.templateId), false, (template) => {
40
+ console.log('[SEND] Template Updated', template);
41
+ this.template = template;
42
+ this.loading = false;
43
+ this.resetForm();
44
+ });
45
+ }
46
+ unlistenToTemplate() {
47
+ if (this.templateListenerId) {
48
+ Store.store.delListener(this.templateListenerId);
49
+ this.templateListenerId = null;
50
+ }
35
51
  }
36
52
  async componentWillLoad() {
37
53
  var _a, _b, _c;
@@ -49,10 +65,7 @@ export class VerdocsTemplateFieldProperties {
49
65
  console.log('[FIELD PROPERTIES] Unable to start builder session, must be authenticated');
50
66
  return;
51
67
  }
52
- this.templateStore = await getTemplateStore(this.endpoint, this.templateId);
53
- this.fieldStore = getTemplateFieldStore(this.templateId);
54
- this.roleStore = getTemplateRoleStore(this.templateId);
55
- this.resetForm();
68
+ this.listenToTemplate();
56
69
  }
57
70
  catch (e) {
58
71
  console.log('[FIELD PROPERTIES] Error loading template', e);
@@ -61,7 +74,8 @@ export class VerdocsTemplateFieldProperties {
61
74
  }
62
75
  }
63
76
  resetForm() {
64
- const field = this.fieldStore.get('fields').find(field => field.name === this.fieldName);
77
+ var _a;
78
+ const field = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).find(field => field.name === this.fieldName);
65
79
  if (!field) {
66
80
  console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in fields`);
67
81
  return;
@@ -102,11 +116,16 @@ export class VerdocsTemplateFieldProperties {
102
116
  this.cleanupOptions();
103
117
  console.log('[FIELD PROPERTIES] Will update', this.fieldName, newProperties);
104
118
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
105
- .then(updated => {
119
+ .then(updatedField => {
106
120
  var _a, _b, _c;
107
- console.log('[FIELD PROPERTIES] Updated', updated);
108
- updateStoreField(this.fieldStore, this.fieldName, updated);
109
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, field: updated });
121
+ console.log('[FIELD PROPERTIES] Updated', updatedField);
122
+ const newTemplate = JSON.parse(JSON.stringify(this.template));
123
+ const fieldIndex = newTemplate.fields.findIndex(field => field.name === this.fieldName);
124
+ if (fieldIndex > -1) {
125
+ newTemplate.fields[fieldIndex] = updatedField;
126
+ }
127
+ Store.updateTemplate(this.templateId, newTemplate);
128
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, field: updatedField });
110
129
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
111
130
  (_c = document.getElementById('verdocs-template-field-properties')) === null || _c === void 0 ? void 0 : _c.remove();
112
131
  })
@@ -119,7 +138,9 @@ export class VerdocsTemplateFieldProperties {
119
138
  deleteField(this.endpoint, this.templateId, this.fieldName)
120
139
  .then(() => {
121
140
  var _a, _b;
122
- this.fieldStore.set('fields', this.fieldStore.get('fields').filter(field => field.name !== this.fieldName));
141
+ const newTemplate = JSON.parse(JSON.stringify(this.template));
142
+ newTemplate.fields = newTemplate.fields.filter(field => field.name !== this.fieldName);
143
+ Store.updateTemplate(this.templateId, newTemplate);
123
144
  (_a = this.delete) === null || _a === void 0 ? void 0 : _a.emit({ templateId: this.templateId, roleName: this.roleName });
124
145
  (_b = document.getElementById('verdocs-template-field-properties')) === null || _b === void 0 ? void 0 : _b.remove();
125
146
  })
@@ -134,13 +155,15 @@ export class VerdocsTemplateFieldProperties {
134
155
  }
135
156
  }
136
157
  render() {
137
- var _a;
138
- // console.log('Rendering field properties', this.fieldStore.get(this.fieldName));
158
+ var _a, _b;
159
+ if (this.loading) {
160
+ return (h(Host, null, h("verdocs-loader", null)));
161
+ }
139
162
  if (!this.endpoint.session) {
140
163
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
141
164
  }
142
165
  // This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
143
- if (!this.endpoint.session || !this.fieldStore.get('fields').some(field => field.name === this.fieldName)) {
166
+ if (!this.endpoint.session || !(((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).some(field => field.name === this.fieldName)) {
144
167
  return h(Host, { class: "empty" });
145
168
  }
146
169
  if (this.helpText && this.showingHelp) {
@@ -156,7 +179,7 @@ export class VerdocsTemplateFieldProperties {
156
179
  } })), h("div", { class: "row" }, h("verdocs-text-input", { id: "verdocs-field-label", label: "Optional Label", value: this.label, autocomplete: "off", placeholder: "Optional Label...", onInput: (e) => {
157
180
  this.label = e.target.value;
158
181
  this.dirty = true;
159
- } })), h("div", { class: "row" }, h("div", { class: "input-label" }, "Role:"), h("verdocs-select-input", { value: this.roleName, options: (_a = this.roleStore.state) === null || _a === void 0 ? void 0 : _a.roles.map(role => ({ label: role.name, value: role.name })), onInput: (e) => {
182
+ } })), h("div", { class: "row" }, h("div", { class: "input-label" }, "Role:"), h("verdocs-select-input", { value: this.roleName, options: (((_b = this.template) === null || _b === void 0 ? void 0 : _b.roles) || []).map(role => ({ label: role.name, value: role.name })), onInput: (e) => {
160
183
  this.roleName = e.target.value;
161
184
  this.dirty = true;
162
185
  } })), ['textbox', 'textarea'].includes(this.type) && (h("div", { class: "row", style: { marginTop: '10px', marginBottom: '10px' } }, h("verdocs-text-input", { id: "verdocs-field-value", label: "Default Value", value: this.defaultValue, autocomplete: "off", placeholder: "Pre-filled value...", onInput: (e) => {
@@ -282,7 +305,6 @@ export class VerdocsTemplateFieldProperties {
282
305
  static get states() {
283
306
  return {
284
307
  "dirty": {},
285
- "loading": {},
286
308
  "label": {},
287
309
  "type": {},
288
310
  "name": {},
@@ -293,7 +315,9 @@ export class VerdocsTemplateFieldProperties {
293
315
  "options": {},
294
316
  "placeholder": {},
295
317
  "defaultValue": {},
296
- "showingHelp": {}
318
+ "showingHelp": {},
319
+ "loading": {},
320
+ "template": {}
297
321
  };
298
322
  }
299
323
  static get events() {