@verdocs/web-sdk 2.3.15 → 2.3.18

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 (263) hide show
  1. package/dist/cjs/TemplateFieldStore-48265c39.js +26 -0
  2. package/dist/cjs/{TemplateStore-17b9fdfe.js → TemplateStore-3e45f5ef.js} +2 -0
  3. package/dist/cjs/interact.min-a61b43b3.js +12 -0
  4. package/dist/cjs/ipc-test.cjs.entry.js +2 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/{utils-0916d10f.js → utils-c531813b.js} +2 -0
  7. package/dist/cjs/verdocs-build.cjs.entry.js +2 -1
  8. package/dist/cjs/verdocs-button-panel.cjs.entry.js +80 -0
  9. package/dist/cjs/{verdocs-contact-picker_3.cjs.entry.js → verdocs-contact-picker_2.cjs.entry.js} +1 -73
  10. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +24 -11
  13. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +26 -10
  14. package/dist/cjs/verdocs-field-date.cjs.entry.js +29 -12
  15. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +26 -10
  16. package/dist/cjs/verdocs-field-initial.cjs.entry.js +27 -11
  17. package/dist/cjs/verdocs-field-payment.cjs.entry.js +19 -9
  18. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +28 -12
  19. package/dist/cjs/verdocs-field-signature.cjs.entry.js +27 -11
  20. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +30 -15
  21. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +31 -17
  22. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +28 -12
  23. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  24. package/dist/cjs/{verdocs-button-panel_2.cjs.entry.js → verdocs-portal_2.cjs.entry.js} +117 -101
  25. package/dist/cjs/verdocs-preview_8.cjs.entry.js +3 -2
  26. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-sign.cjs.entry.js +3 -2
  28. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +58 -50
  30. package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
  31. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  32. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +2 -1
  33. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.css +14 -0
  34. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +36 -26
  35. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.css +14 -0
  36. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +74 -25
  37. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.css +14 -0
  38. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +75 -29
  39. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.css +14 -0
  40. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +74 -25
  41. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.css +14 -0
  42. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +71 -26
  43. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.css +14 -0
  44. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +64 -25
  45. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.css +14 -0
  46. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +76 -27
  47. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.css +14 -0
  48. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +71 -26
  49. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.css +14 -0
  50. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +41 -29
  51. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +14 -0
  52. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +42 -31
  53. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.css +14 -0
  54. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +76 -27
  55. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.css +6 -0
  56. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +62 -44
  57. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +55 -47
  58. package/dist/collection/utils/TemplateFieldStore.js +20 -0
  59. package/dist/collection/utils/TemplateStore.js +6 -0
  60. package/dist/collection/utils/utils.js +2 -7
  61. package/dist/components/TemplateFieldStore.js +23 -0
  62. package/dist/components/TemplateStore.js +2 -0
  63. package/dist/components/interact.min.js +2 -2
  64. package/dist/components/utils.js +2 -0
  65. package/dist/components/verdocs-button-panel.js +94 -1
  66. package/dist/components/verdocs-field-attachment.js +34 -21
  67. package/dist/components/verdocs-field-checkbox.js +38 -20
  68. package/dist/components/verdocs-field-date.js +42 -23
  69. package/dist/components/verdocs-field-dropdown.js +38 -20
  70. package/dist/components/verdocs-field-initial.js +41 -23
  71. package/dist/components/verdocs-field-payment.js +22 -10
  72. package/dist/components/verdocs-field-radio-button.js +40 -22
  73. package/dist/components/verdocs-field-signature.js +39 -21
  74. package/dist/components/verdocs-field-textarea.js +39 -24
  75. package/dist/components/verdocs-field-textbox.js +40 -26
  76. package/dist/components/verdocs-field-timestamp.js +40 -22
  77. package/dist/components/verdocs-sign.js +2 -1
  78. package/dist/components/verdocs-template-field-properties2.js +63 -45
  79. package/dist/components/verdocs-template-fields2.js +55 -47
  80. package/dist/docs.json +404 -156
  81. package/dist/esm/TemplateFieldStore-9dbcdd90.js +23 -0
  82. package/dist/esm/{TemplateStore-ad77a294.js → TemplateStore-9fb3ba37.js} +2 -0
  83. package/dist/esm/interact.min-6a7b19a1.js +10 -0
  84. package/dist/esm/ipc-test.entry.js +2 -1
  85. package/dist/esm/loader.js +1 -1
  86. package/dist/esm/{utils-ca3121df.js → utils-ccf09e73.js} +2 -0
  87. package/dist/esm/verdocs-build.entry.js +2 -1
  88. package/dist/{components/verdocs-button-panel2.js → esm/verdocs-button-panel.entry.js} +8 -28
  89. package/dist/esm/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +2 -73
  90. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  91. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  92. package/dist/esm/verdocs-field-attachment.entry.js +25 -12
  93. package/dist/esm/verdocs-field-checkbox.entry.js +27 -11
  94. package/dist/esm/verdocs-field-date.entry.js +30 -13
  95. package/dist/esm/verdocs-field-dropdown.entry.js +27 -11
  96. package/dist/esm/verdocs-field-initial.entry.js +28 -12
  97. package/dist/esm/verdocs-field-payment.entry.js +20 -10
  98. package/dist/esm/verdocs-field-radio-button.entry.js +29 -13
  99. package/dist/esm/verdocs-field-signature.entry.js +28 -12
  100. package/dist/esm/verdocs-field-textarea.entry.js +31 -16
  101. package/dist/esm/verdocs-field-textbox.entry.js +32 -18
  102. package/dist/esm/verdocs-field-timestamp.entry.js +29 -13
  103. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  104. package/dist/esm/{verdocs-button-panel_2.entry.js → verdocs-portal_2.entry.js} +118 -102
  105. package/dist/esm/verdocs-preview_8.entry.js +3 -2
  106. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
  107. package/dist/esm/verdocs-sign.entry.js +3 -2
  108. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  109. package/dist/esm/verdocs-template-fields_4.entry.js +58 -50
  110. package/dist/esm/verdocs-view.entry.js +1 -1
  111. package/dist/esm/verdocs-web-sdk.js +1 -1
  112. package/dist/esm-es5/TemplateFieldStore-9dbcdd90.js +1 -0
  113. package/dist/esm-es5/TemplateStore-9fb3ba37.js +1 -0
  114. package/dist/esm-es5/interact.min-6a7b19a1.js +1 -0
  115. package/dist/esm-es5/ipc-test.entry.js +1 -1
  116. package/dist/esm-es5/loader.js +1 -1
  117. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  118. package/dist/esm-es5/verdocs-button-panel.entry.js +1 -0
  119. package/dist/esm-es5/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +1 -1
  120. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  121. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  123. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  124. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  125. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  126. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  127. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  128. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  129. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  130. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  131. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  132. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  134. package/dist/esm-es5/verdocs-portal_2.entry.js +1 -0
  135. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  136. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  138. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  139. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  140. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  141. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  142. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +7 -4
  143. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +15 -4
  144. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +14 -3
  145. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +15 -4
  146. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +14 -3
  147. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +13 -3
  148. package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +15 -4
  149. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +15 -4
  150. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +7 -4
  151. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +6 -3
  152. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +15 -4
  153. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +7 -5
  154. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +4 -2
  155. package/dist/types/components.d.ts +175 -47
  156. package/dist/types/utils/TemplateFieldStore.d.ts +6 -0
  157. package/dist/types/utils/TemplateStore.d.ts +1 -1
  158. package/dist/types/utils/utils.d.ts +0 -1
  159. package/dist/verdocs-web-sdk/p-0328539a.entry.js +1 -0
  160. package/dist/verdocs-web-sdk/p-097f349a.system.entry.js +1 -0
  161. package/dist/verdocs-web-sdk/p-0aca6235.entry.js +1 -0
  162. package/dist/verdocs-web-sdk/p-0ccf2abe.system.entry.js +1 -0
  163. package/dist/verdocs-web-sdk/{p-05e6bc91.entry.js → p-1cad24fa.entry.js} +1 -1
  164. package/dist/verdocs-web-sdk/p-1e5ad9ba.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/{p-6331d113.entry.js → p-28272d35.entry.js} +1 -1
  166. package/dist/verdocs-web-sdk/p-2d0b17e7.entry.js +1 -0
  167. package/dist/verdocs-web-sdk/p-2d4ca5a0.system.entry.js +1 -0
  168. package/dist/verdocs-web-sdk/p-2dd4da7d.system.entry.js +1 -0
  169. package/dist/verdocs-web-sdk/{p-59769c39.system.entry.js → p-30f3c33a.system.entry.js} +1 -1
  170. package/dist/verdocs-web-sdk/p-36c5379e.entry.js +1 -0
  171. package/dist/verdocs-web-sdk/p-38497444.system.entry.js +1 -0
  172. package/dist/verdocs-web-sdk/p-3e490dfa.entry.js +1 -0
  173. package/dist/verdocs-web-sdk/p-4027169f.entry.js +1 -0
  174. package/dist/verdocs-web-sdk/p-41e51012.entry.js +1 -0
  175. package/dist/verdocs-web-sdk/{p-acc873cf.system.entry.js → p-49fba82f.system.entry.js} +1 -1
  176. package/dist/verdocs-web-sdk/p-4e27ba77.entry.js +1 -0
  177. package/dist/verdocs-web-sdk/p-55180d12.entry.js +1 -0
  178. package/dist/verdocs-web-sdk/p-63b86867.system.entry.js +1 -0
  179. package/dist/verdocs-web-sdk/p-66443920.entry.js +1 -0
  180. package/dist/verdocs-web-sdk/p-691f18de.system.entry.js +1 -0
  181. package/dist/verdocs-web-sdk/p-6c3ba7d3.js +1 -0
  182. package/dist/verdocs-web-sdk/p-7203fda7.system.entry.js +1 -0
  183. package/dist/verdocs-web-sdk/p-7211a137.system.entry.js +1 -0
  184. package/dist/verdocs-web-sdk/{p-ba653c39.system.entry.js → p-72c635ef.system.entry.js} +1 -1
  185. package/dist/verdocs-web-sdk/{p-e4dc3264.system.entry.js → p-749a7d9d.system.entry.js} +1 -1
  186. package/dist/verdocs-web-sdk/p-74c05793.system.entry.js +1 -0
  187. package/dist/verdocs-web-sdk/p-7c2627ba.system.js +1 -0
  188. package/dist/verdocs-web-sdk/p-84e7ab97.entry.js +1 -0
  189. package/dist/verdocs-web-sdk/p-85ee0dbe.entry.js +1 -0
  190. package/dist/verdocs-web-sdk/p-884367a1.js +1 -0
  191. package/dist/verdocs-web-sdk/p-8f99d965.system.entry.js +1 -0
  192. package/dist/verdocs-web-sdk/p-90b7699c.system.entry.js +1 -0
  193. package/dist/verdocs-web-sdk/p-915883e6.js +1 -0
  194. package/dist/verdocs-web-sdk/{p-1a7aa04b.entry.js → p-91d084e9.entry.js} +1 -1
  195. package/dist/verdocs-web-sdk/{p-b467d981.system.entry.js → p-93a6c71d.system.entry.js} +1 -1
  196. package/dist/verdocs-web-sdk/{p-e1bc55f8.entry.js → p-94caaad0.entry.js} +1 -1
  197. package/dist/verdocs-web-sdk/p-9b0a81c2.system.entry.js +1 -0
  198. package/dist/verdocs-web-sdk/p-9f61c422.system.entry.js +1 -0
  199. package/dist/verdocs-web-sdk/{p-2ccbf54d.entry.js → p-a1f94c81.entry.js} +1 -1
  200. package/dist/verdocs-web-sdk/p-a38c70eb.entry.js +1 -0
  201. package/dist/verdocs-web-sdk/p-a5da4f00.system.js +1 -0
  202. package/dist/verdocs-web-sdk/p-a6a93948.entry.js +1 -0
  203. package/dist/verdocs-web-sdk/p-b1019fba.entry.js +1 -0
  204. package/dist/verdocs-web-sdk/{p-1e38b22f.system.entry.js → p-b68869f2.system.entry.js} +1 -1
  205. package/dist/verdocs-web-sdk/p-ba76e170.system.entry.js +1 -0
  206. package/dist/verdocs-web-sdk/{p-1cb878c8.system.entry.js → p-bcb8d6bf.system.entry.js} +1 -1
  207. package/dist/verdocs-web-sdk/p-bd444cde.entry.js +1 -0
  208. package/dist/verdocs-web-sdk/{p-0c425f97.system.entry.js → p-bf0cc00c.system.entry.js} +1 -1
  209. package/dist/verdocs-web-sdk/p-d381bf8c.system.entry.js +1 -0
  210. package/dist/verdocs-web-sdk/p-d4522397.entry.js +1 -0
  211. package/dist/verdocs-web-sdk/p-e2ff37fb.system.js +1 -0
  212. package/dist/verdocs-web-sdk/{p-76f8c30a.entry.js → p-ee4bb73a.entry.js} +1 -1
  213. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  214. package/dist/verdocs-web-sdk/p-f073d143.system.entry.js +1 -0
  215. package/dist/verdocs-web-sdk/{p-410c63e6.entry.js → p-fcf9db79.entry.js} +1 -1
  216. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  217. package/package.json +4 -4
  218. package/dist/cjs/interact.min-7c05ff8a.js +0 -12
  219. package/dist/custom-elements.json +0 -2067
  220. package/dist/esm/interact.min-ef5402f3.js +0 -10
  221. package/dist/esm-es5/TemplateStore-ad77a294.js +0 -1
  222. package/dist/esm-es5/interact.min-ef5402f3.js +0 -1
  223. package/dist/esm-es5/verdocs-button-panel_2.entry.js +0 -1
  224. package/dist/verdocs-web-sdk/p-062ca25f.system.entry.js +0 -1
  225. package/dist/verdocs-web-sdk/p-22e0d2bc.entry.js +0 -1
  226. package/dist/verdocs-web-sdk/p-37dfdc84.entry.js +0 -1
  227. package/dist/verdocs-web-sdk/p-3f3807b0.system.entry.js +0 -1
  228. package/dist/verdocs-web-sdk/p-46624bec.entry.js +0 -1
  229. package/dist/verdocs-web-sdk/p-4e47ed1c.entry.js +0 -1
  230. package/dist/verdocs-web-sdk/p-5645b8cd.entry.js +0 -1
  231. package/dist/verdocs-web-sdk/p-746fce21.entry.js +0 -1
  232. package/dist/verdocs-web-sdk/p-79168c6a.system.entry.js +0 -1
  233. package/dist/verdocs-web-sdk/p-7b30c523.system.entry.js +0 -1
  234. package/dist/verdocs-web-sdk/p-82b5e475.system.js +0 -1
  235. package/dist/verdocs-web-sdk/p-82d9fa84.system.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-85df0da6.entry.js +0 -1
  237. package/dist/verdocs-web-sdk/p-870707e8.system.entry.js +0 -1
  238. package/dist/verdocs-web-sdk/p-8af68516.system.entry.js +0 -1
  239. package/dist/verdocs-web-sdk/p-8c0fafde.system.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-9360b085.system.entry.js +0 -1
  241. package/dist/verdocs-web-sdk/p-999fbe79.js +0 -1
  242. package/dist/verdocs-web-sdk/p-9a5c0882.system.entry.js +0 -1
  243. package/dist/verdocs-web-sdk/p-9d2995a9.entry.js +0 -1
  244. package/dist/verdocs-web-sdk/p-a40b3946.entry.js +0 -1
  245. package/dist/verdocs-web-sdk/p-ac98f6f1.system.entry.js +0 -1
  246. package/dist/verdocs-web-sdk/p-b5eb8024.entry.js +0 -1
  247. package/dist/verdocs-web-sdk/p-b7a815e9.system.entry.js +0 -1
  248. package/dist/verdocs-web-sdk/p-b9443a01.entry.js +0 -1
  249. package/dist/verdocs-web-sdk/p-d59b6988.entry.js +0 -1
  250. package/dist/verdocs-web-sdk/p-d99a05e4.system.entry.js +0 -1
  251. package/dist/verdocs-web-sdk/p-dd2c2edc.entry.js +0 -1
  252. package/dist/verdocs-web-sdk/p-e28878eb.system.entry.js +0 -1
  253. package/dist/verdocs-web-sdk/p-e760f894.entry.js +0 -1
  254. package/dist/verdocs-web-sdk/p-eda5691a.entry.js +0 -1
  255. package/dist/verdocs-web-sdk/p-eeca4c30.entry.js +0 -1
  256. package/dist/verdocs-web-sdk/p-f3dde708.js +0 -1
  257. package/dist/verdocs-web-sdk/p-f42c84f1.entry.js +0 -1
  258. package/dist/verdocs-web-sdk/p-f6b7439f.system.entry.js +0 -1
  259. package/dist/verdocs-web-sdk/p-fcd0a40a.system.js +0 -1
  260. package/dist/verdocs-web-sdk/p-fe67b620.system.entry.js +0 -1
  261. /package/dist/esm-es5/{utils-ca3121df.js → utils-ccf09e73.js} +0 -0
  262. /package/dist/verdocs-web-sdk/{p-840827b7.system.js → p-9a7178fe.system.js} +0 -0
  263. /package/dist/verdocs-web-sdk/{p-02a71e03.js → p-a9f315bb.js} +0 -0
@@ -3,6 +3,7 @@ import { c as commonjsGlobal } from './_commonjsHelpers.js';
3
3
  import './Types.js';
4
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
5
  import { u as updateField, d as deleteField } from './Fields.js';
6
+ import { c as createTemplateFieldStore } from './TemplateFieldStore.js';
6
7
  import { g as getTemplateStore } from './TemplateStore.js';
7
8
  import { S as SDKError } from './errors.js';
8
9
  import { d as defineCustomElement$6 } from './verdocs-button2.js';
@@ -201,7 +202,7 @@ uuid.v4 = v4_1;
201
202
 
202
203
  var uuidBrowser = uuid;
203
204
 
204
- const verdocsTemplateFieldPropertiesCss = "verdocs-template-field-properties{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-field-properties .buttons{display:-ms-flexbox;display:flex;margin-top:30px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-template-field-properties .buttons verdocs-button{margin-left:16px}verdocs-template-field-properties form .row{display:-ms-flexbox;display:flex;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;margin:0 0 10px 0;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-template-field-properties form .row .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0;-ms-flex:0 0 100px;flex:0 0 100px}verdocs-template-field-properties verdocs-select-input{-ms-flex:1;flex:1;margin:0}verdocs-template-field-properties verdocs-text-input{margin:0;-ms-flex:1;flex:1}verdocs-template-field-properties verdocs-text-input label{margin:0;display:-ms-flexbox;display:flex;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-template-field-properties verdocs-text-input .input-label{-ms-flex:0 0 100px;flex:0 0 100px}verdocs-template-field-properties verdocs-text-input input{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex}verdocs-template-field-properties .checkbox-wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex}verdocs-template-field-properties .delete-button{height:34px;display:-ms-flexbox;display:flex;cursor:pointer;background:none;border-radius:4px;-ms-flex-align:center;align-items:center;border:1px solid #999;-ms-flex-pack:center;justify-content:center}verdocs-template-field-properties .delete-button:active{background:#f3f3f3}verdocs-template-field-properties .delete-button svg{width:24px;height:24px}verdocs-template-field-properties h6{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;font-size:16px;font-weight:bold;margin:0 0 8px 0;-ms-flex-direction:row;flex-direction:row;color:#092c4c}verdocs-template-field-properties h6 .help-icon{opacity:0.5}verdocs-template-field-properties h6 .help-icon:hover{opacity:1;cursor:pointer}verdocs-template-field-properties .row-header{gap:15px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}verdocs-template-field-properties .row-header h6{margin-bottom:0}verdocs-template-field-properties .row-header verdocs-help-icon{-webkit-transform:scale(0.85);transform:scale(0.85)}verdocs-template-field-properties .row-header verdocs-help-icon svg{margin-bottom:-5px}verdocs-template-field-properties .row-header .add-button{margin:0;padding:0;border:none;opacity:0.5;cursor:pointer;background:none}verdocs-template-field-properties .row-header .add-button:hover{opacity:1}verdocs-template-field-properties .row-header .add-button svg{width:32px;height:32px}verdocs-template-field-properties .option-row{margin:15px 0}verdocs-template-field-properties .option-row .remove-button{height:28px;display:-ms-flexbox;display:flex;cursor:pointer;background:none;border-radius:4px;-ms-flex-align:center;align-items:center;border:1px solid #999;-ms-flex-pack:center;justify-content:center}verdocs-template-field-properties .option-row .remove-button:active{background:#f3f3f3}verdocs-template-field-properties .option-row .remove-button:hover svg{stroke:#a50021}verdocs-template-field-properties .option-row .remove-button svg{width:20px;height:20px;stroke:#333333}verdocs-template-field-properties .options{background:#f3f3f3;padding:0 0 10px 0}verdocs-template-field-properties .options .row-header,verdocs-template-field-properties .options .option-row{padding:0 10px}verdocs-template-field-properties .options .add-option-button{border-radius:5px;border:1px solid #cccccc;background:#46497d;color:#ffffff;padding:3px 8px}verdocs-template-field-properties .options .option-row .input-element{font-size:14px}verdocs-template-field-properties .options verdocs-help-icon{opacity:1;-webkit-transform:scale(0.8);transform:scale(0.8)}verdocs-template-field-properties .options verdocs-help-icon svg{fill:#ffffff}";
205
+ const verdocsTemplateFieldPropertiesCss = "verdocs-template-field-properties{padding:20px;display:block;border-radius:4px;background:#ffffff;border:1px solid #ccc;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;-webkit-box-shadow:2px 2px 10px 0px #0000001f;box-shadow:2px 2px 10px 0px #0000001f}verdocs-template-field-properties .buttons{display:-ms-flexbox;display:flex;margin-top:30px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-template-field-properties .buttons verdocs-button{margin-left:16px}verdocs-template-field-properties form .row{display:-ms-flexbox;display:flex;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;margin:0 0 10px 0;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-template-field-properties form .row .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0;-ms-flex:0 0 100px;flex:0 0 100px}verdocs-template-field-properties verdocs-select-input{-ms-flex:1;flex:1;margin:0}verdocs-template-field-properties verdocs-text-input{margin:0;-ms-flex:1;flex:1}verdocs-template-field-properties verdocs-text-input label{margin:0;display:-ms-flexbox;display:flex;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-template-field-properties verdocs-text-input .input-label{-ms-flex:0 0 100px;flex:0 0 100px}verdocs-template-field-properties verdocs-text-input input{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex}verdocs-template-field-properties .checkbox-wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex}verdocs-template-field-properties .delete-button{height:34px;display:-ms-flexbox;display:flex;cursor:pointer;background:none;border-radius:4px;-ms-flex-align:center;align-items:center;border:1px solid #999;-ms-flex-pack:center;justify-content:center}verdocs-template-field-properties .delete-button:active{background:#f3f3f3}verdocs-template-field-properties .delete-button svg{width:24px;height:24px}verdocs-template-field-properties h6{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;font-size:16px;font-weight:bold;margin:0 0 8px 0;-ms-flex-direction:row;flex-direction:row;color:#092c4c}verdocs-template-field-properties h6 .help-icon{opacity:0.5}verdocs-template-field-properties h6 .help-icon:hover{opacity:1;cursor:pointer}verdocs-template-field-properties .row-header{gap:15px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}verdocs-template-field-properties .row-header h6{margin-bottom:0}verdocs-template-field-properties .row-header verdocs-help-icon{-webkit-transform:scale(0.85);transform:scale(0.85)}verdocs-template-field-properties .row-header verdocs-help-icon svg{margin-bottom:-5px}verdocs-template-field-properties .row-header .add-button{margin:0;padding:0;border:none;opacity:0.5;cursor:pointer;background:none}verdocs-template-field-properties .row-header .add-button:hover{opacity:1}verdocs-template-field-properties .row-header .add-button svg{width:32px;height:32px}verdocs-template-field-properties .option-row{margin:15px 0}verdocs-template-field-properties .option-row .remove-button{height:28px;display:-ms-flexbox;display:flex;cursor:pointer;background:none;border-radius:4px;-ms-flex-align:center;align-items:center;border:1px solid #999;-ms-flex-pack:center;justify-content:center}verdocs-template-field-properties .option-row .remove-button:active{background:#f3f3f3}verdocs-template-field-properties .option-row .remove-button:hover svg{stroke:#a50021}verdocs-template-field-properties .option-row .remove-button svg{width:20px;height:20px;stroke:#333333}verdocs-template-field-properties .options{background:#f3f3f3;padding:0 0 10px 0}verdocs-template-field-properties .options .row-header,verdocs-template-field-properties .options .option-row{padding:0 10px}verdocs-template-field-properties .options .add-option-button{border-radius:5px;border:1px solid #cccccc;background:#46497d;color:#ffffff;padding:3px 8px}verdocs-template-field-properties .options .option-row .input-element{font-size:14px}verdocs-template-field-properties .options verdocs-help-icon{opacity:1;-webkit-transform:scale(0.8);transform:scale(0.8)}verdocs-template-field-properties .options verdocs-help-icon svg{fill:#ffffff}";
205
206
 
206
207
  const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
207
208
  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>`;
@@ -214,21 +215,23 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
214
215
  this.delete = createEvent(this, "delete", 7);
215
216
  this.settingsChanged = createEvent(this, "settingsChanged", 7);
216
217
  this.sdkError = createEvent(this, "sdkError", 7);
217
- this.store = null;
218
+ this.templateStore = null;
219
+ this.fieldStore = null;
220
+ this.watcher = null;
218
221
  this.endpoint = VerdocsEndpoint.getDefault();
219
222
  this.templateId = '';
220
223
  this.fieldName = '';
221
224
  this.helpText = '';
222
225
  this.dirty = false;
223
226
  this.loading = true;
224
- this.type = 'signature';
225
227
  this.setting = null;
226
228
  this.label = '';
229
+ this.type = 'textbox';
227
230
  this.name = '';
231
+ this.required = false;
228
232
  this.roleName = '';
229
233
  this.group = '';
230
234
  this.fieldType = '';
231
- this.required = false;
232
235
  this.options = [];
233
236
  this.placeholder = '';
234
237
  this.value = '';
@@ -236,7 +239,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
236
239
  this.showingHelp = false;
237
240
  }
238
241
  async componentWillLoad() {
239
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
242
+ var _a, _b, _c, _d, _e, _f, _g;
240
243
  try {
241
244
  this.endpoint.loadSession();
242
245
  if (!this.templateId) {
@@ -251,11 +254,37 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
251
254
  console.log('[FIELD PROPERTIES] Unable to start builder session, must be authenticated');
252
255
  return;
253
256
  }
254
- this.store = await getTemplateStore(this.endpoint, this.templateId, false);
255
- const field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(field => field.name === this.fieldName);
257
+ this.templateStore = await getTemplateStore(this.endpoint, this.templateId);
258
+ createTemplateFieldStore(this.templateStore.state);
259
+ this.fieldStore = await createTemplateFieldStore(this.templateStore.state);
260
+ // console.log('tfs', this.fieldStore?.state);
261
+ const field = this.fieldStore.get(this.fieldName);
262
+ // console.log('gf', field);
256
263
  if (!field) {
257
- console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in template`);
264
+ console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in fields`);
265
+ }
266
+ else {
267
+ console.log('props', field);
258
268
  }
269
+ this.watcher = this.fieldStore.onChange(this.fieldName, field => {
270
+ console.log('Field changed', field);
271
+ // this.type = field.type;
272
+ // this.name = field.name;
273
+ // this.label = field.label;
274
+ // this.group = field.name;
275
+ // this.roleName = field.role_name;
276
+ // this.required = field.required;
277
+ // this.fieldType = field.type;
278
+ // // TODO: Talk about how we want to handle labels/placeholders
279
+ // this.placeholder = field.setting?.placeholder || '';
280
+ // this.value = field.setting?.result || '';
281
+ // this.leading = field.setting?.leading || 0;
282
+ // this.setting = field.setting || {};
283
+ // this.options = field.setting?.options || [];
284
+ // this.dirty = false;
285
+ // this.loading = false;
286
+ });
287
+ console.log('watcher', this.watcher);
259
288
  this.type = field.type;
260
289
  this.name = field.name;
261
290
  this.label = field.label;
@@ -264,36 +293,37 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
264
293
  this.required = field.required;
265
294
  this.fieldType = field.type;
266
295
  // TODO: Talk about how we want to handle labels/placeholders
267
- this.placeholder = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.placeholder) || '';
268
- this.value = ((_d = field.setting) === null || _d === void 0 ? void 0 : _d.result) || '';
269
- this.leading = ((_e = field.setting) === null || _e === void 0 ? void 0 : _e.leading) || 0;
296
+ this.placeholder = ((_a = field.setting) === null || _a === void 0 ? void 0 : _a.placeholder) || '';
297
+ this.value = ((_b = field.setting) === null || _b === void 0 ? void 0 : _b.result) || '';
298
+ this.leading = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.leading) || 0;
270
299
  this.setting = field.setting || {};
271
- this.options = ((_f = field.setting) === null || _f === void 0 ? void 0 : _f.options) || [];
300
+ this.options = ((_d = field.setting) === null || _d === void 0 ? void 0 : _d.options) || [];
272
301
  this.dirty = false;
273
302
  this.loading = false;
303
+ console.log('Displaying settings for', this.setting);
274
304
  }
275
305
  catch (e) {
276
306
  console.log('[FIELD PROPERTIES] Error loading template', e);
277
307
  this.loading = false;
278
- (_g = this.sdkError) === null || _g === void 0 ? void 0 : _g.emit(new SDKError(e.message, (_h = e.response) === null || _h === void 0 ? void 0 : _h.status, (_j = e.response) === null || _j === void 0 ? void 0 : _j.data));
308
+ (_e = this.sdkError) === null || _e === void 0 ? void 0 : _e.emit(new SDKError(e.message, (_f = e.response) === null || _f === void 0 ? void 0 : _f.status, (_g = e.response) === null || _g === void 0 ? void 0 : _g.data));
279
309
  }
280
310
  }
281
311
  handleCancel(e) {
282
- var _a, _b, _c, _d, _e, _f;
312
+ var _a, _b, _c, _d;
283
313
  e.stopPropagation();
284
- const field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(field => field.name === this.fieldName);
314
+ const field = this.fieldStore.get(this.fieldName);
285
315
  if (field) {
286
316
  this.name = field.name;
287
317
  this.label = field.label;
288
318
  this.roleName = field.role_name;
289
319
  this.required = field.required;
290
320
  // TODO: Talk about how we want to handle labels/placeholders
291
- this.placeholder = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.placeholder) || '';
292
- this.value = ((_d = field.setting) === null || _d === void 0 ? void 0 : _d.result) || '';
293
- this.leading = ((_e = field.setting) === null || _e === void 0 ? void 0 : _e.leading) || 0;
321
+ this.placeholder = ((_a = field.setting) === null || _a === void 0 ? void 0 : _a.placeholder) || '';
322
+ this.value = ((_b = field.setting) === null || _b === void 0 ? void 0 : _b.result) || '';
323
+ this.leading = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.leading) || 0;
294
324
  }
295
325
  this.dirty = false;
296
- (_f = this.close) === null || _f === void 0 ? void 0 : _f.emit();
326
+ (_d = this.close) === null || _d === void 0 ? void 0 : _d.emit();
297
327
  }
298
328
  handleSave(e) {
299
329
  e.stopPropagation();
@@ -319,6 +349,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
319
349
  options: this.options,
320
350
  };
321
351
  }
352
+ console.log('FP: Will update', this.fieldName, newProperties);
322
353
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
323
354
  .then(field => {
324
355
  var _a, _b;
@@ -370,33 +401,18 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
370
401
  });
371
402
  }
372
403
  updateField(newField) {
373
- const newFields = [...this.store.state.fields];
374
- newFields.forEach(field => {
375
- if (field.name === this.fieldName) {
376
- Object.assign(field, newField);
377
- // field.name = this.name;
378
- // field.role_name = this.roleName;
379
- // field.required = this.required;
380
- // field.label = this.placeholder;
381
- // field.setting.result = this.defaultValue;
382
- // if (field.setting.options) {
383
- // field.setting.options = this.options;
384
- // }
385
- }
386
- });
387
- this.store.state.fields = newFields;
404
+ const oldField = this.fieldStore.get(this.fieldName) || {};
405
+ console.log('Updating field', this.fieldName, newField);
406
+ Object.assign(oldField, newField);
388
407
  }
389
408
  async handleDelete(e) {
390
409
  e.stopPropagation();
391
410
  if (window.confirm('Are you sure you wish to remove this field? This action cannot be undone.')) {
392
411
  deleteField(this.endpoint, this.templateId, this.fieldName)
393
412
  .then(() => {
394
- var _a, _b, _c, _d, _e;
395
- this.store.state.fields = [...(_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.filter(field => field.name !== this.fieldName)];
396
- (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles.forEach(role => {
397
- role.fields = [...role.fields.filter(field => field.name !== this.fieldName)];
398
- });
399
- (_e = this.delete) === null || _e === void 0 ? void 0 : _e.emit({ templateId: this.templateId, roleName: this.roleName });
413
+ var _a;
414
+ this.fieldStore.set(this.fieldName, undefined);
415
+ (_a = this.delete) === null || _a === void 0 ? void 0 : _a.emit({ templateId: this.templateId, roleName: this.roleName });
400
416
  })
401
417
  .catch(e => {
402
418
  console.log('[FIELD PROPERTIES] Deletion error', e);
@@ -404,17 +420,19 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
404
420
  }
405
421
  }
406
422
  render() {
407
- var _a, _b, _c, _d;
423
+ var _a;
424
+ // console.log('Rendering field properties', this.fieldStore.get(this.fieldName));
408
425
  if (!this.endpoint.session) {
409
426
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
410
427
  }
411
428
  // This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
412
- if (!this.endpoint.session || !((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.isLoaded)) {
429
+ if (!this.endpoint.session || !this.fieldStore.get(this.fieldName)) {
413
430
  return h(Host, { class: "empty" });
414
431
  }
415
432
  if (this.helpText && this.showingHelp) {
416
433
  return (h(Host, null, h("h6", null, capitalize(this.fieldType), " Settings ", h("div", { style: { flex: '1' } }), h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = false) })), h("p", { class: "instructions", innerHTML: this.helpText })));
417
434
  }
435
+ // console.log('tfp', this.templateId, this.fieldName);
418
436
  return (h(Host, null, h("h6", null, capitalize(this.fieldType.replace(/_/g, ' ')), " Settings ", h("div", { style: { flex: '1' } }), this.helpText && h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = true) })), h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("verdocs-text-input", { id: "verdocs-field-name", label: "Field Name", value: this.name, autocomplete: "off",
419
437
  // helpText="The internal name of the field. Must be unique, and contain only letters, numbers, and dashes. After an envelope is completed, the value entered by the signer will be tagged with this key."
420
438
  placeholder: "Field Name...", onInput: (e) => {
@@ -425,7 +443,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
425
443
  placeholder: "Optional Label...", onInput: (e) => {
426
444
  this.label = e.target.value;
427
445
  this.dirty = true;
428
- } })), h("div", { class: "row" }, h("div", { class: "input-label" }, "Role:"), h("verdocs-select-input", { value: this.roleName, options: (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles.map(role => ({ label: role.name, value: role.name })), onInput: (e) => {
446
+ } })), h("div", { class: "row" }, h("div", { class: "input-label" }, "Role:"), h("verdocs-select-input", { value: this.roleName, options: (_a = this.templateStore.state) === null || _a === void 0 ? void 0 : _a.roles.map(role => ({ label: role.name, value: role.name })), onInput: (e) => {
429
447
  this.roleName = e.target.value;
430
448
  this.dirty = true;
431
449
  } })), ['textbox', 'textarea'].includes(this.type) && (h("div", { class: "row", style: { marginTop: '10px', marginBottom: '10px' } }, h("verdocs-text-input", { id: "verdocs-field-value", label: "Value", value: this.value, autocomplete: "off", placeholder: "Pre-defined value...", onInput: (e) => {
@@ -472,14 +490,14 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
472
490
  "helpText": [1, "help-text"],
473
491
  "dirty": [32],
474
492
  "loading": [32],
475
- "type": [32],
476
493
  "setting": [32],
477
494
  "label": [32],
495
+ "type": [32],
478
496
  "name": [32],
497
+ "required": [32],
479
498
  "roleName": [32],
480
499
  "group": [32],
481
500
  "fieldType": [32],
482
- "required": [32],
483
501
  "options": [32],
484
502
  "placeholder": [32],
485
503
  "value": [32],
@@ -5,6 +5,7 @@ import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
5
  import { u as updateField, c as createField } from './Fields.js';
6
6
  import { i as integerSequence } from './Primitives.js';
7
7
  import { b as getRoleIndex, r as renderDocumentField, f as updateCssTransform, h as defaultWidth, i as defaultHeight } from './utils.js';
8
+ import { c as createTemplateFieldStore } from './TemplateFieldStore.js';
8
9
  import { g as getTemplateStore, a as getRoleNames } from './TemplateStore.js';
9
10
  import { S as SDKError } from './errors.js';
10
11
  import { d as defineCustomElement$7 } from './verdocs-button2.js';
@@ -50,7 +51,8 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
50
51
  this.sdkError = createEvent(this, "sdkError", 7);
51
52
  this.templateUpdated = createEvent(this, "templateUpdated", 7);
52
53
  this.pageHeights = {};
53
- this.store = null;
54
+ this.templateStore = null;
55
+ this.fieldStore = null;
54
56
  this.cachedPageInfo = {};
55
57
  this.endpoint = VerdocsEndpoint.getDefault();
56
58
  this.templateId = null;
@@ -72,10 +74,9 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
72
74
  console.log('[FIELDS] Unable to start builder session, must be authenticated');
73
75
  return;
74
76
  }
75
- this.store = await getTemplateStore(this.endpoint, this.templateId, true);
76
- console.log(`[FIELDS] Loaded template ${this.templateId}`, this.store.state);
77
- this.selectedRoleName = ((_d = (_c = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.name) || '';
78
- console.log('[FIELDS] Starting with role', this.selectedRoleName);
77
+ this.templateStore = await getTemplateStore(this.endpoint, this.templateId, true);
78
+ this.fieldStore = createTemplateFieldStore(this.templateStore.state);
79
+ this.selectedRoleName = ((_d = (_c = (_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.name) || '';
79
80
  }
80
81
  catch (e) {
81
82
  console.log('[FIELDS] Error with preview session', e);
@@ -95,8 +96,8 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
95
96
  componentWillUpdate() {
96
97
  var _a, _b, _c, _d, _e, _f;
97
98
  // If a new role was added and there were none yet so far, or the "selected" role was deleted, reset our selection
98
- if (!this.selectedRoleName || !(((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) || []).find(role => role.name === this.selectedRoleName)) {
99
- this.selectedRoleName = ((_f = (_e = (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.name) || '';
99
+ if (!this.selectedRoleName || !(((_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) || []).find(role => role.name === this.selectedRoleName)) {
100
+ this.selectedRoleName = ((_f = (_e = (_d = (_c = this.templateStore) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.name) || '';
100
101
  console.log('[FIELDS] Selected new role', this.selectedRoleName);
101
102
  }
102
103
  }
@@ -110,35 +111,52 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
110
111
  console.log('[FIELDS] handleFieldChange', field, e, optionId);
111
112
  this.rerender++;
112
113
  }
113
- handleFieldSettingsChange(pageInfo, field, roleIndex, el, newFieldData) {
114
- var _a, _b, _c, _d;
115
- console.log('[FIELDS] Field settings changed', field.name, newFieldData);
114
+ handleFieldSettingsChange(pageInfo, field, el, newFieldData, oldName) {
115
+ var _a, _b;
116
+ // handleFieldSettingsChange(pageInfo: any, field: any, roleIndex: number, el: any, newFieldData: any) {
117
+ console.log('[FIELDS] Field settings changed', oldName, field.name, newFieldData);
116
118
  Object.assign(field, newFieldData);
117
119
  el.field = newFieldData;
118
120
  this.selectedRoleName = field.role_name;
119
- el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.store), field.role_name));
120
- el.field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(f => f.name === field.name);
121
+ el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.templateStore), field.role_name));
122
+ el.field = this.fieldStore.get(field.name);
121
123
  this.rerender++;
122
124
  el.setAttribute('rerender', this.rerender);
123
- (_c = this.templateUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, template: (_d = this.store) === null || _d === void 0 ? void 0 : _d.state, event: 'updated-field' });
124
- console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber);
125
- this.reRenderField(field, pageInfo.pageNumber);
126
- const newEl = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
127
- if (!newEl) {
128
- return;
125
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
126
+ // We do this to avoid dupes if the field gets renamed.
127
+ if (field.name !== oldName) {
128
+ console.log('[FIELDS] Renaming field', oldName, field.name);
129
+ el.remove();
130
+ delete this.fieldStore.state[oldName];
129
131
  }
132
+ else {
133
+ console.log('[FIELDS] Updating existing field', field.name);
134
+ }
135
+ // REMINDER: Do not access el past this point! It may have been removed from the DOM.
136
+ console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber, field);
137
+ this.fieldStore.set(field.name, field);
138
+ // const roleIndex = getRoleIndex(getRoleNames(this.templateStore), field.role_name);
139
+ // this.attachFieldAttributes(pageInfo, field, roleIndex, el);
140
+ this.reRenderField(field, pageInfo.pageNumber);
141
+ // const newEl = renderDocumentField(field, pageInfo, roleIndex, {disabled: true, editable: true, draggable: true});
142
+ // if (!newEl) {
143
+ // return;
144
+ // }
130
145
  }
131
146
  attachFieldAttributes(pageInfo, field, roleIndex, el) {
147
+ // console.log('afa', field);
132
148
  el.addEventListener('input', e => this.handleFieldChange(field, e));
133
- el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, roleIndex, el, e.detail.field));
149
+ el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field, e.detail.fieldName));
150
+ // el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, roleIndex, el, e.detail.field));
134
151
  el.addEventListener('deleted', () => {
135
152
  var _a, _b;
136
153
  console.log('[FIELDS] Deleted', this, field);
137
154
  el.remove();
138
155
  this.rerender++;
139
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
156
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
140
157
  });
141
158
  el.setAttribute('templateid', this.templateId);
159
+ el.setAttribute('fieldname', field.name);
142
160
  el.setAttribute('roleindex', roleIndex);
143
161
  el.setAttribute('pageNumber', pageInfo.pageNumber);
144
162
  el.setAttribute('xScale', pageInfo.xScale);
@@ -146,17 +164,16 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
146
164
  el.setAttribute('name', field.name);
147
165
  }
148
166
  handlePageRendered(e) {
149
- var _a;
150
167
  const pageInfo = e.detail;
151
- console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
168
+ // console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
152
169
  this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
153
170
  this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
154
- const fields = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields.filter(field => field.page_sequence === pageInfo.pageNumber);
171
+ const fields = Object.values(this.fieldStore.state).filter(field => field.page_sequence === pageInfo.pageNumber);
155
172
  fields.forEach(field => this.reRenderField(field, pageInfo.pageNumber));
156
173
  }
157
174
  reRenderField(field, pageNumber) {
158
175
  const pageInfo = this.cachedPageInfo[pageNumber];
159
- const roleIndex = getRoleIndex(getRoleNames(this.store), field.role_name);
176
+ const roleIndex = getRoleIndex(getRoleNames(this.templateStore), field.role_name);
160
177
  const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
161
178
  if (!el) {
162
179
  return;
@@ -192,11 +209,9 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
192
209
  updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
193
210
  }
194
211
  async handleMoveEnd(event) {
195
- var _a;
196
212
  const name = event.target.getAttribute('name');
197
213
  const option = +(event.target.getAttribute('option') || '0');
198
- const field = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields.find(field => field.name === name);
199
- console.log('Dropped field', name, field);
214
+ const field = this.fieldStore.get(name);
200
215
  if (!field) {
201
216
  console.log('[FIELDS] Unable to find field', name);
202
217
  return;
@@ -212,9 +227,7 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
212
227
  // "up" from the bottom (negative displacement).
213
228
  const newX = Math.max(clientRect.left - parentRect.left, 0);
214
229
  const newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);
215
- // console.log('Computing coordinates', {naturalWidth, width: event.rect.width, naturalHeight, height: event.rect.height, newX, newY});
216
230
  const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - width, naturalHeight - height);
217
- // console.log('Drop End', {x, y, newX, newY});
218
231
  switch (field.type) {
219
232
  case 'attachment':
220
233
  case 'payment':
@@ -239,22 +252,20 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
239
252
  }
240
253
  break;
241
254
  }
242
- console.log('[FIELDS] Will update', name, option, field);
255
+ console.log('[FIELDS] Will update', name, y, option, field);
243
256
  const newFieldData = await updateField(this.endpoint, this.templateId, name, field);
244
257
  const pageInfo = this.cachedPageInfo[pageNumber];
245
- const roleIndex = getRoleIndex(getRoleNames(this.store), field.role_name);
246
- this.handleFieldSettingsChange(pageInfo, field, roleIndex, event.target, newFieldData);
258
+ this.handleFieldSettingsChange(pageInfo, field, event.target, newFieldData, name);
247
259
  event.target.removeAttribute('posX');
248
260
  event.target.removeAttribute('posY');
249
261
  }
250
262
  generateFieldName(type, pageNumber) {
251
- var _a;
252
263
  let i = 1;
253
264
  let fieldName;
254
265
  do {
255
266
  fieldName = `${type}P${pageNumber}-${i}`;
256
267
  i++;
257
- } while ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields.some(field => field.name === fieldName));
268
+ } while (Object.values(this.fieldStore.state).some(field => field.name === fieldName));
258
269
  return fieldName;
259
270
  }
260
271
  // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
@@ -262,11 +273,10 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
262
273
  const { xScale = 1, yScale = 1, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
263
274
  const x = Math.floor(Math.min(viewX / xScale, xMax));
264
275
  const y = Math.floor(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));
265
- console.log('Computed coordinates', { x, y, viewX, viewY, xMax, yMax });
266
276
  return { x, y };
267
277
  }
268
278
  async handleClickPage(e, pageNumber) {
269
- var _a, _b, _c;
279
+ var _a, _b;
270
280
  if (this.placing) {
271
281
  const clickedX = e.offsetX;
272
282
  const clickedY = e.offsetY;
@@ -293,6 +303,7 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
293
303
  width,
294
304
  height,
295
305
  };
306
+ console.log('[FIELDS] Will save new field', field);
296
307
  // TODO: Fix how the server validates all this. It uses a JSON schema and is very particular about shapes for each field type.
297
308
  // That makes it harder for third party developers to create fields via API calls. It would be better to always set X/Y and
298
309
  // let the server normalize the rest, discarding properties that are invalid and back-filling defaults as needed.
@@ -358,28 +369,25 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
358
369
  field.type = 'textbox';
359
370
  }
360
371
  const saved = await createField(this.endpoint, this.templateId, field);
361
- console.log('Saved field', saved);
362
- if (this.store.state) {
363
- this.store.state.fields = [...(_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields, saved];
364
- }
372
+ console.log('[FIELDS] Saved field', saved);
373
+ this.fieldStore.set(saved.name, saved);
365
374
  this.placing = null;
366
- (_b = this.templateUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, template: (_c = this.store) === null || _c === void 0 ? void 0 : _c.state, event: 'added-field' });
375
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'added-field' });
367
376
  this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
368
377
  }
369
378
  }
370
379
  render() {
371
380
  var _a, _b, _c, _d, _e, _f, _g, _h;
372
- console.log('[FIELDS] Rendering', this.selectedRoleName);
373
381
  if (!this.endpoint.session) {
374
382
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
375
383
  }
376
384
  // TODO: Render a better error
377
- if (!((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.isLoaded)) {
385
+ if (!((_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state.isLoaded)) {
378
386
  return (h(Host, null, h("verdocs-loader", null)));
379
387
  }
380
- const selectableRoles = (_c = (_b = this.store) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.roles.map(role => ({ value: role.name, label: role.name }));
388
+ const selectableRoles = (_c = (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.roles.map(role => ({ value: role.name, label: role.name }));
381
389
  return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-r": this.rerender, onSubmit: () => {
382
- console.log('onSubmit');
390
+ // console.log('onSubmit');
383
391
  } }, h("div", { id: "verdocs-template-fields-toolbar" }, h("div", { class: "add-for" }, "Add field:"), h("verdocs-select-input", { value: this.selectedRoleName, options: selectableRoles, onInput: (e) => (this.selectedRoleName = e.target.value) }), menuOptions.map(option => (h("verdocs-toolbar-icon", { text: option.tooltip, icon: option.icon, onClick: () => {
384
392
  // We ignore empty-tooltip entries because they're separators
385
393
  if (option.tooltip) {
@@ -391,13 +399,13 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
391
399
  this.showMustSelectRole = true;
392
400
  }
393
401
  }
394
- } })))), h("div", { class: "pages" }, (((_e = (_d = this.store) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.template_documents) || []).map(document => {
402
+ } })))), h("div", { class: "pages" }, (((_e = (_d = this.templateStore) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.template_documents) || []).map(document => {
395
403
  const pageNumbers = integerSequence(1, document.page_numbers);
396
404
  return pageNumbers.map(page => (h("verdocs-template-document-page", { templateId: this.templateId, documentId: document.id, pageNumber: page, virtualWidth: 612, virtualHeight: 792, onClick: (e) => this.handleClickPage(e, page), onPageRendered: e => this.handlePageRendered(e), layers: [
397
405
  { name: 'page', type: 'canvas' },
398
406
  { name: 'controls', type: 'div' },
399
407
  ] })));
400
- })), this.showMustSelectRole && (h("verdocs-ok-dialog", { heading: "Unable to add field", message: ((_h = (_g = (_f = this.store) === null || _f === void 0 ? void 0 : _f.state) === null || _g === void 0 ? void 0 : _g.roles) === null || _h === void 0 ? void 0 : _h.length) > 0 ? 'Please select a role before adding fields.' : 'Please add at least one role before adding fields.', onNext: () => (this.showMustSelectRole = false) }))));
408
+ })), this.showMustSelectRole && (h("verdocs-ok-dialog", { heading: "Unable to add field", message: ((_h = (_g = (_f = this.templateStore) === null || _f === void 0 ? void 0 : _f.state) === null || _g === void 0 ? void 0 : _g.roles) === null || _h === void 0 ? void 0 : _h.length) > 0 ? 'Please select a role before adding fields.' : 'Please add at least one role before adding fields.', onNext: () => (this.showMustSelectRole = false) }))));
401
409
  }
402
410
  static get style() { return verdocsTemplateFieldsCss; }
403
411
  }, [0, "verdocs-template-fields", {