@verdocs/web-sdk 2.3.16 → 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 (244) hide show
  1. package/dist/cjs/{TemplateFieldStore-7449e5ff.js → TemplateFieldStore-48265c39.js} +3 -1
  2. package/dist/cjs/{TemplateStore-0074c71d.js → TemplateStore-3e45f5ef.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-c531813b.js} +2 -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 +26 -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 +25 -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} +79 -80
  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 +2 -1
  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 -22
  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 +1 -0
  32. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.css +14 -0
  33. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +36 -26
  34. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.css +14 -0
  35. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +74 -25
  36. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.css +14 -0
  37. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +75 -29
  38. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.css +14 -0
  39. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +74 -25
  40. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.css +14 -0
  41. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +71 -26
  42. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.css +14 -0
  43. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +64 -25
  44. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.css +14 -0
  45. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +76 -27
  46. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.css +14 -0
  47. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +71 -26
  48. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.css +14 -0
  49. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +41 -29
  50. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +14 -0
  51. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +28 -43
  52. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.css +14 -0
  53. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +76 -27
  54. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.css +6 -0
  55. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +21 -20
  56. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +23 -19
  57. package/dist/collection/utils/TemplateFieldStore.js +3 -1
  58. package/dist/collection/utils/TemplateStore.js +6 -2
  59. package/dist/collection/utils/utils.js +2 -7
  60. package/dist/components/TemplateFieldStore.js +23 -0
  61. package/dist/components/TemplateStore.js +3 -20
  62. package/dist/components/utils.js +2 -0
  63. package/dist/components/verdocs-button-panel.js +94 -1
  64. package/dist/components/verdocs-field-attachment.js +34 -21
  65. package/dist/components/verdocs-field-checkbox.js +38 -20
  66. package/dist/components/verdocs-field-date.js +42 -23
  67. package/dist/components/verdocs-field-dropdown.js +38 -20
  68. package/dist/components/verdocs-field-initial.js +41 -23
  69. package/dist/components/verdocs-field-payment.js +22 -10
  70. package/dist/components/verdocs-field-radio-button.js +40 -22
  71. package/dist/components/verdocs-field-signature.js +39 -21
  72. package/dist/components/verdocs-field-textarea.js +39 -24
  73. package/dist/components/verdocs-field-textbox.js +34 -29
  74. package/dist/components/verdocs-field-timestamp.js +40 -22
  75. package/dist/components/verdocs-preview2.js +1 -1
  76. package/dist/components/verdocs-sign.js +1 -0
  77. package/dist/components/verdocs-template-field-properties2.js +24 -22
  78. package/dist/components/verdocs-template-fields2.js +25 -20
  79. package/dist/docs.json +398 -167
  80. package/dist/esm/{TemplateFieldStore-4f1b6332.js → TemplateFieldStore-9dbcdd90.js} +3 -1
  81. package/dist/esm/{TemplateStore-a2ebdaca.js → TemplateStore-9fb3ba37.js} +2 -2
  82. package/dist/esm/ipc-test.entry.js +2 -2
  83. package/dist/esm/loader.js +1 -1
  84. package/dist/esm/{utils-ca3121df.js → utils-ccf09e73.js} +2 -0
  85. package/dist/esm/verdocs-build.entry.js +2 -2
  86. package/dist/{components/verdocs-button-panel2.js → esm/verdocs-button-panel.entry.js} +8 -28
  87. package/dist/esm/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +2 -73
  88. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  89. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  90. package/dist/esm/verdocs-field-attachment.entry.js +25 -12
  91. package/dist/esm/verdocs-field-checkbox.entry.js +27 -11
  92. package/dist/esm/verdocs-field-date.entry.js +30 -13
  93. package/dist/esm/verdocs-field-dropdown.entry.js +27 -11
  94. package/dist/esm/verdocs-field-initial.entry.js +28 -12
  95. package/dist/esm/verdocs-field-payment.entry.js +20 -10
  96. package/dist/esm/verdocs-field-radio-button.entry.js +29 -13
  97. package/dist/esm/verdocs-field-signature.entry.js +28 -12
  98. package/dist/esm/verdocs-field-textarea.entry.js +30 -15
  99. package/dist/esm/verdocs-field-textbox.entry.js +26 -21
  100. package/dist/esm/verdocs-field-timestamp.entry.js +29 -13
  101. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  102. package/dist/esm/{verdocs-button-panel_2.entry.js → verdocs-portal_2.entry.js} +80 -81
  103. package/dist/esm/verdocs-preview_8.entry.js +3 -3
  104. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
  105. package/dist/esm/verdocs-sign.entry.js +2 -1
  106. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  107. package/dist/esm/verdocs-template-fields_4.entry.js +26 -22
  108. package/dist/esm/verdocs-view.entry.js +1 -1
  109. package/dist/esm/verdocs-web-sdk.js +1 -1
  110. package/dist/esm-es5/TemplateFieldStore-9dbcdd90.js +1 -0
  111. package/dist/esm-es5/{TemplateStore-a2ebdaca.js → TemplateStore-9fb3ba37.js} +1 -1
  112. package/dist/esm-es5/ipc-test.entry.js +1 -1
  113. package/dist/esm-es5/loader.js +1 -1
  114. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  115. package/dist/esm-es5/verdocs-button-panel.entry.js +1 -0
  116. package/dist/esm-es5/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +1 -1
  117. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  118. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  119. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  120. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  121. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  123. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  124. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  125. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  126. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  127. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  128. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  129. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  130. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  131. package/dist/esm-es5/verdocs-portal_2.entry.js +1 -0
  132. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  134. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  136. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  138. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  139. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +7 -4
  140. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +15 -4
  141. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +14 -3
  142. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +15 -4
  143. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +14 -3
  144. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +13 -3
  145. package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +15 -4
  146. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +15 -4
  147. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +7 -4
  148. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -5
  149. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +15 -4
  150. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +1 -1
  151. package/dist/types/components.d.ts +171 -51
  152. package/dist/types/utils/utils.d.ts +0 -1
  153. package/dist/verdocs-web-sdk/{p-4e74bb3c.entry.js → p-0328539a.entry.js} +1 -1
  154. package/dist/verdocs-web-sdk/p-097f349a.system.entry.js +1 -0
  155. package/dist/verdocs-web-sdk/p-0aca6235.entry.js +1 -0
  156. package/dist/verdocs-web-sdk/{p-3cd0d440.system.entry.js → p-0ccf2abe.system.entry.js} +1 -1
  157. package/dist/verdocs-web-sdk/{p-05e6bc91.entry.js → p-1cad24fa.entry.js} +1 -1
  158. package/dist/verdocs-web-sdk/p-1e5ad9ba.entry.js +1 -0
  159. package/dist/verdocs-web-sdk/{p-6331d113.entry.js → p-28272d35.entry.js} +1 -1
  160. package/dist/verdocs-web-sdk/p-2d0b17e7.entry.js +1 -0
  161. package/dist/verdocs-web-sdk/p-2d4ca5a0.system.entry.js +1 -0
  162. package/dist/verdocs-web-sdk/p-2dd4da7d.system.entry.js +1 -0
  163. package/dist/verdocs-web-sdk/{p-59769c39.system.entry.js → p-30f3c33a.system.entry.js} +1 -1
  164. package/dist/verdocs-web-sdk/p-36c5379e.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/p-38497444.system.entry.js +1 -0
  166. package/dist/verdocs-web-sdk/p-3e490dfa.entry.js +1 -0
  167. package/dist/verdocs-web-sdk/p-4027169f.entry.js +1 -0
  168. package/dist/verdocs-web-sdk/p-41e51012.entry.js +1 -0
  169. package/dist/verdocs-web-sdk/{p-acc873cf.system.entry.js → p-49fba82f.system.entry.js} +1 -1
  170. package/dist/verdocs-web-sdk/p-4e27ba77.entry.js +1 -0
  171. package/dist/verdocs-web-sdk/p-55180d12.entry.js +1 -0
  172. package/dist/verdocs-web-sdk/p-63b86867.system.entry.js +1 -0
  173. package/dist/verdocs-web-sdk/p-66443920.entry.js +1 -0
  174. package/dist/verdocs-web-sdk/p-691f18de.system.entry.js +1 -0
  175. package/dist/verdocs-web-sdk/p-6c3ba7d3.js +1 -0
  176. package/dist/verdocs-web-sdk/p-7203fda7.system.entry.js +1 -0
  177. package/dist/verdocs-web-sdk/p-7211a137.system.entry.js +1 -0
  178. package/dist/verdocs-web-sdk/{p-ba653c39.system.entry.js → p-72c635ef.system.entry.js} +1 -1
  179. package/dist/verdocs-web-sdk/{p-e4dc3264.system.entry.js → p-749a7d9d.system.entry.js} +1 -1
  180. package/dist/verdocs-web-sdk/p-74c05793.system.entry.js +1 -0
  181. package/dist/verdocs-web-sdk/p-7c2627ba.system.js +1 -0
  182. package/dist/verdocs-web-sdk/{p-5bf12ef8.entry.js → p-84e7ab97.entry.js} +1 -1
  183. package/dist/verdocs-web-sdk/p-85ee0dbe.entry.js +1 -0
  184. package/dist/verdocs-web-sdk/{p-8dc15d33.js → p-884367a1.js} +1 -1
  185. package/dist/verdocs-web-sdk/p-8f99d965.system.entry.js +1 -0
  186. package/dist/verdocs-web-sdk/p-90b7699c.system.entry.js +1 -0
  187. package/dist/verdocs-web-sdk/{p-1a7aa04b.entry.js → p-91d084e9.entry.js} +1 -1
  188. package/dist/verdocs-web-sdk/{p-5aa77f6d.system.entry.js → p-93a6c71d.system.entry.js} +1 -1
  189. package/dist/verdocs-web-sdk/{p-e1bc55f8.entry.js → p-94caaad0.entry.js} +1 -1
  190. package/dist/verdocs-web-sdk/p-9b0a81c2.system.entry.js +1 -0
  191. package/dist/verdocs-web-sdk/p-9f61c422.system.entry.js +1 -0
  192. package/dist/verdocs-web-sdk/{p-2ccbf54d.entry.js → p-a1f94c81.entry.js} +1 -1
  193. package/dist/verdocs-web-sdk/p-a38c70eb.entry.js +1 -0
  194. package/dist/verdocs-web-sdk/{p-a627881e.system.js → p-a5da4f00.system.js} +1 -1
  195. package/dist/verdocs-web-sdk/p-a6a93948.entry.js +1 -0
  196. package/dist/verdocs-web-sdk/p-b1019fba.entry.js +1 -0
  197. package/dist/verdocs-web-sdk/{p-1e38b22f.system.entry.js → p-b68869f2.system.entry.js} +1 -1
  198. package/dist/verdocs-web-sdk/p-ba76e170.system.entry.js +1 -0
  199. package/dist/verdocs-web-sdk/{p-1cb878c8.system.entry.js → p-bcb8d6bf.system.entry.js} +1 -1
  200. package/dist/verdocs-web-sdk/{p-aae6b4e0.entry.js → p-bd444cde.entry.js} +1 -1
  201. package/dist/verdocs-web-sdk/{p-736fbb87.system.entry.js → p-bf0cc00c.system.entry.js} +1 -1
  202. package/dist/verdocs-web-sdk/p-d381bf8c.system.entry.js +1 -0
  203. package/dist/verdocs-web-sdk/p-d4522397.entry.js +1 -0
  204. package/dist/verdocs-web-sdk/{p-76f8c30a.entry.js → p-ee4bb73a.entry.js} +1 -1
  205. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  206. package/dist/verdocs-web-sdk/{p-72978ba3.system.entry.js → p-f073d143.system.entry.js} +1 -1
  207. package/dist/verdocs-web-sdk/{p-410c63e6.entry.js → p-fcf9db79.entry.js} +1 -1
  208. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  209. package/package.json +1 -1
  210. package/dist/esm-es5/TemplateFieldStore-4f1b6332.js +0 -1
  211. package/dist/esm-es5/verdocs-button-panel_2.entry.js +0 -1
  212. package/dist/verdocs-web-sdk/p-084c23e4.system.js +0 -1
  213. package/dist/verdocs-web-sdk/p-12d00a0f.entry.js +0 -1
  214. package/dist/verdocs-web-sdk/p-22e0d2bc.entry.js +0 -1
  215. package/dist/verdocs-web-sdk/p-319c00bd.entry.js +0 -1
  216. package/dist/verdocs-web-sdk/p-32c40388.entry.js +0 -1
  217. package/dist/verdocs-web-sdk/p-358aef29.entry.js +0 -1
  218. package/dist/verdocs-web-sdk/p-37dfdc84.entry.js +0 -1
  219. package/dist/verdocs-web-sdk/p-3f3807b0.system.entry.js +0 -1
  220. package/dist/verdocs-web-sdk/p-429cad70.js +0 -1
  221. package/dist/verdocs-web-sdk/p-46624bec.entry.js +0 -1
  222. package/dist/verdocs-web-sdk/p-4e47ed1c.entry.js +0 -1
  223. package/dist/verdocs-web-sdk/p-588d6cea.system.entry.js +0 -1
  224. package/dist/verdocs-web-sdk/p-6685ff29.system.entry.js +0 -1
  225. package/dist/verdocs-web-sdk/p-7b30c523.system.entry.js +0 -1
  226. package/dist/verdocs-web-sdk/p-870707e8.system.entry.js +0 -1
  227. package/dist/verdocs-web-sdk/p-8af68516.system.entry.js +0 -1
  228. package/dist/verdocs-web-sdk/p-9360b085.system.entry.js +0 -1
  229. package/dist/verdocs-web-sdk/p-a40b3946.entry.js +0 -1
  230. package/dist/verdocs-web-sdk/p-ac98f6f1.system.entry.js +0 -1
  231. package/dist/verdocs-web-sdk/p-b7a815e9.system.entry.js +0 -1
  232. package/dist/verdocs-web-sdk/p-b91de346.entry.js +0 -1
  233. package/dist/verdocs-web-sdk/p-bd9ba3b3.system.entry.js +0 -1
  234. package/dist/verdocs-web-sdk/p-d59b6988.entry.js +0 -1
  235. package/dist/verdocs-web-sdk/p-d99a05e4.system.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-dd2c2edc.entry.js +0 -1
  237. package/dist/verdocs-web-sdk/p-e28878eb.system.entry.js +0 -1
  238. package/dist/verdocs-web-sdk/p-e3ffc00f.system.entry.js +0 -1
  239. package/dist/verdocs-web-sdk/p-eeca4c30.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-f42c84f1.entry.js +0 -1
  241. package/dist/verdocs-web-sdk/p-f6b7439f.system.entry.js +0 -1
  242. /package/dist/esm-es5/{utils-ca3121df.js → utils-ccf09e73.js} +0 -0
  243. /package/dist/verdocs-web-sdk/{p-840827b7.system.js → p-9a7178fe.system.js} +0 -0
  244. /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 RadioIconUnselected = `<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path></svg>`;
5
6
  const RadioIconSelected = `<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path></svg>`;
@@ -9,8 +10,9 @@ const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width=
9
10
  */
10
11
  export class VerdocsFieldRadioButton {
11
12
  constructor() {
13
+ this.fieldStore = null;
12
14
  this.templateid = '';
13
- this.field = null;
15
+ this.fieldname = '';
14
16
  this.option = 0;
15
17
  this.disabled = false;
16
18
  this.done = false;
@@ -18,40 +20,53 @@ export class VerdocsFieldRadioButton {
18
20
  this.editable = false;
19
21
  this.moveable = false;
20
22
  this.rerender = 0;
23
+ this.xscale = 1;
24
+ this.yscale = 1;
25
+ this.showingProperties = false;
21
26
  }
22
27
  async showSettingsPanel() {
23
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
28
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
24
29
  if (settingsPanel && settingsPanel.showPanel) {
25
30
  settingsPanel.showPanel();
26
31
  }
27
32
  }
28
33
  async hideSettingsPanel() {
29
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
34
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
30
35
  if (settingsPanel && settingsPanel.hidePanel) {
31
36
  settingsPanel.hidePanel();
32
37
  }
33
38
  // TemplateStore.updateCount++;
34
39
  }
40
+ async componentWillLoad() {
41
+ this.fieldStore = getTemplateFieldStore(this.templateid);
42
+ }
35
43
  render() {
36
44
  var _a, _b;
37
- const settings = getFieldSettings(this.field);
45
+ const field = this.fieldStore.get(this.fieldname);
46
+ if (!field) {
47
+ return h(Fragment, null);
48
+ }
49
+ const settings = getFieldSettings(field);
38
50
  const disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
39
- const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);
40
- const required = this.field.required;
51
+ const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
52
+ const required = field.required;
41
53
  const option = settings.options[this.option];
42
- const id = `${this.field.name}-${option.id}`;
54
+ const id = `${field.name}-${option.id}`;
43
55
  if (this.done) {
44
56
  return (h(Host, { class: { done: this.done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: !!option.selected ? RadioIconSelected : RadioIconUnselected })));
45
57
  }
46
- return (h(Host, { class: { required, disabled }, style: { backgroundColor } }, h("input", { id: id, type: "radio", name: this.field.name, value: option.id, tabIndex: settings.order, checked: !!option.selected, disabled: disabled, required: settings.required }), h("label", { htmlFor: id }), 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: () => {
58
+ return (h(Host, { class: { required, disabled }, style: { backgroundColor } }, h("input", { id: id, type: "radio", name: field.name, value: option.id, tabIndex: settings.order, checked: !!option.selected, disabled: disabled, required: settings.required }), h("label", { htmlFor: id }), 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) => {
59
+ e.stopPropagation();
60
+ this.showingProperties = !this.showingProperties;
61
+ } }), 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: () => {
47
62
  var _a;
48
- (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
63
+ (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name });
49
64
  return this.hideSettingsPanel();
50
65
  }, onSettingsChanged: e => {
51
66
  var _a;
52
67
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
53
68
  return this.hideSettingsPanel();
54
- } })))));
69
+ }, helpText: "Radio buttons capture the recipient's selection of just one of several related (exclusive) options." })))))));
55
70
  }
56
71
  static get is() { return "verdocs-field-radio-button"; }
57
72
  static get originalStyleUrls() {
@@ -84,30 +99,23 @@ export class VerdocsFieldRadioButton {
84
99
  "reflect": false,
85
100
  "defaultValue": "''"
86
101
  },
87
- "field": {
88
- "type": "unknown",
102
+ "fieldname": {
103
+ "type": "string",
89
104
  "mutable": false,
90
105
  "complexType": {
91
- "original": "IEnvelopeField | ITemplateField | null",
92
- "resolved": "IEnvelopeField | ITemplateField",
93
- "references": {
94
- "IEnvelopeField": {
95
- "location": "import",
96
- "path": "@verdocs/js-sdk/Envelopes/Types"
97
- },
98
- "ITemplateField": {
99
- "location": "import",
100
- "path": "@verdocs/js-sdk/Templates/Types"
101
- }
102
- }
106
+ "original": "string",
107
+ "resolved": "string",
108
+ "references": {}
103
109
  },
104
110
  "required": false,
105
111
  "optional": false,
106
112
  "docs": {
107
113
  "tags": [],
108
- "text": "The document or template field to display."
114
+ "text": "The name of the field to display."
109
115
  },
110
- "defaultValue": "null"
116
+ "attribute": "fieldname",
117
+ "reflect": false,
118
+ "defaultValue": "''"
111
119
  },
112
120
  "option": {
113
121
  "type": "number",
@@ -234,9 +242,50 @@ export class VerdocsFieldRadioButton {
234
242
  "attribute": "rerender",
235
243
  "reflect": false,
236
244
  "defaultValue": "0"
245
+ },
246
+ "xscale": {
247
+ "type": "number",
248
+ "mutable": false,
249
+ "complexType": {
250
+ "original": "number",
251
+ "resolved": "number",
252
+ "references": {}
253
+ },
254
+ "required": false,
255
+ "optional": true,
256
+ "docs": {
257
+ "tags": [],
258
+ "text": "If set, the field will be be scaled horizontally by this factor."
259
+ },
260
+ "attribute": "xscale",
261
+ "reflect": false,
262
+ "defaultValue": "1"
263
+ },
264
+ "yscale": {
265
+ "type": "number",
266
+ "mutable": false,
267
+ "complexType": {
268
+ "original": "number",
269
+ "resolved": "number",
270
+ "references": {}
271
+ },
272
+ "required": false,
273
+ "optional": true,
274
+ "docs": {
275
+ "tags": [],
276
+ "text": "If set, the field will be be scaled vertically by this factor."
277
+ },
278
+ "attribute": "yscale",
279
+ "reflect": false,
280
+ "defaultValue": "1"
237
281
  }
238
282
  };
239
283
  }
284
+ static get states() {
285
+ return {
286
+ "showingProperties": {}
287
+ };
288
+ }
240
289
  static get events() {
241
290
  return [{
242
291
  "method": "settingsChanged",
@@ -60,4 +60,18 @@ verdocs-field-signature verdocs-button-panel .icon svg {
60
60
  }
61
61
  verdocs-field-signature verdocs-button-panel .icon:hover svg {
62
62
  fill: #000000;
63
+ }
64
+ verdocs-field-signature .settings-icon {
65
+ position: absolute;
66
+ top: -3px;
67
+ left: -20px;
68
+ display: inline-block;
69
+ cursor: pointer;
70
+ opacity: 0.6;
71
+ }
72
+ verdocs-field-signature .settings-icon svg {
73
+ fill: #707ae5;
74
+ }
75
+ verdocs-field-signature .settings-icon:hover {
76
+ opacity: 1;
63
77
  }
@@ -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
  }