@verdocs/web-sdk 2.3.16 → 2.3.19

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 (255) hide show
  1. package/dist/cjs/TemplateFieldStore-40e85b9d.js +42 -0
  2. package/dist/cjs/{TemplateStore-0074c71d.js → TemplateStore-6a75cdac.js} +2 -2
  3. package/dist/cjs/ipc-test.cjs.entry.js +2 -2
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{utils-0916d10f.js → utils-aeaf4a31.js} +4 -0
  6. package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
  7. package/dist/cjs/verdocs-button-panel.cjs.entry.js +80 -0
  8. package/dist/cjs/{verdocs-contact-picker_3.cjs.entry.js → verdocs-contact-picker_2.cjs.entry.js} +1 -73
  9. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +24 -11
  12. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +27 -10
  13. package/dist/cjs/verdocs-field-date.cjs.entry.js +29 -12
  14. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +26 -10
  15. package/dist/cjs/verdocs-field-initial.cjs.entry.js +27 -11
  16. package/dist/cjs/verdocs-field-payment.cjs.entry.js +19 -9
  17. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +28 -12
  18. package/dist/cjs/verdocs-field-signature.cjs.entry.js +27 -11
  19. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +29 -14
  20. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +27 -20
  21. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +28 -12
  22. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  23. package/dist/cjs/{verdocs-button-panel_2.cjs.entry.js → verdocs-portal_2.cjs.entry.js} +80 -81
  24. package/dist/cjs/verdocs-preview_8.cjs.entry.js +3 -3
  25. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-sign.cjs.entry.js +17 -7
  27. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  28. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +26 -28
  29. package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  31. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +16 -7
  32. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +3 -3
  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 +75 -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 +30 -43
  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 +22 -21
  57. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +23 -25
  58. package/dist/collection/utils/TemplateFieldStore.js +18 -1
  59. package/dist/collection/utils/TemplateStore.js +6 -2
  60. package/dist/collection/utils/utils.js +4 -7
  61. package/dist/components/EnvelopeStore.js +1 -1
  62. package/dist/components/Envelopes.js +1 -1
  63. package/dist/components/TemplateFieldStore.js +38 -0
  64. package/dist/components/TemplateStore.js +3 -20
  65. package/dist/components/utils.js +5 -1
  66. package/dist/components/verdocs-button-panel.js +94 -1
  67. package/dist/components/verdocs-envelope-document-page2.js +1 -1
  68. package/dist/components/verdocs-field-attachment.js +34 -21
  69. package/dist/components/verdocs-field-checkbox.js +39 -20
  70. package/dist/components/verdocs-field-date.js +42 -23
  71. package/dist/components/verdocs-field-dropdown.js +38 -20
  72. package/dist/components/verdocs-field-initial.js +41 -23
  73. package/dist/components/verdocs-field-payment.js +22 -10
  74. package/dist/components/verdocs-field-radio-button.js +40 -22
  75. package/dist/components/verdocs-field-signature.js +39 -21
  76. package/dist/components/verdocs-field-textarea.js +39 -24
  77. package/dist/components/verdocs-field-textbox.js +36 -29
  78. package/dist/components/verdocs-field-timestamp.js +40 -22
  79. package/dist/components/verdocs-preview2.js +1 -1
  80. package/dist/components/verdocs-send2.js +1 -1
  81. package/dist/components/verdocs-sign.js +16 -7
  82. package/dist/components/verdocs-template-field-properties2.js +25 -23
  83. package/dist/components/verdocs-template-fields2.js +25 -26
  84. package/dist/components/verdocs-view2.js +1 -1
  85. package/dist/docs.json +398 -167
  86. package/dist/esm/TemplateFieldStore-295f240e.js +38 -0
  87. package/dist/esm/{TemplateStore-a2ebdaca.js → TemplateStore-3994341c.js} +2 -2
  88. package/dist/esm/ipc-test.entry.js +2 -2
  89. package/dist/esm/loader.js +1 -1
  90. package/dist/esm/{utils-ca3121df.js → utils-f76f3448.js} +4 -0
  91. package/dist/esm/verdocs-build.entry.js +2 -2
  92. package/dist/{components/verdocs-button-panel2.js → esm/verdocs-button-panel.entry.js} +8 -28
  93. package/dist/esm/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +2 -73
  94. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  95. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  96. package/dist/esm/verdocs-field-attachment.entry.js +25 -12
  97. package/dist/esm/verdocs-field-checkbox.entry.js +28 -11
  98. package/dist/esm/verdocs-field-date.entry.js +30 -13
  99. package/dist/esm/verdocs-field-dropdown.entry.js +27 -11
  100. package/dist/esm/verdocs-field-initial.entry.js +28 -12
  101. package/dist/esm/verdocs-field-payment.entry.js +20 -10
  102. package/dist/esm/verdocs-field-radio-button.entry.js +29 -13
  103. package/dist/esm/verdocs-field-signature.entry.js +28 -12
  104. package/dist/esm/verdocs-field-textarea.entry.js +30 -15
  105. package/dist/esm/verdocs-field-textbox.entry.js +28 -21
  106. package/dist/esm/verdocs-field-timestamp.entry.js +29 -13
  107. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  108. package/dist/esm/{verdocs-button-panel_2.entry.js → verdocs-portal_2.entry.js} +81 -82
  109. package/dist/esm/verdocs-preview_8.entry.js +3 -3
  110. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
  111. package/dist/esm/verdocs-sign.entry.js +18 -8
  112. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  113. package/dist/esm/verdocs-template-fields_4.entry.js +26 -28
  114. package/dist/esm/verdocs-view.entry.js +1 -1
  115. package/dist/esm/verdocs-web-sdk.js +1 -1
  116. package/dist/esm-es5/TemplateFieldStore-295f240e.js +1 -0
  117. package/dist/esm-es5/{TemplateStore-a2ebdaca.js → TemplateStore-3994341c.js} +1 -1
  118. package/dist/esm-es5/ipc-test.entry.js +1 -1
  119. package/dist/esm-es5/loader.js +1 -1
  120. package/dist/esm-es5/{utils-ca3121df.js → utils-f76f3448.js} +1 -1
  121. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-button-panel.entry.js +1 -0
  123. package/dist/esm-es5/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +1 -1
  124. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  125. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  126. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  127. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  128. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  129. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  130. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  131. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  132. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  134. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  136. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  138. package/dist/esm-es5/verdocs-portal_2.entry.js +1 -0
  139. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  140. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  141. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  142. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  143. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  144. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  145. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  146. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -0
  147. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +7 -4
  148. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +15 -4
  149. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +14 -3
  150. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +15 -4
  151. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +14 -3
  152. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +13 -3
  153. package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +15 -4
  154. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +15 -4
  155. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +7 -4
  156. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -5
  157. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +15 -4
  158. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +1 -1
  159. package/dist/types/components.d.ts +171 -51
  160. package/dist/types/utils/TemplateFieldStore.d.ts +3 -1
  161. package/dist/types/utils/utils.d.ts +0 -1
  162. package/dist/verdocs-web-sdk/p-040620ca.system.entry.js +1 -0
  163. package/dist/verdocs-web-sdk/p-07f0bcae.entry.js +1 -0
  164. package/dist/verdocs-web-sdk/p-0aec8a25.system.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/{p-05e6bc91.entry.js → p-126c423d.entry.js} +1 -1
  166. package/dist/verdocs-web-sdk/p-2458bbc0.system.entry.js +1 -0
  167. package/dist/verdocs-web-sdk/p-27abd162.entry.js +1 -0
  168. package/dist/verdocs-web-sdk/p-27b657be.entry.js +1 -0
  169. package/dist/verdocs-web-sdk/p-32522783.system.entry.js +1 -0
  170. package/dist/verdocs-web-sdk/p-3819eb68.entry.js +1 -0
  171. package/dist/verdocs-web-sdk/{p-76f8c30a.entry.js → p-3898a9b0.entry.js} +1 -1
  172. package/dist/verdocs-web-sdk/p-3c277355.entry.js +1 -0
  173. package/dist/verdocs-web-sdk/{p-ba653c39.system.entry.js → p-3c5240df.system.entry.js} +1 -1
  174. package/dist/verdocs-web-sdk/p-3f3e3347.system.entry.js +1 -0
  175. package/dist/verdocs-web-sdk/p-48ad75db.entry.js +1 -0
  176. package/dist/verdocs-web-sdk/{p-1a7aa04b.entry.js → p-4be3b251.entry.js} +1 -1
  177. package/dist/verdocs-web-sdk/p-50ee8b2d.entry.js +1 -0
  178. package/dist/verdocs-web-sdk/p-55180d12.entry.js +1 -0
  179. package/dist/verdocs-web-sdk/{p-3cd0d440.system.entry.js → p-558f9f80.system.entry.js} +1 -1
  180. package/dist/verdocs-web-sdk/p-623fe013.system.entry.js +1 -0
  181. package/dist/verdocs-web-sdk/p-6992b715.system.js +1 -0
  182. package/dist/verdocs-web-sdk/p-6e847f1c.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-e4dc3264.system.entry.js → p-72dc5fb4.system.entry.js} +1 -1
  185. package/dist/verdocs-web-sdk/{p-410c63e6.entry.js → p-77ca800b.entry.js} +1 -1
  186. package/dist/verdocs-web-sdk/{p-840827b7.system.js → p-7a47fcd9.system.js} +1 -1
  187. package/dist/verdocs-web-sdk/{p-5bf12ef8.entry.js → p-83bedd31.entry.js} +1 -1
  188. package/dist/verdocs-web-sdk/p-84a111b9.entry.js +1 -0
  189. package/dist/verdocs-web-sdk/p-858f53bd.system.entry.js +1 -0
  190. package/dist/verdocs-web-sdk/p-8c5de079.entry.js +1 -0
  191. package/dist/verdocs-web-sdk/{p-4e74bb3c.entry.js → p-8f8db3aa.entry.js} +1 -1
  192. package/dist/verdocs-web-sdk/{p-5aa77f6d.system.entry.js → p-929760fd.system.entry.js} +1 -1
  193. package/dist/verdocs-web-sdk/p-92e5e32d.system.entry.js +1 -0
  194. package/dist/verdocs-web-sdk/p-9574a874.entry.js +1 -0
  195. package/dist/verdocs-web-sdk/{p-aae6b4e0.entry.js → p-9ac6d5eb.entry.js} +1 -1
  196. package/dist/verdocs-web-sdk/{p-e1bc55f8.entry.js → p-9b6f0565.entry.js} +1 -1
  197. package/dist/verdocs-web-sdk/p-9fe214d8.entry.js +1 -0
  198. package/dist/verdocs-web-sdk/p-a2965966.system.entry.js +1 -0
  199. package/dist/verdocs-web-sdk/{p-a627881e.system.js → p-a98b0097.system.js} +1 -1
  200. package/dist/verdocs-web-sdk/p-a9b53e29.system.entry.js +1 -0
  201. package/dist/verdocs-web-sdk/p-abd4e2e2.entry.js +1 -0
  202. package/dist/verdocs-web-sdk/p-af4755e8.entry.js +1 -0
  203. package/dist/verdocs-web-sdk/{p-acc873cf.system.entry.js → p-b276486c.system.entry.js} +1 -1
  204. package/dist/verdocs-web-sdk/{p-72978ba3.system.entry.js → p-b409f610.system.entry.js} +1 -1
  205. package/dist/verdocs-web-sdk/{p-6331d113.entry.js → p-bfdbd210.entry.js} +1 -1
  206. package/dist/verdocs-web-sdk/{p-59769c39.system.entry.js → p-c1f51f1b.system.entry.js} +1 -1
  207. package/dist/verdocs-web-sdk/{p-1cb878c8.system.entry.js → p-cbe7b8c8.system.entry.js} +1 -1
  208. package/dist/verdocs-web-sdk/p-d318d19b.system.entry.js +1 -0
  209. package/dist/verdocs-web-sdk/p-e609b52c.system.entry.js +1 -0
  210. package/dist/verdocs-web-sdk/{p-02a71e03.js → p-e65e9d24.js} +1 -1
  211. package/dist/verdocs-web-sdk/{p-2ccbf54d.entry.js → p-e8fc7e30.entry.js} +1 -1
  212. package/dist/verdocs-web-sdk/{p-1e38b22f.system.entry.js → p-e96924b5.system.entry.js} +1 -1
  213. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  214. package/dist/verdocs-web-sdk/p-f94e8672.system.entry.js +1 -0
  215. package/dist/verdocs-web-sdk/{p-8dc15d33.js → p-fc2454b0.js} +1 -1
  216. package/dist/verdocs-web-sdk/p-feb78cde.system.entry.js +1 -0
  217. package/dist/verdocs-web-sdk/p-ff46c394.entry.js +1 -0
  218. package/dist/verdocs-web-sdk/p-ffe39848.js +1 -0
  219. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  220. package/package.json +1 -1
  221. package/dist/cjs/TemplateFieldStore-7449e5ff.js +0 -24
  222. package/dist/esm/TemplateFieldStore-4f1b6332.js +0 -21
  223. package/dist/esm-es5/TemplateFieldStore-4f1b6332.js +0 -1
  224. package/dist/esm-es5/verdocs-button-panel_2.entry.js +0 -1
  225. package/dist/verdocs-web-sdk/p-084c23e4.system.js +0 -1
  226. package/dist/verdocs-web-sdk/p-12d00a0f.entry.js +0 -1
  227. package/dist/verdocs-web-sdk/p-22e0d2bc.entry.js +0 -1
  228. package/dist/verdocs-web-sdk/p-319c00bd.entry.js +0 -1
  229. package/dist/verdocs-web-sdk/p-32c40388.entry.js +0 -1
  230. package/dist/verdocs-web-sdk/p-358aef29.entry.js +0 -1
  231. package/dist/verdocs-web-sdk/p-37dfdc84.entry.js +0 -1
  232. package/dist/verdocs-web-sdk/p-3f3807b0.system.entry.js +0 -1
  233. package/dist/verdocs-web-sdk/p-429cad70.js +0 -1
  234. package/dist/verdocs-web-sdk/p-46624bec.entry.js +0 -1
  235. package/dist/verdocs-web-sdk/p-4e47ed1c.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-588d6cea.system.entry.js +0 -1
  237. package/dist/verdocs-web-sdk/p-6685ff29.system.entry.js +0 -1
  238. package/dist/verdocs-web-sdk/p-736fbb87.system.entry.js +0 -1
  239. package/dist/verdocs-web-sdk/p-7b30c523.system.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-870707e8.system.entry.js +0 -1
  241. package/dist/verdocs-web-sdk/p-8af68516.system.entry.js +0 -1
  242. package/dist/verdocs-web-sdk/p-9360b085.system.entry.js +0 -1
  243. package/dist/verdocs-web-sdk/p-a40b3946.entry.js +0 -1
  244. package/dist/verdocs-web-sdk/p-ac98f6f1.system.entry.js +0 -1
  245. package/dist/verdocs-web-sdk/p-b7a815e9.system.entry.js +0 -1
  246. package/dist/verdocs-web-sdk/p-b91de346.entry.js +0 -1
  247. package/dist/verdocs-web-sdk/p-bd9ba3b3.system.entry.js +0 -1
  248. package/dist/verdocs-web-sdk/p-d59b6988.entry.js +0 -1
  249. package/dist/verdocs-web-sdk/p-d99a05e4.system.entry.js +0 -1
  250. package/dist/verdocs-web-sdk/p-dd2c2edc.entry.js +0 -1
  251. package/dist/verdocs-web-sdk/p-e28878eb.system.entry.js +0 -1
  252. package/dist/verdocs-web-sdk/p-e3ffc00f.system.entry.js +0 -1
  253. package/dist/verdocs-web-sdk/p-eeca4c30.entry.js +0 -1
  254. package/dist/verdocs-web-sdk/p-f42c84f1.entry.js +0 -1
  255. package/dist/verdocs-web-sdk/p-f6b7439f.system.entry.js +0 -1
@@ -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,10 +2,10 @@ 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';
6
- import { getFieldSettings } from '../../../utils/utils';
5
+ import { h, Host, Fragment } from '@stencil/core';
7
6
  import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
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>';
7
+ import { getFieldSettings } from '../../../utils/utils';
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>';
9
9
  /**
10
10
  * Display a text input field.
11
11
  */
@@ -14,7 +14,6 @@ export class VerdocsFieldTextbox {
14
14
  this.fieldStore = null;
15
15
  this.endpoint = VerdocsEndpoint.getDefault();
16
16
  this.templateid = '';
17
- this.field = null;
18
17
  this.fieldname = '';
19
18
  this.disabled = false;
20
19
  this.editable = false;
@@ -24,25 +23,26 @@ export class VerdocsFieldTextbox {
24
23
  this.xscale = 1;
25
24
  this.yscale = 1;
26
25
  this.rerender = 0;
26
+ this.showingProperties = false;
27
27
  }
28
28
  async focusField() {
29
29
  this.inputEl.focus();
30
30
  }
31
31
  async showSettingsPanel() {
32
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
32
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
33
33
  if (settingsPanel && settingsPanel.showPanel) {
34
34
  settingsPanel.showPanel();
35
35
  }
36
36
  }
37
37
  async hideSettingsPanel() {
38
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
38
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
39
39
  if (settingsPanel && settingsPanel.hidePanel) {
40
40
  settingsPanel.hidePanel();
41
41
  }
42
42
  }
43
43
  async componentWillLoad() {
44
- console.log('Loading field', this.field);
45
44
  this.fieldStore = getTemplateFieldStore(this.templateid);
45
+ console.log('fs', this.templateid);
46
46
  }
47
47
  componentDidRender() {
48
48
  interact.dynamicDrop(true);
@@ -75,28 +75,32 @@ export class VerdocsFieldTextbox {
75
75
  Object.assign(e.target.dataset, { x, y, h });
76
76
  }
77
77
  handleResizeEnd(e) {
78
- const newSettings = { ...getFieldSettings(this.field) };
78
+ const field = this.fieldStore.get(this.fieldname);
79
+ const newSettings = { ...getFieldSettings(field) };
79
80
  const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
80
81
  newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
81
82
  newSettings.height = Math.round(parseFloat(e.target.style.height) / this.yscale);
82
83
  newSettings.x = Math.round(newSettings.x + translateX / this.xscale);
83
84
  newSettings.y = Math.round(newSettings.y - translateY / this.yscale);
84
- updateField(this.endpoint, this.templateid, this.field.name, { setting: newSettings })
85
+ updateField(this.endpoint, this.templateid, this.fieldname, { setting: newSettings })
85
86
  .then(field => {
86
87
  var _a;
87
88
  console.log('update result', field);
88
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings, field });
89
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name, settings: newSettings, field });
89
90
  Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });
90
91
  })
91
92
  .catch(e => console.log('Field update failed', e));
92
93
  }
93
94
  render() {
94
- var _a, _b, _c, _d;
95
- const f = this.fieldStore.get(this.fieldname);
96
- console.log('rendering field', f);
97
- const settings = getFieldSettings(this.field);
95
+ var _a, _b;
96
+ const field = this.fieldStore.get(this.fieldname);
97
+ console.log('textbox', this.fieldname, field);
98
+ if (!field) {
99
+ return h(Fragment, null);
100
+ }
101
+ const settings = getFieldSettings(field);
98
102
  let disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
99
- const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);
103
+ const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
100
104
  const value = (settings === null || settings === void 0 ? void 0 : settings.result) || '';
101
105
  const width = settings.width || 150;
102
106
  // TODO: This is an outdated technique from the old system. We should compute it.
@@ -104,15 +108,18 @@ export class VerdocsFieldTextbox {
104
108
  if (this.done) {
105
109
  return h(Host, { class: { done: this.done } }, value);
106
110
  }
107
- 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: () => {
111
+ 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) => {
112
+ e.stopPropagation();
113
+ this.showingProperties = !this.showingProperties;
114
+ } }), 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: () => {
108
115
  var _a;
109
- (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
116
+ (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name });
110
117
  return this.hideSettingsPanel();
111
118
  }, onSettingsChanged: e => {
112
119
  var _a;
113
120
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
114
121
  return this.hideSettingsPanel();
115
- }, 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.' })))));
122
+ }, 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.' })))))));
116
123
  }
117
124
  static get is() { return "verdocs-field-textbox"; }
118
125
  static get originalStyleUrls() {
@@ -166,31 +173,6 @@ export class VerdocsFieldTextbox {
166
173
  "reflect": false,
167
174
  "defaultValue": "''"
168
175
  },
169
- "field": {
170
- "type": "unknown",
171
- "mutable": false,
172
- "complexType": {
173
- "original": "IEnvelopeField | ITemplateField | null",
174
- "resolved": "IEnvelopeField | ITemplateField",
175
- "references": {
176
- "IEnvelopeField": {
177
- "location": "import",
178
- "path": "@verdocs/js-sdk/Envelopes/Types"
179
- },
180
- "ITemplateField": {
181
- "location": "import",
182
- "path": "@verdocs/js-sdk/Templates/Types"
183
- }
184
- }
185
- },
186
- "required": false,
187
- "optional": false,
188
- "docs": {
189
- "tags": [],
190
- "text": "The document or template field to display."
191
- },
192
- "defaultValue": "null"
193
- },
194
176
  "fieldname": {
195
177
  "type": "string",
196
178
  "mutable": false,
@@ -355,6 +337,11 @@ export class VerdocsFieldTextbox {
355
337
  }
356
338
  };
357
339
  }
340
+ static get states() {
341
+ return {
342
+ "showingProperties": {}
343
+ };
344
+ }
358
345
  static get events() {
359
346
  return [{
360
347
  "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
  }