@verdocs/web-sdk 2.3.30 → 2.3.32

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 (246) hide show
  1. package/dist/cjs/{Icons-a11fb3fc.js → Icons-3286d014.js} +2 -0
  2. package/dist/cjs/TemplateRoleStore-e17bb006.js +44 -0
  3. package/dist/cjs/{TemplateStore-78b8944b.js → TemplateStore-e62c16a8.js} +2 -39
  4. package/dist/cjs/ipc-test.cjs.entry.js +2 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/{utils-aeaf4a31.js → utils-ac526133.js} +1 -7
  7. package/dist/cjs/verdocs-build.cjs.entry.js +2 -1
  8. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +1 -1
  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 +3 -3
  12. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +3 -3
  13. package/dist/cjs/verdocs-field-date.cjs.entry.js +5 -5
  14. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +3 -3
  15. package/dist/cjs/verdocs-field-initial.cjs.entry.js +3 -3
  16. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +3 -3
  18. package/dist/cjs/verdocs-field-signature.cjs.entry.js +3 -3
  19. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +4 -4
  20. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +9 -5
  21. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +5 -5
  22. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  23. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-portal_2.cjs.entry.js +3 -2
  25. package/dist/cjs/verdocs-preview_8.cjs.entry.js +29 -24
  26. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-sign.cjs.entry.js +10 -12
  28. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +18 -16
  30. package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
  31. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  32. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +11 -8
  33. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +16 -14
  34. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +10 -12
  35. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +2 -2
  36. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +2 -2
  37. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +3 -3
  38. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +2 -2
  39. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +2 -2
  40. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +2 -2
  41. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +2 -2
  42. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +3 -3
  43. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +8 -22
  44. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +3 -3
  45. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +10 -9
  46. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.stories.js +1 -1
  47. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +2 -3
  48. package/dist/collection/utils/Icons.js +1 -0
  49. package/dist/collection/utils/TemplateRoleStore.js +2 -0
  50. package/dist/collection/utils/TemplateStore.js +1 -2
  51. package/dist/collection/utils/utils.js +1 -15
  52. package/dist/{esm/Icons-c29eb0fa.js → components/Icons.js} +2 -1
  53. package/dist/components/TemplateStore.js +3 -2
  54. package/dist/components/utils.js +2 -7
  55. package/dist/components/verdocs-contact-picker2.js +1 -1
  56. package/dist/components/verdocs-field-attachment.js +2 -2
  57. package/dist/components/verdocs-field-checkbox.js +2 -2
  58. package/dist/components/verdocs-field-date.js +3 -3
  59. package/dist/components/verdocs-field-dropdown.js +2 -2
  60. package/dist/components/verdocs-field-initial.js +2 -2
  61. package/dist/components/verdocs-field-radio-button.js +2 -2
  62. package/dist/components/verdocs-field-signature.js +2 -2
  63. package/dist/components/verdocs-field-textarea.js +3 -3
  64. package/dist/components/verdocs-field-textbox.js +8 -5
  65. package/dist/components/verdocs-field-timestamp.js +3 -3
  66. package/dist/components/verdocs-file-chooser2.js +2 -75
  67. package/dist/components/verdocs-preview2.js +10 -8
  68. package/dist/components/verdocs-quick-filter2.js +1 -1
  69. package/dist/components/verdocs-send2.js +16 -15
  70. package/dist/components/verdocs-settings-organization2.js +1 -1
  71. package/dist/components/verdocs-settings-profile2.js +1 -1
  72. package/dist/components/verdocs-sign.js +10 -12
  73. package/dist/components/verdocs-template-attachments2.js +2 -1
  74. package/dist/components/verdocs-template-field-properties2.js +1 -1
  75. package/dist/components/verdocs-template-fields2.js +9 -8
  76. package/dist/components/verdocs-template-role-properties2.js +1 -1
  77. package/dist/components/verdocs-template-roles2.js +2 -3
  78. package/dist/docs.json +1 -18
  79. package/dist/esm/Icons-ddea87bf.js +76 -0
  80. package/dist/esm/TemplateRoleStore-bbb2b098.js +37 -0
  81. package/dist/esm/{TemplateStore-618fb47f.js → TemplateStore-adbf68a0.js} +2 -34
  82. package/dist/esm/ipc-test.entry.js +2 -1
  83. package/dist/esm/loader.js +1 -1
  84. package/dist/esm/{utils-f76f3448.js → utils-d081a2b9.js} +2 -7
  85. package/dist/esm/verdocs-build.entry.js +2 -1
  86. package/dist/esm/verdocs-contact-picker_2.entry.js +1 -1
  87. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  88. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  89. package/dist/esm/verdocs-field-attachment.entry.js +3 -3
  90. package/dist/esm/verdocs-field-checkbox.entry.js +3 -3
  91. package/dist/esm/verdocs-field-date.entry.js +5 -5
  92. package/dist/esm/verdocs-field-dropdown.entry.js +3 -3
  93. package/dist/esm/verdocs-field-initial.entry.js +3 -3
  94. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  95. package/dist/esm/verdocs-field-radio-button.entry.js +3 -3
  96. package/dist/esm/verdocs-field-signature.entry.js +3 -3
  97. package/dist/esm/verdocs-field-textarea.entry.js +4 -4
  98. package/dist/esm/verdocs-field-textbox.entry.js +9 -5
  99. package/dist/esm/verdocs-field-timestamp.entry.js +5 -5
  100. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  101. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  102. package/dist/esm/verdocs-portal_2.entry.js +2 -1
  103. package/dist/esm/verdocs-preview_8.entry.js +29 -24
  104. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
  105. package/dist/esm/verdocs-sign.entry.js +10 -12
  106. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  107. package/dist/esm/verdocs-template-fields_4.entry.js +12 -10
  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/{Icons-c29eb0fa.js → Icons-ddea87bf.js} +1 -1
  111. package/dist/esm-es5/TemplateRoleStore-bbb2b098.js +1 -0
  112. package/dist/esm-es5/TemplateStore-adbf68a0.js +1 -0
  113. package/dist/esm-es5/ipc-test.entry.js +1 -1
  114. package/dist/esm-es5/loader.js +1 -1
  115. package/dist/esm-es5/{utils-f76f3448.js → utils-d081a2b9.js} +1 -1
  116. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  117. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  118. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  119. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  120. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  121. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  123. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  124. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  125. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  126. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  127. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  128. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  129. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  130. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  131. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  132. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-portal_2.entry.js +1 -1
  134. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  136. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  138. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  139. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  140. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  141. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +4 -2
  142. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +3 -1
  143. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -1
  144. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +2 -4
  145. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +3 -3
  146. package/dist/types/components.d.ts +0 -8
  147. package/dist/types/utils/Icons.d.ts +1 -0
  148. package/dist/types/utils/TemplateRoleStore.d.ts +2 -0
  149. package/dist/types/utils/TemplateStore.d.ts +0 -1
  150. package/dist/types/utils/utils.d.ts +1 -6
  151. package/dist/verdocs-web-sdk/{p-637fee9b.js → p-029ae656.js} +1 -1
  152. package/dist/verdocs-web-sdk/p-0636b55c.entry.js +1 -0
  153. package/dist/verdocs-web-sdk/{p-9b6f0565.entry.js → p-07c30f7e.entry.js} +1 -1
  154. package/dist/verdocs-web-sdk/p-0a93ada5.system.entry.js +1 -0
  155. package/dist/verdocs-web-sdk/p-0ae4f771.entry.js +1 -0
  156. package/dist/verdocs-web-sdk/p-0b990f13.entry.js +1 -0
  157. package/dist/verdocs-web-sdk/p-0ef84cfe.system.entry.js +1 -0
  158. package/dist/verdocs-web-sdk/p-0f7191aa.system.entry.js +1 -0
  159. package/dist/verdocs-web-sdk/p-13ec5610.system.entry.js +1 -0
  160. package/dist/verdocs-web-sdk/{p-3898a9b0.entry.js → p-140b8c97.entry.js} +1 -1
  161. package/dist/verdocs-web-sdk/p-1426c74b.entry.js +1 -0
  162. package/dist/verdocs-web-sdk/{p-72dc5fb4.system.entry.js → p-15259f81.system.entry.js} +1 -1
  163. package/dist/verdocs-web-sdk/p-18248415.system.entry.js +1 -0
  164. package/dist/verdocs-web-sdk/{p-3c5240df.system.entry.js → p-1a70513e.system.entry.js} +1 -1
  165. package/dist/verdocs-web-sdk/p-1ef103df.system.entry.js +1 -0
  166. package/dist/verdocs-web-sdk/p-242a7d5f.entry.js +1 -0
  167. package/dist/verdocs-web-sdk/p-24796ebc.entry.js +1 -0
  168. package/dist/verdocs-web-sdk/p-2dddc88a.js +1 -0
  169. package/dist/verdocs-web-sdk/p-2f6b653e.system.entry.js +1 -0
  170. package/dist/verdocs-web-sdk/{p-e65e9d24.js → p-34f03fee.js} +1 -1
  171. package/dist/verdocs-web-sdk/{p-62ec3db9.system.entry.js → p-3d946a89.system.entry.js} +1 -1
  172. package/dist/verdocs-web-sdk/{p-455d16dc.system.js → p-3f628837.system.js} +1 -1
  173. package/dist/verdocs-web-sdk/{p-94009f45.entry.js → p-4861684b.entry.js} +1 -1
  174. package/dist/verdocs-web-sdk/p-4e2534a8.entry.js +1 -0
  175. package/dist/verdocs-web-sdk/{p-3f7aa186.system.entry.js → p-56da687c.system.entry.js} +1 -1
  176. package/dist/verdocs-web-sdk/{p-9542e890.system.entry.js → p-5a6581cc.system.entry.js} +1 -1
  177. package/dist/verdocs-web-sdk/{p-0685d939.system.entry.js → p-6384f444.system.entry.js} +1 -1
  178. package/dist/verdocs-web-sdk/p-73aea1fa.system.entry.js +1 -0
  179. package/dist/verdocs-web-sdk/p-7664525d.system.entry.js +1 -0
  180. package/dist/verdocs-web-sdk/p-77649962.system.entry.js +1 -0
  181. package/dist/verdocs-web-sdk/{p-c1f51f1b.system.entry.js → p-7ae877b4.system.entry.js} +1 -1
  182. package/dist/verdocs-web-sdk/p-7bddea08.system.entry.js +1 -0
  183. package/dist/verdocs-web-sdk/p-7dc5daed.entry.js +1 -0
  184. package/dist/verdocs-web-sdk/p-86573e6d.entry.js +1 -0
  185. package/dist/verdocs-web-sdk/{p-e96924b5.system.entry.js → p-8b111775.system.entry.js} +1 -1
  186. package/dist/verdocs-web-sdk/p-8bbe0209.system.js +1 -0
  187. package/dist/verdocs-web-sdk/p-93aa6f6e.js +1 -0
  188. package/dist/verdocs-web-sdk/{p-3b1711df.entry.js → p-a3326659.entry.js} +1 -1
  189. package/dist/verdocs-web-sdk/p-a7580374.entry.js +1 -0
  190. package/dist/verdocs-web-sdk/{p-623fe013.system.entry.js → p-a91615c2.system.entry.js} +1 -1
  191. package/dist/verdocs-web-sdk/{p-77ca800b.entry.js → p-ac6d0fb0.entry.js} +1 -1
  192. package/dist/verdocs-web-sdk/{p-5cd0b997.entry.js → p-b0747977.entry.js} +1 -1
  193. package/dist/verdocs-web-sdk/{p-126c423d.entry.js → p-ba2aa74b.entry.js} +1 -1
  194. package/dist/verdocs-web-sdk/p-bac777b3.system.entry.js +1 -0
  195. package/dist/verdocs-web-sdk/p-bd8918e3.system.entry.js +1 -0
  196. package/dist/verdocs-web-sdk/{p-4be3b251.entry.js → p-c3c142f0.entry.js} +1 -1
  197. package/dist/verdocs-web-sdk/p-c67f893d.system.entry.js +1 -0
  198. package/dist/verdocs-web-sdk/{p-7a47fcd9.system.js → p-c90481a4.system.js} +1 -1
  199. package/dist/verdocs-web-sdk/p-cd7bd84e.entry.js +1 -0
  200. package/dist/verdocs-web-sdk/p-cff1b0e9.entry.js +1 -0
  201. package/dist/verdocs-web-sdk/p-d0c0571b.entry.js +1 -0
  202. package/dist/verdocs-web-sdk/{p-cbe7b8c8.system.entry.js → p-d72dc783.system.entry.js} +1 -1
  203. package/dist/verdocs-web-sdk/p-d8054e31.entry.js +1 -0
  204. package/dist/verdocs-web-sdk/p-d87c1330.system.js +1 -0
  205. package/dist/verdocs-web-sdk/{p-bfdbd210.entry.js → p-da9462c7.entry.js} +1 -1
  206. package/dist/verdocs-web-sdk/p-e7ce7a48.entry.js +1 -0
  207. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  208. package/dist/verdocs-web-sdk/p-f9efd9ae.entry.js +1 -0
  209. package/dist/verdocs-web-sdk/p-fc9067c0.system.entry.js +1 -0
  210. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  211. package/package.json +1 -1
  212. package/dist/custom-elements.json +0 -2175
  213. package/dist/esm-es5/TemplateStore-618fb47f.js +0 -1
  214. package/dist/verdocs-web-sdk/p-058f0e56.system.entry.js +0 -1
  215. package/dist/verdocs-web-sdk/p-093f593d.system.entry.js +0 -1
  216. package/dist/verdocs-web-sdk/p-09babc77.system.entry.js +0 -1
  217. package/dist/verdocs-web-sdk/p-0a5b8a89.entry.js +0 -1
  218. package/dist/verdocs-web-sdk/p-14a9619f.entry.js +0 -1
  219. package/dist/verdocs-web-sdk/p-18cb9ef7.system.entry.js +0 -1
  220. package/dist/verdocs-web-sdk/p-1aa865af.system.entry.js +0 -1
  221. package/dist/verdocs-web-sdk/p-1b661190.entry.js +0 -1
  222. package/dist/verdocs-web-sdk/p-350f1ca4.system.entry.js +0 -1
  223. package/dist/verdocs-web-sdk/p-35720475.entry.js +0 -1
  224. package/dist/verdocs-web-sdk/p-371effb1.system.entry.js +0 -1
  225. package/dist/verdocs-web-sdk/p-3930ee22.js +0 -1
  226. package/dist/verdocs-web-sdk/p-3989e584.entry.js +0 -1
  227. package/dist/verdocs-web-sdk/p-3d9adca7.entry.js +0 -1
  228. package/dist/verdocs-web-sdk/p-413a5b21.entry.js +0 -1
  229. package/dist/verdocs-web-sdk/p-591b695c.entry.js +0 -1
  230. package/dist/verdocs-web-sdk/p-6d42921b.entry.js +0 -1
  231. package/dist/verdocs-web-sdk/p-6d81d774.entry.js +0 -1
  232. package/dist/verdocs-web-sdk/p-6e45e610.system.entry.js +0 -1
  233. package/dist/verdocs-web-sdk/p-71faa59f.entry.js +0 -1
  234. package/dist/verdocs-web-sdk/p-7c8419d7.system.entry.js +0 -1
  235. package/dist/verdocs-web-sdk/p-961ee618.system.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-a97512f6.system.entry.js +0 -1
  237. package/dist/verdocs-web-sdk/p-aa29c7ec.system.entry.js +0 -1
  238. package/dist/verdocs-web-sdk/p-c11c841c.system.entry.js +0 -1
  239. package/dist/verdocs-web-sdk/p-c82a2a4e.system.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-d32278c8.system.entry.js +0 -1
  241. package/dist/verdocs-web-sdk/p-df621f8d.system.js +0 -1
  242. package/dist/verdocs-web-sdk/p-ea52b891.entry.js +0 -1
  243. package/dist/verdocs-web-sdk/p-ebc1c670.entry.js +0 -1
  244. package/dist/verdocs-web-sdk/p-fda04bb0.entry.js +0 -1
  245. package/dist/verdocs-web-sdk/p-ff473972.entry.js +0 -1
  246. package/dist/verdocs-web-sdk/p-ffa4091d.entry.js +0 -1
@@ -2,7 +2,7 @@ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
2
2
  import { h, Host, Fragment } from '@stencil/core';
3
3
  import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
4
4
  import { getFieldSettings } from '../../../utils/utils';
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
+ import { SettingsIcon } from '../../../utils/Icons';
6
6
  /**
7
7
  * Displays an initial field. If an initial already exists, it will be displayed and the field will be disabled. Otherwise, a placeholder
8
8
  * button will be shown. Clicking the button will show a dialog to adopt an initial.
@@ -75,7 +75,7 @@ export class VerdocsFieldInitial {
75
75
  if (this.done) {
76
76
  return h(Host, { class: { done: this.done } }, value && h("img", { src: value, alt: "Initials" }));
77
77
  }
78
- return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.required, disabled }, style: { backgroundColor } }, value ? (h("img", { src: value, alt: "Initials" })) : (h("button", { class: {}, onClick: () => !disabled && this.handleShow() }, "Initials")), 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) => {
78
+ return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.required, disabled }, style: { backgroundColor } }, value ? (h("img", { src: value, alt: "Initials" })) : (h("button", { class: {}, onClick: () => !disabled && this.handleShow() }, "Initials")), 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) => {
79
79
  e.stopPropagation();
80
80
  this.showingProperties = !this.showingProperties;
81
81
  } }), 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: () => {
@@ -2,9 +2,9 @@ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
2
2
  import { h, Host, Fragment } from '@stencil/core';
3
3
  import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
4
4
  import { getFieldSettings } from '../../../utils/utils';
5
+ import { SettingsIcon } from '../../../utils/Icons';
5
6
  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>`;
6
7
  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>`;
7
- const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
8
8
  /**
9
9
  * Displays a radio button.
10
10
  */
@@ -54,7 +54,7 @@ export class VerdocsFieldRadioButton {
54
54
  if (this.done) {
55
55
  return (h(Host, { class: { done: this.done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: !!option.selected ? RadioIconSelected : RadioIconUnselected })));
56
56
  }
57
- 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) => {
57
+ 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) => {
58
58
  e.stopPropagation();
59
59
  this.showingProperties = !this.showingProperties;
60
60
  } }), 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: () => {
@@ -2,7 +2,7 @@ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
2
2
  import { h, Host, Fragment } from '@stencil/core';
3
3
  import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
4
4
  import { getFieldSettings } from '../../../utils/utils';
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
+ import { SettingsIcon } from '../../../utils/Icons';
6
6
  /**
7
7
  * Displays a signature field. If a signature already exists, it will be displayed and the field will be disabled. Otherwise, a placeholder
8
8
  * button will be shown. Clicking the button will show a dialog to adopt a signature.
@@ -76,7 +76,7 @@ export class VerdocsFieldSignature {
76
76
  if (this.done) {
77
77
  return h(Host, { class: { done: this.done } }, value && h("img", { src: value, alt: "Signature" }));
78
78
  }
79
- 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) => {
79
+ 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) => {
80
80
  e.stopPropagation();
81
81
  this.showingProperties = !this.showingProperties;
82
82
  } }), 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: () => {
@@ -3,9 +3,9 @@ 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
5
  import { h, Host, Fragment } from '@stencil/core';
6
- import { getFieldSettings } from '../../../utils/utils';
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
+ import { SettingsIcon } from '../../../utils/Icons';
9
9
  /**
10
10
  * Display a multi-line text input field.
11
11
  */
@@ -102,7 +102,7 @@ export class VerdocsFieldTextarea {
102
102
  if (this.done) {
103
103
  return h(Host, { class: { done: this.done } }, settings.value);
104
104
  }
105
- 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) => {
105
+ 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) => {
106
106
  e.stopPropagation();
107
107
  this.showingProperties = !this.showingProperties;
108
108
  } }), 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: () => {
@@ -3,15 +3,17 @@ 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
5
  import { h, Host, Fragment } from '@stencil/core';
6
+ import { getRoleIndex, getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
6
7
  import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
7
8
  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
+ import { SettingsIcon } from '../../../utils/Icons';
9
10
  /**
10
11
  * Display a text input field.
11
12
  */
12
13
  export class VerdocsFieldTextbox {
13
14
  constructor() {
14
15
  this.fieldStore = null;
16
+ this.roleStore = null;
15
17
  this.endpoint = VerdocsEndpoint.getDefault();
16
18
  this.templateid = '';
17
19
  this.fieldname = '';
@@ -19,7 +21,6 @@ export class VerdocsFieldTextbox {
19
21
  this.editable = false;
20
22
  this.moveable = false;
21
23
  this.done = false;
22
- this.roleindex = 0;
23
24
  this.xscale = 1;
24
25
  this.yscale = 1;
25
26
  this.rerender = 0;
@@ -42,6 +43,7 @@ export class VerdocsFieldTextbox {
42
43
  }
43
44
  async componentWillLoad() {
44
45
  this.fieldStore = getTemplateFieldStore(this.templateid);
46
+ this.roleStore = getTemplateRoleStore(this.templateid);
45
47
  }
46
48
  componentDidRender() {
47
49
  interact.dynamicDrop(true);
@@ -93,12 +95,14 @@ export class VerdocsFieldTextbox {
93
95
  render() {
94
96
  var _a, _b;
95
97
  const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
98
+ const roleIndex = getRoleIndex(this.roleStore, field.role_name);
99
+ const backgroundColor = field['rgba'] || getRGBA(roleIndex);
100
+ console.log('rendering tb', field.name, roleIndex, backgroundColor);
96
101
  if (!field) {
97
102
  return h(Fragment, null);
98
103
  }
99
104
  const settings = getFieldSettings(field);
100
105
  let disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
101
- const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
102
106
  const value = (settings === null || settings === void 0 ? void 0 : settings.result) || '';
103
107
  const width = settings.width || 150;
104
108
  // TODO: This is an outdated technique from the old system. We should compute it.
@@ -106,7 +110,7 @@ export class VerdocsFieldTextbox {
106
110
  if (this.done) {
107
111
  return h(Host, { class: { done: this.done } }, value);
108
112
  }
109
- return (h(Host, { class: { required: field.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: field.name, placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: field === null || field === void 0 ? void 0 : field.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: settingsIcon, onClick: (e) => {
113
+ return (h(Host, { class: { required: field.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: field.name, placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: field === null || field === void 0 ? void 0 : field.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
110
114
  e.stopPropagation();
111
115
  this.showingProperties = !this.showingProperties;
112
116
  } }), 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: () => {
@@ -261,24 +265,6 @@ export class VerdocsFieldTextbox {
261
265
  "reflect": false,
262
266
  "defaultValue": "false"
263
267
  },
264
- "roleindex": {
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 colored using this index value to select the background color."
277
- },
278
- "attribute": "roleindex",
279
- "reflect": false,
280
- "defaultValue": "0"
281
- },
282
268
  "xscale": {
283
269
  "type": "number",
284
270
  "mutable": false,
@@ -1,10 +1,10 @@
1
1
  import { format } from 'date-fns';
2
2
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
3
3
  import { h, Host, Fragment } from '@stencil/core';
4
+ import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
4
5
  import { getFieldSettings } from '../../../utils/utils';
5
6
  import { FORMAT_TIMESTAMP } from '../../../utils/Types';
6
- import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
7
- const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
7
+ import { SettingsIcon } from '../../../utils/Icons';
8
8
  /**
9
9
  * Display a timestamp field.
10
10
  */
@@ -59,7 +59,7 @@ export class VerdocsFieldTimestamp {
59
59
  return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.required, disabled }, style: { backgroundColor } }, h("input", { type: "text", placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order,
60
60
  // TODO: It would really make more sense to show the date and time but the default width of 64px for this field
61
61
  // is encoded in a ton of existing entries in the database and is hard to change.
62
- value: formatted, disabled: true, ref: el => (this.el = el) }), 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) => {
62
+ value: formatted, disabled: true, ref: el => (this.el = el) }), 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) => {
63
63
  e.stopPropagation();
64
64
  this.showingProperties = !this.showingProperties;
65
65
  } }), 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: () => {
@@ -2,11 +2,11 @@ import interact from 'interactjs';
2
2
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
3
  import { integerSequence } from '@verdocs/js-sdk/Utils/Primitives';
4
4
  import { createField, updateField } from '@verdocs/js-sdk/Templates/Fields';
5
- import { h, Host } from '@stencil/core';
6
- import { defaultHeight, defaultWidth, getRoleIndex, renderDocumentField, updateCssTransform } from '../../../utils/utils';
7
- import { getRoleNames, getTemplateStore } from '../../../utils/TemplateStore';
8
5
  import { getTemplateFieldStore, updateStoreField } from '../../../utils/TemplateFieldStore';
6
+ import { defaultHeight, defaultWidth, renderDocumentField, updateCssTransform } from '../../../utils/utils';
7
+ import { h, Host } from '@stencil/core';
9
8
  import { getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
9
+ import { getTemplateStore } from '../../../utils/TemplateStore';
10
10
  import { SDKError } from '../../../utils/errors';
11
11
  const iconTextbox = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z"/></svg>';
12
12
  const iconTextarea = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z"/></svg>';
@@ -103,7 +103,7 @@ export class VerdocsTemplateFields {
103
103
  async handleFieldChange(field, e, optionId) {
104
104
  console.log('[FIELDS] handleFieldChange', field, e, optionId);
105
105
  }
106
- attachFieldAttributes(pageInfo, field, roleIndex, el) {
106
+ attachFieldAttributes(pageInfo, field, el) {
107
107
  el.addEventListener('input', e => this.handleFieldChange(field, e));
108
108
  el.addEventListener('settingsChanged', () => {
109
109
  var _a, _b;
@@ -117,7 +117,6 @@ export class VerdocsTemplateFields {
117
117
  });
118
118
  el.setAttribute('templateid', this.templateId);
119
119
  el.setAttribute('fieldname', field.name);
120
- el.setAttribute('roleindex', roleIndex);
121
120
  el.setAttribute('pageNumber', pageInfo.pageNumber);
122
121
  el.setAttribute('xScale', pageInfo.xScale);
123
122
  el.setAttribute('yScale', pageInfo.yScale);
@@ -134,19 +133,19 @@ export class VerdocsTemplateFields {
134
133
  }
135
134
  reRenderField(field, pageNumber) {
136
135
  const pageInfo = this.cachedPageInfo[pageNumber];
137
- const roleIndex = getRoleIndex(getRoleNames(this.templateStore), field.role_name);
138
- const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
136
+ // const roleIndex = getRoleIndex(getRoleNames(this.roleStore), field.role_name);
137
+ const el = renderDocumentField(field, pageInfo, { disabled: true, editable: true, draggable: true });
139
138
  if (!el) {
140
139
  return;
141
140
  }
142
141
  if (Array.isArray(el)) {
143
142
  el.forEach(childEl => {
144
- this.attachFieldAttributes(pageInfo, field, roleIndex, childEl);
143
+ this.attachFieldAttributes(pageInfo, field, childEl);
145
144
  this.makeDraggable(childEl);
146
145
  });
147
146
  }
148
147
  else {
149
- this.attachFieldAttributes(pageInfo, field, roleIndex, el);
148
+ this.attachFieldAttributes(pageInfo, field, el);
150
149
  this.makeDraggable(el);
151
150
  }
152
151
  }
@@ -219,6 +218,8 @@ export class VerdocsTemplateFields {
219
218
  updateStoreField(this.fieldStore, name, newFieldData);
220
219
  event.target.removeAttribute('posX');
221
220
  event.target.removeAttribute('posY');
221
+ // this.reRenderField(newFieldData, pageNumber);
222
+ console.log('[FIELDS] Updated', name, newFieldData);
222
223
  (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
223
224
  }
224
225
  generateFieldName(type, pageNumber) {
@@ -3,7 +3,7 @@ export default {
3
3
  title: 'Templates/Fields',
4
4
  component: 'verdocs-template-fields',
5
5
  args: {
6
- templateId: '',
6
+ templateId: 'd2338742-f3a1-465b-8592-806587413cc1',
7
7
  },
8
8
  argTypes: {},
9
9
  parameters: {
@@ -4,9 +4,8 @@ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
4
4
  import { createRole, updateRole } from '@verdocs/js-sdk/Templates/Roles';
5
5
  import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
6
6
  import { h, Fragment, Host } from '@stencil/core';
7
- import { getTemplateRoleStore, updateStoreRole } from '../../../utils/TemplateRoleStore';
7
+ import { getRoleIndex, getTemplateRoleStore, updateStoreRole } from '../../../utils/TemplateRoleStore';
8
8
  import { getTemplateStore } from '../../../utils/TemplateStore';
9
- import { getRoleIndex } from '../../../utils/utils';
10
9
  import { SDKError } from '../../../utils/errors';
11
10
  const senderLabels = {
12
11
  [TemplateSenderTypes.EVERYONE]: 'Everyone',
@@ -230,7 +229,7 @@ export class VerdocsTemplateRoles {
230
229
  console.log('Rendering', roleNames, sequences);
231
230
  return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("h5", null, "Roles and Workflow"), h("div", { class: "participants" }, h("div", { class: "left-line" }), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: startIcon }), h("div", { class: "row-roles" }, h("div", { class: "sender" }, h("span", { class: "label" }, "Sender:"), " ", senderLabels[(_c = (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.sender], ' ', h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingSenderDialog = true), "aria-role": "button" })))), h("div", { class: "row add-sequence", "data-sequence": 0 }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "row-roles" }, h("div", { class: "dropzone", "data-sequence": 0, "data-order": 1 }, "Add Step"))), sequences.map(sequence => (h(Fragment, null, h("div", { class: "row" }, h("div", { class: "icon", innerHTML: stepIcon }), h("div", { class: "row-roles" }, h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), this.getRolesAtSequence(sequence).map(role => {
232
231
  const unknown = !role.email;
233
- return unknown ? (h(Fragment, null, h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.name, " ", h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence }))) : (h(Fragment, null, h("div", { class: "recipient", style: { borderColor: getRGBA(getRoleIndex(roleNames, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.full_name, " ", h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence })));
232
+ return unknown ? (h(Fragment, null, h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(this.roleStore, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.name, " ", h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence }))) : (h(Fragment, null, h("div", { class: "recipient", style: { borderColor: getRGBA(getRoleIndex(this.roleStore, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.full_name, " ", h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence })));
234
233
  }), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), sequences.length > 0 && (h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "dropzone", "data-sequence": sequence + 1, "data-order": 1 }, "Add Step"))))))), h("div", { class: "row", "data-sequence": sequences.length + 1 }, h("div", { class: "row-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("button", { class: "add-step", innerHTML: plusIcon, onClick: e => this.handleAddStep(e, sequences.length + 1) }))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-roles" }, h("div", { class: "complete" }, "Document Complete")))), roleNames.length < 1 && (h("div", { class: "empty" }, "You must add at least one Role before proceeding.", h("br", null), " Click the ", h("span", { innerHTML: plusIcon }), " Add button above to get started.")), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: () => this.handleCancel() }), h("verdocs-button", { label: "OK", size: "small", onClick: () => this.handleSubmit(), disabled: roleNames.length < 1 }))), this.showingRoleDialog && (h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
235
234
  this.showingRoleDialog = null;
236
235
  }, onDelete: async () => {
@@ -71,3 +71,4 @@ export const PageCountIcon = `<svg width="19" height="24" viewBox="0 0 19 24" fi
71
71
  <rect x="4.5" y="4.5" width="14" height="19" rx="0.5" fill="white" stroke="#375367"/>
72
72
  </svg>
73
73
  `;
74
+ export 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>';
@@ -30,3 +30,5 @@ export const deleteStoreRole = (store, name) => {
30
30
  const newRoles = [...store.get('roles').filter(field => field.name !== name)];
31
31
  store.set('roles', newRoles);
32
32
  };
33
+ export const getRoleNames = (store) => store.get('roles').map(role => role.name);
34
+ export const getRoleIndex = (store, name) => getRoleNames(store).findIndex(roleName => roleName === name);
@@ -1,8 +1,8 @@
1
1
  import { createStore } from '@stencil/store';
2
2
  import { getTemplate } from '@verdocs/js-sdk/Templates/Templates';
3
3
  import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
4
- import { createTemplateFieldStore, getTemplateFieldStore } from './TemplateFieldStore';
5
4
  import { createTemplateRoleStore, getTemplateRoleStore } from './TemplateRoleStore';
5
+ import { createTemplateFieldStore, getTemplateFieldStore } from './TemplateFieldStore';
6
6
  const createTemplateStore = (templateId) => {
7
7
  const now = new Date().toISOString();
8
8
  return createStore({
@@ -88,4 +88,3 @@ export const getTemplateStore = async (endpoint, templateId, forceReload = false
88
88
  }
89
89
  return store;
90
90
  };
91
- export const getRoleNames = (store) => { var _a; return (((_a = store === null || store === void 0 ? void 0 : store.state) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name); };
@@ -95,7 +95,7 @@ export const updateDocumentFieldValue = (field) => {
95
95
  existingField.setAttribute('disabled', false); // We need this to trigger a re-render
96
96
  }
97
97
  };
98
- export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
98
+ export const renderDocumentField = (field, docPage, fieldOptions) => {
99
99
  var _a, _b;
100
100
  // console.log('rdf', field);
101
101
  const { disabled = false, editable = false, draggable = false, done = false } = fieldOptions;
@@ -130,7 +130,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
130
130
  const el = document.createElement(`verdocs-field-${type}`);
131
131
  el.field = field;
132
132
  el.setAttribute('id', id);
133
- el.setAttribute('roleIndex', roleIndex);
134
133
  el.setAttribute('fieldname', field.name);
135
134
  el.setAttribute('templateid', 'template_id' in field ? field.template_id : 'PREVIEW');
136
135
  if (disabled) {
@@ -164,7 +163,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
164
163
  const cbEl = document.createElement(`verdocs-field-checkbox`);
165
164
  cbEl.field = field;
166
165
  cbEl.setAttribute('id', id);
167
- cbEl.setAttribute('roleIndex', roleIndex);
168
166
  cbEl.setAttribute('option', 0);
169
167
  if (disabled) {
170
168
  cbEl.setAttribute('disabled', true);
@@ -192,7 +190,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
192
190
  const cbEl = document.createElement(`verdocs-field-checkbox`);
193
191
  cbEl.field = field;
194
192
  cbEl.setAttribute('id', id);
195
- cbEl.setAttribute('roleIndex', roleIndex);
196
193
  cbEl.setAttribute('option', checkboxIndex);
197
194
  if (disabled) {
198
195
  cbEl.setAttribute('disabled', true);
@@ -221,7 +218,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
221
218
  const radioEl = document.createElement(`verdocs-field-radio-button`);
222
219
  radioEl.field = field;
223
220
  radioEl.setAttribute('id', id);
224
- radioEl.setAttribute('roleIndex', roleIndex);
225
221
  radioEl.setAttribute('option', buttonIndex);
226
222
  if (disabled) {
227
223
  radioEl.setAttribute('disabled', true);
@@ -251,7 +247,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
251
247
  return null;
252
248
  }
253
249
  };
254
- export const getRoleIndex = (roles, role) => roles.indexOf(role) || 0;
255
250
  // TODO: We can clean this up a lot if we alter the API to emit both setting and settings regardless of the source type,
256
251
  // but then merge the SDK types to encourage developers to use just `settings`.
257
252
  export const getFieldSettings = (field) => {
@@ -330,15 +325,6 @@ export const throttle = (f, delay) => {
330
325
  timer = setTimeout(() => f.apply(this, args), delay);
331
326
  };
332
327
  };
333
- /**
334
- * Convert a browser File object's data into a base64-encoded string.
335
- */
336
- export const fileToBase64 = (file) => new Promise((resolve, reject) => {
337
- const reader = new FileReader();
338
- reader.readAsDataURL(file);
339
- reader.onload = () => { var _a; return resolve(((_a = reader.result) === null || _a === void 0 ? void 0 : _a.toString()) || ''); };
340
- reader.onerror = error => reject(error);
341
- });
342
328
  /**
343
329
  * Compute the rendered width of a given text string, using a given font.
344
330
  */
@@ -71,5 +71,6 @@ const PageCountIcon = `<svg width="19" height="24" viewBox="0 0 19 24" fill="non
71
71
  <rect x="4.5" y="4.5" width="14" height="19" rx="0.5" fill="white" stroke="#375367"/>
72
72
  </svg>
73
73
  `;
74
+ 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>';
74
75
 
75
- export { DocIcon as D, FileIcon as F, JpgIcon as J, PngIcon as P, TrashIcon as T, PdfIcon as a, PageCountIcon as b, unicodeNBSP as u };
76
+ export { DocIcon as D, FileIcon as F, JpgIcon as J, PngIcon as P, SettingsIcon as S, TrashIcon as T, PdfIcon as a, PageCountIcon as b, unicodeNBSP as u };
@@ -33,6 +33,8 @@ const deleteStoreRole = (store, name) => {
33
33
  const newRoles = [...store.get('roles').filter(field => field.name !== name)];
34
34
  store.set('roles', newRoles);
35
35
  };
36
+ const getRoleNames = (store) => store.get('roles').map(role => role.name);
37
+ const getRoleIndex = (store, name) => getRoleNames(store).findIndex(roleName => roleName === name);
36
38
 
37
39
  const createTemplateStore = (templateId) => {
38
40
  const now = new Date().toISOString();
@@ -114,6 +116,5 @@ const getTemplateStore = async (endpoint, templateId, forceReload = false) => {
114
116
  }
115
117
  return store;
116
118
  };
117
- const getRoleNames = (store) => { var _a; return (((_a = store === null || store === void 0 ? void 0 : store.state) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name); };
118
119
 
119
- export { getRoleNames as a, getTemplateRoleStore as b, createTemplateRoleStore as c, deleteStoreRole as d, getTemplateStore as g, updateStoreRole as u };
120
+ export { getTemplateRoleStore as a, getRoleIndex as b, getRoleNames as c, createTemplateRoleStore as d, deleteStoreRole as e, getTemplateStore as g, updateStoreRole as u };
@@ -116,7 +116,7 @@ const updateDocumentFieldValue = (field) => {
116
116
  existingField.setAttribute('disabled', false); // We need this to trigger a re-render
117
117
  }
118
118
  };
119
- const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
119
+ const renderDocumentField = (field, docPage, fieldOptions) => {
120
120
  var _a, _b;
121
121
  // console.log('rdf', field);
122
122
  const { disabled = false, editable = false, draggable = false, done = false } = fieldOptions;
@@ -151,7 +151,6 @@ const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
151
151
  const el = document.createElement(`verdocs-field-${type}`);
152
152
  el.field = field;
153
153
  el.setAttribute('id', id);
154
- el.setAttribute('roleIndex', roleIndex);
155
154
  el.setAttribute('fieldname', field.name);
156
155
  el.setAttribute('templateid', 'template_id' in field ? field.template_id : 'PREVIEW');
157
156
  if (disabled) {
@@ -185,7 +184,6 @@ const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
185
184
  const cbEl = document.createElement(`verdocs-field-checkbox`);
186
185
  cbEl.field = field;
187
186
  cbEl.setAttribute('id', id);
188
- cbEl.setAttribute('roleIndex', roleIndex);
189
187
  cbEl.setAttribute('option', 0);
190
188
  if (disabled) {
191
189
  cbEl.setAttribute('disabled', true);
@@ -213,7 +211,6 @@ const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
213
211
  const cbEl = document.createElement(`verdocs-field-checkbox`);
214
212
  cbEl.field = field;
215
213
  cbEl.setAttribute('id', id);
216
- cbEl.setAttribute('roleIndex', roleIndex);
217
214
  cbEl.setAttribute('option', checkboxIndex);
218
215
  if (disabled) {
219
216
  cbEl.setAttribute('disabled', true);
@@ -242,7 +239,6 @@ const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
242
239
  const radioEl = document.createElement(`verdocs-field-radio-button`);
243
240
  radioEl.field = field;
244
241
  radioEl.setAttribute('id', id);
245
- radioEl.setAttribute('roleIndex', roleIndex);
246
242
  radioEl.setAttribute('option', buttonIndex);
247
243
  if (disabled) {
248
244
  radioEl.setAttribute('disabled', true);
@@ -272,7 +268,6 @@ const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
272
268
  return null;
273
269
  }
274
270
  };
275
- const getRoleIndex = (roles, role) => roles.indexOf(role) || 0;
276
271
  // TODO: We can clean this up a lot if we alter the API to emit both setting and settings regardless of the source type,
277
272
  // but then merge the SDK types to encourage developers to use just `settings`.
278
273
  const getFieldSettings = (field) => {
@@ -382,4 +377,4 @@ const convertToE164 = (input) => {
382
377
  return `+1${temp}`;
383
378
  };
384
379
 
385
- export { saveAttachment as a, getRoleIndex as b, getFieldId as c, convertToE164 as d, renderedTextWidth as e, updateCssTransform as f, getFieldSettings as g, defaultWidth as h, defaultHeight as i, renderDocumentField as r, saveEnvelopesAsZip as s, throttle as t, updateDocumentFieldValue as u };
380
+ export { saveAttachment as a, getFieldId as b, convertToE164 as c, renderedTextWidth as d, updateCssTransform as e, defaultWidth as f, getFieldSettings as g, defaultHeight as h, renderDocumentField as r, saveEnvelopesAsZip as s, throttle as t, updateDocumentFieldValue as u };
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import './Types.js';
3
3
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
4
- import { d as convertToE164 } from './utils.js';
4
+ import { c as convertToE164 } from './utils.js';
5
5
  import { d as defineCustomElement$2 } from './verdocs-button2.js';
6
6
  import { d as defineCustomElement$1 } from './verdocs-toggle-button2.js';
7
7
 
@@ -2,6 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, Host } from
2
2
  import { g as getRGBA } from './Colors.js';
3
3
  import { g as getTemplateFieldStore } from './TemplateFieldStore.js';
4
4
  import { g as getFieldSettings } from './utils.js';
5
+ import { S as SettingsIcon } from './Icons.js';
5
6
  import { d as defineCustomElement$a } from './verdocs-button2.js';
6
7
  import { d as defineCustomElement$9 } from './verdocs-checkbox2.js';
7
8
  import { d as defineCustomElement$8 } from './verdocs-component-error2.js';
@@ -16,7 +17,6 @@ const verdocsFieldAttachmentCss = "verdocs-field-attachment{font-family:\"Inter\
16
17
 
17
18
  const PaperclipIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13" /></svg>`;
18
19
  const AttachedIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 104.69 122.88"><g><path d="M31.54,86.95c-1.74,0-3.16-1.43-3.16-3.19c0-1.76,1.41-3.19,3.16-3.19h20.5c1.74,0,3.16,1.43,3.16,3.19 c0,1.76-1.41,3.19-3.16,3.19H31.54L31.54,86.95z M31.54,42.27c-1.74,0-3.15-1.41-3.15-3.15c0-1.74,1.41-3.15,3.15-3.15h41.61 c1.74,0,3.15,1.41,3.15,3.15c0,1.74-1.41,3.15-3.15,3.15H31.54L31.54,42.27z M66.57,108.66c-1.36-1.08-1.59-3.06-0.5-4.42 c1.08-1.36,3.06-1.59,4.42-0.5l9.57,7.59l18.21-22.27c1.1-1.35,3.09-1.54,4.43-0.44c1.35,1.1,1.54,3.09,0.44,4.43l-20.17,24.67l0,0 c-1.09,1.33-3.04,1.54-4.39,0.47L66.57,108.66L66.57,108.66z M56.85,116.58c1.74,0,3.15,1.41,3.15,3.15c0,1.74-1.41,3.15-3.15,3.15 H7.33c-2.02,0-3.85-0.82-5.18-2.15C0.82,119.4,0,117.57,0,115.55V7.33c0-2.02,0.82-3.85,2.15-5.18C3.48,0.82,5.31,0,7.33,0h90.02 c2.02,0,3.85,0.82,5.18,2.15c1.33,1.33,2.15,3.16,2.15,5.18V72.6c0,1.74-1.41,3.15-3.15,3.15c-1.74,0-3.15-1.41-3.15-3.15V7.33 c0-0.28-0.12-0.54-0.3-0.73c-0.19-0.19-0.45-0.3-0.73-0.3H7.33c-0.28,0-0.54,0.12-0.73,0.3C6.42,6.8,6.3,7.05,6.3,7.33v108.21 c0,0.28,0.12,0.54,0.3,0.73c0.19,0.19,0.45,0.3,0.73,0.3H56.85L56.85,116.58z M31.54,64.59c-1.74,0-3.15-1.41-3.15-3.15 c0-1.74,1.41-3.15,3.15-3.15h41.61c1.74,0,3.15,1.41,3.15,3.15c0,1.74-1.41,3.15-3.15,3.15H31.54L31.54,64.59z"/></g></svg>`;
19
- 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>';
20
20
  const VerdocsFieldAttachment$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
21
21
  constructor() {
22
22
  super();
@@ -78,7 +78,7 @@ const VerdocsFieldAttachment$1 = /*@__PURE__*/ proxyCustomElement(class extends
78
78
  const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
79
79
  const { url } = settings;
80
80
  console.log('Attachment settings', url, settings);
81
- return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("span", { innerHTML: url ? AttachedIcon : PaperclipIcon, onClick: () => !disabled && this.handleShow() }), 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
+ return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("span", { innerHTML: url ? AttachedIcon : PaperclipIcon, onClick: () => !disabled && this.handleShow() }), 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) => {
82
82
  e.stopPropagation();
83
83
  this.showingProperties = !this.showingProperties;
84
84
  } }), 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: () => {
@@ -2,6 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, Host } from
2
2
  import { g as getRGBA } from './Colors.js';
3
3
  import { g as getTemplateFieldStore } from './TemplateFieldStore.js';
4
4
  import { g as getFieldSettings } from './utils.js';
5
+ import { S as SettingsIcon } from './Icons.js';
5
6
  import { d as defineCustomElement$9 } from './verdocs-button2.js';
6
7
  import { d as defineCustomElement$8 } from './verdocs-checkbox2.js';
7
8
  import { d as defineCustomElement$7 } from './verdocs-component-error2.js';
@@ -13,7 +14,6 @@ import { d as defineCustomElement$2 } from './verdocs-text-input2.js';
13
14
 
14
15
  const verdocsFieldCheckboxCss = "@charset \"UTF-8\";verdocs-field-checkbox{width:16px;height:16px;padding:1px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform-origin:bottom left;transform-origin:bottom left;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-field-checkbox.disabled{opacity:0.5}verdocs-field-checkbox label{cursor:inherit;width:14px;height:14px;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-field-checkbox label>input[type=checkbox]{display:none}verdocs-field-checkbox label>input[type=checkbox]+*::before{margin:0;content:\"\";width:14px;height:14px;display:block;line-height:14px;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #aeb4bf}verdocs-field-checkbox label>input[type=checkbox]:checked+*{color:#55bc81}verdocs-field-checkbox label>input[type=checkbox]:checked+*::before{content:\"✓\";color:white;font-size:12px;text-align:center;background:#55bc81;border-color:#55bc81}verdocs-field-checkbox.required{border:1px solid #cc0000}verdocs-field-checkbox.hide{display:none}verdocs-field-checkbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-field-checkbox verdocs-button-panel{display:block;margin-left:-20px;margin-top:-17px;-webkit-transform:scale(0.7);transform:scale(0.7)}verdocs-field-checkbox .settings-icon{position:absolute;top:-3px;left:-20px;display:inline-block;cursor:pointer;opacity:0.6}verdocs-field-checkbox .settings-icon svg{fill:#707ae5}verdocs-field-checkbox .settings-icon:hover{opacity:1}";
15
16
 
16
- 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>';
17
17
  const VerdocsFieldCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
18
18
  constructor() {
19
19
  super();
@@ -63,7 +63,7 @@ const VerdocsFieldCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
63
63
  if (this.done) {
64
64
  return h(Host, { class: { done: this.done } }, option.checked ? '✓' : '☐');
65
65
  }
66
- return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("label", null, h("input", { name: field.name, type: "checkbox", tabIndex: settings.order, checked: option.checked, disabled: disabled, required: settings.required, value: option.id }), h("span", null), 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) => {
66
+ return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("label", null, h("input", { name: field.name, type: "checkbox", tabIndex: settings.order, checked: option.checked, disabled: disabled, required: settings.required, value: option.id }), h("span", null), 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) => {
67
67
  e.stopPropagation();
68
68
  this.showingProperties = !this.showingProperties;
69
69
  } }), 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: () => {