@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
@@ -1,5 +1,6 @@
1
1
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
2
- import { h, Host } from '@stencil/core';
2
+ import { h, Host, Fragment } from '@stencil/core';
3
+ import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
3
4
  import { getFieldSettings } from '../../../utils/utils';
4
5
  const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
5
6
  /**
@@ -8,8 +9,9 @@ const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width=
8
9
  */
9
10
  export class VerdocsFieldSignature {
10
11
  constructor() {
12
+ this.fieldStore = null;
11
13
  this.templateid = '';
12
- this.field = null;
14
+ this.fieldname = '';
13
15
  this.name = '';
14
16
  this.disabled = false;
15
17
  this.editable = false;
@@ -17,6 +19,9 @@ export class VerdocsFieldSignature {
17
19
  this.done = false;
18
20
  this.roleindex = 0;
19
21
  this.rerender = 0;
22
+ this.xscale = 1;
23
+ this.yscale = 1;
24
+ this.showingProperties = false;
20
25
  this.tempSignature = '';
21
26
  }
22
27
  async focusField() {
@@ -44,36 +49,46 @@ export class VerdocsFieldSignature {
44
49
  document.body.append(this.dialog);
45
50
  }
46
51
  async showSettingsPanel() {
47
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
52
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
48
53
  if (settingsPanel && settingsPanel.showPanel) {
49
54
  settingsPanel.showPanel();
50
55
  }
51
56
  }
52
57
  async hideSettingsPanel() {
53
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
58
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
54
59
  if (settingsPanel && settingsPanel.hidePanel) {
55
60
  settingsPanel.hidePanel();
56
61
  }
57
62
  // TemplateStore.updateCount++;
58
63
  }
64
+ async componentWillLoad() {
65
+ this.fieldStore = getTemplateFieldStore(this.templateid);
66
+ }
59
67
  render() {
60
- var _a, _b, _c;
61
- const settings = getFieldSettings(this.field);
68
+ var _a, _b;
69
+ const field = this.fieldStore.get(this.fieldname);
70
+ if (!field) {
71
+ return h(Fragment, null);
72
+ }
73
+ const settings = getFieldSettings(field);
62
74
  const value = settings.base64 || this.tempSignature;
63
75
  const disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
64
- const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);
76
+ const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
65
77
  if (this.done) {
66
78
  return h(Host, { class: { done: this.done } }, value && h("img", { src: value, alt: "Signature" }));
67
79
  }
68
- return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled }, style: { backgroundColor } }, value ? h("img", { src: value, alt: "Signature" }) : h("button", { onClick: () => !disabled && this.handleShow() }, "Signature"), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
80
+ return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.required, disabled }, style: { backgroundColor } }, value ? h("img", { src: value, alt: "Signature" }) : h("button", { onClick: () => !disabled && this.handleShow() }, "Signature"), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: settingsIcon, onClick: (e) => {
81
+ e.stopPropagation();
82
+ this.showingProperties = !this.showingProperties;
83
+ } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
69
84
  var _a;
70
- (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
85
+ (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name });
71
86
  return this.hideSettingsPanel();
72
87
  }, onSettingsChanged: e => {
73
88
  var _a;
74
89
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
75
90
  return this.hideSettingsPanel();
76
- } })))));
91
+ }, helpText: "Signature fields capture a recipient's signature on a document." })))))));
77
92
  }
78
93
  static get is() { return "verdocs-field-signature"; }
79
94
  static get originalStyleUrls() {
@@ -106,30 +121,23 @@ export class VerdocsFieldSignature {
106
121
  "reflect": false,
107
122
  "defaultValue": "''"
108
123
  },
109
- "field": {
110
- "type": "unknown",
124
+ "fieldname": {
125
+ "type": "string",
111
126
  "mutable": false,
112
127
  "complexType": {
113
- "original": "IEnvelopeField | ITemplateField | null",
114
- "resolved": "IEnvelopeField | ITemplateField",
115
- "references": {
116
- "IEnvelopeField": {
117
- "location": "import",
118
- "path": "@verdocs/js-sdk/Envelopes/Types"
119
- },
120
- "ITemplateField": {
121
- "location": "import",
122
- "path": "@verdocs/js-sdk/Templates/Types"
123
- }
124
- }
128
+ "original": "string",
129
+ "resolved": "string",
130
+ "references": {}
125
131
  },
126
132
  "required": false,
127
133
  "optional": false,
128
134
  "docs": {
129
135
  "tags": [],
130
- "text": "The document or template field to display."
136
+ "text": "The name of the field to display."
131
137
  },
132
- "defaultValue": "null"
138
+ "attribute": "fieldname",
139
+ "reflect": false,
140
+ "defaultValue": "''"
133
141
  },
134
142
  "name": {
135
143
  "type": "string",
@@ -256,11 +264,48 @@ export class VerdocsFieldSignature {
256
264
  "attribute": "rerender",
257
265
  "reflect": false,
258
266
  "defaultValue": "0"
267
+ },
268
+ "xscale": {
269
+ "type": "number",
270
+ "mutable": false,
271
+ "complexType": {
272
+ "original": "number",
273
+ "resolved": "number",
274
+ "references": {}
275
+ },
276
+ "required": false,
277
+ "optional": true,
278
+ "docs": {
279
+ "tags": [],
280
+ "text": "If set, the field will be be scaled horizontally by this factor."
281
+ },
282
+ "attribute": "xscale",
283
+ "reflect": false,
284
+ "defaultValue": "1"
285
+ },
286
+ "yscale": {
287
+ "type": "number",
288
+ "mutable": false,
289
+ "complexType": {
290
+ "original": "number",
291
+ "resolved": "number",
292
+ "references": {}
293
+ },
294
+ "required": false,
295
+ "optional": true,
296
+ "docs": {
297
+ "tags": [],
298
+ "text": "If set, the field will be be scaled vertically by this factor."
299
+ },
300
+ "attribute": "yscale",
301
+ "reflect": false,
302
+ "defaultValue": "1"
259
303
  }
260
304
  };
261
305
  }
262
306
  static get states() {
263
307
  return {
308
+ "showingProperties": {},
264
309
  "tempSignature": {}
265
310
  };
266
311
  }
@@ -54,4 +54,18 @@ verdocs-field-textarea verdocs-button-panel .icon svg {
54
54
  }
55
55
  verdocs-field-textarea verdocs-button-panel .icon:hover svg {
56
56
  fill: #000000;
57
+ }
58
+ verdocs-field-textarea .settings-icon {
59
+ position: absolute;
60
+ top: -3px;
61
+ left: -20px;
62
+ display: inline-block;
63
+ cursor: pointer;
64
+ opacity: 0.6;
65
+ }
66
+ verdocs-field-textarea .settings-icon svg {
67
+ fill: #707ae5;
68
+ }
69
+ verdocs-field-textarea .settings-icon:hover {
70
+ opacity: 1;
57
71
  }
@@ -2,17 +2,19 @@ import interact from 'interactjs';
2
2
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
3
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
4
4
  import { updateField } from '@verdocs/js-sdk/Templates/Fields';
5
- import { h, Host } from '@stencil/core';
5
+ import { h, Host, Fragment } from '@stencil/core';
6
6
  import { getFieldSettings } from '../../../utils/utils';
7
+ import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
7
8
  const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
8
9
  /**
9
10
  * Display a multi-line text input field.
10
11
  */
11
12
  export class VerdocsFieldTextarea {
12
13
  constructor() {
14
+ this.fieldStore = null;
13
15
  this.endpoint = VerdocsEndpoint.getDefault();
14
16
  this.templateid = '';
15
- this.field = null;
17
+ this.fieldname = '';
16
18
  this.disabled = false;
17
19
  this.editable = false;
18
20
  this.moveable = false;
@@ -21,23 +23,27 @@ export class VerdocsFieldTextarea {
21
23
  this.xscale = 1;
22
24
  this.yscale = 1;
23
25
  this.rerender = 0;
26
+ this.showingProperties = false;
24
27
  }
25
28
  async focusField() {
26
29
  this.inputEl.focus();
27
30
  }
28
31
  async showSettingsPanel() {
29
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
32
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
30
33
  if (settingsPanel && settingsPanel.showPanel) {
31
34
  settingsPanel.showPanel();
32
35
  }
33
36
  }
34
37
  async hideSettingsPanel() {
35
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
38
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
36
39
  if (settingsPanel && settingsPanel.hidePanel) {
37
40
  settingsPanel.hidePanel();
38
41
  }
39
42
  // TemplateStore.updateCount++;
40
43
  }
44
+ async componentWillLoad() {
45
+ this.fieldStore = getTemplateFieldStore(this.templateid);
46
+ }
41
47
  componentDidRender() {
42
48
  interact.dynamicDrop(true);
43
49
  if (this.editable) {
@@ -69,38 +75,46 @@ export class VerdocsFieldTextarea {
69
75
  Object.assign(e.target.dataset, { x, y, h });
70
76
  }
71
77
  handleResizeEnd(e) {
72
- const newSettings = { ...getFieldSettings(this.field) };
78
+ const field = this.fieldStore.get(this.fieldname);
79
+ const newSettings = { ...getFieldSettings(field) };
73
80
  const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
74
81
  newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
75
82
  newSettings.height = Math.round(parseFloat(e.target.style.height) / this.yscale);
76
83
  newSettings.x = Math.round(newSettings.x + translateX / this.xscale);
77
84
  newSettings.y = Math.round(newSettings.y - translateY / this.yscale);
78
- updateField(this.endpoint, this.templateid, this.field.name, { setting: newSettings })
85
+ updateField(this.endpoint, this.templateid, this.fieldname, { setting: newSettings })
79
86
  .then(field => {
80
87
  var _a;
81
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings, field });
88
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldname, settings: newSettings, field });
82
89
  Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });
83
90
  })
84
91
  .catch(e => console.log('Field update failed', e));
85
92
  }
86
93
  render() {
87
- var _a, _b, _c, _d;
88
- const settings = getFieldSettings(this.field);
94
+ var _a, _b;
95
+ const field = this.fieldStore.get(this.fieldname);
96
+ if (!field) {
97
+ return h(Fragment, null);
98
+ }
99
+ const settings = getFieldSettings(field);
89
100
  const disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
90
101
  const value = (settings === null || settings === void 0 ? void 0 : settings.result) || '';
91
- const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);
102
+ const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
92
103
  if (this.done) {
93
104
  return h(Host, { class: { done: this.done } }, settings.value);
94
105
  }
95
- return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled, done: this.done }, style: { backgroundColor } }, h("textarea", { placeholder: settings.placeholder || '', tabIndex: settings.order, disabled: disabled, name: this.field.name, required: (_d = this.field) === null || _d === void 0 ? void 0 : _d.required, ref: el => (this.inputEl = el) }, value), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
106
+ return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.required, disabled, done: this.done }, style: { backgroundColor } }, h("textarea", { placeholder: settings.placeholder || '', tabIndex: settings.order, disabled: disabled, name: field.name, required: field === null || field === void 0 ? void 0 : field.required, ref: el => (this.inputEl = el) }, value), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: settingsIcon, onClick: (e) => {
107
+ e.stopPropagation();
108
+ this.showingProperties = !this.showingProperties;
109
+ } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${this.fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
96
110
  var _a;
97
- (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
111
+ (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name });
98
112
  return this.hideSettingsPanel();
99
113
  }, onSettingsChanged: e => {
100
114
  var _a;
101
115
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
102
116
  return this.hideSettingsPanel();
103
- } })))));
117
+ }, helpText: 'Text areas may be used to create multi-line text fields.' })))))));
104
118
  }
105
119
  static get is() { return "verdocs-field-textarea"; }
106
120
  static get originalStyleUrls() {
@@ -154,30 +168,23 @@ export class VerdocsFieldTextarea {
154
168
  "reflect": false,
155
169
  "defaultValue": "''"
156
170
  },
157
- "field": {
158
- "type": "unknown",
171
+ "fieldname": {
172
+ "type": "string",
159
173
  "mutable": false,
160
174
  "complexType": {
161
- "original": "IEnvelopeField | ITemplateField | null",
162
- "resolved": "IEnvelopeField | ITemplateField",
163
- "references": {
164
- "IEnvelopeField": {
165
- "location": "import",
166
- "path": "@verdocs/js-sdk/Envelopes/Types"
167
- },
168
- "ITemplateField": {
169
- "location": "import",
170
- "path": "@verdocs/js-sdk/Templates/Types"
171
- }
172
- }
175
+ "original": "string",
176
+ "resolved": "string",
177
+ "references": {}
173
178
  },
174
179
  "required": false,
175
180
  "optional": false,
176
181
  "docs": {
177
182
  "tags": [],
178
- "text": "The document or template field to display."
183
+ "text": "The name of the field to display."
179
184
  },
180
- "defaultValue": "null"
185
+ "attribute": "fieldname",
186
+ "reflect": false,
187
+ "defaultValue": "''"
181
188
  },
182
189
  "disabled": {
183
190
  "type": "boolean",
@@ -325,6 +332,11 @@ export class VerdocsFieldTextarea {
325
332
  }
326
333
  };
327
334
  }
335
+ static get states() {
336
+ return {
337
+ "showingProperties": {}
338
+ };
339
+ }
328
340
  static get events() {
329
341
  return [{
330
342
  "method": "settingsChanged",
@@ -57,4 +57,18 @@ verdocs-field-textbox verdocs-button-panel .icon:hover svg {
57
57
  }
58
58
  verdocs-field-textbox [data-lastpass-icon-root] {
59
59
  display: none !important;
60
+ }
61
+ verdocs-field-textbox .settings-icon {
62
+ position: absolute;
63
+ top: -4px;
64
+ left: -20px;
65
+ display: inline-block;
66
+ cursor: pointer;
67
+ opacity: 0.6;
68
+ }
69
+ verdocs-field-textbox .settings-icon svg {
70
+ fill: #707ae5;
71
+ }
72
+ verdocs-field-textbox .settings-icon:hover {
73
+ opacity: 1;
60
74
  }
@@ -2,17 +2,19 @@ import interact from 'interactjs';
2
2
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
3
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
4
4
  import { updateField } from '@verdocs/js-sdk/Templates/Fields';
5
- import { h, Host } from '@stencil/core';
5
+ import { h, Host, Fragment } from '@stencil/core';
6
+ import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
6
7
  import { getFieldSettings } from '../../../utils/utils';
7
- const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
8
+ const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54A6.992 6.992 0 0 1 7.51 3.456l.33-1.652ZM10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" clip-rule="evenodd" /></svg>';
8
9
  /**
9
10
  * Display a text input field.
10
11
  */
11
12
  export class VerdocsFieldTextbox {
12
13
  constructor() {
14
+ this.fieldStore = null;
13
15
  this.endpoint = VerdocsEndpoint.getDefault();
14
16
  this.templateid = '';
15
- this.field = null;
17
+ this.fieldname = '';
16
18
  this.disabled = false;
17
19
  this.editable = false;
18
20
  this.moveable = false;
@@ -21,22 +23,26 @@ export class VerdocsFieldTextbox {
21
23
  this.xscale = 1;
22
24
  this.yscale = 1;
23
25
  this.rerender = 0;
26
+ this.showingProperties = false;
24
27
  }
25
28
  async focusField() {
26
29
  this.inputEl.focus();
27
30
  }
28
31
  async showSettingsPanel() {
29
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
32
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
30
33
  if (settingsPanel && settingsPanel.showPanel) {
31
34
  settingsPanel.showPanel();
32
35
  }
33
36
  }
34
37
  async hideSettingsPanel() {
35
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
38
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
36
39
  if (settingsPanel && settingsPanel.hidePanel) {
37
40
  settingsPanel.hidePanel();
38
41
  }
39
42
  }
43
+ async componentWillLoad() {
44
+ this.fieldStore = getTemplateFieldStore(this.templateid);
45
+ }
40
46
  componentDidRender() {
41
47
  interact.dynamicDrop(true);
42
48
  if (this.editable) {
@@ -68,26 +74,31 @@ export class VerdocsFieldTextbox {
68
74
  Object.assign(e.target.dataset, { x, y, h });
69
75
  }
70
76
  handleResizeEnd(e) {
71
- const newSettings = { ...getFieldSettings(this.field) };
77
+ const field = this.fieldStore.get(this.fieldname);
78
+ const newSettings = { ...getFieldSettings(field) };
72
79
  const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
73
80
  newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
74
81
  newSettings.height = Math.round(parseFloat(e.target.style.height) / this.yscale);
75
82
  newSettings.x = Math.round(newSettings.x + translateX / this.xscale);
76
83
  newSettings.y = Math.round(newSettings.y - translateY / this.yscale);
77
- updateField(this.endpoint, this.templateid, this.field.name, { setting: newSettings })
84
+ updateField(this.endpoint, this.templateid, this.fieldname, { setting: newSettings })
78
85
  .then(field => {
79
86
  var _a;
80
87
  console.log('update result', field);
81
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings, field });
88
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name, settings: newSettings, field });
82
89
  Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });
83
90
  })
84
91
  .catch(e => console.log('Field update failed', e));
85
92
  }
86
93
  render() {
87
- var _a, _b, _c, _d;
88
- const settings = getFieldSettings(this.field);
94
+ var _a, _b;
95
+ const field = this.fieldStore.get(this.fieldname);
96
+ if (!field) {
97
+ return h(Fragment, null);
98
+ }
99
+ const settings = getFieldSettings(field);
89
100
  let disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
90
- const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);
101
+ const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
91
102
  const value = (settings === null || settings === void 0 ? void 0 : settings.result) || '';
92
103
  const width = settings.width || 150;
93
104
  // TODO: This is an outdated technique from the old system. We should compute it.
@@ -95,16 +106,18 @@ export class VerdocsFieldTextbox {
95
106
  if (this.done) {
96
107
  return h(Host, { class: { done: this.done } }, value);
97
108
  }
98
- return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: this.field.name, placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: (_d = this.field) === null || _d === void 0 ? void 0 : _d.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
109
+ return (h(Host, { class: { required: field.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: field.name, placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: field === null || field === void 0 ? void 0 : field.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: settingsIcon, onClick: (e) => {
110
+ e.stopPropagation();
111
+ this.showingProperties = !this.showingProperties;
112
+ } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
99
113
  var _a;
100
- (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
114
+ (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name });
101
115
  return this.hideSettingsPanel();
102
116
  }, onSettingsChanged: e => {
103
117
  var _a;
104
- console.log('here');
105
118
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
106
119
  return this.hideSettingsPanel();
107
- }, helpText: 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the "name" field.<br /><br />If marked required, the participant must complete the field before proceeding.' })))));
120
+ }, helpText: 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the "name" field.<br /><br />If marked required, the participant must complete the field before proceeding.' })))))));
108
121
  }
109
122
  static get is() { return "verdocs-field-textbox"; }
110
123
  static get originalStyleUrls() {
@@ -158,30 +171,23 @@ export class VerdocsFieldTextbox {
158
171
  "reflect": false,
159
172
  "defaultValue": "''"
160
173
  },
161
- "field": {
162
- "type": "unknown",
174
+ "fieldname": {
175
+ "type": "string",
163
176
  "mutable": false,
164
177
  "complexType": {
165
- "original": "IEnvelopeField | ITemplateField | null",
166
- "resolved": "IEnvelopeField | ITemplateField",
167
- "references": {
168
- "IEnvelopeField": {
169
- "location": "import",
170
- "path": "@verdocs/js-sdk/Envelopes/Types"
171
- },
172
- "ITemplateField": {
173
- "location": "import",
174
- "path": "@verdocs/js-sdk/Templates/Types"
175
- }
176
- }
178
+ "original": "string",
179
+ "resolved": "string",
180
+ "references": {}
177
181
  },
178
182
  "required": false,
179
183
  "optional": false,
180
184
  "docs": {
181
185
  "tags": [],
182
- "text": "The document or template field to display."
186
+ "text": "The name of the field to display."
183
187
  },
184
- "defaultValue": "null"
188
+ "attribute": "fieldname",
189
+ "reflect": false,
190
+ "defaultValue": "''"
185
191
  },
186
192
  "disabled": {
187
193
  "type": "boolean",
@@ -329,6 +335,11 @@ export class VerdocsFieldTextbox {
329
335
  }
330
336
  };
331
337
  }
338
+ static get states() {
339
+ return {
340
+ "showingProperties": {}
341
+ };
342
+ }
332
343
  static get events() {
333
344
  return [{
334
345
  "method": "settingsChanged",
@@ -51,4 +51,18 @@ verdocs-field-timestamp verdocs-button-panel .icon svg {
51
51
  }
52
52
  verdocs-field-timestamp verdocs-button-panel .icon:hover svg {
53
53
  fill: #000000;
54
+ }
55
+ verdocs-field-timestamp .settings-icon {
56
+ position: absolute;
57
+ top: -3px;
58
+ left: -20px;
59
+ display: inline-block;
60
+ cursor: pointer;
61
+ opacity: 0.6;
62
+ }
63
+ verdocs-field-timestamp .settings-icon svg {
64
+ fill: #707ae5;
65
+ }
66
+ verdocs-field-timestamp .settings-icon:hover {
67
+ opacity: 1;
54
68
  }