@verdocs/web-sdk 1.9.31 → 1.9.33

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 (319) hide show
  1. package/dist/cjs/{Envelopes-752bdc31.js → Envelopes-019e8a9f.js} +2 -2
  2. package/dist/cjs/{Envelopes-752bdc31.js.map → Envelopes-019e8a9f.js.map} +1 -1
  3. package/dist/cjs/Files-4bdc0c0f.js +49 -0
  4. package/dist/cjs/Files-4bdc0c0f.js.map +1 -0
  5. package/dist/cjs/Primitives-be5088cb.js +25 -0
  6. package/dist/cjs/Primitives-be5088cb.js.map +1 -0
  7. package/dist/cjs/{Templates-a4370308.js → Templates-358eaee4.js} +2 -2
  8. package/dist/cjs/{Templates-a4370308.js.map → Templates-358eaee4.js.map} +1 -1
  9. package/dist/cjs/{templateStore-8c8dc4c1.js → templateStore-eed1f161.js} +3 -4
  10. package/dist/cjs/templateStore-eed1f161.js.map +1 -0
  11. package/dist/cjs/{utils-91d249b4.js → utils-787b2115.js} +5 -29
  12. package/dist/cjs/utils-787b2115.js.map +1 -0
  13. package/dist/cjs/verdocs-build.cjs.entry.js +3 -3
  14. package/dist/cjs/verdocs-document-page_2.cjs.entry.js +2 -1
  15. package/dist/cjs/verdocs-document-page_2.cjs.entry.js.map +1 -1
  16. package/dist/cjs/verdocs-dropdown_2.cjs.entry.js +3 -2
  17. package/dist/cjs/verdocs-dropdown_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -1
  19. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/verdocs-field-date.cjs.entry.js +3 -2
  21. package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
  22. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
  23. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -1
  25. package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
  26. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
  27. package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
  28. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +2 -1
  29. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +2 -1
  31. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
  32. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -1
  33. package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
  34. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +4 -2
  35. package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
  36. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -1
  37. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
  38. package/dist/cjs/verdocs-preview.cjs.entry.js +5 -3
  39. package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
  40. package/dist/cjs/verdocs-send.cjs.entry.js +2 -1
  41. package/dist/cjs/verdocs-send.cjs.entry.js.map +1 -1
  42. package/dist/cjs/verdocs-sign.cjs.entry.js +26 -17
  43. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  44. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +5 -3
  45. package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
  46. package/dist/cjs/verdocs-upload-dialog.cjs.entry.js +3 -28
  47. package/dist/cjs/verdocs-upload-dialog.cjs.entry.js.map +1 -1
  48. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.css +3 -0
  49. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +24 -16
  50. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  51. package/dist/collection/utils/templateStore.js +1 -4
  52. package/dist/collection/utils/templateStore.js.map +1 -1
  53. package/dist/collection/utils/utils.js +3 -23
  54. package/dist/collection/utils/utils.js.map +1 -1
  55. package/dist/components/Files.js +46 -0
  56. package/dist/components/Files.js.map +1 -0
  57. package/dist/components/Primitives.js +22 -0
  58. package/dist/components/Primitives.js.map +1 -0
  59. package/dist/components/templateStore.js +1 -2
  60. package/dist/components/templateStore.js.map +1 -1
  61. package/dist/components/utils.js +5 -27
  62. package/dist/components/utils.js.map +1 -1
  63. package/dist/components/verdocs-field-date.js +1 -1
  64. package/dist/components/verdocs-field-date.js.map +1 -1
  65. package/dist/components/verdocs-sign.js +23 -15
  66. package/dist/components/verdocs-sign.js.map +1 -1
  67. package/dist/components/verdocs-template-create2.js.map +1 -1
  68. package/dist/components/verdocs-template-fields2.js +1 -1
  69. package/dist/components/verdocs-upload-dialog2.js +1 -26
  70. package/dist/components/verdocs-upload-dialog2.js.map +1 -1
  71. package/dist/components/verdocs-view2.js +1 -1
  72. package/dist/docs.json +3 -3
  73. package/dist/esm/{Envelopes-83934981.js → Envelopes-c2545a20.js} +2 -2
  74. package/dist/esm/{Envelopes-83934981.js.map → Envelopes-c2545a20.js.map} +1 -1
  75. package/dist/esm/Files-70a192df.js +46 -0
  76. package/dist/esm/Files-70a192df.js.map +1 -0
  77. package/dist/esm/Primitives-054bc6e5.js +22 -0
  78. package/dist/esm/Primitives-054bc6e5.js.map +1 -0
  79. package/dist/esm/{Templates-41762101.js → Templates-ad0e1ebe.js} +2 -2
  80. package/dist/esm/{Templates-41762101.js.map → Templates-ad0e1ebe.js.map} +1 -1
  81. package/dist/esm/{templateStore-103a54ab.js → templateStore-7b50460b.js} +2 -3
  82. package/dist/esm/templateStore-7b50460b.js.map +1 -0
  83. package/dist/esm/{utils-36d44309.js → utils-6e8bd73f.js} +6 -28
  84. package/dist/esm/utils-6e8bd73f.js.map +1 -0
  85. package/dist/esm/verdocs-build.entry.js +3 -3
  86. package/dist/esm/verdocs-document-page_2.entry.js +2 -1
  87. package/dist/esm/verdocs-document-page_2.entry.js.map +1 -1
  88. package/dist/esm/verdocs-dropdown_2.entry.js +3 -2
  89. package/dist/esm/verdocs-dropdown_2.entry.js.map +1 -1
  90. package/dist/esm/verdocs-field-checkbox.entry.js +2 -1
  91. package/dist/esm/verdocs-field-checkbox.entry.js.map +1 -1
  92. package/dist/esm/verdocs-field-date.entry.js +3 -2
  93. package/dist/esm/verdocs-field-date.entry.js.map +1 -1
  94. package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
  95. package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
  96. package/dist/esm/verdocs-field-initial.entry.js +2 -1
  97. package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
  98. package/dist/esm/verdocs-field-payment.entry.js +2 -1
  99. package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
  100. package/dist/esm/verdocs-field-radio-button.entry.js +2 -1
  101. package/dist/esm/verdocs-field-radio-button.entry.js.map +1 -1
  102. package/dist/esm/verdocs-field-signature_3.entry.js +2 -1
  103. package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
  104. package/dist/esm/verdocs-field-textarea.entry.js +2 -1
  105. package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
  106. package/dist/esm/verdocs-field-textbox.entry.js +4 -2
  107. package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
  108. package/dist/esm/verdocs-field-timestamp.entry.js +2 -1
  109. package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
  110. package/dist/esm/verdocs-preview.entry.js +5 -3
  111. package/dist/esm/verdocs-preview.entry.js.map +1 -1
  112. package/dist/esm/verdocs-send.entry.js +2 -1
  113. package/dist/esm/verdocs-send.entry.js.map +1 -1
  114. package/dist/esm/verdocs-sign.entry.js +25 -16
  115. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  116. package/dist/esm/verdocs-template-create_4.entry.js +5 -3
  117. package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
  118. package/dist/esm/verdocs-upload-dialog.entry.js +1 -26
  119. package/dist/esm/verdocs-upload-dialog.entry.js.map +1 -1
  120. package/dist/esm-es5/{Envelopes-83934981.js → Envelopes-c2545a20.js} +2 -2
  121. package/dist/esm-es5/{Envelopes-83934981.js.map → Envelopes-c2545a20.js.map} +0 -0
  122. package/dist/esm-es5/Files-70a192df.js +2 -0
  123. package/dist/esm-es5/Files-70a192df.js.map +1 -0
  124. package/dist/esm-es5/Primitives-054bc6e5.js +2 -0
  125. package/dist/esm-es5/Primitives-054bc6e5.js.map +1 -0
  126. package/dist/esm-es5/{Templates-41762101.js → Templates-ad0e1ebe.js} +2 -2
  127. package/dist/esm-es5/{Templates-41762101.js.map → Templates-ad0e1ebe.js.map} +0 -0
  128. package/dist/esm-es5/templateStore-7b50460b.js +2 -0
  129. package/dist/esm-es5/templateStore-7b50460b.js.map +1 -0
  130. package/dist/esm-es5/utils-6e8bd73f.js +2 -0
  131. package/dist/esm-es5/utils-6e8bd73f.js.map +1 -0
  132. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
  134. package/dist/esm-es5/verdocs-document-page_2.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-document-page_2.entry.js.map +1 -1
  136. package/dist/esm-es5/verdocs-dropdown_2.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-dropdown_2.entry.js.map +1 -1
  138. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  139. package/dist/esm-es5/verdocs-field-checkbox.entry.js.map +1 -1
  140. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  141. package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
  142. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  143. package/dist/esm-es5/verdocs-field-dropdown.entry.js.map +1 -1
  144. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  145. package/dist/esm-es5/verdocs-field-initial.entry.js.map +1 -1
  146. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  147. package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
  148. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  149. package/dist/esm-es5/verdocs-field-radio-button.entry.js.map +1 -1
  150. package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
  151. package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
  152. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  153. package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
  154. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  155. package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
  156. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  157. package/dist/esm-es5/verdocs-field-timestamp.entry.js.map +1 -1
  158. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  159. package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
  160. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  161. package/dist/esm-es5/verdocs-send.entry.js.map +1 -1
  162. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  163. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  164. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  165. package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
  166. package/dist/esm-es5/verdocs-upload-dialog.entry.js +1 -1
  167. package/dist/esm-es5/verdocs-upload-dialog.entry.js.map +1 -1
  168. package/dist/types/utils/utils.d.ts +0 -2
  169. package/dist/verdocs-web-sdk/p-008f67ce.entry.js +2 -0
  170. package/dist/verdocs-web-sdk/p-008f67ce.entry.js.map +1 -0
  171. package/dist/verdocs-web-sdk/p-016521f8.system.entry.js +2 -0
  172. package/dist/verdocs-web-sdk/{p-6896b64c.system.entry.js.map → p-016521f8.system.entry.js.map} +1 -1
  173. package/dist/verdocs-web-sdk/p-08800f26.entry.js +2 -0
  174. package/dist/verdocs-web-sdk/{p-8c2cdcc4.entry.js.map → p-08800f26.entry.js.map} +1 -1
  175. package/dist/verdocs-web-sdk/{p-458b639d.js → p-11ab1bd0.js} +2 -2
  176. package/dist/verdocs-web-sdk/{p-458b639d.js.map → p-11ab1bd0.js.map} +0 -0
  177. package/dist/verdocs-web-sdk/{p-6d858f25.entry.js → p-12fd1696.entry.js} +2 -2
  178. package/dist/verdocs-web-sdk/{p-6d858f25.entry.js.map → p-12fd1696.entry.js.map} +0 -0
  179. package/dist/verdocs-web-sdk/p-14513fd8.system.entry.js +2 -0
  180. package/dist/verdocs-web-sdk/{p-bd6175d9.system.entry.js.map → p-14513fd8.system.entry.js.map} +1 -1
  181. package/dist/verdocs-web-sdk/{p-7d1a5bc5.system.entry.js → p-14c69e28.system.entry.js} +2 -2
  182. package/dist/verdocs-web-sdk/{p-7d1a5bc5.system.entry.js.map → p-14c69e28.system.entry.js.map} +0 -0
  183. package/dist/verdocs-web-sdk/p-194a9ea7.entry.js +2 -0
  184. package/dist/verdocs-web-sdk/{p-455c2dd9.entry.js.map → p-194a9ea7.entry.js.map} +1 -1
  185. package/dist/verdocs-web-sdk/p-1be6f38a.entry.js +2 -0
  186. package/dist/verdocs-web-sdk/p-1be6f38a.entry.js.map +1 -0
  187. package/dist/verdocs-web-sdk/p-210606ed.entry.js +2 -0
  188. package/dist/verdocs-web-sdk/{p-cc30f8c8.entry.js.map → p-210606ed.entry.js.map} +1 -1
  189. package/dist/verdocs-web-sdk/{p-57fad02b.system.js → p-252d594a.system.js} +2 -2
  190. package/dist/verdocs-web-sdk/{p-57fad02b.system.js.map → p-252d594a.system.js.map} +0 -0
  191. package/dist/verdocs-web-sdk/p-327858f0.system.js +2 -0
  192. package/dist/verdocs-web-sdk/p-327858f0.system.js.map +1 -0
  193. package/dist/verdocs-web-sdk/p-32a83aa5.entry.js +2 -0
  194. package/dist/verdocs-web-sdk/{p-2e8a3d90.entry.js.map → p-32a83aa5.entry.js.map} +1 -1
  195. package/dist/verdocs-web-sdk/p-3cafb2e3.entry.js +2 -0
  196. package/dist/verdocs-web-sdk/{p-29044b5b.entry.js.map → p-3cafb2e3.entry.js.map} +1 -1
  197. package/dist/verdocs-web-sdk/p-3e33cd27.system.entry.js +2 -0
  198. package/dist/verdocs-web-sdk/{p-d9413770.system.entry.js.map → p-3e33cd27.system.entry.js.map} +1 -1
  199. package/dist/verdocs-web-sdk/p-417ee5e0.js +2 -0
  200. package/dist/verdocs-web-sdk/p-417ee5e0.js.map +1 -0
  201. package/dist/verdocs-web-sdk/p-46e776de.system.entry.js +2 -0
  202. package/dist/verdocs-web-sdk/{p-26e0caa5.system.entry.js.map → p-46e776de.system.entry.js.map} +1 -1
  203. package/dist/verdocs-web-sdk/p-4c411b0c.system.entry.js +2 -0
  204. package/dist/verdocs-web-sdk/p-4c411b0c.system.entry.js.map +1 -0
  205. package/dist/verdocs-web-sdk/p-553176fa.system.entry.js +2 -0
  206. package/dist/verdocs-web-sdk/{p-2d1b5389.system.entry.js.map → p-553176fa.system.entry.js.map} +1 -1
  207. package/dist/verdocs-web-sdk/p-5c895ce6.system.entry.js +2 -0
  208. package/dist/verdocs-web-sdk/{p-b5cf7ddc.system.entry.js.map → p-5c895ce6.system.entry.js.map} +1 -1
  209. package/dist/verdocs-web-sdk/p-63fc3d17.system.entry.js +2 -0
  210. package/dist/verdocs-web-sdk/{p-99495fbb.system.entry.js.map → p-63fc3d17.system.entry.js.map} +1 -1
  211. package/dist/verdocs-web-sdk/p-6f177552.system.entry.js +2 -0
  212. package/dist/verdocs-web-sdk/{p-206bbfe3.system.entry.js.map → p-6f177552.system.entry.js.map} +1 -1
  213. package/dist/verdocs-web-sdk/p-7291906c.js +2 -0
  214. package/dist/verdocs-web-sdk/p-7291906c.js.map +1 -0
  215. package/dist/verdocs-web-sdk/p-763b1dd8.entry.js +2 -0
  216. package/dist/verdocs-web-sdk/{p-9f381d10.entry.js.map → p-763b1dd8.entry.js.map} +1 -1
  217. package/dist/verdocs-web-sdk/p-78989f41.entry.js +2 -0
  218. package/dist/verdocs-web-sdk/{p-c8fb8a55.entry.js.map → p-78989f41.entry.js.map} +1 -1
  219. package/dist/verdocs-web-sdk/p-831ee1b6.system.js +2 -0
  220. package/dist/verdocs-web-sdk/p-831ee1b6.system.js.map +1 -0
  221. package/dist/verdocs-web-sdk/p-87776dc1.system.entry.js +2 -0
  222. package/dist/verdocs-web-sdk/{p-c35a211a.system.entry.js.map → p-87776dc1.system.entry.js.map} +1 -1
  223. package/dist/verdocs-web-sdk/{p-6baf87ba.js → p-8c0aa0e9.js} +2 -2
  224. package/dist/verdocs-web-sdk/{p-6baf87ba.js.map → p-8c0aa0e9.js.map} +0 -0
  225. package/dist/verdocs-web-sdk/p-9c208c1d.entry.js +2 -0
  226. package/dist/verdocs-web-sdk/{p-a45632ec.entry.js.map → p-9c208c1d.entry.js.map} +1 -1
  227. package/dist/verdocs-web-sdk/p-9f1225bf.entry.js +2 -0
  228. package/dist/verdocs-web-sdk/{p-49227301.entry.js.map → p-9f1225bf.entry.js.map} +1 -1
  229. package/dist/verdocs-web-sdk/p-a3820c7f.entry.js +2 -0
  230. package/dist/verdocs-web-sdk/{p-19a634b9.entry.js.map → p-a3820c7f.entry.js.map} +1 -1
  231. package/dist/verdocs-web-sdk/{p-30fcf18d.system.js → p-a74a9c6b.system.js} +2 -2
  232. package/dist/verdocs-web-sdk/p-a74a9c6b.system.js.map +1 -0
  233. package/dist/verdocs-web-sdk/p-a8b91e3f.entry.js +2 -0
  234. package/dist/verdocs-web-sdk/{p-78c6b2b1.entry.js.map → p-a8b91e3f.entry.js.map} +1 -1
  235. package/dist/verdocs-web-sdk/p-a8cc5e31.entry.js +2 -0
  236. package/dist/verdocs-web-sdk/{p-102bc4bc.entry.js.map → p-a8cc5e31.entry.js.map} +1 -1
  237. package/dist/verdocs-web-sdk/p-aa124212.js +2 -0
  238. package/dist/verdocs-web-sdk/p-aa124212.js.map +1 -0
  239. package/dist/verdocs-web-sdk/p-b122f5c7.system.entry.js +2 -0
  240. package/dist/verdocs-web-sdk/{p-d1c6b0f4.system.entry.js.map → p-b122f5c7.system.entry.js.map} +1 -1
  241. package/dist/verdocs-web-sdk/p-b94cdaea.system.entry.js +2 -0
  242. package/dist/verdocs-web-sdk/{p-0398fe67.system.entry.js.map → p-b94cdaea.system.entry.js.map} +1 -1
  243. package/dist/verdocs-web-sdk/p-b988a40a.entry.js +2 -0
  244. package/dist/verdocs-web-sdk/{p-de207098.entry.js.map → p-b988a40a.entry.js.map} +1 -1
  245. package/dist/verdocs-web-sdk/p-b9a1a471.system.entry.js +2 -0
  246. package/dist/verdocs-web-sdk/{p-729db0b6.system.entry.js.map → p-b9a1a471.system.entry.js.map} +1 -1
  247. package/dist/verdocs-web-sdk/p-bd503b85.entry.js +2 -0
  248. package/dist/verdocs-web-sdk/{p-515f3ab2.entry.js.map → p-bd503b85.entry.js.map} +1 -1
  249. package/dist/verdocs-web-sdk/p-c0cc2b8e.system.entry.js +2 -0
  250. package/dist/verdocs-web-sdk/{p-5e693763.system.entry.js.map → p-c0cc2b8e.system.entry.js.map} +1 -1
  251. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  252. package/dist/verdocs-web-sdk/{p-6d8b9e75.system.js → p-c8e8732b.system.js} +2 -2
  253. package/dist/verdocs-web-sdk/{p-6d8b9e75.system.js.map → p-c8e8732b.system.js.map} +0 -0
  254. package/dist/verdocs-web-sdk/p-d50523fd.system.js +2 -0
  255. package/dist/verdocs-web-sdk/p-d50523fd.system.js.map +1 -0
  256. package/dist/verdocs-web-sdk/p-d85e61ee.system.entry.js +2 -0
  257. package/dist/verdocs-web-sdk/p-d85e61ee.system.entry.js.map +1 -0
  258. package/dist/verdocs-web-sdk/p-d954919a.entry.js +2 -0
  259. package/dist/verdocs-web-sdk/{p-c3d5596a.entry.js.map → p-d954919a.entry.js.map} +1 -1
  260. package/dist/verdocs-web-sdk/{p-3ce35714.js → p-e53f969c.js} +2 -2
  261. package/dist/verdocs-web-sdk/p-e53f969c.js.map +1 -0
  262. package/dist/verdocs-web-sdk/p-f36c6695.system.entry.js +2 -0
  263. package/dist/verdocs-web-sdk/{p-1b3be2ae.system.entry.js.map → p-f36c6695.system.entry.js.map} +1 -1
  264. package/dist/verdocs-web-sdk/p-f4a3bc08.system.entry.js +2 -0
  265. package/dist/verdocs-web-sdk/{p-cf6cfa4f.system.entry.js.map → p-f4a3bc08.system.entry.js.map} +1 -1
  266. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  267. package/package.json +2 -2
  268. package/dist/cjs/templateStore-8c8dc4c1.js.map +0 -1
  269. package/dist/cjs/utils-91d249b4.js.map +0 -1
  270. package/dist/esm/templateStore-103a54ab.js.map +0 -1
  271. package/dist/esm/utils-36d44309.js.map +0 -1
  272. package/dist/esm-es5/templateStore-103a54ab.js +0 -2
  273. package/dist/esm-es5/templateStore-103a54ab.js.map +0 -1
  274. package/dist/esm-es5/utils-36d44309.js +0 -2
  275. package/dist/esm-es5/utils-36d44309.js.map +0 -1
  276. package/dist/verdocs-web-sdk/p-0225575c.system.entry.js +0 -2
  277. package/dist/verdocs-web-sdk/p-0225575c.system.entry.js.map +0 -1
  278. package/dist/verdocs-web-sdk/p-0398fe67.system.entry.js +0 -2
  279. package/dist/verdocs-web-sdk/p-102bc4bc.entry.js +0 -2
  280. package/dist/verdocs-web-sdk/p-19a634b9.entry.js +0 -2
  281. package/dist/verdocs-web-sdk/p-1b3be2ae.system.entry.js +0 -2
  282. package/dist/verdocs-web-sdk/p-206bbfe3.system.entry.js +0 -2
  283. package/dist/verdocs-web-sdk/p-26e0caa5.system.entry.js +0 -2
  284. package/dist/verdocs-web-sdk/p-29044b5b.entry.js +0 -2
  285. package/dist/verdocs-web-sdk/p-2d1b5389.system.entry.js +0 -2
  286. package/dist/verdocs-web-sdk/p-2e8a3d90.entry.js +0 -2
  287. package/dist/verdocs-web-sdk/p-30fcf18d.system.js.map +0 -1
  288. package/dist/verdocs-web-sdk/p-3ce35714.js.map +0 -1
  289. package/dist/verdocs-web-sdk/p-455c2dd9.entry.js +0 -2
  290. package/dist/verdocs-web-sdk/p-49227301.entry.js +0 -2
  291. package/dist/verdocs-web-sdk/p-515f3ab2.entry.js +0 -2
  292. package/dist/verdocs-web-sdk/p-58c4b767.system.js +0 -2
  293. package/dist/verdocs-web-sdk/p-58c4b767.system.js.map +0 -1
  294. package/dist/verdocs-web-sdk/p-5e693763.system.entry.js +0 -2
  295. package/dist/verdocs-web-sdk/p-6896b64c.system.entry.js +0 -2
  296. package/dist/verdocs-web-sdk/p-71f1e3c9.system.entry.js +0 -2
  297. package/dist/verdocs-web-sdk/p-71f1e3c9.system.entry.js.map +0 -1
  298. package/dist/verdocs-web-sdk/p-729db0b6.system.entry.js +0 -2
  299. package/dist/verdocs-web-sdk/p-78c6b2b1.entry.js +0 -2
  300. package/dist/verdocs-web-sdk/p-8c2cdcc4.entry.js +0 -2
  301. package/dist/verdocs-web-sdk/p-99495fbb.system.entry.js +0 -2
  302. package/dist/verdocs-web-sdk/p-9f381d10.entry.js +0 -2
  303. package/dist/verdocs-web-sdk/p-a45632ec.entry.js +0 -2
  304. package/dist/verdocs-web-sdk/p-b5cf7ddc.system.entry.js +0 -2
  305. package/dist/verdocs-web-sdk/p-b76c949d.entry.js +0 -2
  306. package/dist/verdocs-web-sdk/p-b76c949d.entry.js.map +0 -1
  307. package/dist/verdocs-web-sdk/p-bd6175d9.system.entry.js +0 -2
  308. package/dist/verdocs-web-sdk/p-c35a211a.system.entry.js +0 -2
  309. package/dist/verdocs-web-sdk/p-c3d5596a.entry.js +0 -2
  310. package/dist/verdocs-web-sdk/p-c8fb8a55.entry.js +0 -2
  311. package/dist/verdocs-web-sdk/p-cc30f8c8.entry.js +0 -2
  312. package/dist/verdocs-web-sdk/p-cf6cfa4f.system.entry.js +0 -2
  313. package/dist/verdocs-web-sdk/p-d1c6b0f4.system.entry.js +0 -2
  314. package/dist/verdocs-web-sdk/p-d5f48c21.entry.js +0 -2
  315. package/dist/verdocs-web-sdk/p-d5f48c21.entry.js.map +0 -1
  316. package/dist/verdocs-web-sdk/p-d9413770.system.entry.js +0 -2
  317. package/dist/verdocs-web-sdk/p-de207098.entry.js +0 -2
  318. package/dist/verdocs-web-sdk/p-ff3b285c.js +0 -2
  319. package/dist/verdocs-web-sdk/p-ff3b285c.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/embeds/verdocs-send/verdocs-send.scss?tag=verdocs-send","src/components/embeds/verdocs-send/verdocs-send.tsx"],"names":["verdocsSendCss","editIcon","startIcon","stepIcon","doneIcon","VerdocsSend","this","levels","VerdocsEndpoint","getDefault","Math","random","toString","substring","[object Object]","sessionContacts","result","endpoint","loadSession","_a","session","profile","push","id","name","first_name","last_name","email","phone","e","console","log","templateId","template","getTemplate","roles","rolesAtLevel","forEach","role","level","sequence","length","Object","keys","map","levelStr","sort","a","b","h","class","innerHTML","preventDefault","recipientsAssigned","detail","showPickerForId","stopPropagation","send","emit","values","cancel","roleNames","_b","allRecipientsAssigned","filter","recipient","isValidEmail","isValidPhone","_c","Host","getLevelIcon","style","backgroundColor","getRGBA","getRoleIndex","onClick","handleClickRole","full_name","onCancel","onNext","handleSelectContact","contactSuggestions","templateRole","onSearchContacts","label","size","variant","handleCancel","disabled","handleSend"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-send {\n display: flex;\n padding: 10px;\n position: relative;\n background: #ffffff;\n flex-direction: column;\n font-family: $verdocs-primary-font;\n\n .recipients {\n position: relative;\n }\n\n // To avoid the need to compute things like heights, this layer is simply displayed \"on top\" of all the level rows. Its\n // background obscures the horizontal lines.\n .left-line {\n top: 32px;\n left: 20px;\n z-index: 1;\n width: 12px;\n bottom: 30px;\n position: absolute;\n background: #ffffff;\n border-left: 3px dotted #9b9b9b;\n }\n\n .level {\n display: flex;\n column-gap: 10px;\n margin-left: 50px;\n position: relative;\n flex-direction: row;\n padding: 8px 0 4px 0;\n border-bottom: 1px solid #97979744;\n\n .level-icon {\n top: 14px;\n z-index: 2;\n left: -40px;\n width: 24px;\n height: 24px;\n position: absolute;\n background: #ffffff;\n\n svg {\n fill: #00000089;\n }\n }\n\n .recipient {\n height: 30px;\n display: flex;\n flex: 0 0 30px;\n color: #000000;\n cursor: pointer;\n font-size: 14px;\n align-items: center;\n border-radius: 30px;\n flex-direction: row;\n background: #dddddd;\n white-space: nowrap;\n padding: 2px 10px 2px 14px;\n\n .icon {\n width: 22px;\n height: 22px;\n flex: 0 0 22px;\n margin: 0 0 0 10px;\n\n svg {\n width: 22px;\n height: 22px;\n fill: #333333;\n outline: none;\n }\n }\n }\n\n .complete {\n flex: 1;\n height: 30px;\n display: flex;\n color: #000000;\n font-size: 14px;\n align-items: center;\n flex-direction: row;\n padding: 3px 10px 3px 2px;\n }\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n column-gap: 15px;\n flex-direction: row;\n }\n\n verdocs-contact-picker {\n left: 0;\n top: 41px;\n z-index: 10;\n position: absolute;\n border: 1px solid #dddddd;\n box-shadow: 0 0 6px 3px rgb(0 0 0 / 10%);\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {IRole, ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {getRoleIndex} from '../../../utils/utils';\nimport {SDKError} from '../../../utils/errors';\n\n// TODO: Evaluating this pattern for simple icons vs. importing external SVG files. Try to standardize on an approach soon.\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\ntype TAnnotatedRole = IRole & {id: string};\n\n/**\n * Display a form to collect recipient information for a new Document. If used anonymously, the specified `templateId` must be public.\n * If the user is authenticated\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipientsAssigned: IRole[]}>;\n\n /**\n * The user canceled the process.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() template: ITemplate | null = null;\n\n @State() pdfUrl = null;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n @State() showPickerForId = '';\n\n @State() sessionContacts = [];\n\n @State() recipientsAssigned: Record<string, TAnnotatedRole> = {};\n\n levels: number[] = [];\n\n async componentWillLoad() {\n this.sessionContacts = [];\n try {\n const result = await this.endpoint.loadSession();\n\n if (result.session?.profile) {\n this.sessionContacts.push({\n id: result.session.profile.id,\n name: `${result.session.profile.first_name} ${result.session.profile.last_name}`,\n email: result.session.profile.email,\n phone: result.session.profile.phone,\n });\n }\n } catch (e) {\n console.log('Error loading session', e);\n }\n }\n\n async componentDidLoad() {\n console.log('[SEND] Showing template', this.templateId);\n\n try {\n console.log(`[SEND] Loading template ${this.templateId}`);\n const template = await getTemplate(this.endpoint, this.templateId);\n\n console.log('[SEND] Got template', template);\n this.template = template;\n\n if (template?.roles) {\n const rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n template.roles.forEach(role => {\n const level = role.sequence - 1;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id});\n });\n\n this.rolesAtLevel = rolesAtLevel;\n this.levels = Object.keys(rolesAtLevel).map(levelStr => +levelStr);\n this.levels.sort((a, b) => a - b);\n }\n } catch (e) {\n console.log('[SEND] Error getting template', e);\n }\n }\n\n getLevelIcon(level: number) {\n if (level < 0) {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level >= this.levels.length) {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: TAnnotatedRole) {\n e.preventDefault();\n e.detail; // IContactSelectEvent\n this.recipientsAssigned[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: TAnnotatedRole) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e) {\n e.stopPropagation();\n this.send?.emit({recipientsAssigned: Object.values(this.recipientsAssigned)});\n }\n\n handleCancel(e) {\n e.stopPropagation();\n this.cancel?.emit();\n }\n\n render() {\n const roleNames = this.template?.roles?.map(role => role.name) || [];\n const allRecipientsAssigned =\n Object.values(this.recipientsAssigned).filter(recipient => {\n console.log('valid email', isValidEmail(recipient.email), recipient.email);\n console.log('valid phone', isValidPhone(recipient.phone), recipient.phone);\n return isValidEmail(recipient.email) || isValidPhone(recipient.phone);\n }).length >= this.template?.roles.length;\n console.log('assigned', allRecipientsAssigned);\n\n return (\n <Host class={{}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon(-1)}\n <div class=\"complete\">Send Document</div>\n </div>\n\n {this.levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon(level)}\n\n {this.rolesAtLevel[level].map(role => (\n <div class=\"recipient\" style={{backgroundColor: getRGBA(getRoleIndex(roleNames, role.name))}} onClick={e => this.handleClickRole(e, role)}>\n {this.recipientsAssigned[role.id]?.full_name ?? role.name}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-contact-picker\n onCancel={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={this.recipientsAssigned[role.id] ?? role}\n onSearchContacts={e => console.log('Search', e.detail)}\n />\n )}\n </div>\n ))}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon(this.levels.length)}\n <div class=\"complete\">Document Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRecipientsAssigned} onClick={e => this.handleSend(e)} />\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/embeds/verdocs-send/verdocs-send.scss?tag=verdocs-send","src/components/embeds/verdocs-send/verdocs-send.tsx"],"names":["verdocsSendCss","editIcon","startIcon","stepIcon","doneIcon","VerdocsSend","this","levels","VerdocsEndpoint","getDefault","Math","random","toString","substring","[object Object]","sessionContacts","result","endpoint","loadSession","_a","session","profile","push","id","name","first_name","last_name","email","phone","e","console","log","templateId","template","getTemplate","roles","rolesAtLevel","forEach","role","level","sequence","length","Object","keys","map","levelStr","sort","a","b","h","class","innerHTML","preventDefault","recipientsAssigned","detail","showPickerForId","stopPropagation","send","emit","values","cancel","roleNames","_b","allRecipientsAssigned","filter","recipient","isValidEmail","isValidPhone","_c","Host","getLevelIcon","style","backgroundColor","getRGBA","getRoleIndex","onClick","handleClickRole","full_name","onCancel","onNext","handleSelectContact","contactSuggestions","templateRole","onSearchContacts","label","size","variant","handleCancel","disabled","handleSend"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-send {\n display: flex;\n padding: 10px;\n position: relative;\n background: #ffffff;\n flex-direction: column;\n font-family: $verdocs-primary-font;\n\n .recipients {\n position: relative;\n }\n\n // To avoid the need to compute things like heights, this layer is simply displayed \"on top\" of all the level rows. Its\n // background obscures the horizontal lines.\n .left-line {\n top: 32px;\n left: 20px;\n z-index: 1;\n width: 12px;\n bottom: 30px;\n position: absolute;\n background: #ffffff;\n border-left: 3px dotted #9b9b9b;\n }\n\n .level {\n display: flex;\n column-gap: 10px;\n margin-left: 50px;\n position: relative;\n flex-direction: row;\n padding: 8px 0 4px 0;\n border-bottom: 1px solid #97979744;\n\n .level-icon {\n top: 14px;\n z-index: 2;\n left: -40px;\n width: 24px;\n height: 24px;\n position: absolute;\n background: #ffffff;\n\n svg {\n fill: #00000089;\n }\n }\n\n .recipient {\n height: 30px;\n display: flex;\n flex: 0 0 30px;\n color: #000000;\n cursor: pointer;\n font-size: 14px;\n align-items: center;\n border-radius: 30px;\n flex-direction: row;\n background: #dddddd;\n white-space: nowrap;\n padding: 2px 10px 2px 14px;\n\n .icon {\n width: 22px;\n height: 22px;\n flex: 0 0 22px;\n margin: 0 0 0 10px;\n\n svg {\n width: 22px;\n height: 22px;\n fill: #333333;\n outline: none;\n }\n }\n }\n\n .complete {\n flex: 1;\n height: 30px;\n display: flex;\n color: #000000;\n font-size: 14px;\n align-items: center;\n flex-direction: row;\n padding: 3px 10px 3px 2px;\n }\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n column-gap: 15px;\n flex-direction: row;\n }\n\n verdocs-contact-picker {\n left: 0;\n top: 41px;\n z-index: 10;\n position: absolute;\n border: 1px solid #dddddd;\n box-shadow: 0 0 6px 3px rgb(0 0 0 / 10%);\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {IRole, ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {getRoleIndex} from '../../../utils/utils';\nimport {SDKError} from '../../../utils/errors';\n\n// TODO: Evaluating this pattern for simple icons vs. importing external SVG files. Try to standardize on an approach soon.\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\ntype TAnnotatedRole = IRole & {id: string};\n\n/**\n * Display a form to collect recipient information for a new Document. If used anonymously, the specified `templateId` must be public.\n * If the user is authenticated\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipientsAssigned: IRole[]}>;\n\n /**\n * The user canceled the process.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() template: ITemplate | null = null;\n\n @State() pdfUrl = null;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n @State() showPickerForId = '';\n\n @State() sessionContacts = [];\n\n @State() recipientsAssigned: Record<string, TAnnotatedRole> = {};\n\n levels: number[] = [];\n\n async componentWillLoad() {\n this.sessionContacts = [];\n try {\n const result = await this.endpoint.loadSession();\n\n if (result.session?.profile) {\n this.sessionContacts.push({\n id: result.session.profile.id,\n name: `${result.session.profile.first_name} ${result.session.profile.last_name}`,\n email: result.session.profile.email,\n phone: result.session.profile.phone,\n });\n }\n } catch (e) {\n console.log('Error loading session', e);\n }\n }\n\n async componentDidLoad() {\n console.log('[SEND] Showing template', this.templateId);\n\n try {\n console.log(`[SEND] Loading template ${this.templateId}`);\n const template = await getTemplate(this.endpoint, this.templateId);\n\n console.log('[SEND] Got template', template);\n this.template = template;\n\n if (template?.roles) {\n const rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n template.roles.forEach(role => {\n const level = role.sequence - 1;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id});\n });\n\n this.rolesAtLevel = rolesAtLevel;\n this.levels = Object.keys(rolesAtLevel).map(levelStr => +levelStr);\n this.levels.sort((a, b) => a - b);\n }\n } catch (e) {\n console.log('[SEND] Error getting template', e);\n }\n }\n\n getLevelIcon(level: number) {\n if (level < 0) {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level >= this.levels.length) {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: TAnnotatedRole) {\n e.preventDefault();\n e.detail; // IContactSelectEvent\n this.recipientsAssigned[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: TAnnotatedRole) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e) {\n e.stopPropagation();\n this.send?.emit({recipientsAssigned: Object.values(this.recipientsAssigned)});\n }\n\n handleCancel(e) {\n e.stopPropagation();\n this.cancel?.emit();\n }\n\n render() {\n const roleNames = this.template?.roles?.map(role => role.name) || [];\n const allRecipientsAssigned =\n Object.values(this.recipientsAssigned).filter(recipient => {\n console.log('valid email', isValidEmail(recipient.email), recipient.email);\n console.log('valid phone', isValidPhone(recipient.phone), recipient.phone);\n return isValidEmail(recipient.email) || isValidPhone(recipient.phone);\n }).length >= this.template?.roles.length;\n console.log('assigned', allRecipientsAssigned);\n\n return (\n <Host class={{}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon(-1)}\n <div class=\"complete\">Send Document</div>\n </div>\n\n {this.levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon(level)}\n\n {this.rolesAtLevel[level].map(role => (\n <div class=\"recipient\" style={{backgroundColor: getRGBA(getRoleIndex(roleNames, role.name))}} onClick={e => this.handleClickRole(e, role)}>\n {this.recipientsAssigned[role.id]?.full_name ?? role.name}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-contact-picker\n onCancel={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={this.recipientsAssigned[role.id] ?? role}\n onSearchContacts={e => console.log('Search', e.detail)}\n />\n )}\n </div>\n ))}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon(this.levels.length)}\n <div class=\"complete\">Document Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRecipientsAssigned} onClick={e => this.handleSend(e)} />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r["throw"](e))}catch(e){i(e)}}function l(e){e.done?n(e.value):o(e.value).then(a,s)}l((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(a){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,o&&(i=a[0]&2?o["return"]:a[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,a[1])).done)return i;if(o=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;o=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(i=n.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){n.label=a[1];break}if(a[0]===6&&n.label<i[1]){n.label=i[1];i=a;break}if(i&&n.label<i[2]){n.label=i[2];n.ops.push(a);break}if(i[2])n.ops.pop();n.trys.pop();continue}a=t.call(e,n)}catch(e){a=[6,e];o=0}finally{r=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-97329951.system.js","./p-05eb4fed.system.js","./p-831ee1b6.system.js","./p-af2c2f79.system.js","./p-327858f0.system.js"],(function(e){"use strict";var t,n,r,o,i,a;return{setters:[function(e){t=e.r;n=e.c;r=e.h;o=e.H},function(e){i=e.g},function(e){a=e.g},function(){},function(){}],execute:function(){var s='verdocs-field-dropdown{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:85px;height:20px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-dropdown.disabled{opacity:0.5}verdocs-field-dropdown select{position:absolute;background:linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);background-position:calc(100% - 7px) 4px, calc(100% - 3px) 4px, 100% 0;background-size:5px 5px, 5px 5px, 2.5em 2.5em;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87);font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;font-size:11px;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-dropdown select:focus{outline:none}verdocs-field-dropdown select.hide{display:none}verdocs-field-dropdown.required select{border:1px solid #cc0000}verdocs-field-dropdown.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';var l=e("verdocs_field_dropdown",function(){function e(e){t(this,e);this.fieldChange=n(this,"fieldChange",7);this.field=null;this.disabled=false;this.roleindex=0}e.prototype.focusField=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.el.focus();return[2]}))}))};e.prototype.handleChange=function(e){this.fieldChange.emit(e.target.value)};e.prototype.render=function(){var e=this;var t,n;var s=a(this.field);var l=(n=(t=this.disabled)!==null&&t!==void 0?t:s.disabled)!==null&&n!==void 0?n:false;var d=this.field["rgba"]||i(this.roleindex);return r(o,{class:{required:s.required,disabled:l},style:{backgroundColor:d}},r("select",{tabIndex:s.order,disabled:l,ref:function(t){return e.el=t},onChange:function(t){return e.handleChange(t)}},r("option",{value:""},"Select..."),(s.options||[]).map((function(e){return r("option",{value:e.id,selected:e.value===s.value},e.value)}))))};return e}());l.style=s}}}));
2
+ //# sourceMappingURL=p-c0cc2b8e.system.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.scss?tag=verdocs-field-dropdown","src/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.tsx"],"names":["verdocsFieldDropdownCss","VerdocsFieldDropdown","exports","class_1","prototype","focusField","this","el","focus","handleChange","e","fieldChange","emit","target","value","render","_this","settings","getFieldSettings","field","disabled","_b","_a","backgroundColor","getRGBA","roleindex","h","Host","class","required","style","tabIndex","order","ref","onChange","options","map","option","id","selected"],"mappings":"qtDAAA,IAAMA,EAA0B,wtCCenBC,EAAoBC,EAAA,yBAAA,uFAMyB,mBAK3B,qBAKA,EASbC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,GAAGC,yBAGVL,EAAAC,UAAAK,aAAA,SAAaC,GACXJ,KAAKK,YAAYC,KAAKF,EAAEG,OAAOC,QAGjCX,EAAAC,UAAAW,OAAA,WAAA,IAAAC,EAAAV,aACE,IAAMW,EAAWC,EAAiBZ,KAAKa,OACvC,IAAMC,GAAWC,GAAAC,EAAAhB,KAAKc,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,IAAME,EAAkBjB,KAAKa,MAAM,SAAWK,EAAQlB,KAAKmB,WAE3D,OACEC,EAACC,EAAI,CAACC,MAAO,CAACC,SAAUZ,EAASY,SAAUT,SAAQA,GAAGU,MAAO,CAACP,gBAAeA,IAC3EG,EAAA,SAAA,CAAQK,SAAUd,EAASe,MAAOZ,SAAUA,EAAUa,IAAK,SAAA1B,GAAE,OAAKS,EAAKT,GAAKA,GAAK2B,SAAU,SAAAxB,GAAK,OAAAM,EAAKP,aAAaC,KAChHgB,EAAA,SAAA,CAAQZ,MAAM,IAAE,cACdG,EAASkB,SAAW,IAAIC,KAAI,SAAAC,GAAM,OAClCX,EAAA,SAAA,CAAQZ,MAAOuB,EAAOC,GAAIC,SAAUF,EAAOvB,QAAUG,EAASH,OAC3DuB,EAAOvB,sBA5CW","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-dropdown {\n font-family: $verdocs-primary-font;\n width: 85px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n select {\n position: absolute;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position: calc(100% - 7px) 4px, calc(100% - 3px) 4px, 100% 0;\n background-size: 5px 5px, 5px 5px, 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n font-size: 11px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &:focus {\n outline: none;\n }\n\n &.hide {\n display: none;\n }\n }\n\n //select {\n // position: absolute;\n // font-family: Arial, sans-serif;\n // background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n // background-position: calc(100% - 7px) 4px, calc(100% - 3px) 4px, 100% 0;\n // background-size: 5px 5px, 5px 5px, 2.5em 2.5em;\n // background-repeat: no-repeat;\n // appearance: none;\n //}\n\n &.required {\n select {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-dropdown',\n styleUrl: 'verdocs-field-dropdown.scss',\n shadow: false,\n})\nexport class VerdocsFieldDropdown {\n private el: HTMLSelectElement;\n\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n @Method() async focusField() {\n this.el.focus();\n }\n\n handleChange(e: any) {\n this.fieldChange.emit(e.target.value);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n return (\n <Host class={{required: settings.required, disabled}} style={{backgroundColor}}>\n <select tabIndex={settings.order} disabled={disabled} ref={el => (this.el = el)} onChange={e => this.handleChange(e)}>\n <option value=\"\">Select...</option>\n {(settings.options || []).map(option => (\n <option value={option.id} selected={option.value === settings.value}>\n {option.value}\n </option>\n ))}\n </select>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.scss?tag=verdocs-field-dropdown","src/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.tsx"],"names":["verdocsFieldDropdownCss","VerdocsFieldDropdown","exports","class_1","prototype","focusField","this","el","focus","handleChange","e","fieldChange","emit","target","value","render","_this","settings","getFieldSettings","field","disabled","_b","_a","backgroundColor","getRGBA","roleindex","h","Host","class","required","style","tabIndex","order","ref","onChange","options","map","option","id","selected"],"mappings":"2vDAAA,IAAMA,EAA0B,wtCCenBC,EAAoBC,EAAA,yBAAA,uFAMyB,mBAK3B,qBAKA,EASbC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,GAAGC,yBAGVL,EAAAC,UAAAK,aAAA,SAAaC,GACXJ,KAAKK,YAAYC,KAAKF,EAAEG,OAAOC,QAGjCX,EAAAC,UAAAW,OAAA,WAAA,IAAAC,EAAAV,aACE,IAAMW,EAAWC,EAAiBZ,KAAKa,OACvC,IAAMC,GAAWC,GAAAC,EAAAhB,KAAKc,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,IAAME,EAAkBjB,KAAKa,MAAM,SAAWK,EAAQlB,KAAKmB,WAE3D,OACEC,EAACC,EAAI,CAACC,MAAO,CAACC,SAAUZ,EAASY,SAAUT,SAAQA,GAAGU,MAAO,CAACP,gBAAeA,IAC3EG,EAAA,SAAA,CAAQK,SAAUd,EAASe,MAAOZ,SAAUA,EAAUa,IAAK,SAAA1B,GAAE,OAAKS,EAAKT,GAAKA,GAAK2B,SAAU,SAAAxB,GAAK,OAAAM,EAAKP,aAAaC,KAChHgB,EAAA,SAAA,CAAQZ,MAAM,IAAE,cACdG,EAASkB,SAAW,IAAIC,KAAI,SAAAC,GAAM,OAClCX,EAAA,SAAA,CAAQZ,MAAOuB,EAAOC,GAAIC,SAAUF,EAAOvB,QAAUG,EAASH,OAC3DuB,EAAOvB,sBA5CW","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-dropdown {\n font-family: $verdocs-primary-font;\n width: 85px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n select {\n position: absolute;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position: calc(100% - 7px) 4px, calc(100% - 3px) 4px, 100% 0;\n background-size: 5px 5px, 5px 5px, 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n font-size: 11px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &:focus {\n outline: none;\n }\n\n &.hide {\n display: none;\n }\n }\n\n //select {\n // position: absolute;\n // font-family: Arial, sans-serif;\n // background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n // background-position: calc(100% - 7px) 4px, calc(100% - 3px) 4px, 100% 0;\n // background-size: 5px 5px, 5px 5px, 2.5em 2.5em;\n // background-repeat: no-repeat;\n // appearance: none;\n //}\n\n &.required {\n select {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-dropdown',\n styleUrl: 'verdocs-field-dropdown.scss',\n shadow: false,\n})\nexport class VerdocsFieldDropdown {\n private el: HTMLSelectElement;\n\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n @Method() async focusField() {\n this.el.focus();\n }\n\n handleChange(e: any) {\n this.fieldChange.emit(e.target.value);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n return (\n <Host class={{required: settings.required, disabled}} style={{backgroundColor}}>\n <select tabIndex={settings.order} disabled={disabled} ref={el => (this.el = el)} onChange={e => this.handleChange(e)}>\n <option value=\"\">Select...</option>\n {(settings.options || []).map(option => (\n <option value={option.id} selected={option.value === settings.value}>\n {option.value}\n </option>\n ))}\n </select>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- System.register(["./p-97329951.system.js"],(function(e,t){"use strict";var s,d;return{setters:[function(e){s=e.p;d=e.b}],execute:function(){var e=function(){var e=t.meta.url;var d={};if(e!==""){d.resourcesUrl=new URL(".",e).href}return s(d)};e().then((function(e){return d([["p-7d1a5bc5.system",[[0,"verdocs-build",{endpoint:[16],templateId:[1,"template-id"],step:[32],pdfUrl:[32],template:[32]}]]],["p-0225575c.system",[[0,"verdocs-sign",{envelopeId:[1,"envelope-id"],roleId:[1,"role-id"],inviteCode:[1,"invite-code"],recipient:[32],signerToken:[32],hasSignature:[32],nextButtonLabel:[32],nextSubmits:[32],errorMessage:[32],focusedField:[32],isDone:[32],showDone:[32],finishLater:[32],showFinishLater:[32],agreed:[32]}]]],["p-c35a211a.system",[[0,"verdocs-field-initial",{field:[16],disabled:[4],initials:[1],editable:[4],moveable:[4],done:[4],roleindex:[2],tempInitials:[32],focusField:[64]}]]],["p-5597170d.system",[[0,"verdocs-auth",{endpoint:[16],visible:[4],logo:[1],isAuthenticated:[32],displayMode:[32],username:[32],password:[32],loggingIn:[32],activeSession:[32],loginError:[32]}]]],["p-99495fbb.system",[[0,"verdocs-field-date",{field:[16],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],containerId:[32],focusField:[64]}]]],["p-1b3be2ae.system",[[0,"verdocs-field-textarea",{field:[16],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],focusField:[64]}]]],["p-729db0b6.system",[[0,"verdocs-field-textbox",{field:[16],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],focusField:[64]}]]],["p-6896b64c.system",[[0,"verdocs-field-timestamp",{field:[16],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],focusField:[64]}]]],["p-a42a5853.system",[[0,"verdocs-search",{endpoint:[16]}]]],["p-bd6175d9.system",[[0,"verdocs-send",{endpoint:[16],templateId:[1,"template-id"],template:[32],pdfUrl:[32],containerId:[32],rolesAtLevel:[32],showPickerForId:[32],sessionContacts:[32],recipientsAssigned:[32]}]]],["p-d8e182fb.system",[[0,"verdocs-field-attachment",{field:[16],disabled:[4],roleIndex:[2,"role-index"],focusField:[64]}]]],["p-d9413770.system",[[0,"verdocs-preview",{endpoint:[16],templateId:[1,"template-id"]}]]],["p-78468adf.system",[[0,"verdocs-kba-dialog",{step:[2],steps:[2],helptitle:[1],helptext:[1],mode:[1],label:[1],placeholder:[1],choices:[16],response:[32]}]]],["p-206bbfe3.system",[[0,"verdocs-field-checkbox",{field:[16],option:[2],disabled:[4],done:[4],roleindex:[2]}]]],["p-5e693763.system",[[0,"verdocs-field-dropdown",{field:[16],disabled:[4],roleindex:[2],focusField:[64]}]]],["p-26e0caa5.system",[[0,"verdocs-field-payment",{field:[16],disabled:[4],fields:[16],pageNum:[2,"page-num"],roleName:[1,"role-name"],fieldId:[1,"field-id"],recipients:[8],selectedRoleName:[1,"selected-role-name"],pdfPages:[16],currentSignature:[1,"current-signature"],currentSignatureId:[1,"current-signature-id"],currentInitial:[1,"current-initial"],currentInitialId:[1,"current-initial-id"],focused:[4],signed:[4],roleindex:[2],preparedMessage:[32],signatureUrl:[32]}]]],["p-0398fe67.system",[[0,"verdocs-field-radio-button",{field:[16],option:[2],disabled:[4],done:[4],roleindex:[2]}]]],["p-150a172e.system",[[0,"verdocs-organization-card",{organization:[16]}]]],["p-a6c3fcb6.system",[[0,"verdocs-search-tabs",{selected:[32]}]]],["p-c3e82de2.system",[[0,"verdocs-status-indicator",{size:[1],theme:[1],status:[1],envelope:[16],isOpen:[32],recipientStatusIcons:[32],containerId:[32]}]]],["p-902dfefb.system",[[0,"verdocs-template-card",{template:[16]}]]],["p-49bc1855.system",[[0,"verdocs-template-tags",{tags:[16]}]]],["p-37a75b0e.system",[[0,"verdocs-toggle",{options:[16],theme:[1],selectedOption:[32]}]]],["p-2b822750.system",[[0,"verdocs-button",{label:[1],startIcon:[1,"start-icon"],endIcon:[1,"end-icon"],size:[1],type:[1],variant:[1],disabled:[4]}]]],["p-ba6c3671.system",[[0,"verdocs-contact-picker",{endpoint:[16],templateRole:[16],contactSuggestions:[16],name:[32],email:[32],phone:[32],message:[32],showSuggestions:[32],showMessage:[32],delegator:[32]}]]],["p-4125b8e7.system",[[0,"verdocs-initial-dialog",{initials:[1],fontLoaded:[32],enteredInitials:[32],mode:[32]}]]],["p-71f1e3c9.system",[[0,"verdocs-upload-dialog",{draggingOver:[32],decodedFiles:[32]}]]],["p-b5cf7ddc.system",[[0,"verdocs-document-page",{pageImageUri:[1,"page-image-uri"],pageNumber:[2,"page-number"],virtualWidth:[2,"virtual-width"],virtualHeight:[1026,"virtual-height"],layers:[16],containerId:[32],renderedWidth:[32],renderedHeight:[32],naturalWidth:[32],naturalHeight:[32],aspectRatio:[32],skipFirstNotification:[32]}],[0,"verdocs-loader"]]],["p-d1c6b0f4.system",[[0,"verdocs-view",{endpoint:[16],envelopeId:[1,"envelope-id"]}],[0,"verdocs-dropdown",{options:[16],open:[32]}]]],["p-74401f2e.system",[[0,"verdocs-ok-dialog",{heading:[1],message:[1],showCancel:[4,"show-cancel"]}]]],["p-74207eb0.system",[[0,"verdocs-toggle-button",{active:[4],icon:[1],label:[1],size:[1],_active:[32]}]]],["p-1f18d214.system",[[0,"verdocs-quick-functions",{endpoint:[16]}],[0,"verdocs-search-activity",{endpoint:[16],type:[1],options:[8],emptyMessage:[32],authFailure:[32],title:[32],recent:[32],saved:[32],starred:[32]}],[0,"verdocs-search-box",{endpoint:[16],placeholder:[1],type:[1],query:[1],grabsFocus:[4,"grabs-focus"],focusField:[64]}]]],["p-27707de4.system",[[0,"verdocs-checkbox",{checked:[4],name:[1],label:[1],value:[1],theme:[1],disabled:[4]}]]],["p-6121f103.system",[[0,"verdocs-radio-button",{checked:[4],name:[1],value:[1],disabled:[4]}]]],["p-7a5c37cd.system",[[0,"verdocs-template-sender-dialog",{value:[1],newValue:[32]}],[0,"verdocs-help-icon",{text:[1],containerId:[32]}]]],["p-aa3a42a4.system",[[4,"verdocs-button-panel",{icon:[1]}],[0,"verdocs-select-input",{value:[1],label:[1],options:[16],disabled:[4]}],[0,"verdocs-text-input",{value:[1],label:[1],placeholder:[1],autocomplete:[1],type:[1],disabled:[4]}]]],["p-cf6cfa4f.system",[[0,"verdocs-field-signature",{field:[16],name:[1],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],tempSignature:[32],focusField:[64]}],[0,"verdocs-toolbar-icon",{text:[1],icon:[1],containerId:[32]}],[0,"verdocs-signature-dialog",{name:[1],fontLoaded:[32],enteredName:[32],mode:[32]}]]],["p-2d1b5389.system",[[0,"verdocs-template-fields",{endpoint:[16],templateId:[1,"template-id"]}],[0,"verdocs-template-properties",{endpoint:[16],templateId:[1,"template-id"],template:[32],name:[32],visibility:[32],sendReminders:[32],firstReminderDays:[32],reminderDays:[32]}],[0,"verdocs-template-recipients",{endpoint:[16],templateRole:[16],contactSuggestions:[16],name:[32],email:[32],phone:[32],message:[32],showSuggestions:[32],showMessage:[32],delegator:[32],sender:[32],showingSenderDialog:[32],orderedRoles:[32]}],[0,"verdocs-template-create",{endpoint:[16],file:[32]}]]]],e)}))}}}));
1
+ System.register(["./p-97329951.system.js"],(function(e,t){"use strict";var s,d;return{setters:[function(e){s=e.p;d=e.b}],execute:function(){var e=function(){var e=t.meta.url;var d={};if(e!==""){d.resourcesUrl=new URL(".",e).href}return s(d)};e().then((function(e){return d([["p-14c69e28.system",[[0,"verdocs-build",{endpoint:[16],templateId:[1,"template-id"],step:[32],pdfUrl:[32],template:[32]}]]],["p-4c411b0c.system",[[0,"verdocs-sign",{envelopeId:[1,"envelope-id"],roleId:[1,"role-id"],inviteCode:[1,"invite-code"],recipient:[32],signerToken:[32],hasSignature:[32],nextButtonLabel:[32],nextSubmits:[32],errorMessage:[32],focusedField:[32],isDone:[32],showDone:[32],finishLater:[32],showFinishLater:[32],agreed:[32]}]]],["p-87776dc1.system",[[0,"verdocs-field-initial",{field:[16],disabled:[4],initials:[1],editable:[4],moveable:[4],done:[4],roleindex:[2],tempInitials:[32],focusField:[64]}]]],["p-5597170d.system",[[0,"verdocs-auth",{endpoint:[16],visible:[4],logo:[1],isAuthenticated:[32],displayMode:[32],username:[32],password:[32],loggingIn:[32],activeSession:[32],loginError:[32]}]]],["p-63fc3d17.system",[[0,"verdocs-field-date",{field:[16],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],containerId:[32],focusField:[64]}]]],["p-f36c6695.system",[[0,"verdocs-field-textarea",{field:[16],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],focusField:[64]}]]],["p-b9a1a471.system",[[0,"verdocs-field-textbox",{field:[16],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],focusField:[64]}]]],["p-016521f8.system",[[0,"verdocs-field-timestamp",{field:[16],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],focusField:[64]}]]],["p-a42a5853.system",[[0,"verdocs-search",{endpoint:[16]}]]],["p-14513fd8.system",[[0,"verdocs-send",{endpoint:[16],templateId:[1,"template-id"],template:[32],pdfUrl:[32],containerId:[32],rolesAtLevel:[32],showPickerForId:[32],sessionContacts:[32],recipientsAssigned:[32]}]]],["p-d8e182fb.system",[[0,"verdocs-field-attachment",{field:[16],disabled:[4],roleIndex:[2,"role-index"],focusField:[64]}]]],["p-3e33cd27.system",[[0,"verdocs-preview",{endpoint:[16],templateId:[1,"template-id"]}]]],["p-78468adf.system",[[0,"verdocs-kba-dialog",{step:[2],steps:[2],helptitle:[1],helptext:[1],mode:[1],label:[1],placeholder:[1],choices:[16],response:[32]}]]],["p-6f177552.system",[[0,"verdocs-field-checkbox",{field:[16],option:[2],disabled:[4],done:[4],roleindex:[2]}]]],["p-c0cc2b8e.system",[[0,"verdocs-field-dropdown",{field:[16],disabled:[4],roleindex:[2],focusField:[64]}]]],["p-46e776de.system",[[0,"verdocs-field-payment",{field:[16],disabled:[4],fields:[16],pageNum:[2,"page-num"],roleName:[1,"role-name"],fieldId:[1,"field-id"],recipients:[8],selectedRoleName:[1,"selected-role-name"],pdfPages:[16],currentSignature:[1,"current-signature"],currentSignatureId:[1,"current-signature-id"],currentInitial:[1,"current-initial"],currentInitialId:[1,"current-initial-id"],focused:[4],signed:[4],roleindex:[2],preparedMessage:[32],signatureUrl:[32]}]]],["p-b94cdaea.system",[[0,"verdocs-field-radio-button",{field:[16],option:[2],disabled:[4],done:[4],roleindex:[2]}]]],["p-150a172e.system",[[0,"verdocs-organization-card",{organization:[16]}]]],["p-a6c3fcb6.system",[[0,"verdocs-search-tabs",{selected:[32]}]]],["p-c3e82de2.system",[[0,"verdocs-status-indicator",{size:[1],theme:[1],status:[1],envelope:[16],isOpen:[32],recipientStatusIcons:[32],containerId:[32]}]]],["p-902dfefb.system",[[0,"verdocs-template-card",{template:[16]}]]],["p-49bc1855.system",[[0,"verdocs-template-tags",{tags:[16]}]]],["p-37a75b0e.system",[[0,"verdocs-toggle",{options:[16],theme:[1],selectedOption:[32]}]]],["p-2b822750.system",[[0,"verdocs-button",{label:[1],startIcon:[1,"start-icon"],endIcon:[1,"end-icon"],size:[1],type:[1],variant:[1],disabled:[4]}]]],["p-ba6c3671.system",[[0,"verdocs-contact-picker",{endpoint:[16],templateRole:[16],contactSuggestions:[16],name:[32],email:[32],phone:[32],message:[32],showSuggestions:[32],showMessage:[32],delegator:[32]}]]],["p-4125b8e7.system",[[0,"verdocs-initial-dialog",{initials:[1],fontLoaded:[32],enteredInitials:[32],mode:[32]}]]],["p-d85e61ee.system",[[0,"verdocs-upload-dialog",{draggingOver:[32],decodedFiles:[32]}]]],["p-5c895ce6.system",[[0,"verdocs-document-page",{pageImageUri:[1,"page-image-uri"],pageNumber:[2,"page-number"],virtualWidth:[2,"virtual-width"],virtualHeight:[1026,"virtual-height"],layers:[16],containerId:[32],renderedWidth:[32],renderedHeight:[32],naturalWidth:[32],naturalHeight:[32],aspectRatio:[32],skipFirstNotification:[32]}],[0,"verdocs-loader"]]],["p-b122f5c7.system",[[0,"verdocs-view",{endpoint:[16],envelopeId:[1,"envelope-id"]}],[0,"verdocs-dropdown",{options:[16],open:[32]}]]],["p-74401f2e.system",[[0,"verdocs-ok-dialog",{heading:[1],message:[1],showCancel:[4,"show-cancel"]}]]],["p-74207eb0.system",[[0,"verdocs-toggle-button",{active:[4],icon:[1],label:[1],size:[1],_active:[32]}]]],["p-1f18d214.system",[[0,"verdocs-quick-functions",{endpoint:[16]}],[0,"verdocs-search-activity",{endpoint:[16],type:[1],options:[8],emptyMessage:[32],authFailure:[32],title:[32],recent:[32],saved:[32],starred:[32]}],[0,"verdocs-search-box",{endpoint:[16],placeholder:[1],type:[1],query:[1],grabsFocus:[4,"grabs-focus"],focusField:[64]}]]],["p-27707de4.system",[[0,"verdocs-checkbox",{checked:[4],name:[1],label:[1],value:[1],theme:[1],disabled:[4]}]]],["p-6121f103.system",[[0,"verdocs-radio-button",{checked:[4],name:[1],value:[1],disabled:[4]}]]],["p-7a5c37cd.system",[[0,"verdocs-template-sender-dialog",{value:[1],newValue:[32]}],[0,"verdocs-help-icon",{text:[1],containerId:[32]}]]],["p-aa3a42a4.system",[[4,"verdocs-button-panel",{icon:[1]}],[0,"verdocs-select-input",{value:[1],label:[1],options:[16],disabled:[4]}],[0,"verdocs-text-input",{value:[1],label:[1],placeholder:[1],autocomplete:[1],type:[1],disabled:[4]}]]],["p-f4a3bc08.system",[[0,"verdocs-field-signature",{field:[16],name:[1],disabled:[4],editable:[4],moveable:[4],done:[4],roleindex:[2],tempSignature:[32],focusField:[64]}],[0,"verdocs-toolbar-icon",{text:[1],icon:[1],containerId:[32]}],[0,"verdocs-signature-dialog",{name:[1],fontLoaded:[32],enteredName:[32],mode:[32]}]]],["p-553176fa.system",[[0,"verdocs-template-fields",{endpoint:[16],templateId:[1,"template-id"]}],[0,"verdocs-template-properties",{endpoint:[16],templateId:[1,"template-id"],template:[32],name:[32],visibility:[32],sendReminders:[32],firstReminderDays:[32],reminderDays:[32]}],[0,"verdocs-template-recipients",{endpoint:[16],templateRole:[16],contactSuggestions:[16],name:[32],email:[32],phone:[32],message:[32],showSuggestions:[32],showMessage:[32],delegator:[32],sender:[32],showingSenderDialog:[32],orderedRoles:[32]}],[0,"verdocs-template-create",{endpoint:[16],file:[32]}]]]],e)}))}}}));
2
2
  //# sourceMappingURL=p-c16b6ca4.system.js.map
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function l(e){try{u(r["throw"](e))}catch(e){a(e)}}function u(e){e.done?n(e.value):o(e.value).then(i,l)}u((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,o,a,i;return i={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function l(e){return function(t){return u([e,t])}}function u(i){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,o&&(a=i[0]&2?o["return"]:i[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;if(o=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:n.label++;return{value:i[1],done:false};case 5:n.label++;o=i[1];i=[0];continue;case 7:i=n.ops.pop();n.trys.pop();continue;default:if(!(a=n.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){n=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){n.label=i[1];break}if(i[0]===6&&n.label<a[1]){n.label=a[1];a=i;break}if(a&&n.label<a[2]){n.label=a[2];n.ops.push(i);break}if(a[2])n.ops.pop();n.trys.pop();continue}i=t.call(e,n)}catch(e){i=[6,e];o=0}finally{r=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};System.register(["./p-9cecb5df.system.js","./p-30fcf18d.system.js"],(function(e){"use strict";var t,n;return{setters:[function(e){t=e.g},function(e){n=e.s}],execute:function(){var r=this;var o=e("l",(function(e,o){return __awaiter(r,void 0,void 0,(function(){var r,a;return __generator(this,(function(i){switch(i.label){case 0:n.template=null;if(!o){console.log("[TEMPLATES] Missing required template ID");return[2]}n.loading=true;i.label=1;case 1:i.trys.push([1,3,,4]);console.log("[TEMPLATES] Loading template ".concat(o));return[4,t(e,o,true)];case 2:r=i.sent();if(!r){console.log("[TEMPLATES] Unable to load template");return[2]}n.template=r;n.loading=false;return[3,4];case 3:a=i.sent();console.log("[TEMPLATES] Error loading template",a);throw a;case 4:return[2]}}))}))}))}}}));
2
- //# sourceMappingURL=p-6d8b9e75.system.js.map
1
+ var __awaiter=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function l(e){try{u(r["throw"](e))}catch(e){a(e)}}function u(e){e.done?n(e.value):o(e.value).then(i,l)}u((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,o,a,i;return i={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function l(e){return function(t){return u([e,t])}}function u(i){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,o&&(a=i[0]&2?o["return"]:i[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;if(o=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:n.label++;return{value:i[1],done:false};case 5:n.label++;o=i[1];i=[0];continue;case 7:i=n.ops.pop();n.trys.pop();continue;default:if(!(a=n.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){n=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){n.label=i[1];break}if(i[0]===6&&n.label<a[1]){n.label=a[1];a=i;break}if(a&&n.label<a[2]){n.label=a[2];n.ops.push(i);break}if(a[2])n.ops.pop();n.trys.pop();continue}i=t.call(e,n)}catch(e){i=[6,e];o=0}finally{r=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};System.register(["./p-9cecb5df.system.js","./p-a74a9c6b.system.js"],(function(e){"use strict";var t,n;return{setters:[function(e){t=e.g},function(e){n=e.s}],execute:function(){var r=this;var o=e("l",(function(e,o){return __awaiter(r,void 0,void 0,(function(){var r,a;return __generator(this,(function(i){switch(i.label){case 0:n.template=null;if(!o){console.log("[TEMPLATES] Missing required template ID");return[2]}n.loading=true;i.label=1;case 1:i.trys.push([1,3,,4]);console.log("[TEMPLATES] Loading template ".concat(o));return[4,t(e,o,true)];case 2:r=i.sent();if(!r){console.log("[TEMPLATES] Unable to load template");return[2]}n.template=r;n.loading=false;return[3,4];case 3:a=i.sent();console.log("[TEMPLATES] Error loading template",a);throw a;case 4:return[2]}}))}))}))}}}));
2
+ //# sourceMappingURL=p-c8e8732b.system.js.map
@@ -0,0 +1,2 @@
1
+ System.register([],(function(n){"use strict";return{execute:function(){var r=n("i",(function(n,r){return Array(r).fill(1).map((function(r,t){return t+n}))}));var t=n("f",(function(n){return n.split(" ").map((function(n){return n[0]})).join("")}))}}}));
2
+ //# sourceMappingURL=p-d50523fd.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["node_modules/@verdocs/js-sdk/Utils/Primitives.js"],"names":["integerSequence","exports","start","count","Array","fill","map","_","index","fullNameToInitials","name","split","word","join"],"mappings":"uEAIU,IAACA,EAAeC,EAAA,KAAG,SAAUC,EAAOC,GAC1C,OAAOC,MAAMD,GACRE,KAAK,GACLC,KAAI,SAAUC,EAAGC,GAAS,OAAOA,EAAQN,QAKxC,IAACO,EAAkBR,EAAA,KAAG,SAAUS,GACtC,OAAOA,EACFC,MAAM,KACNL,KAAI,SAAUM,GAAQ,OAAOA,EAAK,MAClCC,KAAK","sourcesContent":["/**\n * Create an array containing a sequence of integers, e.g. [START, START+1, START+2, ...] This is frequently useful\n * in rendering operations when there is no source array to .map() across.\n */\nexport var integerSequence = function (start, count) {\n return Array(count)\n .fill(1)\n .map(function (_, index) { return index + start; });\n};\n/**\n * Generate suggested initials for a full name, e.g. \"John Doe\" will yield \"JD\".\n */\nexport var fullNameToInitials = function (name) {\n return name\n .split(' ')\n .map(function (word) { return word[0]; })\n .join('');\n};\n"]}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function l(e){try{s(r["throw"](e))}catch(e){o(e)}}function s(e){e.done?n(e.value):i(e.value).then(a,l)}s((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(e){return function(t){return s([e,t])}}function s(a){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,i&&(o=a[0]&2?i["return"]:a[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;if(i=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;i=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){n.label=a[1];break}if(a[0]===6&&n.label<o[1]){n.label=o[1];o=a;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(a);break}if(o[2])n.ops.pop();n.trys.pop();continue}a=t.call(e,n)}catch(e){a=[6,e];i=0}finally{r=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;r<i;r++){if(o||!(r in t)){if(!o)o=Array.prototype.slice.call(t,0,r);o[r]=t[r]}}return e.concat(o||Array.prototype.slice.call(t))};System.register(["./p-97329951.system.js","./p-327858f0.system.js"],(function(e){"use strict";var t,n,r,i,o;return{setters:[function(e){t=e.r;n=e.c;r=e.h;i=e.H},function(e){o=e.f}],execute:function(){var a='verdocs-upload-dialog{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-upload-dialog div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-upload-dialog .background-overlay{position:absolute;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#0000007f}verdocs-upload-dialog .dialog{width:300px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;background:#ffffff;padding:16px;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4)}verdocs-upload-dialog .heading{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;font-size:20px;font-weight:500}verdocs-upload-dialog .buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-upload-dialog .buttons verdocs-button{margin-left:16px}verdocs-upload-dialog .drop-target{padding:30px 15px;width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#f5f5f5;border:2px dashed #979797;min-height:260px;text-align:center;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;color:rgba(0, 0, 0, 0.54);opacity:1;margin:20px 0}verdocs-upload-dialog .drop-target p{margin:12px 0}verdocs-upload-dialog .drop-target.dragging-over{border:5px solid #4c56cb}verdocs-upload-dialog .drop-target>verdocs-button{margin:12px 0;display:inline-block}verdocs-upload-dialog .attachments{height:56px;font-size:0;margin:20px 0;padding:0 16px;line-height:56px;white-space:normal;-webkit-box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.14);box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.14)}verdocs-upload-dialog .attachments .attachment{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-upload-dialog .attachments .attachment .icon{width:18px;height:18px;line-height:18px}verdocs-upload-dialog .attachments .attachment .icon.trash{cursor:pointer}verdocs-upload-dialog .attachments .attachment .name{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;padding:0 8px;font-size:14px;font-weight:400}';var l='<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="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" /></svg>';var s='<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>';var d=e("verdocs_upload_dialog",function(){function e(e){t(this,e);this.cancel=n(this,"cancel",7);this.next=n(this,"next",7);this.draggingOver=false;this.decodedFiles=[]}e.prototype.handleCancel=function(){this.cancel.emit()};e.prototype.handleDismiss=function(e){if(e.target.className==="background-overlay"){e.preventDefault();this.handleCancel()}};e.prototype.handleDone=function(){this.next.emit(this.decodedFiles)};e.prototype.handleDragOver=function(e){e.preventDefault();this.draggingOver=true};e.prototype.handleDragLeave=function(e){e.preventDefault();this.draggingOver=false};e.prototype.handleDrop=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n,r,i;return __generator(this,(function(a){switch(a.label){case 0:e.preventDefault();this.draggingOver=false;t=[];if(e.dataTransfer.items){for(n=0;n<e.dataTransfer.items.length;n++){if(e.dataTransfer.items[n].kind==="file"){r=e.dataTransfer.items[n].getAsFile();t.push(r)}}}else{t=e.dataTransfer.files}i=this;return[4,Promise.all(t.map(o))];case 1:i.decodedFiles=a.sent();return[2]}}))}))};e.prototype.handleRemoveAttachment=function(e){var t=__spreadArray([],this.decodedFiles,true);t.splice(e,1);this.decodedFiles=t};e.prototype.handleSelectFile=function(){var e;(e=this.fileInput)===null||e===void 0?void 0:e.click()};e.prototype.handleFileChange=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n,r,i;return __generator(this,(function(a){switch(a.label){case 0:n=[];for(r=0;r<((e=this.fileInput)===null||e===void 0?void 0:e.files.length);r++){n.push((t=this.fileInput)===null||t===void 0?void 0:t.files[r])}i=this;return[4,Promise.all(n.map(o))];case 1:i.decodedFiles=a.sent();return[2]}}))}))};e.prototype.render=function(){var e=this;return r(i,null,r("div",{class:"background-overlay",onClick:function(t){return e.handleDismiss(t)}},r("div",{class:"dialog"},r("div",{class:"heading"},"Upload attachment"),this.decodedFiles.length<1?r("div",{class:{"drop-target":true,"dragging-over":this.draggingOver},onDragOver:function(t){return e.handleDragOver(t)},onDragLeave:function(t){return e.handleDragLeave(t)},onDrop:function(t){return e.handleDrop(t)}},r("p",null,"Drag and drop a file here..."),r("p",null,"- or -"),r("verdocs-button",{label:"Select a file...",onClick:function(){return e.handleSelectFile()}}),r("input",{type:"file",ref:function(t){return e.fileInput=t},style:{display:"none"},onChange:function(){return e.handleFileChange()}})):r("div",{class:"attachments"},this.decodedFiles.map((function(t,n){return r("div",{class:"attachment"},r("div",{class:"icon",innerHTML:s}),r("div",{class:"name"},t.name),r("div",{class:"icon trash",innerHTML:l,onClick:function(){return e.handleRemoveAttachment(n)}}))}))),r("div",{class:"buttons"},r("verdocs-button",{label:"Cancel",variant:"outline",onClick:function(){return e.handleCancel()}}),r("verdocs-button",{label:"Done",onClick:function(){return e.handleDone()},disabled:this.decodedFiles.length<1})))))};return e}());d.style=a}}}));
2
+ //# sourceMappingURL=p-d85e61ee.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.scss?tag=verdocs-upload-dialog","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.tsx"],"names":["verdocsUploadDialogCss","TrashIcon","PaperclipIcon","VerdocsUploadDialog","exports","class_1","prototype","handleCancel","this","cancel","emit","handleDismiss","e","target","className","preventDefault","handleDone","next","decodedFiles","handleDragOver","draggingOver","handleDragLeave","handleDrop","droppedFiles","dataTransfer","items","i","length","kind","file","getAsFile","push","files","_c","Promise","all","map","fileToDataUrl","_d","sent","handleRemoveAttachment","index","newFiles","__spreadArray","splice","handleSelectFile","_a","fileInput","click","handleFileChange","_b","render","_this","h","Host","class","onClick","drop-target","dragging-over","onDragOver","onDragLeave","onDrop","label","type","ref","el","style","display","onChange","innerHTML","name","variant","disabled"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-upload-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n width: 300px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: $verdocs-grey-4;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n font-size: 20px;\n font-weight: 500;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n .drop-target {\n padding: 30px 15px;\n width: 100%;\n display: flex;\n flex-direction: column;\n background-color: #f5f5f5;\n border: 2px dashed #979797;\n min-height: 260px;\n text-align: center;\n justify-content: center;\n align-items: center;\n color: rgba(0, 0, 0, 0.54);\n opacity: 1;\n margin: 20px 0;\n\n p {\n margin: 12px 0;\n }\n\n &.dragging-over {\n border: 5px solid $verdocs-deep-blue;\n }\n\n > verdocs-button {\n margin: 12px 0;\n display: inline-block;\n }\n }\n\n .attachments {\n height: 56px;\n font-size: 0;\n margin: 20px 0;\n padding: 0 16px;\n line-height: 56px;\n white-space: normal;\n box-shadow: 0 1px 3px 0 rgb(0 0 0 / 20%), 0 2px 2px 0 rgb(0 0 0 / 12%), 0 0 2px 0 rgb(0 0 0 / 14%);\n\n .attachment {\n display: flex;\n align-items: center;\n flex-direction: row;\n\n .icon {\n width: 18px;\n height: 18px;\n line-height: 18px;\n\n &.trash {\n cursor: pointer;\n }\n }\n\n .name {\n flex: 1;\n display: flex;\n padding: 0 8px;\n font-size: 14px;\n font-weight: 400;\n }\n }\n }\n}\n","import {Component, h, Event, EventEmitter, Host, State} from '@stencil/core';\nimport {fileToDataUrl, FileWithData} from '@verdocs/js-sdk/Utils/Files';\n\nconst TrashIcon = `<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=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\" /></svg>`;\n\nconst 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>`;\n\n/**\n * Display a file upload tool. Note that the file is not actually transmitted, so it may be used by\n * callers with a variety of workflows. Instead, data about the chosen file will be passed to the\n * caller via the onNext event handler.\n */\n@Component({\n tag: 'verdocs-upload-dialog',\n styleUrl: 'verdocs-upload-dialog.scss',\n})\nexport class VerdocsUploadDialog {\n private fileInput?: HTMLInputElement;\n\n /**\n * Event fired when the dialog is cancelled.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the file selected.\n */\n @Event({composed: true}) next: EventEmitter<FileWithData[]>;\n\n @State() draggingOver = false;\n\n @State() decodedFiles = [] as FileWithData[];\n\n handleCancel() {\n this.cancel.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.next.emit(this.decodedFiles);\n }\n\n handleDragOver(e) {\n e.preventDefault();\n this.draggingOver = true;\n }\n\n handleDragLeave(e) {\n e.preventDefault();\n this.draggingOver = false;\n }\n\n async handleDrop(e) {\n e.preventDefault();\n this.draggingOver = false;\n\n // Required for cross-browser support. Note that dataTransfer.items is of type DataTransferItemList and is not an array.\n let droppedFiles = [] as File[];\n if (e.dataTransfer.items) {\n for (let i = 0; i < e.dataTransfer.items.length; i++) {\n if (e.dataTransfer.items[i].kind === 'file') {\n const file = e.dataTransfer.items[i].getAsFile();\n droppedFiles.push(file);\n }\n }\n } else {\n droppedFiles = e.dataTransfer.files;\n }\n\n this.decodedFiles = await Promise.all(droppedFiles.map(fileToDataUrl));\n }\n\n handleRemoveAttachment(index: number) {\n const newFiles = [...this.decodedFiles];\n newFiles.splice(index, 1);\n this.decodedFiles = newFiles;\n }\n\n handleSelectFile() {\n this.fileInput?.click();\n }\n\n async handleFileChange() {\n let droppedFiles = [] as File[];\n for (let i = 0; i < this.fileInput?.files.length; i++) {\n droppedFiles.push(this.fileInput?.files[i]);\n }\n this.decodedFiles = await Promise.all(droppedFiles.map(fileToDataUrl));\n }\n\n render() {\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Upload attachment</div>\n\n {this.decodedFiles.length < 1 ? (\n <div\n class={{'drop-target': true, 'dragging-over': this.draggingOver}}\n onDragOver={e => this.handleDragOver(e)}\n onDragLeave={e => this.handleDragLeave(e)}\n onDrop={e => this.handleDrop(e)}\n >\n <p>Drag and drop a file here...</p>\n <p>- or -</p>\n\n <verdocs-button label=\"Select a file...\" onClick={() => this.handleSelectFile()} />\n <input type=\"file\" ref={el => (this.fileInput = el as HTMLInputElement)} style={{display: 'none'}} onChange={() => this.handleFileChange()} />\n </div>\n ) : (\n <div class=\"attachments\">\n {this.decodedFiles.map((file, index) => (\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{file.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => this.handleRemoveAttachment(index)} />\n </div>\n ))}\n </div>\n )}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Done\" onClick={() => this.handleDone()} disabled={this.decodedFiles.length < 1} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as o,H as c}from"./p-ff1278ed.js";import{g as s}from"./p-6de76553.js";import{g as t}from"./p-417ee5e0.js";import"./p-21603661.js";import"./p-aa124212.js";const i='@charset "UTF-8";verdocs-field-checkbox{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;font-size:14px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-checkbox.disabled{opacity:0.5}verdocs-field-checkbox label>input[type=checkbox]{display:none}verdocs-field-checkbox label>input[type=checkbox]+*::before{content:"";position:absolute;display:block;top:1px;left:1px;width:10px;height:10px;border-radius:2px;border:1px solid rgba(0, 0, 0, 0.7)}verdocs-field-checkbox label>input[type=checkbox]:checked+*{color:#55bc81}verdocs-field-checkbox label>input[type=checkbox]:checked+*::before{content:"✓";color:white;text-align:center;background:#55bc81;border-color:#55bc81}verdocs-field-checkbox.required label>input[type=checkbox]+*::before{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}';const l=class{constructor(o){e(this,o);this.field=null;this.option=0;this.disabled=false;this.done=false;this.roleindex=0}render(){var e,i,l,r;const d=t(this.field);const n=(i=(e=d.options)===null||e===void 0?void 0:e[this.option])!==null&&i!==void 0?i:{checked:false};const a=(r=(l=this.disabled)!==null&&l!==void 0?l:d.disabled)!==null&&r!==void 0?r:false;const b=this.field["rgba"]||s(this.roleindex);if(this.done){return o(c,{class:{done:this.done}},n.checked?"✓":"☐")}return o(c,{class:{required:d.required,disabled:a},style:{backgroundColor:b}},o("label",null,o("input",{type:"checkbox",tabIndex:d.order,checked:n.checked,disabled:a,required:d.required,value:n.id}),o("span",null)))}};l.style=i;export{l as verdocs_field_checkbox};
2
+ //# sourceMappingURL=p-d954919a.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.scss?tag=verdocs-field-checkbox","src/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.tsx"],"names":["verdocsFieldCheckboxCss","VerdocsFieldCheckbox","[object Object]","settings","getFieldSettings","this","field","option","_b","_a","options","checked","disabled","_d","_c","backgroundColor","getRGBA","roleindex","done","h","Host","class","required","style","type","tabIndex","order","value","id"],"mappings":"kJAAA,MAAMA,EAA0B,khCCcnBC,EAAoB,0CAIyB,iBAK/B,gBAKI,gBAKJ,qBAKI,EAE7BC,qBACE,MAAMC,EAAWC,EAAiBC,KAAKC,OACvC,MAAMC,GAASC,GAAAC,EAAAN,EAASO,WAAO,MAAAD,SAAA,OAAA,EAAAA,EAAGJ,KAAKE,WAAO,MAAAC,SAAA,EAAAA,EAAI,CAACG,QAAS,OAC5D,MAAMC,GAAWC,GAAAC,EAAAT,KAAKO,YAAQ,MAAAE,SAAA,EAAAA,EAAIX,EAASS,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,MAAME,EAAkBV,KAAKC,MAAM,SAAWU,EAAQX,KAAKY,WAE3D,GAAIZ,KAAKa,KAAM,CACb,OAAOC,EAACC,EAAI,CAACC,MAAO,CAACH,KAAMb,KAAKa,OAAQX,EAAOI,QAAU,IAAM,KAGjE,OACEQ,EAACC,EAAI,CAACC,MAAO,CAACC,SAAUnB,EAASmB,SAAUV,SAAAA,GAAWW,MAAO,CAACR,gBAAAA,IAC5DI,EAAA,QAAA,KACEA,EAAA,QAAA,CAAOK,KAAK,WAAWC,SAAUtB,EAASuB,MAAOf,QAASJ,EAAOI,QAASC,SAAUA,EAAUU,SAAUnB,EAASmB,SAAUK,MAAOpB,EAAOqB,KACzIT,EAAA,OAAA","sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.kallmanation.com/styling-a-checkbox-with-only-css\nverdocs-field-checkbox {\n font-family: $verdocs-primary-font;\n font-size: 14px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n label > input[type='checkbox'] {\n display: none;\n }\n\n label > input[type='checkbox'] + *::before {\n content: '';\n position: absolute;\n display: block;\n top: 1px;\n left: 1px;\n width: 10px;\n height: 10px;\n border-radius: 2px;\n //background: $verdocs-grey-3;\n border: 1px solid rgba(0, 0, 0, 0.7);\n }\n\n label > input[type='checkbox']:checked + * {\n color: $verdocs-green;\n }\n\n label > input[type='checkbox']:checked + *::before {\n content: '✓';\n color: white;\n text-align: center;\n background: $verdocs-green;\n border-color: $verdocs-green;\n }\n\n &.required {\n label > input[type='checkbox'] + *::before {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {Component, h, Host, Prop} from '@stencil/core';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a checkbox.\n */\n@Component({\n tag: 'verdocs-field-checkbox',\n styleUrl: 'verdocs-field-checkbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldCheckbox {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * The index of the settings option this particular checkbox is for\n */\n @Prop() option: number = 0;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop() done?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n render() {\n const settings = getFieldSettings(this.field);\n const option = settings.options?.[this.option] ?? {checked: false};\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n if (this.done) {\n return <Host class={{done: this.done}}>{option.checked ? '✓' : '☐'}</Host>;\n }\n\n return (\n <Host class={{required: settings.required, disabled}} style={{backgroundColor}}>\n <label>\n <input type=\"checkbox\" tabIndex={settings.order} checked={option.checked} disabled={disabled} required={settings.required} value={option.id} />\n <span />\n </label>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.scss?tag=verdocs-field-checkbox","src/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.tsx"],"names":["verdocsFieldCheckboxCss","VerdocsFieldCheckbox","[object Object]","settings","getFieldSettings","this","field","option","_b","_a","options","checked","disabled","_d","_c","backgroundColor","getRGBA","roleindex","done","h","Host","class","required","style","type","tabIndex","order","value","id"],"mappings":"0KAAA,MAAMA,EAA0B,khCCcnBC,EAAoB,0CAIyB,iBAK/B,gBAKI,gBAKJ,qBAKI,EAE7BC,qBACE,MAAMC,EAAWC,EAAiBC,KAAKC,OACvC,MAAMC,GAASC,GAAAC,EAAAN,EAASO,WAAO,MAAAD,SAAA,OAAA,EAAAA,EAAGJ,KAAKE,WAAO,MAAAC,SAAA,EAAAA,EAAI,CAACG,QAAS,OAC5D,MAAMC,GAAWC,GAAAC,EAAAT,KAAKO,YAAQ,MAAAE,SAAA,EAAAA,EAAIX,EAASS,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,MAAME,EAAkBV,KAAKC,MAAM,SAAWU,EAAQX,KAAKY,WAE3D,GAAIZ,KAAKa,KAAM,CACb,OAAOC,EAACC,EAAI,CAACC,MAAO,CAACH,KAAMb,KAAKa,OAAQX,EAAOI,QAAU,IAAM,KAGjE,OACEQ,EAACC,EAAI,CAACC,MAAO,CAACC,SAAUnB,EAASmB,SAAUV,SAAAA,GAAWW,MAAO,CAACR,gBAAAA,IAC5DI,EAAA,QAAA,KACEA,EAAA,QAAA,CAAOK,KAAK,WAAWC,SAAUtB,EAASuB,MAAOf,QAASJ,EAAOI,QAASC,SAAUA,EAAUU,SAAUnB,EAASmB,SAAUK,MAAOpB,EAAOqB,KACzIT,EAAA,OAAA","sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.kallmanation.com/styling-a-checkbox-with-only-css\nverdocs-field-checkbox {\n font-family: $verdocs-primary-font;\n font-size: 14px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n label > input[type='checkbox'] {\n display: none;\n }\n\n label > input[type='checkbox'] + *::before {\n content: '';\n position: absolute;\n display: block;\n top: 1px;\n left: 1px;\n width: 10px;\n height: 10px;\n border-radius: 2px;\n //background: $verdocs-grey-3;\n border: 1px solid rgba(0, 0, 0, 0.7);\n }\n\n label > input[type='checkbox']:checked + * {\n color: $verdocs-green;\n }\n\n label > input[type='checkbox']:checked + *::before {\n content: '✓';\n color: white;\n text-align: center;\n background: $verdocs-green;\n border-color: $verdocs-green;\n }\n\n &.required {\n label > input[type='checkbox'] + *::before {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {Component, h, Host, Prop} from '@stencil/core';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a checkbox.\n */\n@Component({\n tag: 'verdocs-field-checkbox',\n styleUrl: 'verdocs-field-checkbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldCheckbox {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * The index of the settings option this particular checkbox is for\n */\n @Prop() option: number = 0;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop() done?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n render() {\n const settings = getFieldSettings(this.field);\n const option = settings.options?.[this.option] ?? {checked: false};\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n if (this.done) {\n return <Host class={{done: this.done}}>{option.checked ? '✓' : '☐'}</Host>;\n }\n\n return (\n <Host class={{required: settings.required, disabled}} style={{backgroundColor}}>\n <label>\n <input type=\"checkbox\" tabIndex={settings.order} checked={option.checked} disabled={disabled} required={settings.required} value={option.id} />\n <span />\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{c as e}from"./p-5ea05a1d.js";import{i as s}from"./p-ff3b285c.js";const{state:a,onChange:o}=e({template:null,loadProgress:0,loading:true,pageNumbers:[],pageUris:{},roleNames:[],fields:[],dirty:false});o("template",(async e=>{if(!e){console.log("[TEMPLATESTORE] Clearing template");a.fields=[];a.roleNames=[];a.pageNumbers=[];a.dirty=false;a.loading=false;a.loadProgress=0;return}console.log("[TEMPLATESTORE] Template loaded",e);a.roleNames=e.roles.map((e=>e.name));console.log("[TEMPLATESTORE] Loaded roles",a.roleNames);a.fields=[];e.roles.forEach((e=>{a.fields.push(...e.fields)}));console.log("[TEMPLATESTORE] Loaded fields",a.fields);a.pageNumbers=s(1,e.pages.length)}));o("fields",(e=>{console.log("[TEMPLATESTORE] Field changed",e);a.dirty=true}));export{a as s};
2
- //# sourceMappingURL=p-3ce35714.js.map
1
+ import{c as e}from"./p-5ea05a1d.js";import{i as s}from"./p-7291906c.js";const{state:a,onChange:o}=e({template:null,loadProgress:0,loading:true,pageNumbers:[],pageUris:{},roleNames:[],fields:[],dirty:false});o("template",(async e=>{if(!e){console.log("[TEMPLATESTORE] Clearing template");a.fields=[];a.roleNames=[];a.pageNumbers=[];a.dirty=false;a.loading=false;a.loadProgress=0;return}console.log("[TEMPLATESTORE] Template loaded",e);a.roleNames=e.roles.map((e=>e.name));console.log("[TEMPLATESTORE] Loaded roles",a.roleNames);a.fields=[];e.roles.forEach((e=>{a.fields.push(...e.fields)}));console.log("[TEMPLATESTORE] Loaded fields",a.fields);a.pageNumbers=s(1,e.pages.length)}));o("fields",(e=>{console.log("[TEMPLATESTORE] Field changed",e);a.dirty=true}));export{a as s};
2
+ //# sourceMappingURL=p-e53f969c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/utils/templateStore.ts"],"names":["state","onChange","createStore","template","loadProgress","loading","pageNumbers","pageUris","roleNames","fields","dirty","async","newTemplate","console","log","roles","map","role","name","forEach","push","integerSequence","pages","length","newField"],"mappings":"8EAOMA,MAACA,EAAKC,SAAEA,GAAYC,EAAY,CACpCC,SAAU,KACVC,aAAc,EACdC,QAAS,KAETC,YAAa,GACbC,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,MAAO,QAGTT,EAAS,YAAYU,MAAMC,IACzB,IAAKA,EAAa,CAChBC,QAAQC,IAAI,qCACZd,EAAMS,OAAS,GACfT,EAAMQ,UAAY,GAClBR,EAAMM,YAAc,GACpBN,EAAMU,MAAQ,MACdV,EAAMK,QAAU,MAChBL,EAAMI,aAAe,EACrB,OAGFS,QAAQC,IAAI,kCAAmCF,GAE/CZ,EAAMQ,UAAYI,EAAYG,MAAMC,KAAIC,GAAQA,EAAKC,OACrDL,QAAQC,IAAI,+BAAgCd,EAAMQ,WAElDR,EAAMS,OAAS,GACfG,EAAYG,MAAMI,SAAQF,IACxBjB,EAAMS,OAAOW,QAAQH,EAAKR,WAG5BI,QAAQC,IAAI,gCAAiCd,EAAMS,QAEnDT,EAAMM,YAAce,EAAgB,EAAGT,EAAYU,MAAMC,WAG3DtB,EAAS,UAAUuB,IACjBX,QAAQC,IAAI,gCAAiCU,GAC7CxB,EAAMU,MAAQ","sourcesContent":["// NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to\n// resolve. This needs to export a single default value of the store's state. Any helper functions should go in Templates.ts here.\n\nimport {createStore} from '@stencil/store';\nimport {integerSequence} from '@verdocs/js-sdk/Utils/Primitives';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\n\nconst {state, onChange} = createStore({\n template: null as ITemplate | null,\n loadProgress: 0,\n loading: true,\n\n pageNumbers: [] as number[],\n pageUris: {} as Record<number, string>,\n roleNames: [] as string[],\n fields: [] as ITemplateField[],\n dirty: false,\n});\n\nonChange('template', async newTemplate => {\n if (!newTemplate) {\n console.log('[TEMPLATESTORE] Clearing template');\n state.fields = [];\n state.roleNames = [];\n state.pageNumbers = [];\n state.dirty = false;\n state.loading = false;\n state.loadProgress = 0;\n return;\n }\n\n console.log('[TEMPLATESTORE] Template loaded', newTemplate);\n\n state.roleNames = newTemplate.roles.map(role => role.name);\n console.log('[TEMPLATESTORE] Loaded roles', state.roleNames);\n\n state.fields = [];\n newTemplate.roles.forEach(role => {\n state.fields.push(...role.fields);\n });\n\n console.log('[TEMPLATESTORE] Loaded fields', state.fields);\n\n state.pageNumbers = integerSequence(1, newTemplate.pages.length);\n});\n\nonChange('fields', newField => {\n console.log('[TEMPLATESTORE] Field changed', newField);\n state.dirty = true;\n});\n\nexport default state;\n"]}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,r,n){function i(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function l(e){try{s(n.next(e))}catch(e){o(e)}}function a(e){try{s(n["throw"](e))}catch(e){o(e)}}function s(e){e.done?r(e.value):i(e.value).then(l,a)}s((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,i,o,l;return l={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(l[Symbol.iterator]=function(){return this}),l;function a(e){return function(t){return s([e,t])}}function s(l){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,i&&(o=l[0]&2?i["return"]:l[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,l[1])).done)return o;if(i=0,o)l=[l[0]&2,o.value];switch(l[0]){case 0:case 1:o=l;break;case 4:r.label++;return{value:l[1],done:false};case 5:r.label++;i=l[1];l=[0];continue;case 7:l=r.ops.pop();r.trys.pop();continue;default:if(!(o=r.trys,o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){r=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){r.label=l[1];break}if(l[0]===6&&r.label<o[1]){r.label=o[1];o=l;break}if(o&&r.label<o[2]){r.label=o[2];r.ops.push(l);break}if(o[2])r.ops.pop();r.trys.pop();continue}l=t.call(e,r)}catch(e){l=[6,e];i=0}finally{n=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};System.register(["./p-97329951.system.js","./p-05eb4fed.system.js","./p-831ee1b6.system.js","./p-af2c2f79.system.js","./p-327858f0.system.js"],(function(e){"use strict";var t,r,n,i,o;return{setters:[function(e){t=e.r;r=e.h;n=e.H},function(e){i=e.g},function(e){o=e.g},function(){},function(){}],execute:function(){var l='verdocs-field-textarea{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:150px;height:15px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-textarea.disabled{opacity:0.5}verdocs-field-textarea textarea{-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87);font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-textarea textarea.hide{display:none}verdocs-field-textarea.required{border:1px solid #cc0000}verdocs-field-textarea.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';var a='<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>';var s=e("verdocs_field_textarea",function(){function e(e){t(this,e);this.field=null;this.disabled=false;this.editable=false;this.moveable=false;this.done=false;this.roleindex=0}e.prototype.focusField=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.el.focus();return[2]}))}))};e.prototype.render=function(){var e=this;var t,l;var s=o(this.field);var u=(l=(t=this.disabled)!==null&&t!==void 0?t:s.disabled)!==null&&l!==void 0?l:false;var c=this.field["rgba"]||i(this.roleindex);if(this.done){return r(n,{class:{done:this.done}},s.value)}return r(n,{class:{required:s.required,disabled:u},style:{backgroundColor:c}},r("textarea",{placeholder:s.placeholder||"",tabIndex:s.order,value:s.value,disabled:u,required:s.required,ref:function(t){return e.el=t}}),this.editable&&r("verdocs-button-panel",{icon:a},r("h6",null,"Field Settings"),r("form",null,r("verdocs-select-input",{label:"Recipient",options:[{label:"Buyer",value:"Buyer"},{label:"Seller",value:"Seller"}],onChange:function(e){console.log("select changed",e)}}),r("verdocs-text-input",{label:"Field Name",value:"",placeholder:"Stored field name...",onInput:function(e){return console.log("ipt",e)}}),r("verdocs-text-input",{label:"Placeholder",value:"",placeholder:"Placeholder text...",onInput:function(e){return console.log("ipt",e)}}))))};return e}());s.style=l}}}));
2
+ //# sourceMappingURL=p-f36c6695.system.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/elements/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/elements/verdocs-field-textarea/verdocs-field-textarea.tsx"],"names":["verdocsFieldTextareaCss","settingsIcon","VerdocsFieldTextarea","exports","class_1","prototype","focusField","this","el","focus","render","_this","settings","getFieldSettings","field","disabled","_b","_a","backgroundColor","getRGBA","roleindex","done","h","Host","class","value","required","style","placeholder","tabIndex","order","ref","editable","icon","label","options","onChange","e","console","log","onInput"],"mappings":"6sDAAA,IAAMA,EAA0B,2yBCMhC,IAAMC,EACJ,6rCAUWC,EAAoBC,EAAA,yBAAA,8CAMyB,mBAK3B,oBAMA,oBAKA,gBAKJ,qBAKI,EAEbC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,GAAGC,yBAGVL,EAAAC,UAAAK,OAAA,WAAA,IAAAC,EAAAJ,aACE,IAAMK,EAAWC,EAAiBN,KAAKO,OACvC,IAAMC,GAAWC,GAAAC,EAAAV,KAAKQ,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,IAAME,EAAkBX,KAAKO,MAAM,SAAWK,EAAQZ,KAAKa,WAE3D,GAAIb,KAAKc,KAAM,CACb,OAAOC,EAACC,EAAI,CAACC,MAAO,CAACH,KAAMd,KAAKc,OAAQT,EAASa,OAGnD,OACEH,EAACC,EAAI,CAACC,MAAO,CAACE,SAAUd,EAASc,SAAUX,SAAQA,GAAGY,MAAO,CAACT,gBAAeA,IAC3EI,EAAA,WAAA,CACEM,YAAahB,EAASgB,aAAe,GACrCC,SAAUjB,EAASkB,MACnBL,MAAOb,EAASa,MAChBV,SAAUA,EACVW,SAAUd,EAASc,SACnBK,IAAK,SAAAvB,GAAE,OAAKG,EAAKH,GAAKA,KAGvBD,KAAKyB,UACJV,EAAA,uBAAA,CAAsBW,KAAMhC,GAC1BqB,EAAA,KAAA,KAAA,kBACAA,EAAA,OAAA,KACEA,EAAA,uBAAA,CACEY,MAAM,YACNC,QAAS,CACP,CAACD,MAAO,QAAST,MAAO,SACxB,CAACS,MAAO,SAAUT,MAAO,WAE3BW,SAAU,SAAAC,GACRC,QAAQC,IAAI,iBAAkBF,MAIlCf,EAAA,qBAAA,CAAoBY,MAAM,aAAaT,MAAM,GAAGG,YAAY,uBAAuBY,QAAS,SAAAH,GAAK,OAAAC,QAAQC,IAAI,MAAOF,MACpHf,EAAA,qBAAA,CAAoBY,MAAM,cAAcT,MAAM,GAAGG,YAAY,sBAAsBY,QAAS,SAAAH,GAAK,OAAAC,QAAQC,IAAI,MAAOF,mBA1EjG","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-textarea {\n font-family: $verdocs-primary-font;\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n textarea {\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {Component, h, Host, Prop, Method} from '@stencil/core';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {getFieldSettings} from '../../../utils/utils';\n\nconst settingsIcon =\n '<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>';\n\n/**\n * Display a multi-line text input field.\n */\n@Component({\n tag: 'verdocs-field-textarea',\n styleUrl: 'verdocs-field-textarea.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextarea {\n private el: HTMLTextAreaElement;\n\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop() editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop() moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop() done?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n @Method() async focusField() {\n this.el.focus();\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n if (this.done) {\n return <Host class={{done: this.done}}>{settings.value}</Host>;\n }\n\n return (\n <Host class={{required: settings.required, disabled}} style={{backgroundColor}}>\n <textarea\n placeholder={settings.placeholder || ''}\n tabIndex={settings.order}\n value={settings.value}\n disabled={disabled}\n required={settings.required}\n ref={el => (this.el = el)}\n />\n\n {this.editable && (\n <verdocs-button-panel icon={settingsIcon}>\n <h6>Field Settings</h6>\n <form>\n <verdocs-select-input\n label=\"Recipient\"\n options={[\n {label: 'Buyer', value: 'Buyer'},\n {label: 'Seller', value: 'Seller'},\n ]}\n onChange={e => {\n console.log('select changed', e);\n }}\n />\n\n <verdocs-text-input label=\"Field Name\" value=\"\" placeholder=\"Stored field name...\" onInput={e => console.log('ipt', e)} />\n <verdocs-text-input label=\"Placeholder\" value=\"\" placeholder=\"Placeholder text...\" onInput={e => console.log('ipt', e)} />\n </form>\n </verdocs-button-panel>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/elements/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/elements/verdocs-field-textarea/verdocs-field-textarea.tsx"],"names":["verdocsFieldTextareaCss","settingsIcon","VerdocsFieldTextarea","exports","class_1","prototype","focusField","this","el","focus","render","_this","settings","getFieldSettings","field","disabled","_b","_a","backgroundColor","getRGBA","roleindex","done","h","Host","class","value","required","style","placeholder","tabIndex","order","ref","editable","icon","label","options","onChange","e","console","log","onInput"],"mappings":"mvDAAA,IAAMA,EAA0B,2yBCMhC,IAAMC,EACJ,6rCAUWC,EAAoBC,EAAA,yBAAA,8CAMyB,mBAK3B,oBAMA,oBAKA,gBAKJ,qBAKI,EAEbC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,GAAGC,yBAGVL,EAAAC,UAAAK,OAAA,WAAA,IAAAC,EAAAJ,aACE,IAAMK,EAAWC,EAAiBN,KAAKO,OACvC,IAAMC,GAAWC,GAAAC,EAAAV,KAAKQ,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,IAAME,EAAkBX,KAAKO,MAAM,SAAWK,EAAQZ,KAAKa,WAE3D,GAAIb,KAAKc,KAAM,CACb,OAAOC,EAACC,EAAI,CAACC,MAAO,CAACH,KAAMd,KAAKc,OAAQT,EAASa,OAGnD,OACEH,EAACC,EAAI,CAACC,MAAO,CAACE,SAAUd,EAASc,SAAUX,SAAQA,GAAGY,MAAO,CAACT,gBAAeA,IAC3EI,EAAA,WAAA,CACEM,YAAahB,EAASgB,aAAe,GACrCC,SAAUjB,EAASkB,MACnBL,MAAOb,EAASa,MAChBV,SAAUA,EACVW,SAAUd,EAASc,SACnBK,IAAK,SAAAvB,GAAE,OAAKG,EAAKH,GAAKA,KAGvBD,KAAKyB,UACJV,EAAA,uBAAA,CAAsBW,KAAMhC,GAC1BqB,EAAA,KAAA,KAAA,kBACAA,EAAA,OAAA,KACEA,EAAA,uBAAA,CACEY,MAAM,YACNC,QAAS,CACP,CAACD,MAAO,QAAST,MAAO,SACxB,CAACS,MAAO,SAAUT,MAAO,WAE3BW,SAAU,SAAAC,GACRC,QAAQC,IAAI,iBAAkBF,MAIlCf,EAAA,qBAAA,CAAoBY,MAAM,aAAaT,MAAM,GAAGG,YAAY,uBAAuBY,QAAS,SAAAH,GAAK,OAAAC,QAAQC,IAAI,MAAOF,MACpHf,EAAA,qBAAA,CAAoBY,MAAM,cAAcT,MAAM,GAAGG,YAAY,sBAAsBY,QAAS,SAAAH,GAAK,OAAAC,QAAQC,IAAI,MAAOF,mBA1EjG","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-textarea {\n font-family: $verdocs-primary-font;\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n textarea {\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {Component, h, Host, Prop, Method} from '@stencil/core';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {getFieldSettings} from '../../../utils/utils';\n\nconst settingsIcon =\n '<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>';\n\n/**\n * Display a multi-line text input field.\n */\n@Component({\n tag: 'verdocs-field-textarea',\n styleUrl: 'verdocs-field-textarea.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextarea {\n private el: HTMLTextAreaElement;\n\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop() editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop() moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop() done?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n @Method() async focusField() {\n this.el.focus();\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n if (this.done) {\n return <Host class={{done: this.done}}>{settings.value}</Host>;\n }\n\n return (\n <Host class={{required: settings.required, disabled}} style={{backgroundColor}}>\n <textarea\n placeholder={settings.placeholder || ''}\n tabIndex={settings.order}\n value={settings.value}\n disabled={disabled}\n required={settings.required}\n ref={el => (this.el = el)}\n />\n\n {this.editable && (\n <verdocs-button-panel icon={settingsIcon}>\n <h6>Field Settings</h6>\n <form>\n <verdocs-select-input\n label=\"Recipient\"\n options={[\n {label: 'Buyer', value: 'Buyer'},\n {label: 'Seller', value: 'Seller'},\n ]}\n onChange={e => {\n console.log('select changed', e);\n }}\n />\n\n <verdocs-text-input label=\"Field Name\" value=\"\" placeholder=\"Stored field name...\" onInput={e => console.log('ipt', e)} />\n <verdocs-text-input label=\"Placeholder\" value=\"\" placeholder=\"Placeholder text...\" onInput={e => console.log('ipt', e)} />\n </form>\n </verdocs-button-panel>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,e,o,i){function n(t){return t instanceof o?t:new o((function(e){e(t)}))}return new(o||(o=Promise))((function(o,r){function a(t){try{l(i.next(t))}catch(t){r(t)}}function s(t){try{l(i["throw"](t))}catch(t){r(t)}}function l(t){t.done?o(t.value):n(t.value).then(a,s)}l((i=i.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var o={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,n,r,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(t){return function(e){return l([t,e])}}function l(a){if(i)throw new TypeError("Generator is already executing.");while(o)try{if(i=1,n&&(r=a[0]&2?n["return"]:a[0]?n["throw"]||((r=n["return"])&&r.call(n),0):n.next)&&!(r=r.call(n,a[1])).done)return r;if(n=0,r)a=[a[0]&2,r.value];switch(a[0]){case 0:case 1:r=a;break;case 4:o.label++;return{value:a[1],done:false};case 5:o.label++;n=a[1];a=[0];continue;case 7:a=o.ops.pop();o.trys.pop();continue;default:if(!(r=o.trys,r=r.length>0&&r[r.length-1])&&(a[0]===6||a[0]===2)){o=0;continue}if(a[0]===3&&(!r||a[1]>r[0]&&a[1]<r[3])){o.label=a[1];break}if(a[0]===6&&o.label<r[1]){o.label=r[1];r=a;break}if(r&&o.label<r[2]){o.label=r[2];o.ops.push(a);break}if(r[2])o.ops.pop();o.trys.pop();continue}a=e.call(t,o)}catch(t){a=[6,t];n=0}finally{i=r=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-97329951.system.js","./p-05eb4fed.system.js","./p-831ee1b6.system.js","./p-e12b7fbc.system.js","./p-af2c2f79.system.js","./p-327858f0.system.js"],(function(t){"use strict";var e,o,i,n,r,a,s;return{setters:[function(t){e=t.r;o=t.c;i=t.h;n=t.H},function(t){r=t.g},function(t){a=t.g},function(t){s=t.c},function(){},function(){}],execute:function(){var l='verdocs-field-signature{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:83px;height:36px;display:block;font-size:11px;position:relative;letter-spacing:0.3px;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-signature.disabled{opacity:0.5}verdocs-field-signature.done{border:none;opacity:1}verdocs-field-signature img{display:block;max-width:100%;max-height:100%}verdocs-field-signature button{-webkit-box-sizing:border-box;box-sizing:border-box;border:none;color:rgba(0, 0, 0, 0.87);font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px}verdocs-field-signature button.hide{display:none}verdocs-field-signature.required{border:1px solid #cc0000}verdocs-field-signature.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-field-signature verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-signature verdocs-button-panel[data-active],verdocs-field-signature verdocs-button-panel:hover{opacity:1}verdocs-field-signature verdocs-button-panel .icon svg{fill:#333333}verdocs-field-signature verdocs-button-panel .icon:hover svg{fill:#000000}';var d='<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>';var c=t("verdocs_field_signature",function(){function t(t){e(this,t);this.fieldChange=o(this,"fieldChange",7);this.settingsPress=o(this,"settingsPress",7);this.field=null;this.name="";this.disabled=false;this.editable=false;this.moveable=false;this.done=false;this.roleindex=0;this.tempSignature=""}t.prototype.focusField=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.handleShow();console.log("focused",this);return[2]}))}))};t.prototype.hideDialog=function(){var t;(t=this.dialog)===null||t===void 0?void 0:t.remove();this.dialog=null};t.prototype.handleAdopt=function(t){var e;console.log("[SIGNATURE] Adopted signature");this.tempSignature=t.detail;(e=this.fieldChange)===null||e===void 0?void 0:e.emit(this.tempSignature);this.hideDialog()};t.prototype.handleShow=function(){var t=this;this.dialog=document.createElement("verdocs-signature-dialog");this.dialog.setAttribute("name",this.name);this.dialog.setAttribute("roleindex",this.roleindex);this.dialog.addEventListener("cancel",(function(){return t.hideDialog()}));this.dialog.addEventListener("next",(function(e){return t.handleAdopt(e)}));document.body.append(this.dialog)};t.prototype.render=function(){var t=this;var e,o,s;var l=a(this.field);var c=l.base64||this.tempSignature;var p=(o=(e=this.disabled)!==null&&e!==void 0?e:l.disabled)!==null&&o!==void 0?o:false;var u=this.field["rgba"]||r(this.roleindex);if(this.done){return i(n,{class:{done:this.done}},c&&i("img",{src:c,alt:"Signature"}))}return i(n,{class:{required:(s=this.field)===null||s===void 0?void 0:s.required,disabled:p},style:{backgroundColor:u}},c?i("img",{src:c,alt:"Signature"}):i("button",{onClick:function(){return!p&&t.handleShow()}},"Signature"),this.editable&&i("verdocs-button-panel",{icon:d},i("h6",null,"Field Settings"),i("form",null,i("verdocs-select-input",{label:"Recipient",options:[{label:"Buyer",value:"Buyer"},{label:"Seller",value:"Seller"}]}),i("verdocs-text-input",{label:"Field Name",value:"",placeholder:"Stored field name...",onInput:function(t){return console.log("ipt",t)}}),i("verdocs-text-input",{label:"Placeholder",value:"",placeholder:"Placeholder text...",onInput:function(t){return console.log("ipt",t)}}))))};return t}());c.style=l;var p='verdocs-signature-dialog{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#0000007f}verdocs-signature-dialog .dialog{width:100%;max-width:340px;border-radius:4px;overflow:hidden;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);background:#f9f9f9}verdocs-signature-dialog .heading{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;padding:20px 20px 0 20px;line-height:28px;font-size:20px;font-weight:500}verdocs-signature-dialog .content{font-size:14px;padding:20px}verdocs-signature-dialog .buttons{display:-ms-flexbox;display:flex;margin:20px 0 0 0;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center}verdocs-signature-dialog .buttons verdocs-button{margin-left:16px}verdocs-signature-dialog canvas{background:#ffffff;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 auto;width:300px;height:79px;max-width:100%;-webkit-box-shadow:0 0 6px 0 #0000001f;box-shadow:0 0 6px 0 #0000001f}verdocs-signature-dialog .disclaimer{text-align:justify;padding:8px 0;font-size:11px;line-height:14px;color:rgba(0, 0, 0, 0.54)}verdocs-signature-dialog .as-shown{font-size:11px;margin:4px 0 20px 4px;color:rgba(0, 0, 0, 0.54)}verdocs-signature-dialog .tabs{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}verdocs-signature-dialog .tabs .tab{padding:8px 15px;cursor:pointer}verdocs-signature-dialog .tabs .tab.active{border-bottom:2px solid #cccccc}verdocs-signature-dialog .tabs .tab:hover{color:#55bc81}';var u=t("verdocs_signature_dialog",function(){function t(t){e(this,t);this.next=o(this,"next",7);this.cancel=o(this,"cancel",7);this.name="";this.fontLoaded=false;this.enteredName="";this.mode="type"}t.prototype.componentWillLoad=function(){var t=this;this.enteredName=this.name;var e=new FontFace("Dancing Script","url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)");e.load().then((function(e){document.fonts.add(e);t.fontLoaded=true}))};t.prototype.componentDidLoad=function(){this.redrawSignature()};t.prototype.componentDidUpdate=function(){this.redrawSignature()};t.prototype.redrawSignature=function(){if(!this.canvasElement){return}var t=this.canvasElement.width;var e=this.canvasElement.getContext("2d");e.clearRect(0,0,this.canvasElement.width,this.canvasElement.height);var o=100;do{o-=2;e.font="".concat(o,"px Dancing Script")}while(e.measureText(this.enteredName).width>t-32);e.textAlign="center";e.textBaseline="middle";e.font="".concat(o,"px Dancing Script");e.fillText(this.enteredName,this.canvasElement.width/2,this.canvasElement.height/2)};t.prototype.handleNameChange=function(t){this.enteredName=t.target.value};t.prototype.handleCancel=function(t){t.stopPropagation();t.preventDefault();this.cancel.emit()};t.prototype.handleAdopt=function(t){t.stopPropagation();t.preventDefault();var e=this.canvasElement.toDataURL("image/png");this.next.emit(e)};t.prototype.render=function(){var t=this;return i(n,{onClick:function(e){return t.handleCancel(e)}},i("div",{class:"dialog"},i("div",{class:"heading"},"Create Your Signature"),i("div",{class:"content"},i("verdocs-text-input",{placeholder:"Full Name...",label:"Full Name",value:this.enteredName,onInput:function(e){return t.handleNameChange(e)},onClick:function(t){return t.stopPropagation()}}),i("div",{class:"as-shown"},"As shown on driver's license or govt. ID card."),this.fontLoaded?i("canvas",{ref:function(e){return t.canvasElement=e}}):i("div",{style:{display:"none"}}),i("div",{class:"disclaimer"},"By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents, including legally binding contracts — just the same as a pen-and-paper signature or initial."),i("div",{class:"buttons"},i("verdocs-button",{label:"CANCEL",size:"normal",variant:"outline",onClick:function(e){return t.handleCancel(e)}}),i("verdocs-button",{label:"Adopt & Sign",size:"normal",onClick:function(e){return t.handleAdopt(e)}})))))};return t}());u.style=p;var h='verdocs-toolbar-icon{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:inline-block}verdocs-toolbar-icon .icon{display:inline-block;cursor:pointer}verdocs-toolbar-icon .icon svg{fill:#5c6575}verdocs-toolbar-icon .tooltip{display:none;-webkit-box-shadow:0 0 10px 1px #999999;box-shadow:0 0 10px 1px #999999;background:#ffffff;color:#33364b;max-width:240px;font-weight:bold;padding:5px 10px;font-size:13px;position:relative;border-radius:4px;z-index:10000}verdocs-toolbar-icon .tooltip .arrow,verdocs-toolbar-icon .tooltip .arrow::before{position:absolute;width:8px;height:8px;background:inherit}verdocs-toolbar-icon .tooltip .arrow{visibility:hidden;top:-4px}verdocs-toolbar-icon .tooltip .arrow::before{visibility:visible;content:"";-webkit-transform:rotate(45deg);transform:rotate(45deg)}verdocs-toolbar-icon .tooltip[data-show]{display:block}verdocs-toolbar-icon .tooltip[data-popper-placement^=top]>.arrow{bottom:-4px}verdocs-toolbar-icon .tooltip[data-popper-placement^=bottom]>.arrow{top:-4px}verdocs-toolbar-icon .tooltip[data-popper-placement^=left]>.arrow{right:-4px}verdocs-toolbar-icon .tooltip[data-popper-placement^=right]>.arrow{left:-4px}';var f=t("verdocs_toolbar_icon",function(){function t(t){e(this,t);this.text="";this.icon="";this.containerId="verdocs-toolbar-icon-".concat(Math.random().toString(36).substring(2,11))}t.prototype.componentDidLoad=function(){this.popperInstance=s(this.iconEl,this.tooltip,{})};t.prototype.disconnectedCallback=function(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}};t.prototype.show=function(){var t,e;(t=this.tooltip)===null||t===void 0?void 0:t.setAttribute("data-show","");(e=this.popperInstance)===null||e===void 0?void 0:e.update().catch((function(){}))};t.prototype.hide=function(){var t;(t=this.tooltip)===null||t===void 0?void 0:t.removeAttribute("data-show")};t.prototype.render=function(){var t=this;return i(n,{class:{}},i("div",{"aria-describedby":this.containerId,class:"icon",innerHTML:this.icon,onMouseEnter:function(){return t.show()},onFocus:function(){return t.show()},onMouseLeave:function(){return t.hide()},onBlur:function(){return t.hide()},ref:function(e){return t.iconEl=e}}),i("div",{id:this.containerId,role:"tooltip",class:"tooltip","data-popper-placement":"bottom",ref:function(e){return t.tooltip=e}},this.text,i("div",{"data-popper-arrow":"true",class:"arrow"})))};return t}());f.style=h}}}));
2
+ //# sourceMappingURL=p-f4a3bc08.system.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/elements/verdocs-field-signature/verdocs-field-signature.scss?tag=verdocs-field-signature","src/components/elements/verdocs-field-signature/verdocs-field-signature.tsx","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.scss?tag=verdocs-signature-dialog","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.scss?tag=verdocs-toolbar-icon","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.tsx"],"names":["verdocsFieldSignatureCss","settingsIcon","VerdocsFieldSignature","exports","class_1","prototype","focusField","this","handleShow","console","log","hideDialog","_a","dialog","remove","handleAdopt","e","tempSignature","detail","fieldChange","emit","_this","document","createElement","setAttribute","name","roleindex","addEventListener","body","append","render","settings","getFieldSettings","field","value","base64","disabled","_b","backgroundColor","getRGBA","done","h","Host","class","src","alt","required","_c","style","onClick","editable","icon","label","options","placeholder","onInput","verdocsSignatureDialogCss","VerdocsSignatureDialog","class_2","componentWillLoad","enteredName","ds","FontFace","load","then","font","fonts","add","fontLoaded","componentDidLoad","redrawSignature","componentDidUpdate","canvasElement","canvasWidth","width","context","getContext","clearRect","height","fontSize","concat","measureText","textAlign","textBaseline","fillText","handleNameChange","target","handleCancel","stopPropagation","preventDefault","cancel","data","toDataURL","next","ref","el","display","size","variant","verdocsToolbarIconCss","VerdocsToolbarIcon","Math","random","toString","substring","class_3","popperInstance","createPopper","iconEl","tooltip","disconnectedCallback","destroy","show","update","catch","hide","removeAttribute","aria-describedby","containerId","innerHTML","onMouseEnter","onFocus","onMouseLeave","onBlur","id","role","data-popper-placement","text","data-popper-arrow"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-signature {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n letter-spacing: 0.3px;\n background-color: transparent;\n transform-origin: bottom left;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &.disabled {\n opacity: 0.5;\n }\n\n &.done {\n border: none;\n opacity: 1;\n }\n\n img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n }\n\n button {\n box-sizing: border-box;\n border: none;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter, Method, State} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\n\nconst settingsIcon =\n '<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>';\n\n/**\n * Displays a signature field. If a signature already exists, it will be displayed and the field will be disabled. Otherwise, a placeholder\n * button will be shown. Clicking the button will show a dialog to adopt a signature.\n */\n@Component({\n tag: 'verdocs-field-signature',\n styleUrl: 'verdocs-field-signature.scss',\n shadow: false,\n})\nexport class VerdocsFieldSignature {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * If set, the signature creation dialog will be initialized with this text.\n */\n @Prop() name?: string = '';\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop() editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop() moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop() done?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n /**\n * Event emitted when the field has changed.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n @Method() async focusField() {\n this.handleShow();\n console.log('focused', this);\n }\n\n @State()\n tempSignature: string = '';\n\n private dialog?: any;\n\n hideDialog() {\n this.dialog?.remove();\n this.dialog = null;\n }\n\n handleAdopt(e: any) {\n console.log('[SIGNATURE] Adopted signature');\n this.tempSignature = e.detail;\n this.fieldChange?.emit(this.tempSignature);\n this.hideDialog();\n }\n\n handleShow() {\n this.dialog = document.createElement('verdocs-signature-dialog');\n this.dialog.setAttribute('name', this.name);\n this.dialog.setAttribute('roleindex', this.roleindex);\n this.dialog.addEventListener('cancel', () => this.hideDialog());\n this.dialog.addEventListener('next', e => this.handleAdopt(e));\n document.body.append(this.dialog);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const value = settings.base64 || this.tempSignature;\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n if (this.done) {\n return <Host class={{done: this.done}}>{value && <img src={value} alt=\"Signature\" />}</Host>;\n }\n\n return (\n <Host class={{required: this.field?.required, disabled}} style={{backgroundColor}}>\n {value ? <img src={value} alt=\"Signature\" /> : <button onClick={() => !disabled && this.handleShow()}>Signature</button>}\n\n {this.editable && (\n <verdocs-button-panel icon={settingsIcon}>\n <h6>Field Settings</h6>\n <form>\n <verdocs-select-input\n label=\"Recipient\"\n options={[\n {label: 'Buyer', value: 'Buyer'},\n {label: 'Seller', value: 'Seller'},\n ]}\n />\n\n <verdocs-text-input label=\"Field Name\" value=\"\" placeholder=\"Stored field name...\" onInput={e => console.log('ipt', e)} />\n <verdocs-text-input label=\"Placeholder\" value=\"\" placeholder=\"Placeholder text...\" onInput={e => console.log('ipt', e)} />\n </form>\n </verdocs-button-panel>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-signature-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n position: fixed;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n\n .dialog {\n width: 100%;\n max-width: 340px;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n background: $dialog-bg;\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n padding: 20px 20px 0 20px;\n line-height: 28px;\n font-size: 20px;\n font-weight: 500;\n }\n\n .content {\n font-size: 14px;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n canvas {\n background: $verdocs-grey-4;\n box-sizing: border-box;\n margin: 0 auto;\n width: 300px;\n // TODO: The original app had an aspect ratio of (80 / 305) * (signatureBodyWidth - 20)\n height: 79px;\n max-width: 100%;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n text-align: justify;\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .as-shown {\n font-size: 11px;\n margin: 4px 0 20px 4px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n\n .tab {\n padding: 8px 15px;\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid $light-border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, State, Host} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Fired if the user cancels the dialog.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredName = this.name;\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n if (!this.canvasElement) {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredName).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.cancel.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host onClick={e => this.handleCancel(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Signature</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Full Name...\" label=\"Full Name\" value={this.enteredName} onInput={e => this.handleNameChange(e)} onClick={e => e.stopPropagation()} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n {/*<div class=\"tabs\">*/}\n {/* <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>*/}\n {/* Type*/}\n {/* </div>*/}\n {/*<div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>*/}\n {/* Draw*/}\n {/*</div>*/}\n {/*</div>*/}\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" size=\"normal\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onClick={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-toolbar-icon {\n font-family: $verdocs-primary-font;\n display: inline-block;\n\n .icon {\n display: inline-block;\n cursor: pointer;\n\n svg {\n fill: $choice-available-color;\n }\n }\n\n .tooltip {\n display: none;\n box-shadow: 0 0 10px 1px #999999;\n background: #ffffff;\n color: $label-color;\n max-width: 240px;\n font-weight: bold;\n padding: 5px 10px;\n font-size: 13px;\n position: relative;\n border-radius: 4px;\n z-index: 10000;\n\n .arrow,\n .arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n top: -4px;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n }\n\n &[data-show] {\n display: block;\n }\n\n &[data-popper-placement^='top'] > .arrow {\n bottom: -4px;\n }\n\n &[data-popper-placement^='bottom'] > .arrow {\n top: -4px;\n }\n\n &[data-popper-placement^='left'] > .arrow {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] > .arrow {\n left: -4px;\n }\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop, State} from '@stencil/core';\n// import {Component, Event, EventEmitter, h, Host, Prop, State} from '@stencil/core';\n\n/**\n * Displays a simple help icon. Upon hover or focus, a tooltip will be displayed with help text.\n */\n@Component({\n tag: 'verdocs-toolbar-icon',\n styleUrl: 'verdocs-toolbar-icon.scss',\n shadow: false,\n})\nexport class VerdocsToolbarIcon {\n iconEl: HTMLDivElement;\n tooltip: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * Help text to display on hover/focus\n */\n @Prop() text: string = '';\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n /**\n * Triggered when the icon is pressed\n */\n // @Event({composed: true}) press: EventEmitter;\n\n @State() containerId = `verdocs-toolbar-icon-${Math.random().toString(36).substring(2, 11)}`;\n\n componentDidLoad() {\n this.popperInstance = createPopper(this.iconEl, this.tooltip, {\n // placement: 'top-end',\n // modifiers: [{name: 'offset', options: {offset: [0, 10]}}],\n });\n }\n\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n show() {\n this.tooltip?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n }\n\n hide() {\n this.tooltip?.removeAttribute('data-show');\n }\n\n // handlePress() {\n // this.press?.emit();\n // }\n\n render() {\n return (\n <Host class={{}}>\n <div\n aria-describedby={this.containerId}\n class=\"icon\"\n innerHTML={this.icon}\n onMouseEnter={() => this.show()}\n onFocus={() => this.show()}\n onMouseLeave={() => this.hide()}\n onBlur={() => this.hide()}\n ref={el => (this.iconEl = el as HTMLDivElement)}\n />\n <div id={this.containerId} role=\"tooltip\" class=\"tooltip\" data-popper-placement=\"bottom\" ref={el => (this.tooltip = el as HTMLDivElement)}>\n {this.text}\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/elements/verdocs-field-signature/verdocs-field-signature.scss?tag=verdocs-field-signature","src/components/elements/verdocs-field-signature/verdocs-field-signature.tsx","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.scss?tag=verdocs-signature-dialog","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.scss?tag=verdocs-toolbar-icon","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.tsx"],"names":["verdocsFieldSignatureCss","settingsIcon","VerdocsFieldSignature","exports","class_1","prototype","focusField","this","handleShow","console","log","hideDialog","_a","dialog","remove","handleAdopt","e","tempSignature","detail","fieldChange","emit","_this","document","createElement","setAttribute","name","roleindex","addEventListener","body","append","render","settings","getFieldSettings","field","value","base64","disabled","_b","backgroundColor","getRGBA","done","h","Host","class","src","alt","required","_c","style","onClick","editable","icon","label","options","placeholder","onInput","verdocsSignatureDialogCss","VerdocsSignatureDialog","class_2","componentWillLoad","enteredName","ds","FontFace","load","then","font","fonts","add","fontLoaded","componentDidLoad","redrawSignature","componentDidUpdate","canvasElement","canvasWidth","width","context","getContext","clearRect","height","fontSize","concat","measureText","textAlign","textBaseline","fillText","handleNameChange","target","handleCancel","stopPropagation","preventDefault","cancel","data","toDataURL","next","ref","el","display","size","variant","verdocsToolbarIconCss","VerdocsToolbarIcon","Math","random","toString","substring","class_3","popperInstance","createPopper","iconEl","tooltip","disconnectedCallback","destroy","show","update","catch","hide","removeAttribute","aria-describedby","containerId","innerHTML","onMouseEnter","onFocus","onMouseLeave","onBlur","id","role","data-popper-placement","text","data-popper-arrow"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-signature {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n letter-spacing: 0.3px;\n background-color: transparent;\n transform-origin: bottom left;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &.disabled {\n opacity: 0.5;\n }\n\n &.done {\n border: none;\n opacity: 1;\n }\n\n img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n }\n\n button {\n box-sizing: border-box;\n border: none;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter, Method, State} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\n\nconst settingsIcon =\n '<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>';\n\n/**\n * Displays a signature field. If a signature already exists, it will be displayed and the field will be disabled. Otherwise, a placeholder\n * button will be shown. Clicking the button will show a dialog to adopt a signature.\n */\n@Component({\n tag: 'verdocs-field-signature',\n styleUrl: 'verdocs-field-signature.scss',\n shadow: false,\n})\nexport class VerdocsFieldSignature {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * If set, the signature creation dialog will be initialized with this text.\n */\n @Prop() name?: string = '';\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop() editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop() moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop() done?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n /**\n * Event emitted when the field has changed.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n @Method() async focusField() {\n this.handleShow();\n console.log('focused', this);\n }\n\n @State()\n tempSignature: string = '';\n\n private dialog?: any;\n\n hideDialog() {\n this.dialog?.remove();\n this.dialog = null;\n }\n\n handleAdopt(e: any) {\n console.log('[SIGNATURE] Adopted signature');\n this.tempSignature = e.detail;\n this.fieldChange?.emit(this.tempSignature);\n this.hideDialog();\n }\n\n handleShow() {\n this.dialog = document.createElement('verdocs-signature-dialog');\n this.dialog.setAttribute('name', this.name);\n this.dialog.setAttribute('roleindex', this.roleindex);\n this.dialog.addEventListener('cancel', () => this.hideDialog());\n this.dialog.addEventListener('next', e => this.handleAdopt(e));\n document.body.append(this.dialog);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const value = settings.base64 || this.tempSignature;\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n if (this.done) {\n return <Host class={{done: this.done}}>{value && <img src={value} alt=\"Signature\" />}</Host>;\n }\n\n return (\n <Host class={{required: this.field?.required, disabled}} style={{backgroundColor}}>\n {value ? <img src={value} alt=\"Signature\" /> : <button onClick={() => !disabled && this.handleShow()}>Signature</button>}\n\n {this.editable && (\n <verdocs-button-panel icon={settingsIcon}>\n <h6>Field Settings</h6>\n <form>\n <verdocs-select-input\n label=\"Recipient\"\n options={[\n {label: 'Buyer', value: 'Buyer'},\n {label: 'Seller', value: 'Seller'},\n ]}\n />\n\n <verdocs-text-input label=\"Field Name\" value=\"\" placeholder=\"Stored field name...\" onInput={e => console.log('ipt', e)} />\n <verdocs-text-input label=\"Placeholder\" value=\"\" placeholder=\"Placeholder text...\" onInput={e => console.log('ipt', e)} />\n </form>\n </verdocs-button-panel>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-signature-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n position: fixed;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n\n .dialog {\n width: 100%;\n max-width: 340px;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n background: $dialog-bg;\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n padding: 20px 20px 0 20px;\n line-height: 28px;\n font-size: 20px;\n font-weight: 500;\n }\n\n .content {\n font-size: 14px;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n canvas {\n background: $verdocs-grey-4;\n box-sizing: border-box;\n margin: 0 auto;\n width: 300px;\n // TODO: The original app had an aspect ratio of (80 / 305) * (signatureBodyWidth - 20)\n height: 79px;\n max-width: 100%;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n text-align: justify;\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .as-shown {\n font-size: 11px;\n margin: 4px 0 20px 4px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n\n .tab {\n padding: 8px 15px;\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid $light-border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, State, Host} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Fired if the user cancels the dialog.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredName = this.name;\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n if (!this.canvasElement) {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredName).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.cancel.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host onClick={e => this.handleCancel(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Signature</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Full Name...\" label=\"Full Name\" value={this.enteredName} onInput={e => this.handleNameChange(e)} onClick={e => e.stopPropagation()} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n {/*<div class=\"tabs\">*/}\n {/* <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>*/}\n {/* Type*/}\n {/* </div>*/}\n {/*<div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>*/}\n {/* Draw*/}\n {/*</div>*/}\n {/*</div>*/}\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" size=\"normal\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onClick={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-toolbar-icon {\n font-family: $verdocs-primary-font;\n display: inline-block;\n\n .icon {\n display: inline-block;\n cursor: pointer;\n\n svg {\n fill: $choice-available-color;\n }\n }\n\n .tooltip {\n display: none;\n box-shadow: 0 0 10px 1px #999999;\n background: #ffffff;\n color: $label-color;\n max-width: 240px;\n font-weight: bold;\n padding: 5px 10px;\n font-size: 13px;\n position: relative;\n border-radius: 4px;\n z-index: 10000;\n\n .arrow,\n .arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n top: -4px;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n }\n\n &[data-show] {\n display: block;\n }\n\n &[data-popper-placement^='top'] > .arrow {\n bottom: -4px;\n }\n\n &[data-popper-placement^='bottom'] > .arrow {\n top: -4px;\n }\n\n &[data-popper-placement^='left'] > .arrow {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] > .arrow {\n left: -4px;\n }\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop, State} from '@stencil/core';\n// import {Component, Event, EventEmitter, h, Host, Prop, State} from '@stencil/core';\n\n/**\n * Displays a simple help icon. Upon hover or focus, a tooltip will be displayed with help text.\n */\n@Component({\n tag: 'verdocs-toolbar-icon',\n styleUrl: 'verdocs-toolbar-icon.scss',\n shadow: false,\n})\nexport class VerdocsToolbarIcon {\n iconEl: HTMLDivElement;\n tooltip: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * Help text to display on hover/focus\n */\n @Prop() text: string = '';\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n /**\n * Triggered when the icon is pressed\n */\n // @Event({composed: true}) press: EventEmitter;\n\n @State() containerId = `verdocs-toolbar-icon-${Math.random().toString(36).substring(2, 11)}`;\n\n componentDidLoad() {\n this.popperInstance = createPopper(this.iconEl, this.tooltip, {\n // placement: 'top-end',\n // modifiers: [{name: 'offset', options: {offset: [0, 10]}}],\n });\n }\n\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n show() {\n this.tooltip?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n }\n\n hide() {\n this.tooltip?.removeAttribute('data-show');\n }\n\n // handlePress() {\n // this.press?.emit();\n // }\n\n render() {\n return (\n <Host class={{}}>\n <div\n aria-describedby={this.containerId}\n class=\"icon\"\n innerHTML={this.icon}\n onMouseEnter={() => this.show()}\n onFocus={() => this.show()}\n onMouseLeave={() => this.hide()}\n onBlur={() => this.hide()}\n ref={el => (this.iconEl = el as HTMLDivElement)}\n />\n <div id={this.containerId} role=\"tooltip\" class=\"tooltip\" data-popper-placement=\"bottom\" ref={el => (this.tooltip = el as HTMLDivElement)}>\n {this.text}\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n </div>\n </Host>\n );\n }\n}\n"]}