@verdocs/web-sdk 1.9.38 → 1.10.0

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 (273) hide show
  1. package/dist/cjs/Envelopes-68058bbe.js +118 -0
  2. package/dist/cjs/{Envelopes-f2f8dd92.js → Envelopes-d30cba62.js} +2 -2
  3. package/dist/cjs/{VerdocsEndpoint-257ebdb3.js → VerdocsEndpoint-38feb32a.js} +57 -25
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{utils-0ec89d7d.js → utils-712ba3ec.js} +20 -115
  6. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-build.cjs.entry.js +4 -1
  8. package/dist/cjs/{verdocs-button-panel_3.cjs.entry.js → verdocs-button-panel_2.cjs.entry.js} +0 -19
  9. package/dist/cjs/verdocs-component-error.cjs.entry.js +20 -0
  10. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-document-page_2.cjs.entry.js +3 -2
  12. package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -0
  13. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +221 -0
  14. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -1
  15. package/dist/cjs/verdocs-field-date.cjs.entry.js +2 -1
  16. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
  17. package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -1
  18. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
  19. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +3 -2
  20. package/dist/cjs/verdocs-field-signature.cjs.entry.js +70 -0
  21. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -1
  22. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -2
  23. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -1
  24. package/dist/cjs/verdocs-floating-menu_2.cjs.entry.js +151 -0
  25. package/dist/cjs/verdocs-preview.cjs.entry.js +3 -2
  26. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +2 -2
  27. package/dist/cjs/verdocs-search.cjs.entry.js +1 -1
  28. package/dist/cjs/verdocs-send.cjs.entry.js +3 -2
  29. package/dist/cjs/verdocs-sign.cjs.entry.js +24 -23
  30. package/dist/cjs/{verdocs-field-signature_3.cjs.entry.js → verdocs-signature-dialog.cjs.entry.js} +0 -104
  31. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +153 -37
  32. package/dist/cjs/verdocs-text-input.cjs.entry.js +25 -0
  33. package/dist/cjs/verdocs-view.cjs.entry.js +4 -3
  34. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  35. package/dist/collection/collection-manifest.json +3 -0
  36. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +1 -0
  37. package/dist/collection/components/controls/verdocs-floating-menu/verdocs-floating-menu.css +91 -0
  38. package/dist/collection/components/controls/verdocs-floating-menu/verdocs-floating-menu.js +158 -0
  39. package/dist/collection/components/controls/verdocs-floating-menu/verdocs-floating-menu.stories.js +49 -0
  40. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.css +8 -1
  41. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +29 -2
  42. package/dist/collection/components/elements/verdocs-component-error/verdocs-component-error.css +16 -0
  43. package/dist/collection/components/elements/verdocs-component-error/verdocs-component-error.js +46 -0
  44. package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.js +1 -1
  45. package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.css +159 -0
  46. package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +299 -0
  47. package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.stories.js +12 -0
  48. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.css +2 -2
  49. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.css +2 -3
  50. package/dist/collection/components/elements/verdocs-template-create/verdocs-template-create.js +7 -2
  51. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.css +34 -41
  52. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +128 -34
  53. package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js +4 -1
  54. package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.js +1 -0
  55. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +3 -0
  56. package/dist/collection/utils/utils.js +16 -0
  57. package/dist/components/Envelopes.js +69 -0
  58. package/dist/components/Envelopes2.js +111 -0
  59. package/dist/components/VerdocsEndpoint.js +57 -25
  60. package/dist/components/index.d.ts +3 -0
  61. package/dist/components/index.js +3 -0
  62. package/dist/components/utils.js +18 -110
  63. package/dist/components/verdocs-build.js +19 -28
  64. package/dist/components/verdocs-component-error.d.ts +11 -0
  65. package/dist/components/verdocs-component-error.js +6 -0
  66. package/dist/components/verdocs-component-error2.js +33 -0
  67. package/dist/components/verdocs-document-page2.js +1 -1
  68. package/dist/components/verdocs-dropdown2.js +1 -0
  69. package/dist/components/verdocs-envelope-sidebar.d.ts +11 -0
  70. package/dist/components/verdocs-envelope-sidebar.js +242 -0
  71. package/dist/components/verdocs-field-radio-button.js +1 -1
  72. package/dist/components/verdocs-field-signature.js +116 -1
  73. package/dist/components/verdocs-field-textbox.js +1 -1
  74. package/dist/components/verdocs-floating-menu.d.ts +11 -0
  75. package/dist/components/verdocs-floating-menu.js +6 -0
  76. package/dist/components/verdocs-floating-menu2.js +125 -0
  77. package/dist/components/verdocs-search-activity2.js +1 -1
  78. package/dist/components/verdocs-sign.js +5 -3
  79. package/dist/components/verdocs-template-create2.js +15 -4
  80. package/dist/components/verdocs-template-fields2.js +152 -69
  81. package/dist/components/verdocs-template-properties2.js +14 -5
  82. package/dist/components/verdocs-template-recipients2.js +1 -0
  83. package/dist/components/verdocs-toolbar-icon2.js +8 -3
  84. package/dist/components/verdocs-view2.js +3 -68
  85. package/dist/docs.json +281 -36
  86. package/dist/esm/Envelopes-130fd6ea.js +111 -0
  87. package/dist/esm/{Envelopes-779de57c.js → Envelopes-6982dfc6.js} +1 -1
  88. package/dist/esm/{VerdocsEndpoint-28ba21cc.js → VerdocsEndpoint-6df32d3a.js} +57 -25
  89. package/dist/esm/loader.js +1 -1
  90. package/dist/esm/{utils-06d58b15.js → utils-3d95c588.js} +18 -110
  91. package/dist/esm/verdocs-auth.entry.js +1 -1
  92. package/dist/esm/verdocs-build.entry.js +4 -1
  93. package/dist/esm/{verdocs-button-panel_3.entry.js → verdocs-button-panel_2.entry.js} +1 -19
  94. package/dist/esm/verdocs-component-error.entry.js +16 -0
  95. package/dist/esm/verdocs-contact-picker.entry.js +1 -1
  96. package/dist/esm/verdocs-document-page_2.entry.js +3 -2
  97. package/dist/esm/verdocs-dropdown.entry.js +1 -0
  98. package/dist/esm/verdocs-envelope-sidebar.entry.js +217 -0
  99. package/dist/esm/verdocs-field-checkbox.entry.js +2 -1
  100. package/dist/esm/verdocs-field-date.entry.js +2 -1
  101. package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
  102. package/dist/esm/verdocs-field-initial.entry.js +2 -1
  103. package/dist/esm/verdocs-field-payment.entry.js +2 -1
  104. package/dist/esm/verdocs-field-radio-button.entry.js +3 -2
  105. package/dist/{components/verdocs-field-signature2.js → esm/verdocs-field-signature.entry.js} +12 -64
  106. package/dist/esm/verdocs-field-textarea.entry.js +2 -1
  107. package/dist/esm/verdocs-field-textbox.entry.js +3 -2
  108. package/dist/esm/verdocs-field-timestamp.entry.js +2 -1
  109. package/dist/esm/verdocs-floating-menu_2.entry.js +146 -0
  110. package/dist/esm/verdocs-preview.entry.js +3 -2
  111. package/dist/esm/verdocs-quick-functions_3.entry.js +2 -2
  112. package/dist/esm/verdocs-search.entry.js +1 -1
  113. package/dist/esm/verdocs-send.entry.js +3 -2
  114. package/dist/esm/verdocs-sign.entry.js +5 -4
  115. package/dist/esm/{verdocs-field-signature_3.entry.js → verdocs-signature-dialog.entry.js} +1 -103
  116. package/dist/esm/verdocs-template-create_4.entry.js +153 -37
  117. package/dist/esm/verdocs-text-input.entry.js +21 -0
  118. package/dist/esm/verdocs-view.entry.js +4 -3
  119. package/dist/esm/verdocs-web-sdk.js +1 -1
  120. package/dist/esm-es5/Envelopes-130fd6ea.js +1 -0
  121. package/dist/esm-es5/Envelopes-6982dfc6.js +1 -0
  122. package/dist/esm-es5/VerdocsEndpoint-6df32d3a.js +1 -0
  123. package/dist/esm-es5/loader.js +1 -1
  124. package/dist/esm-es5/utils-3d95c588.js +1 -0
  125. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  126. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  127. package/dist/esm-es5/{verdocs-button-panel_3.entry.js → verdocs-button-panel_2.entry.js} +1 -1
  128. package/dist/esm-es5/verdocs-component-error.entry.js +1 -0
  129. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  130. package/dist/esm-es5/verdocs-document-page_2.entry.js +1 -1
  131. package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
  132. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -0
  133. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  134. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  136. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  138. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  139. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -0
  140. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  141. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  142. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  143. package/dist/esm-es5/verdocs-floating-menu_2.entry.js +1 -0
  144. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  145. package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
  146. package/dist/esm-es5/verdocs-search.entry.js +1 -1
  147. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  148. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  149. package/dist/esm-es5/verdocs-signature-dialog.entry.js +1 -0
  150. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  151. package/dist/esm-es5/verdocs-text-input.entry.js +1 -0
  152. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  153. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  154. package/dist/types/components/controls/verdocs-floating-menu/verdocs-floating-menu.d.ts +31 -0
  155. package/dist/types/components/controls/verdocs-floating-menu/verdocs-floating-menu.stories.d.ts +7 -0
  156. package/dist/types/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.d.ts +5 -0
  157. package/dist/types/components/elements/verdocs-component-error/verdocs-component-error.d.ts +10 -0
  158. package/dist/types/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +39 -0
  159. package/dist/types/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.stories.d.ts +6 -0
  160. package/dist/types/components/elements/verdocs-template-fields/verdocs-template-fields.d.ts +14 -3
  161. package/dist/types/components.d.ts +97 -0
  162. package/dist/types/utils/Types.d.ts +0 -1
  163. package/dist/types/utils/utils.d.ts +2 -2
  164. package/dist/verdocs-web-sdk/p-03833051.system.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/p-0eb992eb.entry.js +1 -0
  166. package/dist/verdocs-web-sdk/{p-0a33398a.entry.js → p-17fd7860.entry.js} +1 -1
  167. package/dist/verdocs-web-sdk/p-18cf7ea1.system.entry.js +1 -0
  168. package/dist/verdocs-web-sdk/p-1be43032.system.entry.js +1 -0
  169. package/dist/verdocs-web-sdk/p-1ef0501b.entry.js +1 -0
  170. package/dist/verdocs-web-sdk/p-23033619.system.entry.js +1 -0
  171. package/dist/verdocs-web-sdk/{p-89f25d01.entry.js → p-266e163c.entry.js} +1 -1
  172. package/dist/verdocs-web-sdk/{p-ddda809b.system.js → p-2d687108.system.js} +1 -1
  173. package/dist/verdocs-web-sdk/p-2e4dfdc6.js +1 -0
  174. package/dist/verdocs-web-sdk/p-328453a9.system.entry.js +1 -0
  175. package/dist/verdocs-web-sdk/p-3599f81f.entry.js +1 -0
  176. package/dist/verdocs-web-sdk/p-3dbf8bec.entry.js +1 -0
  177. package/dist/verdocs-web-sdk/p-3dcd05aa.system.entry.js +1 -0
  178. package/dist/verdocs-web-sdk/{p-aa3a42a4.system.entry.js → p-45ac2230.system.entry.js} +1 -1
  179. package/dist/verdocs-web-sdk/{p-5597170d.system.entry.js → p-46bb5543.system.entry.js} +1 -1
  180. package/dist/verdocs-web-sdk/{p-4490a384.system.entry.js → p-47dfcf69.system.entry.js} +1 -1
  181. package/dist/verdocs-web-sdk/p-50f82ed8.entry.js +1 -0
  182. package/dist/verdocs-web-sdk/p-5b114f68.system.entry.js +1 -0
  183. package/dist/verdocs-web-sdk/p-5b8dbf0b.system.entry.js +1 -0
  184. package/dist/verdocs-web-sdk/p-5c7ef99f.system.entry.js +1 -0
  185. package/dist/verdocs-web-sdk/{p-14c69e28.system.entry.js → p-5d220e75.system.entry.js} +1 -1
  186. package/dist/verdocs-web-sdk/p-621c7079.system.entry.js +1 -0
  187. package/dist/verdocs-web-sdk/p-644cc3c3.js +1 -0
  188. package/dist/verdocs-web-sdk/{p-72b4fa6b.entry.js → p-6b205bb5.entry.js} +1 -1
  189. package/dist/verdocs-web-sdk/p-787a334a.system.entry.js +1 -0
  190. package/dist/verdocs-web-sdk/p-7b357e1a.entry.js +1 -0
  191. package/dist/verdocs-web-sdk/p-7b66bc0d.system.entry.js +1 -0
  192. package/dist/verdocs-web-sdk/p-804fbf15.entry.js +1 -0
  193. package/dist/verdocs-web-sdk/p-838d889b.system.entry.js +1 -0
  194. package/dist/verdocs-web-sdk/{p-a42a5853.system.entry.js → p-86a8b6ad.system.entry.js} +1 -1
  195. package/dist/verdocs-web-sdk/p-880b619d.js +1 -0
  196. package/dist/verdocs-web-sdk/{p-2d36b5a3.entry.js → p-8a2dbb48.entry.js} +1 -1
  197. package/dist/verdocs-web-sdk/p-8f50fd8e.system.entry.js +1 -0
  198. package/dist/verdocs-web-sdk/p-8f873d8e.system.entry.js +1 -0
  199. package/dist/verdocs-web-sdk/p-90a92236.system.entry.js +1 -0
  200. package/dist/verdocs-web-sdk/p-938a7d4e.system.entry.js +1 -0
  201. package/dist/verdocs-web-sdk/p-95016ea1.entry.js +1 -0
  202. package/dist/verdocs-web-sdk/p-a140f6f9.entry.js +1 -0
  203. package/dist/verdocs-web-sdk/p-a1412c61.system.entry.js +1 -0
  204. package/dist/verdocs-web-sdk/p-a32f90e9.entry.js +1 -0
  205. package/dist/verdocs-web-sdk/p-a4dc6a79.system.js +1 -0
  206. package/dist/verdocs-web-sdk/p-aba1f14b.system.entry.js +1 -0
  207. package/dist/verdocs-web-sdk/{p-123572b9.entry.js → p-ae3b30c6.entry.js} +1 -1
  208. package/dist/verdocs-web-sdk/{p-ba6c3671.system.entry.js → p-b505db92.system.entry.js} +1 -1
  209. package/dist/verdocs-web-sdk/p-b5c21eda.entry.js +1 -0
  210. package/dist/verdocs-web-sdk/p-b8faf8b8.entry.js +1 -0
  211. package/dist/verdocs-web-sdk/p-ba23b639.entry.js +1 -0
  212. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  213. package/dist/verdocs-web-sdk/p-c3ba021b.entry.js +1 -0
  214. package/dist/verdocs-web-sdk/{p-4f72d7e9.js → p-c4deb4b7.js} +1 -1
  215. package/dist/verdocs-web-sdk/p-c6370ca8.entry.js +1 -0
  216. package/dist/verdocs-web-sdk/p-ce442d55.entry.js +1 -0
  217. package/dist/verdocs-web-sdk/p-d0c587f1.entry.js +1 -0
  218. package/dist/verdocs-web-sdk/p-d30ee967.system.entry.js +1 -0
  219. package/dist/verdocs-web-sdk/p-d36ae684.entry.js +1 -0
  220. package/dist/verdocs-web-sdk/p-d6d95682.system.entry.js +1 -0
  221. package/dist/verdocs-web-sdk/p-d7e31573.system.js +1 -0
  222. package/dist/verdocs-web-sdk/p-d946b1b6.entry.js +1 -0
  223. package/dist/verdocs-web-sdk/p-d9ff093e.system.entry.js +1 -0
  224. package/dist/verdocs-web-sdk/p-e0cfad01.system.js +1 -0
  225. package/dist/verdocs-web-sdk/p-eb68cf29.entry.js +1 -0
  226. package/dist/verdocs-web-sdk/p-ec7a9c6e.entry.js +1 -0
  227. package/dist/verdocs-web-sdk/p-f43721cf.entry.js +1 -0
  228. package/dist/verdocs-web-sdk/p-ff45cca0.entry.js +1 -0
  229. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  230. package/package.json +15 -15
  231. package/dist/esm-es5/Envelopes-779de57c.js +0 -1
  232. package/dist/esm-es5/VerdocsEndpoint-28ba21cc.js +0 -1
  233. package/dist/esm-es5/utils-06d58b15.js +0 -1
  234. package/dist/esm-es5/verdocs-field-signature_3.entry.js +0 -1
  235. package/dist/verdocs-web-sdk/p-0315f91f.system.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-0592cb20.system.entry.js +0 -1
  237. package/dist/verdocs-web-sdk/p-0b67a5f1.system.js +0 -1
  238. package/dist/verdocs-web-sdk/p-16fe44ba.entry.js +0 -1
  239. package/dist/verdocs-web-sdk/p-17136749.system.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-1cc4f8c2.entry.js +0 -1
  241. package/dist/verdocs-web-sdk/p-24b9c1a3.system.entry.js +0 -1
  242. package/dist/verdocs-web-sdk/p-2c776579.system.entry.js +0 -1
  243. package/dist/verdocs-web-sdk/p-34bed726.system.entry.js +0 -1
  244. package/dist/verdocs-web-sdk/p-34e3df55.entry.js +0 -1
  245. package/dist/verdocs-web-sdk/p-3ee11027.entry.js +0 -1
  246. package/dist/verdocs-web-sdk/p-41b71077.system.entry.js +0 -1
  247. package/dist/verdocs-web-sdk/p-427524bd.entry.js +0 -1
  248. package/dist/verdocs-web-sdk/p-4814e58e.entry.js +0 -1
  249. package/dist/verdocs-web-sdk/p-49d804da.js +0 -1
  250. package/dist/verdocs-web-sdk/p-57165db2.system.entry.js +0 -1
  251. package/dist/verdocs-web-sdk/p-5dec58c2.entry.js +0 -1
  252. package/dist/verdocs-web-sdk/p-5e67c42f.js +0 -1
  253. package/dist/verdocs-web-sdk/p-5faa7077.system.entry.js +0 -1
  254. package/dist/verdocs-web-sdk/p-602a22c7.entry.js +0 -1
  255. package/dist/verdocs-web-sdk/p-6239f230.entry.js +0 -1
  256. package/dist/verdocs-web-sdk/p-63a00853.entry.js +0 -1
  257. package/dist/verdocs-web-sdk/p-69a32638.system.entry.js +0 -1
  258. package/dist/verdocs-web-sdk/p-6a75bbb5.entry.js +0 -1
  259. package/dist/verdocs-web-sdk/p-787252e0.entry.js +0 -1
  260. package/dist/verdocs-web-sdk/p-7a6c829f.system.js +0 -1
  261. package/dist/verdocs-web-sdk/p-85f91c34.system.entry.js +0 -1
  262. package/dist/verdocs-web-sdk/p-893553e7.system.entry.js +0 -1
  263. package/dist/verdocs-web-sdk/p-93bf1041.entry.js +0 -1
  264. package/dist/verdocs-web-sdk/p-99c2766b.entry.js +0 -1
  265. package/dist/verdocs-web-sdk/p-9c595648.system.entry.js +0 -1
  266. package/dist/verdocs-web-sdk/p-a5698580.system.entry.js +0 -1
  267. package/dist/verdocs-web-sdk/p-ac4c1ad8.entry.js +0 -1
  268. package/dist/verdocs-web-sdk/p-b39a41fc.system.entry.js +0 -1
  269. package/dist/verdocs-web-sdk/p-ba02faae.system.entry.js +0 -1
  270. package/dist/verdocs-web-sdk/p-e9e18f1a.entry.js +0 -1
  271. package/dist/verdocs-web-sdk/p-ef845e9c.system.entry.js +0 -1
  272. package/dist/verdocs-web-sdk/p-f80f538d.entry.js +0 -1
  273. package/dist/verdocs-web-sdk/p-fcf9e8f0.entry.js +0 -1
@@ -1,9 +1,10 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as createTemplate, g as getTemplate } from './Templates2.js';
3
3
  import './Types.js';
4
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
5
  import { S as SDKError } from './errors.js';
6
- import { d as defineCustomElement$1 } from './verdocs-button2.js';
6
+ import { d as defineCustomElement$2 } from './verdocs-button2.js';
7
+ import { d as defineCustomElement$1 } from './verdocs-component-error2.js';
7
8
 
8
9
  /**
9
10
  * A TemplateDocument represents a PDF or other attachment in a Template.
@@ -49,7 +50,9 @@ const VerdocsTemplateCreate = /*@__PURE__*/ proxyCustomElement(class extends HTM
49
50
  this.endpoint = VerdocsEndpoint.getDefault();
50
51
  this.file = undefined;
51
52
  }
52
- componentWillLoad() { }
53
+ componentWillLoad() {
54
+ this.endpoint.loadSession();
55
+ }
53
56
  handleFileChanged(e) {
54
57
  var _a;
55
58
  console.log('files', e.target.files);
@@ -94,6 +97,9 @@ const VerdocsTemplateCreate = /*@__PURE__*/ proxyCustomElement(class extends HTM
94
97
  }
95
98
  }
96
99
  render() {
100
+ if (!this.endpoint.session) {
101
+ return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
102
+ }
97
103
  return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("input", { type: "file", id: "verdocs-template-create-file", multiple: true, accept: "application/pdf", style: { display: 'none' }, onChange: e => this.handleFileChanged(e) }), h("div", { class: "upload-box" }, h("div", null, h("span", { innerHTML: FileIcon })), h("div", { style: { marginTop: '20px', fontSize: '20px', fontWeight: 'bold' } }, "Drag a file here"), h("div", { style: { marginTop: '20px', marginBottom: '20px', fontSize: '16px' } }, "Or, if you prefer..."), h("verdocs-button", { label: "Select a file from your computer", size: "small", onClick: e => this.handleUpload(e) })), h("div", { class: "buttons" }, h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Next", size: "small", onClick: e => this.handleSubmit(e), disabled: !this.file }))));
98
104
  }
99
105
  static get style() { return verdocsTemplateCreateCss; }
@@ -105,7 +111,7 @@ function defineCustomElement() {
105
111
  if (typeof customElements === "undefined") {
106
112
  return;
107
113
  }
108
- const components = ["verdocs-template-create", "verdocs-button"];
114
+ const components = ["verdocs-template-create", "verdocs-button", "verdocs-component-error"];
109
115
  components.forEach(tagName => { switch (tagName) {
110
116
  case "verdocs-template-create":
111
117
  if (!customElements.get(tagName)) {
@@ -113,6 +119,11 @@ function defineCustomElement() {
113
119
  }
114
120
  break;
115
121
  case "verdocs-button":
122
+ if (!customElements.get(tagName)) {
123
+ defineCustomElement$2();
124
+ }
125
+ break;
126
+ case "verdocs-component-error":
116
127
  if (!customElements.get(tagName)) {
117
128
  defineCustomElement$1();
118
129
  }
@@ -1,23 +1,36 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { i as interact } from './interact.min.js';
3
3
  import './Types.js';
4
- import { g as getRGBA } from './Colors.js';
5
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
6
- import { r as renderDocumentField, a as getRoleIndex, h as updateCssTransform } from './utils.js';
5
+ import { a as getRoleIndex, r as renderDocumentField, c as updateCssTransform, d as defaultWidth, e as defaultHeight } from './utils.js';
7
6
  import { s as state } from './templateStore.js';
8
7
  import { l as loadTemplate } from './Templates.js';
9
8
  import { S as SDKError } from './errors.js';
10
- import { d as defineCustomElement$9 } from './verdocs-button2.js';
11
- import { d as defineCustomElement$8 } from './verdocs-button-panel2.js';
12
- import { d as defineCustomElement$7 } from './verdocs-document-page2.js';
13
- import { d as defineCustomElement$6 } from './verdocs-field-signature2.js';
14
- import { d as defineCustomElement$5 } from './verdocs-loader2.js';
15
- import { d as defineCustomElement$4 } from './verdocs-select-input2.js';
16
- import { d as defineCustomElement$3 } from './verdocs-signature-dialog2.js';
17
- import { d as defineCustomElement$2 } from './verdocs-text-input2.js';
9
+ import { d as defineCustomElement$5 } from './verdocs-component-error2.js';
10
+ import { d as defineCustomElement$4 } from './verdocs-document-page2.js';
11
+ import { d as defineCustomElement$3 } from './verdocs-floating-menu2.js';
12
+ import { d as defineCustomElement$2 } from './verdocs-loader2.js';
18
13
  import { d as defineCustomElement$1 } from './verdocs-toolbar-icon2.js';
19
14
 
20
- const verdocsTemplateFieldsCss = "verdocs-template-fields{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-fields .page-0{padding:65px 15px 0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .page-0 .user-placed-fields{height:100px;position:relative;background:#ffffff;-webkit-box-shadow:0 0 10px 5px #0000000f;box-shadow:0 0 10px 5px #0000000f}verdocs-template-fields .page-0 .user-placed-fields .title{top:0;left:0;color:#ffffff;font-size:12px;padding:3px 6px;font-weight:bold;position:absolute;background:#46497d}verdocs-template-fields .fields-bar{height:50px;display:-ms-flexbox;display:flex;z-index:10000;position:fixed;padding:5px 20px;line-height:28px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-webkit-box-sizing:border-box;box-sizing:border-box;background:#46497d}verdocs-template-fields .fields-bar .label{color:#ffffff;font-size:14px;font-weight:bold;margin-right:8px}verdocs-template-fields .fields-bar .icon{margin:0 4px;display:-ms-flexbox;display:flex;-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}verdocs-template-fields .fields-bar .icon svg{fill:#ffffff}verdocs-template-fields .fields-bar .operation{border:none;outline:none;color:#ffffff;cursor:pointer;font-size:16px;margin-left:10px;background:transparent;text-transform:uppercase}verdocs-template-fields .fields-bar .operation:disabled{color:#cccccc;cursor:inherit;pointer-events:none}verdocs-template-fields .pages{display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-template-fields .pages div,verdocs-template-fields .pages canvas{-webkit-box-sizing:border-box;box-sizing:border-box}";
15
+ /**
16
+ * Add a field to a template.
17
+ */
18
+ var createField = function (endpoint, templateId, params) {
19
+ return endpoint.api //
20
+ // curl -X POST 'https://api.verdocs.com/templates/d2338742-f3a1-465b-8592-806587413cc1/fields' \
21
+ .post("/templates/".concat(templateId, "/fields"), params)
22
+ .then(function (r) { return r.data; });
23
+ };
24
+ /**
25
+ * Update a template field.
26
+ */
27
+ var editField = function (endpoint, templateId, fieldName, params) {
28
+ return endpoint.api //
29
+ .put("/templates/".concat(templateId, "/fields/").concat(fieldName), params)
30
+ .then(function (r) { return r.data; });
31
+ };
32
+
33
+ const verdocsTemplateFieldsCss = "verdocs-template-fields{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;position:relative}verdocs-template-fields .page-0{padding:65px 15px 0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .page-0 .user-placed-fields{height:100px;position:relative;background:#ffffff;-webkit-box-shadow:0 0 10px 5px #0000000f;box-shadow:0 0 10px 5px #0000000f}verdocs-template-fields .page-0 .user-placed-fields .title{top:0;left:0;color:#ffffff;font-size:12px;padding:3px 6px;font-weight:bold;position:absolute;background:#46497d}verdocs-template-fields .pages{display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-template-fields .pages div,verdocs-template-fields .pages canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields.placing-attachment{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-checkbox{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-date{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-dropdown{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-initial{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-payment{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-radio{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-signature{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-textarea{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-textbox{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-timestamp{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}";
21
34
 
22
35
  const iconSingleline = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z"/></svg>';
23
36
  const iconMultiline = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z"/></svg>';
@@ -26,6 +39,19 @@ const iconRadio = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24
26
39
  const iconDatepicker = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z"/></svg>';
27
40
  const iconSignature = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z"/></svg>';
28
41
  const iconInitial = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z"/></svg>';
42
+ const menuOptions = [
43
+ { id: 'attachment', tooltip: 'Attachment', icon: 'A' },
44
+ { id: 'checkbox', tooltip: 'Check Box', icon: iconCheck },
45
+ { id: 'date', tooltip: 'Date', icon: iconDatepicker },
46
+ { id: 'dropdown', tooltip: 'Dropdown', icon: 'O' },
47
+ { id: 'initial', tooltip: 'Initials', icon: iconInitial },
48
+ { id: 'payment', tooltip: 'Payment', icon: 'P' },
49
+ { id: 'radio', tooltip: 'Radio Button', icon: iconRadio },
50
+ { id: 'signature', tooltip: 'Signature', icon: iconSignature },
51
+ { id: 'textarea', tooltip: 'Text Area', icon: iconMultiline },
52
+ { id: 'textbox', tooltip: 'Text Box', icon: iconSingleline },
53
+ { id: 'timestamp', tooltip: 'Timestamp', icon: 'X' },
54
+ ];
29
55
  const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
30
56
  constructor() {
31
57
  super();
@@ -33,8 +59,12 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
33
59
  this.next = createEvent(this, "next", 7);
34
60
  this.cancel = createEvent(this, "cancel", 7);
35
61
  this.sdkError = createEvent(this, "sdkError", 7);
62
+ this.pageHeights = {};
63
+ this.cachedPageInfo = {};
36
64
  this.endpoint = VerdocsEndpoint.getDefault();
37
65
  this.templateId = null;
66
+ this.placing = null;
67
+ this.selectedRoleName = '';
38
68
  }
39
69
  async componentWillLoad() {
40
70
  var _a, _b, _c, _d, _e, _f;
@@ -44,9 +74,15 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
44
74
  console.log(`[FIELDS] Missing required template ID ${this.templateId}`);
45
75
  return;
46
76
  }
77
+ if (!this.endpoint.session) {
78
+ console.log('[BUILD] Unable to start builder session, must be authenticated');
79
+ return;
80
+ }
47
81
  try {
48
- console.log(`[FIELDS] Loading template ${this.templateId}`);
82
+ console.log(`[FIELDS] Loading template ${this.templateId}`, this.endpoint.session);
49
83
  await loadTemplate(this.endpoint, this.templateId);
84
+ this.selectedRoleName = state.roleNames[0];
85
+ console.log('Starting with role', this.selectedRoleName);
50
86
  }
51
87
  catch (e) {
52
88
  console.log('[FIELDS] Error loading template', e);
@@ -59,30 +95,40 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
59
95
  }
60
96
  }
61
97
  componentDidRender() {
62
- // console.log('rendered', this.page0El, this.toolbarEl);
63
- // console.log('w', this.page0El.clientWidth);
64
- // console.log('t', this.toolbarEl.clientWidth);
65
98
  interact.dynamicDrop(true);
66
- this.toolbarEl.style.width = `${this.page0El.clientWidth}px`;
67
99
  }
68
100
  async handleFieldChange(field, e, optionId) {
69
101
  console.log('[FIELDS] handleFieldChange', field, e, optionId);
70
102
  }
103
+ attachFieldAttributes(pageInfo, field, roleIndex, el) {
104
+ el.addEventListener('input', e => this.handleFieldChange(field, e));
105
+ el.setAttribute('roleindex', roleIndex);
106
+ el.setAttribute('pageNumber', pageInfo.pageNumber);
107
+ el.setAttribute('xScale', pageInfo.xScale);
108
+ el.setAttribute('yScale', pageInfo.yScale);
109
+ el.setAttribute('name', field.name);
110
+ }
71
111
  handlePageRendered(e) {
72
112
  const pageInfo = e.detail;
73
113
  console.log('[FIELDS] Page rendered', pageInfo);
114
+ this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
115
+ this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
116
+ console.log('tsf', pageInfo.pageNumber, state.fields);
74
117
  const fields = state.fields.filter(field => field.page_sequence === pageInfo.pageNumber);
75
118
  // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
76
119
  console.log('[FIELDS] Fields on page', fields);
77
120
  fields.forEach(field => {
78
- const el = renderDocumentField(field, pageInfo, getRoleIndex(state.roleNames, field.role_name), { disabled: true, editable: true, draggable: true });
121
+ const roleIndex = getRoleIndex(state.roleNames, field.role_name);
122
+ const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
79
123
  if (!el) {
80
124
  return;
81
125
  }
82
- el.addEventListener('input', e => this.handleFieldChange(field, e));
83
- el.addEventListener('recipientChanged', e => el.setAttribute('roleindex', getRoleIndex(state.roleNames, e.detail)));
84
- el.setAttribute('xScale', pageInfo.xScale);
85
- el.setAttribute('yScale', pageInfo.yScale);
126
+ if (Array.isArray(el)) {
127
+ el.map(e => this.attachFieldAttributes(pageInfo, field, roleIndex, e));
128
+ }
129
+ else {
130
+ this.attachFieldAttributes(pageInfo, field, roleIndex, el);
131
+ }
86
132
  interact(el).draggable({
87
133
  listeners: {
88
134
  start(event) {
@@ -99,95 +145,132 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
99
145
  event.target.setAttribute('posy', newY);
100
146
  updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
101
147
  },
102
- end(event) {
103
- console.log('[FIELDS] Drag ended', event);
104
- // event.target.setAttribute('posX', 0);
105
- // event.target.setAttribute('posy', 0);
106
- // updateCssTransform(event.target, 'translate', `${0}px, ${0}px`);
107
- },
148
+ end: this.handleMoveField.bind(this),
108
149
  },
109
150
  });
110
151
  });
111
152
  }
153
+ async handleMoveField(e) {
154
+ const pageNumber = e.target.getAttribute('pageNumber');
155
+ const { naturalWidth = 612, naturalHeight = 792, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
156
+ console.log('[FIELDS] Drag ended', pageNumber, e.target);
157
+ const clientRect = e.target.getBoundingClientRect();
158
+ const parent = e.target.parentElement;
159
+ const parentRect = parent.getBoundingClientRect();
160
+ // These two being backwards is not a mistake. Left measures "over" from the left (positive displacement) while bottom measures
161
+ // "up" from the bottom (negative displacement).
162
+ const newX = Math.max(clientRect.left - parentRect.left, 0);
163
+ const newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);
164
+ const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - e.rect.width, naturalHeight - e.rect.height);
165
+ const name = e.target.getAttribute('name');
166
+ const field = state.fields.find(field => field.name === name);
167
+ if (field) {
168
+ field.setting.x = x;
169
+ field.setting.y = y;
170
+ const edited = await editField(this.endpoint, this.templateId, name, field);
171
+ console.log('edited field', edited);
172
+ this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
173
+ }
174
+ }
175
+ generateFieldName(type, pageNumber) {
176
+ var _a;
177
+ const page = (_a = state.template.pages) === null || _a === void 0 ? void 0 : _a[pageNumber - 1];
178
+ const fields = (page === null || page === void 0 ? void 0 : page.fields) || [];
179
+ return `${type}P${pageNumber}-${fields.length}`;
180
+ }
181
+ // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
182
+ viewCoordinatesToPageCoordinates(viewX, viewY, pageNumber, xMax, yMax) {
183
+ const { xScale = 1, yScale = 1, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
184
+ const x = Math.floor(Math.min(viewX / xScale, xMax));
185
+ const y = Math.floor(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));
186
+ return { x, y };
187
+ }
188
+ async handleClickPage(e, page) {
189
+ if (this.placing) {
190
+ const pageNumber = page.sequence;
191
+ const clickedX = e.offsetX;
192
+ const clickedY = e.offsetY;
193
+ const width = defaultWidth({ type: this.placing });
194
+ const height = defaultHeight({ type: this.placing });
195
+ const { naturalWidth = 612, naturalHeight = 792 } = this.cachedPageInfo[pageNumber];
196
+ const { x, y } = this.viewCoordinatesToPageCoordinates(clickedX, clickedY, pageNumber, naturalWidth - width, naturalHeight - height);
197
+ const field = {
198
+ name: this.generateFieldName(this.placing, pageNumber),
199
+ role_name: this.selectedRoleName,
200
+ template_id: this.templateId,
201
+ type: this.placing,
202
+ required: true,
203
+ page_sequence: pageNumber,
204
+ validator: null,
205
+ setting: {
206
+ width,
207
+ height,
208
+ x,
209
+ y,
210
+ result: '',
211
+ },
212
+ };
213
+ const saved = await createField(this.endpoint, this.templateId, field);
214
+ console.log('Saved field', saved);
215
+ state.fields.push(saved);
216
+ this.placing = null;
217
+ this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
218
+ }
219
+ }
112
220
  render() {
113
- const testField = {
114
- template_id: '',
115
- name: 'test',
116
- role_name: 'Recipient 1',
117
- type: 'textbox',
118
- required: true,
119
- setting: {
120
- x: 0,
121
- y: 0,
122
- },
123
- page_sequence: 0,
124
- };
221
+ if (!this.endpoint.session) {
222
+ return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
223
+ }
125
224
  // TODO: Render a better error
126
225
  if (state.loading || !state.template) {
127
226
  return (h(Host, null, h("verdocs-loader", null)));
128
227
  }
129
228
  const pages = [...state.template.pages];
130
229
  pages.sort((a, b) => a.sequence - b.sequence);
131
- return (h(Host, null, h("div", { class: "fields-bar", ref: el => (this.toolbarEl = el) }, h("div", { class: "label" }, "Add Field:"), h("verdocs-toolbar-icon", { icon: iconSingleline, text: "Single-line Text Box", onClick: () => console.log('single press') }), h("verdocs-toolbar-icon", { icon: iconMultiline, text: "Multi-line Text Box", onClick: () => console.log('multi press') }), h("verdocs-toolbar-icon", { icon: iconCheck, text: "Checkbox", onClick: () => console.log('check press') }), h("verdocs-toolbar-icon", { icon: iconRadio, text: "Radio Button", onClick: () => console.log('radio press') }), h("verdocs-toolbar-icon", { icon: iconDatepicker, text: "Date Picker", onClick: () => console.log('date press') }), h("verdocs-toolbar-icon", { icon: iconSignature, text: "Signature", onClick: () => console.log('signature press') }), h("verdocs-toolbar-icon", { icon: iconInitial, text: "Initials", onClick: () => console.log('initial press') }), h("div", { style: { flex: '1' } }), h("button", { onClick: () => { var _a; return (_a = this.next) === null || _a === void 0 ? void 0 : _a.emit(state.template); }, disabled: true, class: "operation" }, "Save"), h("button", { onClick: () => { var _a; return (_a = this.cancel) === null || _a === void 0 ? void 0 : _a.emit(); }, class: "operation" }, "Close")), h("div", { class: "page-0", ref: el => (this.page0El = el) }, h("div", { class: "user-placed-fields" }, h("div", { class: "title" }, "User-Placed Fields"), h("verdocs-field-signature", { field: testField, style: { width: '82px', height: '41px', left: '20px', top: '40px', transform: 'scale(1,1)', backgroundColor: getRGBA(0) }, moveable: true, editable: true }))), h("div", { class: "pages" }, pages.map(page => {
132
- console.log('rendering page', page);
133
- return (h("verdocs-document-page", { pageImageUri: page.display_uri, virtualWidth: 612, virtualHeight: 792, pageNumber: page.sequence, onPageRendered: e => this.handlePageRendered(e), layers: [
230
+ return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {} }, h("div", { class: "pages" }, pages.map(page => {
231
+ // console.log('rendering page', page);
232
+ return (h("verdocs-document-page", { pageImageUri: page.display_uri, virtualWidth: 612, virtualHeight: 792, onClick: (e) => this.handleClickPage(e, page), pageNumber: page.sequence, onPageRendered: e => this.handlePageRendered(e), layers: [
134
233
  { name: 'page', type: 'canvas' },
135
234
  { name: 'controls', type: 'div' },
136
235
  ] }));
137
- }))));
236
+ })), h("verdocs-floating-menu", { options: menuOptions, onOptionSelected: e => {
237
+ this.placing = e.detail.id;
238
+ } })));
138
239
  }
139
240
  static get style() { return verdocsTemplateFieldsCss; }
140
241
  }, [0, "verdocs-template-fields", {
141
242
  "endpoint": [16],
142
- "templateId": [1, "template-id"]
243
+ "templateId": [1, "template-id"],
244
+ "placing": [32],
245
+ "selectedRoleName": [32]
143
246
  }]);
144
247
  function defineCustomElement() {
145
248
  if (typeof customElements === "undefined") {
146
249
  return;
147
250
  }
148
- const components = ["verdocs-template-fields", "verdocs-button", "verdocs-button-panel", "verdocs-document-page", "verdocs-field-signature", "verdocs-loader", "verdocs-select-input", "verdocs-signature-dialog", "verdocs-text-input", "verdocs-toolbar-icon"];
251
+ const components = ["verdocs-template-fields", "verdocs-component-error", "verdocs-document-page", "verdocs-floating-menu", "verdocs-loader", "verdocs-toolbar-icon"];
149
252
  components.forEach(tagName => { switch (tagName) {
150
253
  case "verdocs-template-fields":
151
254
  if (!customElements.get(tagName)) {
152
255
  customElements.define(tagName, VerdocsTemplateFields);
153
256
  }
154
257
  break;
155
- case "verdocs-button":
156
- if (!customElements.get(tagName)) {
157
- defineCustomElement$9();
158
- }
159
- break;
160
- case "verdocs-button-panel":
161
- if (!customElements.get(tagName)) {
162
- defineCustomElement$8();
163
- }
164
- break;
165
- case "verdocs-document-page":
166
- if (!customElements.get(tagName)) {
167
- defineCustomElement$7();
168
- }
169
- break;
170
- case "verdocs-field-signature":
171
- if (!customElements.get(tagName)) {
172
- defineCustomElement$6();
173
- }
174
- break;
175
- case "verdocs-loader":
258
+ case "verdocs-component-error":
176
259
  if (!customElements.get(tagName)) {
177
260
  defineCustomElement$5();
178
261
  }
179
262
  break;
180
- case "verdocs-select-input":
263
+ case "verdocs-document-page":
181
264
  if (!customElements.get(tagName)) {
182
265
  defineCustomElement$4();
183
266
  }
184
267
  break;
185
- case "verdocs-signature-dialog":
268
+ case "verdocs-floating-menu":
186
269
  if (!customElements.get(tagName)) {
187
270
  defineCustomElement$3();
188
271
  }
189
272
  break;
190
- case "verdocs-text-input":
273
+ case "verdocs-loader":
191
274
  if (!customElements.get(tagName)) {
192
275
  defineCustomElement$2();
193
276
  }
@@ -1,11 +1,12 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { g as getTemplate } from './Templates2.js';
3
3
  import './Types.js';
4
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
5
  import { S as SDKError } from './errors.js';
6
6
  import { s as state } from './templateStore.js';
7
- import { d as defineCustomElement$4 } from './verdocs-button2.js';
8
- import { d as defineCustomElement$3 } from './verdocs-checkbox2.js';
7
+ import { d as defineCustomElement$5 } from './verdocs-button2.js';
8
+ import { d as defineCustomElement$4 } from './verdocs-checkbox2.js';
9
+ import { d as defineCustomElement$3 } from './verdocs-component-error2.js';
9
10
  import { d as defineCustomElement$2 } from './verdocs-radio-button2.js';
10
11
  import { d as defineCustomElement$1 } from './verdocs-text-input2.js';
11
12
 
@@ -64,6 +65,9 @@ const VerdocsTemplateProperties = /*@__PURE__*/ proxyCustomElement(class extends
64
65
  });
65
66
  }
66
67
  render() {
68
+ if (!this.endpoint.session) {
69
+ return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
70
+ }
67
71
  return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("h5", null, "Template Name"), h("fieldset", null, h("verdocs-text-input", { value: this.name, autocomplete: "off", onInput: (e) => (this.name = e.target.value) })), h("h5", null, "Reminders"), h("fieldset", null, h("div", { class: "input-row" }, h("label", null, "Send Automatic Reminders"), h("verdocs-checkbox", { name: "automatic-reminders", checked: this.sendReminders, value: "on", onInput: (e) => (this.sendReminders = e.target.checked) })), h("div", { class: "input-row" }, h("label", null, "Days Before First Reminder"), h("verdocs-text-input", { value: this.firstReminderDays, onInput: (e) => (this.firstReminderDays = e.target.value) })), h("div", { class: "input-row" }, h("label", null, "Days Between Reminders"), h("verdocs-text-input", { value: this.reminderDays, onInput: (e) => (this.reminderDays = e.target.value) }))), h("h5", null, "Template Visibility"), h("fieldset", null, h("div", { class: "radio-row" }, h("verdocs-radio-button", { name: "visibility", checked: true, value: "private", onChange: () => (this.visibility = 'private') }), h("label", { htmlFor: "verdocs-radio-button-visibility-private" }, h("div", { class: "title" }, "Private"), h("div", { class: "description" }, "Only you can share and use this template"))), h("div", { class: "radio-row" }, h("verdocs-radio-button", { name: "visibility", checked: true, value: "shared", onChange: () => (this.visibility = 'shared') }), h("label", { htmlFor: "verdocs-radio-button-visibility-shared" }, h("div", { class: "title" }, "Shared to your organization"), h("div", { class: "description" }, "Give access to your organization to share and use this template"))), h("div", { class: "radio-row" }, h("verdocs-radio-button", { name: "visibility", checked: true, value: "shared_public", onChange: () => (this.visibility = 'shared_public') }), h("label", { htmlFor: "verdocs-radio-button-visibility-shared_public" }, h("div", { class: "title" }, "Shared to your organization and Public"), h("div", { class: "description" }, "Give access to your organization to share this template, and anyone on the Web can find and use this template"))), h("div", { class: "radio-row" }, h("verdocs-radio-button", { name: "visibility", checked: this.visibility === 'public', value: "public", onChange: () => (this.visibility = 'public') }), h("label", { htmlFor: "verdocs-radio-button-visibility-public" }, h("div", { class: "title" }, "Public"), h("div", { class: "description" }, "Anyone on the Web can find and use this template")))), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "OK", size: "small", onClick: e => this.handleSubmit(e) }))));
68
72
  }
69
73
  static get style() { return verdocsTemplatePropertiesCss; }
@@ -81,7 +85,7 @@ function defineCustomElement() {
81
85
  if (typeof customElements === "undefined") {
82
86
  return;
83
87
  }
84
- const components = ["verdocs-template-properties", "verdocs-button", "verdocs-checkbox", "verdocs-radio-button", "verdocs-text-input"];
88
+ const components = ["verdocs-template-properties", "verdocs-button", "verdocs-checkbox", "verdocs-component-error", "verdocs-radio-button", "verdocs-text-input"];
85
89
  components.forEach(tagName => { switch (tagName) {
86
90
  case "verdocs-template-properties":
87
91
  if (!customElements.get(tagName)) {
@@ -90,10 +94,15 @@ function defineCustomElement() {
90
94
  break;
91
95
  case "verdocs-button":
92
96
  if (!customElements.get(tagName)) {
93
- defineCustomElement$4();
97
+ defineCustomElement$5();
94
98
  }
95
99
  break;
96
100
  case "verdocs-checkbox":
101
+ if (!customElements.get(tagName)) {
102
+ defineCustomElement$4();
103
+ }
104
+ break;
105
+ case "verdocs-component-error":
97
106
  if (!customElements.get(tagName)) {
98
107
  defineCustomElement$3();
99
108
  }
@@ -51,6 +51,7 @@ const VerdocsTemplateRecipients = /*@__PURE__*/ proxyCustomElement(class extends
51
51
  this.orderedRoles = [];
52
52
  }
53
53
  componentWillLoad() {
54
+ this.endpoint.loadSession();
54
55
  if (this.templateRole) {
55
56
  this.name = this.templateRole.full_name || '';
56
57
  this.email = this.templateRole.email || '';
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as createPopper } from './popper.js';
3
3
 
4
- const verdocsToolbarIconCss = "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}";
4
+ const verdocsToolbarIconCss = "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:20000;white-space:nowrap}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}verdocs-toolbar-icon .tooltip[data-popper-placement^=left]{padding:3px 10px}verdocs-toolbar-icon .tooltip[data-popper-placement^=left]>.arrow{right:-1px}";
5
5
 
6
6
  const VerdocsToolbarIcon = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -9,13 +9,17 @@ const VerdocsToolbarIcon = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
9
9
  this.__registerHost();
10
10
  this.text = '';
11
11
  this.icon = '';
12
+ this.placement = 'bottom';
12
13
  this.containerId = `verdocs-toolbar-icon-${Math.random().toString(36).substring(2, 11)}`;
13
14
  }
14
15
  componentDidLoad() {
15
16
  this.popperInstance = createPopper(this.iconEl, this.tooltip, {
17
+ placement: this.placement,
18
+ modifiers: this.placement === 'left' ? [{ name: 'offset', options: { offset: [0, 20] } }] : [],
19
+ });
16
20
  // placement: 'top-end',
17
21
  // modifiers: [{name: 'offset', options: {offset: [0, 10]}}],
18
- });
22
+ // });
19
23
  }
20
24
  disconnectedCallback() {
21
25
  if (this.popperInstance) {
@@ -36,12 +40,13 @@ const VerdocsToolbarIcon = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
36
40
  // this.press?.emit();
37
41
  // }
38
42
  render() {
39
- return (h(Host, { class: {} }, h("div", { "aria-describedby": this.containerId, class: "icon", innerHTML: this.icon, onMouseEnter: () => this.show(), onFocus: () => this.show(), onMouseLeave: () => this.hide(), onBlur: () => this.hide(), ref: el => (this.iconEl = el) }), h("div", { id: this.containerId, role: "tooltip", class: "tooltip", "data-popper-placement": "bottom", ref: el => (this.tooltip = el) }, this.text, h("div", { "data-popper-arrow": "true", class: "arrow" }))));
43
+ return (h(Host, { class: {} }, h("div", { "aria-describedby": this.containerId, class: "icon", innerHTML: this.icon, onMouseEnter: () => this.show(), onFocus: () => this.show(), onMouseLeave: () => this.hide(), onBlur: () => this.hide(), ref: el => (this.iconEl = el) }), h("div", { id: this.containerId, role: "tooltip", class: "tooltip", "data-popper-placement": this.placement, ref: el => (this.tooltip = el) }, this.text, h("div", { "data-popper-arrow": "true", class: "arrow" }))));
40
44
  }
41
45
  static get style() { return verdocsToolbarIconCss; }
42
46
  }, [0, "verdocs-toolbar-icon", {
43
47
  "text": [1],
44
48
  "icon": [1],
49
+ "placement": [1],
45
50
  "containerId": [32]
46
51
  }]);
47
52
  function defineCustomElement() {
@@ -1,78 +1,13 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
2
2
  import './Types.js';
3
3
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
4
- import { i as getEnvelope, s as savePDF } from './utils.js';
5
- import { c as createStore } from './index3.js';
6
- import { g as getTemplate } from './Templates2.js';
4
+ import { g as getEnvelopeById, s as state } from './Envelopes.js';
7
5
  import { S as SDKError } from './errors.js';
6
+ import { s as savePDF } from './utils.js';
8
7
  import { d as defineCustomElement$3 } from './verdocs-document-page2.js';
9
8
  import { d as defineCustomElement$2 } from './verdocs-dropdown2.js';
10
9
  import { d as defineCustomElement$1 } from './verdocs-loader2.js';
11
10
 
12
- // NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to
13
- const { state, onChange } = createStore({
14
- envelope: null,
15
- template: null,
16
- loadProgress: 0,
17
- loading: true,
18
- error: '',
19
- roleNames: [],
20
- dirty: false,
21
- });
22
- onChange('envelope', async (newEnvelope) => {
23
- if (!newEnvelope) {
24
- console.log('[ENVELOPESTORE] Clearing envelope');
25
- state.roleNames = [];
26
- state.dirty = false;
27
- state.loading = false;
28
- state.error = '';
29
- state.loadProgress = 0;
30
- return;
31
- }
32
- console.log('[ENVELOPESTORE] Loaded envelope', newEnvelope);
33
- state.roleNames = newEnvelope.recipients.map(recipient => recipient.role_name);
34
- console.log('[ENVELOPESTORE] Loaded roles', state.roleNames);
35
- });
36
-
37
- // Allows envelope data to be cached for reuse between components, without parent components having to prop-drill entire envelopes into
38
- // child elements.
39
- const getEnvelopeById = async (endpoint, envelopeId) => {
40
- var _a, _b;
41
- if (!envelopeId) {
42
- console.log(`[ENVELOPES] Missing required envelope ID`);
43
- return;
44
- }
45
- if (((_a = state.envelope) === null || _a === void 0 ? void 0 : _a.id) === envelopeId) {
46
- console.log(`[ENVELOPES] Skipping load for already-loaded envelope ID`);
47
- return;
48
- }
49
- state.error = '';
50
- state.loading = true;
51
- state.envelope = null;
52
- try {
53
- console.log(`[ENVELOPES] Loading envelope ${envelopeId}`);
54
- const envelope = await getEnvelope(endpoint, envelopeId, true);
55
- if (!envelope) {
56
- console.log('[ENVELOPES] Unable to load envelope');
57
- return;
58
- }
59
- state.envelope = envelope;
60
- const template = await getTemplate(endpoint, envelope.template_id, true);
61
- if (!envelope) {
62
- console.log('[ENVELOPES] Unable to load template');
63
- return;
64
- }
65
- state.template = template;
66
- state.loading = false;
67
- }
68
- catch (e) {
69
- state.loading = false;
70
- state.error = ((_b = e === null || e === void 0 ? void 0 : e.response) === null || _b === void 0 ? void 0 : _b.status) === 401 ? 'Authentication required' : e.message;
71
- console.log('[ENVELOPES] Error loading envelope', e);
72
- throw e;
73
- }
74
- };
75
-
76
11
  const verdocsViewCss = "verdocs-view{display:-ms-flexbox;display:flex;overflow:hidden;position:relative;min-height:600px;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-view div,verdocs-view canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-view .header{color:#fff;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex:0 0 56px;flex:0 0 56px;padding:0 15px;font-size:12px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-webkit-transition:all 0.25s;transition:all 0.25s;background-color:#33354c;-webkit-box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12);box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12)}verdocs-view .header .logo{width:80px;display:none;margin:-6px 0 0 10px}verdocs-view .header .title{padding-left:16px;font-size:18px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}verdocs-view .document{-ms-flex:1;flex:1;height:100%;display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;overflow-y:scroll;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}verdocs-view .document .inner{width:100%;max-width:1028px}";
77
12
 
78
13
  const menuOptions = [
@@ -192,4 +127,4 @@ function defineCustomElement() {
192
127
  }
193
128
  defineCustomElement();
194
129
 
195
- export { VerdocsView as V, defineCustomElement as d, getEnvelopeById as g, state as s };
130
+ export { VerdocsView as V, defineCustomElement as d };