@verdocs/web-sdk 1.9.6 → 1.9.9

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 (500) hide show
  1. package/dist/cjs/Envelopes-22a0c02f.js +109 -0
  2. package/dist/cjs/Envelopes-22a0c02f.js.map +1 -0
  3. package/dist/cjs/TemplateDocuments-01c6e570.js +45 -0
  4. package/dist/cjs/TemplateDocuments-01c6e570.js.map +1 -0
  5. package/dist/cjs/{Templates-038bcae4.js → Templates-3e6d5043.js} +20 -3
  6. package/dist/cjs/Templates-3e6d5043.js.map +1 -0
  7. package/dist/{esm/VerdocsEndpoint-9acb111c.js → cjs/VerdocsEndpoint-db38e942.js} +5 -384
  8. package/dist/cjs/VerdocsEndpoint-db38e942.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/utils-84236321.js.map +1 -1
  11. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
  13. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/verdocs-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-checkbox.cjs.entry.js.map +1 -1
  18. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +3 -3
  19. package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
  20. package/dist/cjs/verdocs-document-page.cjs.entry.js +84 -0
  21. package/dist/cjs/verdocs-document-page.cjs.entry.js.map +1 -0
  22. package/dist/cjs/verdocs-dropdown_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/verdocs-field-attachment.cjs.entry.js.map +1 -1
  24. package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
  25. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
  26. package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
  27. package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
  28. package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
  29. package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
  30. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +1 -1
  31. package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
  32. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
  33. package/dist/cjs/verdocs-loader_4.cjs.entry.js +577 -0
  34. package/dist/cjs/verdocs-loader_4.cjs.entry.js.map +1 -0
  35. package/dist/cjs/verdocs-organization-card.cjs.entry.js +2346 -4
  36. package/dist/cjs/verdocs-organization-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/verdocs-preview.cjs.entry.js +2 -3
  38. package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
  39. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +2 -2
  40. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js.map +1 -1
  41. package/dist/cjs/verdocs-search.cjs.entry.js +1 -1
  42. package/dist/cjs/verdocs-send.cjs.entry.js +1 -1
  43. package/dist/cjs/verdocs-sign.cjs.entry.js +79 -20
  44. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  45. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +10 -10
  46. package/dist/cjs/verdocs-status-indicator.cjs.entry.js.map +1 -1
  47. package/dist/cjs/verdocs-template-create_4.cjs.entry.js +25 -39
  48. package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
  49. package/dist/cjs/verdocs-toggle-button.cjs.entry.js +1 -1
  50. package/dist/cjs/verdocs-toggle-button.cjs.entry.js.map +1 -1
  51. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  52. package/dist/collection/collection-manifest.json +2 -0
  53. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +1 -0
  54. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +3 -3
  55. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js.map +1 -1
  56. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.css +37 -28
  57. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js +5 -4
  58. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js.map +1 -1
  59. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.stories.js +4 -2
  60. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.stories.js.map +1 -1
  61. package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.js +19 -19
  62. package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.js.map +1 -1
  63. package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.stories.js +1 -1
  64. package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.stories.js.map +1 -1
  65. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.css +3 -0
  66. package/dist/collection/components/controls/verdocs-toggle-button/verdocs-toggle-button.css +5 -0
  67. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.css +4 -0
  68. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js +1 -1
  69. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
  70. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.js +1 -1
  71. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.js.map +1 -1
  72. package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.css +3 -0
  73. package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.js +26 -12
  74. package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.js.map +1 -1
  75. package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js +2 -2
  76. package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
  77. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js +2 -2
  78. package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +1 -1
  79. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +2 -2
  80. package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
  81. package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js +2 -2
  82. package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
  83. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +2 -2
  84. package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  85. package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js +2 -2
  86. package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
  87. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +2 -2
  88. package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js.map +1 -1
  89. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js +2 -2
  90. package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  91. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +2 -2
  92. package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  93. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.css +3 -0
  94. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +2 -2
  95. package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  96. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js +2 -2
  97. package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
  98. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +6 -8
  99. package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  100. package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js +17 -3
  101. package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js.map +1 -1
  102. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.css +16 -0
  103. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.js +390 -0
  104. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.js.map +1 -0
  105. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.js +15 -0
  106. package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.js.map +1 -0
  107. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.css +16 -0
  108. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.js +388 -0
  109. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.js.map +1 -0
  110. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.js +15 -0
  111. package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.js.map +1 -0
  112. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +1 -1
  113. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
  114. package/dist/collection/components/embeds/verdocs-build/utils.js.map +1 -1
  115. package/dist/collection/components/embeds/verdocs-sign/utils.js.map +1 -1
  116. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +25 -25
  117. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  118. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +3 -3
  119. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -1
  120. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +117 -113
  121. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
  122. package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +3 -3
  123. package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js.map +1 -1
  124. package/dist/collection/utils/Types.js.map +1 -1
  125. package/dist/collection/utils/utils.js.map +1 -1
  126. package/dist/components/TemplateDocuments.js +42 -0
  127. package/dist/components/TemplateDocuments.js.map +1 -0
  128. package/dist/components/VerdocsEndpoint.js +1 -383
  129. package/dist/components/VerdocsEndpoint.js.map +1 -1
  130. package/dist/components/index.d.ts +2 -0
  131. package/dist/components/index.js +2 -0
  132. package/dist/components/index.js.map +1 -1
  133. package/dist/components/utils.js.map +1 -1
  134. package/dist/components/verdocs-auth.js.map +1 -1
  135. package/dist/components/verdocs-build.js +48 -36
  136. package/dist/components/verdocs-build.js.map +1 -1
  137. package/dist/components/verdocs-checkbox2.js +1 -1
  138. package/dist/components/verdocs-checkbox2.js.map +1 -1
  139. package/dist/components/verdocs-contact-picker2.js +2 -2
  140. package/dist/components/verdocs-contact-picker2.js.map +1 -1
  141. package/dist/components/verdocs-document-page2.js +22 -9
  142. package/dist/components/verdocs-document-page2.js.map +1 -1
  143. package/dist/components/verdocs-field-attachment.js.map +1 -1
  144. package/dist/components/verdocs-field-checkbox2.js.map +1 -1
  145. package/dist/components/verdocs-field-date.js.map +1 -1
  146. package/dist/components/verdocs-field-dropdown.js.map +1 -1
  147. package/dist/components/verdocs-field-initial.js.map +1 -1
  148. package/dist/components/verdocs-field-payment.js.map +1 -1
  149. package/dist/components/verdocs-field-radio-button2.js.map +1 -1
  150. package/dist/components/verdocs-field-signature2.js.map +1 -1
  151. package/dist/components/verdocs-field-textarea.js.map +1 -1
  152. package/dist/components/verdocs-field-textbox.js +1 -1
  153. package/dist/components/verdocs-field-textbox.js.map +1 -1
  154. package/dist/components/verdocs-field-timestamp.js.map +1 -1
  155. package/dist/components/verdocs-organization-card.js +2346 -4
  156. package/dist/components/verdocs-organization-card.js.map +1 -1
  157. package/dist/components/verdocs-preview.js +18 -6
  158. package/dist/components/verdocs-preview.js.map +1 -1
  159. package/dist/components/verdocs-search-activity2.js +1 -1
  160. package/dist/components/verdocs-search-activity2.js.map +1 -1
  161. package/dist/components/verdocs-sign.js +105 -35
  162. package/dist/components/verdocs-sign.js.map +1 -1
  163. package/dist/components/verdocs-status-indicator.js +11 -11
  164. package/dist/components/verdocs-status-indicator.js.map +1 -1
  165. package/dist/components/verdocs-template-create2.js +1 -25
  166. package/dist/components/verdocs-template-create2.js.map +1 -1
  167. package/dist/components/verdocs-template-fields2.js +38 -28
  168. package/dist/components/verdocs-template-fields2.js.map +1 -1
  169. package/dist/components/verdocs-template-properties2.js +15 -1
  170. package/dist/components/verdocs-template-properties2.js.map +1 -1
  171. package/dist/components/verdocs-text-input2.js +1 -1
  172. package/dist/components/verdocs-text-input2.js.map +1 -1
  173. package/dist/components/verdocs-toggle-button2.js +1 -1
  174. package/dist/components/verdocs-toggle-button2.js.map +1 -1
  175. package/dist/components/verdocs-view-envelope-document.d.ts +11 -0
  176. package/dist/components/verdocs-view-envelope-document.js +8 -0
  177. package/dist/components/verdocs-view-envelope-document.js.map +1 -0
  178. package/dist/components/verdocs-view-envelope-document2.js +306 -0
  179. package/dist/components/verdocs-view-envelope-document2.js.map +1 -0
  180. package/dist/components/verdocs-view-template-document.d.ts +11 -0
  181. package/dist/components/verdocs-view-template-document.js +8 -0
  182. package/dist/components/verdocs-view-template-document.js.map +1 -0
  183. package/dist/components/verdocs-view-template-document2.js +209 -0
  184. package/dist/components/verdocs-view-template-document2.js.map +1 -0
  185. package/dist/components/verdocs-view2.js +102 -95
  186. package/dist/components/verdocs-view2.js.map +1 -1
  187. package/dist/docs.json +444 -51
  188. package/dist/esm/Envelopes-df05b3c7.js +103 -0
  189. package/dist/esm/Envelopes-df05b3c7.js.map +1 -0
  190. package/dist/esm/TemplateDocuments-89ba2276.js +42 -0
  191. package/dist/esm/TemplateDocuments-89ba2276.js.map +1 -0
  192. package/dist/esm/{Templates-0b30ee66.js → Templates-035e0ea2.js} +19 -3
  193. package/dist/esm/Templates-035e0ea2.js.map +1 -0
  194. package/dist/{cjs/VerdocsEndpoint-0dcde19d.js → esm/VerdocsEndpoint-82f4600d.js} +2 -391
  195. package/dist/esm/VerdocsEndpoint-82f4600d.js.map +1 -0
  196. package/dist/esm/loader.js +1 -1
  197. package/dist/esm/utils-3f23facc.js.map +1 -1
  198. package/dist/esm/verdocs-auth.entry.js +1 -1
  199. package/dist/esm/verdocs-auth.entry.js.map +1 -1
  200. package/dist/esm/verdocs-build.entry.js +1 -1
  201. package/dist/esm/verdocs-button-panel_3.entry.js +1 -1
  202. package/dist/esm/verdocs-button-panel_3.entry.js.map +1 -1
  203. package/dist/esm/verdocs-checkbox.entry.js +1 -1
  204. package/dist/esm/verdocs-checkbox.entry.js.map +1 -1
  205. package/dist/esm/verdocs-contact-picker.entry.js +3 -3
  206. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
  207. package/dist/esm/verdocs-document-page.entry.js +80 -0
  208. package/dist/esm/verdocs-document-page.entry.js.map +1 -0
  209. package/dist/esm/verdocs-dropdown_3.entry.js.map +1 -1
  210. package/dist/esm/verdocs-field-attachment.entry.js.map +1 -1
  211. package/dist/esm/verdocs-field-date.entry.js.map +1 -1
  212. package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
  213. package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
  214. package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
  215. package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
  216. package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
  217. package/dist/esm/verdocs-field-textbox.entry.js +1 -1
  218. package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
  219. package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
  220. package/dist/esm/verdocs-loader_4.entry.js +570 -0
  221. package/dist/esm/verdocs-loader_4.entry.js.map +1 -0
  222. package/dist/esm/verdocs-organization-card.entry.js +2346 -4
  223. package/dist/esm/verdocs-organization-card.entry.js.map +1 -1
  224. package/dist/esm/verdocs-preview.entry.js +2 -3
  225. package/dist/esm/verdocs-preview.entry.js.map +1 -1
  226. package/dist/esm/verdocs-quick-functions_3.entry.js +2 -2
  227. package/dist/esm/verdocs-quick-functions_3.entry.js.map +1 -1
  228. package/dist/esm/verdocs-search.entry.js +1 -1
  229. package/dist/esm/verdocs-send.entry.js +1 -1
  230. package/dist/esm/verdocs-sign.entry.js +78 -19
  231. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  232. package/dist/esm/verdocs-status-indicator.entry.js +10 -10
  233. package/dist/esm/verdocs-status-indicator.entry.js.map +1 -1
  234. package/dist/esm/verdocs-template-create_4.entry.js +23 -37
  235. package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
  236. package/dist/esm/verdocs-toggle-button.entry.js +1 -1
  237. package/dist/esm/verdocs-toggle-button.entry.js.map +1 -1
  238. package/dist/esm/verdocs-web-sdk.js +1 -1
  239. package/dist/esm-es5/Envelopes-df05b3c7.js +2 -0
  240. package/dist/esm-es5/Envelopes-df05b3c7.js.map +1 -0
  241. package/dist/esm-es5/TemplateDocuments-89ba2276.js +2 -0
  242. package/dist/esm-es5/TemplateDocuments-89ba2276.js.map +1 -0
  243. package/dist/{verdocs-web-sdk/p-db54004b.system.js → esm-es5/Templates-035e0ea2.js} +2 -2
  244. package/dist/esm-es5/Templates-035e0ea2.js.map +1 -0
  245. package/dist/esm-es5/VerdocsEndpoint-82f4600d.js +2 -0
  246. package/dist/esm-es5/VerdocsEndpoint-82f4600d.js.map +1 -0
  247. package/dist/esm-es5/loader.js +1 -1
  248. package/dist/esm-es5/loader.js.map +1 -1
  249. package/dist/esm-es5/utils-3f23facc.js.map +1 -1
  250. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  251. package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
  252. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  253. package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
  254. package/dist/esm-es5/verdocs-button-panel_3.entry.js.map +1 -1
  255. package/dist/esm-es5/verdocs-checkbox.entry.js +1 -1
  256. package/dist/esm-es5/verdocs-checkbox.entry.js.map +1 -1
  257. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  258. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
  259. package/dist/esm-es5/verdocs-document-page.entry.js +2 -0
  260. package/dist/esm-es5/verdocs-document-page.entry.js.map +1 -0
  261. package/dist/esm-es5/verdocs-dropdown_3.entry.js.map +1 -1
  262. package/dist/esm-es5/verdocs-field-attachment.entry.js.map +1 -1
  263. package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
  264. package/dist/esm-es5/verdocs-field-dropdown.entry.js.map +1 -1
  265. package/dist/esm-es5/verdocs-field-initial.entry.js.map +1 -1
  266. package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
  267. package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
  268. package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
  269. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  270. package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
  271. package/dist/esm-es5/verdocs-field-timestamp.entry.js.map +1 -1
  272. package/dist/esm-es5/verdocs-loader_4.entry.js +2 -0
  273. package/dist/esm-es5/verdocs-loader_4.entry.js.map +1 -0
  274. package/dist/esm-es5/verdocs-organization-card.entry.js +1 -1
  275. package/dist/esm-es5/verdocs-organization-card.entry.js.map +1 -1
  276. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  277. package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
  278. package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
  279. package/dist/esm-es5/verdocs-quick-functions_3.entry.js.map +1 -1
  280. package/dist/esm-es5/verdocs-search.entry.js +1 -1
  281. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  282. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  283. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  284. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  285. package/dist/esm-es5/verdocs-status-indicator.entry.js.map +1 -1
  286. package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
  287. package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
  288. package/dist/esm-es5/verdocs-toggle-button.entry.js +1 -1
  289. package/dist/esm-es5/verdocs-toggle-button.entry.js.map +1 -1
  290. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  291. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  292. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +3 -3
  293. package/dist/types/components/controls/verdocs-organization-card/verdocs-organization-card.d.ts +1 -1
  294. package/dist/types/components/controls/verdocs-status-indicator/verdocs-status-indicator.d.ts +3 -3
  295. package/dist/types/components/controls/verdocs-status-indicator/verdocs-status-indicator.stories.d.ts +2 -2
  296. package/dist/types/components/elements/verdocs-document-page/verdocs-document-page.d.ts +9 -5
  297. package/dist/types/components/elements/verdocs-field-attachment/verdocs-field-attachment.d.ts +1 -1
  298. package/dist/types/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.d.ts +1 -1
  299. package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +1 -1
  300. package/dist/types/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +1 -1
  301. package/dist/types/components/elements/verdocs-field-initial/verdocs-field-initial.d.ts +1 -1
  302. package/dist/types/components/elements/verdocs-field-payment/verdocs-field-payment.d.ts +1 -1
  303. package/dist/types/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +1 -1
  304. package/dist/types/components/elements/verdocs-field-signature/verdocs-field-signature.d.ts +1 -1
  305. package/dist/types/components/elements/verdocs-field-textarea/verdocs-field-textarea.d.ts +1 -1
  306. package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -1
  307. package/dist/types/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +1 -1
  308. package/dist/types/components/elements/verdocs-template-properties/verdocs-template-properties.d.ts +7 -1
  309. package/dist/types/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.d.ts +79 -0
  310. package/dist/types/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.d.ts +7 -0
  311. package/dist/types/components/elements/verdocs-view-template-document/verdocs-view-template-document.d.ts +77 -0
  312. package/dist/types/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.d.ts +7 -0
  313. package/dist/types/components/embeds/verdocs-auth/verdocs-auth.d.ts +2 -1
  314. package/dist/types/components/embeds/verdocs-build/utils.d.ts +1 -1
  315. package/dist/types/components/embeds/verdocs-sign/utils.d.ts +1 -1
  316. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +4 -4
  317. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.stories.d.ts +2 -2
  318. package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +14 -21
  319. package/dist/types/components/embeds/verdocs-view/verdocs-view.stories.d.ts +3 -2
  320. package/dist/types/components.d.ts +188 -24
  321. package/dist/types/utils/Types.d.ts +2 -0
  322. package/dist/types/utils/utils.d.ts +2 -2
  323. package/dist/verdocs-web-sdk/p-03677b65.system.js +2 -0
  324. package/dist/verdocs-web-sdk/p-03677b65.system.js.map +1 -0
  325. package/dist/verdocs-web-sdk/p-036fc9f9.entry.js.map +1 -1
  326. package/dist/verdocs-web-sdk/{p-c62e6e90.entry.js → p-04373c06.entry.js} +2 -2
  327. package/dist/verdocs-web-sdk/{p-c62e6e90.entry.js.map → p-04373c06.entry.js.map} +0 -0
  328. package/dist/verdocs-web-sdk/p-04708900.system.entry.js.map +1 -1
  329. package/dist/verdocs-web-sdk/p-0824553f.system.entry.js +2 -0
  330. package/dist/verdocs-web-sdk/p-0824553f.system.entry.js.map +1 -0
  331. package/dist/verdocs-web-sdk/{p-ae201e5f.system.entry.js → p-0d12be64.system.entry.js} +2 -2
  332. package/dist/verdocs-web-sdk/{p-ae201e5f.system.entry.js.map → p-0d12be64.system.entry.js.map} +1 -1
  333. package/dist/verdocs-web-sdk/p-152dd2f0.system.entry.js +2 -0
  334. package/dist/verdocs-web-sdk/p-152dd2f0.system.entry.js.map +1 -0
  335. package/dist/verdocs-web-sdk/p-1935d358.system.entry.js.map +1 -1
  336. package/dist/verdocs-web-sdk/p-2510c268.entry.js.map +1 -1
  337. package/dist/verdocs-web-sdk/{p-26ef299e.entry.js → p-2da21c85.entry.js} +2 -2
  338. package/dist/verdocs-web-sdk/{p-26ef299e.entry.js.map → p-2da21c85.entry.js.map} +1 -1
  339. package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js +2 -0
  340. package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js.map +1 -0
  341. package/dist/verdocs-web-sdk/p-3bc4c242.entry.js.map +1 -1
  342. package/dist/verdocs-web-sdk/p-3e76685d.entry.js +2 -0
  343. package/dist/verdocs-web-sdk/p-3e76685d.entry.js.map +1 -0
  344. package/dist/verdocs-web-sdk/{p-a84616dc.entry.js → p-4226119d.entry.js} +2 -2
  345. package/dist/verdocs-web-sdk/{p-a84616dc.entry.js.map → p-4226119d.entry.js.map} +0 -0
  346. package/dist/verdocs-web-sdk/{p-ae293f80.system.entry.js → p-4425de92.system.entry.js} +2 -2
  347. package/dist/verdocs-web-sdk/{p-ae293f80.system.entry.js.map → p-4425de92.system.entry.js.map} +0 -0
  348. package/dist/verdocs-web-sdk/p-48321abf.system.entry.js.map +1 -1
  349. package/dist/verdocs-web-sdk/{p-46028ce3.entry.js → p-5a9ad57d.entry.js} +2 -2
  350. package/dist/verdocs-web-sdk/{p-46028ce3.entry.js.map → p-5a9ad57d.entry.js.map} +1 -1
  351. package/dist/verdocs-web-sdk/p-5c40246d.entry.js.map +1 -1
  352. package/dist/verdocs-web-sdk/p-629237fc.js +2 -0
  353. package/dist/verdocs-web-sdk/p-629237fc.js.map +1 -0
  354. package/dist/verdocs-web-sdk/p-62ffe7a3.system.entry.js.map +1 -1
  355. package/dist/verdocs-web-sdk/p-68319ca5.system.entry.js.map +1 -1
  356. package/dist/verdocs-web-sdk/{p-0145b317.system.entry.js → p-6d0c6604.system.entry.js} +2 -2
  357. package/dist/verdocs-web-sdk/{p-0145b317.system.entry.js.map → p-6d0c6604.system.entry.js.map} +0 -0
  358. package/dist/verdocs-web-sdk/p-6e1ada33.system.js +2 -0
  359. package/dist/verdocs-web-sdk/p-6e1ada33.system.js.map +1 -0
  360. package/dist/verdocs-web-sdk/p-6f1440dd.js +2 -0
  361. package/dist/verdocs-web-sdk/p-6f1440dd.js.map +1 -0
  362. package/dist/verdocs-web-sdk/p-6f938ce3.entry.js.map +1 -1
  363. package/dist/verdocs-web-sdk/p-70c732b7.js +2 -0
  364. package/dist/verdocs-web-sdk/p-70c732b7.js.map +1 -0
  365. package/dist/verdocs-web-sdk/p-74207eb0.system.entry.js +2 -0
  366. package/dist/verdocs-web-sdk/p-74207eb0.system.entry.js.map +1 -0
  367. package/dist/verdocs-web-sdk/p-7a476918.entry.js +2 -0
  368. package/dist/verdocs-web-sdk/p-7a476918.entry.js.map +1 -0
  369. package/dist/verdocs-web-sdk/p-7ce27ce2.js.map +1 -1
  370. package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js +2 -0
  371. package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js.map +1 -0
  372. package/dist/verdocs-web-sdk/p-824da7e4.entry.js +2 -0
  373. package/dist/verdocs-web-sdk/p-824da7e4.entry.js.map +1 -0
  374. package/dist/verdocs-web-sdk/p-82df4878.entry.js +2 -0
  375. package/dist/verdocs-web-sdk/{p-4b89126c.entry.js.map → p-82df4878.entry.js.map} +1 -1
  376. package/dist/verdocs-web-sdk/p-83135a56.entry.js +2 -0
  377. package/dist/verdocs-web-sdk/p-83135a56.entry.js.map +1 -0
  378. package/dist/verdocs-web-sdk/p-8c549b7f.entry.js.map +1 -1
  379. package/dist/verdocs-web-sdk/p-98a23073.system.entry.js.map +1 -1
  380. package/dist/verdocs-web-sdk/p-9f8576e1.entry.js +2 -0
  381. package/dist/verdocs-web-sdk/p-9f8576e1.entry.js.map +1 -0
  382. package/dist/verdocs-web-sdk/p-a4041773.system.js.map +1 -1
  383. package/dist/verdocs-web-sdk/p-a43e5fb3.system.entry.js +2 -0
  384. package/dist/verdocs-web-sdk/p-a43e5fb3.system.entry.js.map +1 -0
  385. package/dist/verdocs-web-sdk/p-a717d591.system.entry.js +2 -0
  386. package/dist/verdocs-web-sdk/p-a717d591.system.entry.js.map +1 -0
  387. package/dist/verdocs-web-sdk/p-a8699c5d.system.entry.js +2 -0
  388. package/dist/verdocs-web-sdk/{p-2f4c5964.system.entry.js.map → p-a8699c5d.system.entry.js.map} +1 -1
  389. package/dist/verdocs-web-sdk/p-b348e0ee.entry.js +2 -0
  390. package/dist/verdocs-web-sdk/p-b348e0ee.entry.js.map +1 -0
  391. package/dist/verdocs-web-sdk/p-b8e6a9b6.system.entry.js.map +1 -1
  392. package/dist/verdocs-web-sdk/p-bdc40f6e.entry.js.map +1 -1
  393. package/dist/verdocs-web-sdk/p-bf8a6175.entry.js.map +1 -1
  394. package/dist/verdocs-web-sdk/p-c0c61629.entry.js +2 -0
  395. package/dist/verdocs-web-sdk/p-c0c61629.entry.js.map +1 -0
  396. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  397. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
  398. package/dist/verdocs-web-sdk/p-c1a9eb1f.js +2 -0
  399. package/dist/verdocs-web-sdk/p-c1a9eb1f.js.map +1 -0
  400. package/dist/verdocs-web-sdk/{p-d5729782.system.entry.js → p-c3e82de2.system.entry.js} +2 -2
  401. package/dist/verdocs-web-sdk/p-c3e82de2.system.entry.js.map +1 -0
  402. package/dist/verdocs-web-sdk/p-c51715f2.entry.js +2 -0
  403. package/dist/verdocs-web-sdk/p-c51715f2.entry.js.map +1 -0
  404. package/dist/verdocs-web-sdk/p-c827cc19.system.js +2 -0
  405. package/dist/verdocs-web-sdk/p-c827cc19.system.js.map +1 -0
  406. package/dist/verdocs-web-sdk/p-cf2d7761.system.entry.js +2 -0
  407. package/dist/verdocs-web-sdk/p-cf2d7761.system.entry.js.map +1 -0
  408. package/dist/verdocs-web-sdk/{p-11e316c1.system.entry.js → p-cf8ecaaf.system.entry.js} +2 -2
  409. package/dist/verdocs-web-sdk/{p-11e316c1.system.entry.js.map → p-cf8ecaaf.system.entry.js.map} +0 -0
  410. package/dist/verdocs-web-sdk/p-d2b22759.entry.js.map +1 -1
  411. package/dist/verdocs-web-sdk/p-d2d3b56d.system.entry.js.map +1 -1
  412. package/dist/verdocs-web-sdk/{p-01d396e5.entry.js → p-f11b14a1.entry.js} +2 -2
  413. package/dist/verdocs-web-sdk/{p-01d396e5.entry.js.map → p-f11b14a1.entry.js.map} +0 -0
  414. package/dist/verdocs-web-sdk/{p-2f7e61e9.entry.js → p-f29b8035.entry.js} +2 -2
  415. package/dist/verdocs-web-sdk/{p-2f7e61e9.entry.js.map → p-f29b8035.entry.js.map} +1 -1
  416. package/dist/verdocs-web-sdk/{p-cef66554.system.entry.js → p-f972b493.system.entry.js} +2 -2
  417. package/dist/verdocs-web-sdk/{p-cef66554.system.entry.js.map → p-f972b493.system.entry.js.map} +1 -1
  418. package/dist/verdocs-web-sdk/p-f9901184.system.js +2 -0
  419. package/dist/verdocs-web-sdk/p-f9901184.system.js.map +1 -0
  420. package/dist/verdocs-web-sdk/{p-9a37ff31.system.entry.js → p-fb13e1ce.system.entry.js} +2 -2
  421. package/dist/verdocs-web-sdk/{p-9a37ff31.system.entry.js.map → p-fb13e1ce.system.entry.js.map} +1 -1
  422. package/dist/verdocs-web-sdk/{p-a2db6777.entry.js → p-fd0a605f.entry.js} +2 -2
  423. package/dist/verdocs-web-sdk/p-fd0a605f.entry.js.map +1 -0
  424. package/dist/verdocs-web-sdk/p-fe512c19.entry.js +2 -0
  425. package/dist/verdocs-web-sdk/p-fe512c19.entry.js.map +1 -0
  426. package/dist/verdocs-web-sdk/p-ff1e07ee.system.entry.js +2 -0
  427. package/dist/verdocs-web-sdk/p-ff1e07ee.system.entry.js.map +1 -0
  428. package/dist/verdocs-web-sdk/p-ff4840d2.system.entry.js.map +1 -1
  429. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  430. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  431. package/package.json +3 -5
  432. package/dist/cjs/Pages-1baca663.js +0 -23
  433. package/dist/cjs/Pages-1baca663.js.map +0 -1
  434. package/dist/cjs/Templates-038bcae4.js.map +0 -1
  435. package/dist/cjs/VerdocsEndpoint-0dcde19d.js.map +0 -1
  436. package/dist/cjs/verdocs-document-page_3.cjs.entry.js +0 -291
  437. package/dist/cjs/verdocs-document-page_3.cjs.entry.js.map +0 -1
  438. package/dist/collection/components/controls/verdocs-organization-card/user-group.svg +0 -1
  439. package/dist/esm/Pages-2af466b6.js +0 -20
  440. package/dist/esm/Pages-2af466b6.js.map +0 -1
  441. package/dist/esm/Templates-0b30ee66.js.map +0 -1
  442. package/dist/esm/VerdocsEndpoint-9acb111c.js.map +0 -1
  443. package/dist/esm/verdocs-document-page_3.entry.js +0 -285
  444. package/dist/esm/verdocs-document-page_3.entry.js.map +0 -1
  445. package/dist/esm-es5/Pages-2af466b6.js +0 -2
  446. package/dist/esm-es5/Pages-2af466b6.js.map +0 -1
  447. package/dist/esm-es5/Templates-0b30ee66.js +0 -2
  448. package/dist/esm-es5/Templates-0b30ee66.js.map +0 -1
  449. package/dist/esm-es5/VerdocsEndpoint-9acb111c.js +0 -2
  450. package/dist/esm-es5/VerdocsEndpoint-9acb111c.js.map +0 -1
  451. package/dist/esm-es5/verdocs-document-page_3.entry.js +0 -2
  452. package/dist/esm-es5/verdocs-document-page_3.entry.js.map +0 -1
  453. package/dist/verdocs-web-sdk/p-000476c3.system.entry.js +0 -2
  454. package/dist/verdocs-web-sdk/p-000476c3.system.entry.js.map +0 -1
  455. package/dist/verdocs-web-sdk/p-03a00681.entry.js +0 -2
  456. package/dist/verdocs-web-sdk/p-03a00681.entry.js.map +0 -1
  457. package/dist/verdocs-web-sdk/p-0ec0e42d.system.entry.js +0 -2
  458. package/dist/verdocs-web-sdk/p-0ec0e42d.system.entry.js.map +0 -1
  459. package/dist/verdocs-web-sdk/p-10d804cf.js +0 -2
  460. package/dist/verdocs-web-sdk/p-10d804cf.js.map +0 -1
  461. package/dist/verdocs-web-sdk/p-186e7901.entry.js +0 -2
  462. package/dist/verdocs-web-sdk/p-186e7901.entry.js.map +0 -1
  463. package/dist/verdocs-web-sdk/p-1cace026.system.entry.js +0 -2
  464. package/dist/verdocs-web-sdk/p-1cace026.system.entry.js.map +0 -1
  465. package/dist/verdocs-web-sdk/p-1ec3941b.system.entry.js +0 -2
  466. package/dist/verdocs-web-sdk/p-1ec3941b.system.entry.js.map +0 -1
  467. package/dist/verdocs-web-sdk/p-2f4c5964.system.entry.js +0 -2
  468. package/dist/verdocs-web-sdk/p-42ee012b.system.entry.js +0 -2
  469. package/dist/verdocs-web-sdk/p-42ee012b.system.entry.js.map +0 -1
  470. package/dist/verdocs-web-sdk/p-476f20a0.entry.js +0 -2
  471. package/dist/verdocs-web-sdk/p-476f20a0.entry.js.map +0 -1
  472. package/dist/verdocs-web-sdk/p-4b89126c.entry.js +0 -2
  473. package/dist/verdocs-web-sdk/p-513168f7.entry.js +0 -2
  474. package/dist/verdocs-web-sdk/p-513168f7.entry.js.map +0 -1
  475. package/dist/verdocs-web-sdk/p-51353418.system.entry.js +0 -2
  476. package/dist/verdocs-web-sdk/p-51353418.system.entry.js.map +0 -1
  477. package/dist/verdocs-web-sdk/p-69a5099d.entry.js +0 -2
  478. package/dist/verdocs-web-sdk/p-69a5099d.entry.js.map +0 -1
  479. package/dist/verdocs-web-sdk/p-6de53dcc.js +0 -2
  480. package/dist/verdocs-web-sdk/p-6de53dcc.js.map +0 -1
  481. package/dist/verdocs-web-sdk/p-741b882d.system.entry.js +0 -2
  482. package/dist/verdocs-web-sdk/p-741b882d.system.entry.js.map +0 -1
  483. package/dist/verdocs-web-sdk/p-7999a83a.system.entry.js +0 -2
  484. package/dist/verdocs-web-sdk/p-7999a83a.system.entry.js.map +0 -1
  485. package/dist/verdocs-web-sdk/p-7a63bdd1.system.js +0 -2
  486. package/dist/verdocs-web-sdk/p-7a63bdd1.system.js.map +0 -1
  487. package/dist/verdocs-web-sdk/p-8cb4e511.js +0 -2
  488. package/dist/verdocs-web-sdk/p-8cb4e511.js.map +0 -1
  489. package/dist/verdocs-web-sdk/p-98c97dc8.entry.js +0 -2
  490. package/dist/verdocs-web-sdk/p-98c97dc8.entry.js.map +0 -1
  491. package/dist/verdocs-web-sdk/p-98ddc053.entry.js +0 -2
  492. package/dist/verdocs-web-sdk/p-98ddc053.entry.js.map +0 -1
  493. package/dist/verdocs-web-sdk/p-a2db6777.entry.js.map +0 -1
  494. package/dist/verdocs-web-sdk/p-d5729782.system.entry.js.map +0 -1
  495. package/dist/verdocs-web-sdk/p-d84dbdf9.system.js +0 -2
  496. package/dist/verdocs-web-sdk/p-d84dbdf9.system.js.map +0 -1
  497. package/dist/verdocs-web-sdk/p-db54004b.system.js.map +0 -1
  498. package/dist/verdocs-web-sdk/p-fb9d23c3.entry.js +0 -2
  499. package/dist/verdocs-web-sdk/p-fb9d23c3.entry.js.map +0 -1
  500. package/fixup-pdfjs.js +0 -80
@@ -0,0 +1,2 @@
1
+ System.register([],(function(t){"use strict";return{execute:function(){var n=t("g",(function(t,n,e){return t.api.get("/templates/".concat(n,"/documents/").concat(e)).then((function(t){return t.data}))}));var e=t("c",(function(t,n,e,o){var a=new FormData;a.append("document",e,e.name);return t.api.post("/templates/".concat(n,"/documents"),a,{timeout:1e4,onUploadProgress:function(t){return o===null||o===void 0?void 0:o(Math.floor(t.loaded*100/t.total),t.loaded,t.total)}}).then((function(t){return t.data}))}))}}}));
2
+ //# sourceMappingURL=p-c827cc19.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["node_modules/@verdocs/js-sdk/Templates/TemplateDocuments.js"],"names":["getTemplateDocument","exports","endpoint","templateId","documentId","api","get","concat","then","r","data","createTemplateDocument","file","onUploadProgress","formData","FormData","append","name","post","timeout","event","Math","floor","loaded","total"],"mappings":"uEAgEU,IAACA,EAAmBC,EAAA,KAAG,SAAUC,EAAUC,EAAYC,GAC7D,OAAOF,EAASG,IACXC,IAAI,cAAcC,OAAOJ,EAAY,eAAeI,OAAOH,IAC3DI,MAAK,SAAUC,GAAK,OAAOA,EAAEC,WAW5B,IAACC,EAAsBV,EAAA,KAAG,SAAUC,EAAUC,EAAYS,EAAMC,GACtE,IAAIC,EAAW,IAAIC,SACnBD,EAASE,OAAO,WAAYJ,EAAMA,EAAKK,MACvC,OAAOf,EAASG,IACXa,KAAK,cAAcX,OAAOJ,EAAY,cAAeW,EAAU,CAChEK,QAAS,IACTN,iBAAkB,SAAUO,GAAS,OAAOP,IAAqB,MAAQA,SAA0B,OAAS,EAAIA,EAAiBQ,KAAKC,MAAOF,EAAMG,OAAS,IAAOH,EAAMI,OAAQJ,EAAMG,OAAQH,EAAMI,UAEpMhB,MAAK,SAAUC,GAAK,OAAOA,EAAEC","sourcesContent":["/**\n * A TemplateDocument represents a PDF or other attachment in a Template.\n *\n * @module\n */\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/**\n * Get all the Template Documents associated to a particular Template.\n *\n * ```typescript\n * import {TemplateDocument} from '@verdocs/js-sdk/Templates';\n *\n * await TemplateDocument.geTemplateDocuments((VerdocsEndpoint.getDefault(), templateId);\n * ```\n */\nexport var getTemplateDocuments = function (endpoint, templateId) {\n return endpoint.api //\n .get(\"/templates/\".concat(templateId, \"/documents/\"))\n .then(function (r) { return r.data; });\n};\n/**\n * Get a specific Document.\n *\n * ```typescript\n * import {TemplateDocument} from '@verdocs/js-sdk/Templates';\n *\n * await TemplateDocument.geTemplateDocument((VerdocsEndpoint.getDefault(), templateId,documentId);\n * ```\n */\nexport var getTemplateDocument = function (endpoint, templateId, documentId) {\n return endpoint.api //\n .get(\"/templates/\".concat(templateId, \"/documents/\").concat(documentId))\n .then(function (r) { return r.data; });\n};\n/**\n * Create a Document for a particular Template.\n *\n * ```typescript\n * import {TemplateDocument} from '@verdocs/js-sdk/Templates';\n *\n * await TemplateDocument.createDocument((VerdocsEndpoint.getDefault(), templateID, params);\n * ```\n */\nexport var createTemplateDocument = function (endpoint, templateId, file, onUploadProgress) {\n var formData = new FormData();\n formData.append('document', file, file.name);\n return endpoint.api //\n .post(\"/templates/\".concat(templateId, \"/documents\"), formData, {\n timeout: 10000,\n onUploadProgress: function (event) { return onUploadProgress === null || onUploadProgress === void 0 ? void 0 : onUploadProgress(Math.floor((event.loaded * 100) / event.total), event.loaded, event.total); },\n })\n .then(function (r) { return r.data; });\n};\n/**\n * Delete a specific Document.\n *\n * ```typescript\n * import {TemplateDocument} from '@verdocs/js-sdk/Templates';\n *\n * await TemplateDocument.deleteDocument((VerdocsEndpoint.getDefault(), templateID, documentID);\n * ```\n */\nexport var deleteTemplateDocument = function (endpoint, templateId, documentId) {\n return endpoint.api //\n .delete(\"/templates/\".concat(templateId, \"/documents/\").concat(documentId))\n .then(function (r) { return r.data; });\n};\n/**\n * Get (binary download) a file attached to a Template. It is important to use this method\n * rather than a direct A HREF or similar link to set the authorization headers for the\n * request.\n */\nexport var getTemplateDocumentFile = function (endpoint, templateId, documentId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/templates/\".concat(templateId, \"/documents/\").concat(documentId, \"?file=true\"), {\n responseType: 'arraybuffer',\n })\n .then(function (r) { return Buffer.from(r.data, 'binary').toString('base64'); })];\n });\n}); };\n/**\n * Get (binary download) a file attached to a Template. It is important to use this method\n * rather than a direct A HREF or similar link to set the authorization headers for the\n * request.\n */\nexport var getTemplateDocumentThumbnail = function (endpoint, templateId, documentId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/templates/\".concat(templateId, \"/documents/\").concat(documentId, \"?thumbnail=true\"), {\n responseType: 'arraybuffer',\n })\n .then(function (r) { return Buffer.from(r.data, 'binary').toString('base64'); })];\n });\n}); };\n"]}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-97329951.system.js"],(function(t){"use strict";var e,i,r,a,n;return{setters:[function(t){e=t.r;i=t.c;r=t.h;a=t.H;n=t.a}],execute:function(){var s="verdocs-document-page{width:100%;position:relative}verdocs-document-page .verdocs-document-page-layer{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:0 0 10px 5px #0000000f;box-shadow:0 0 10px 5px #0000000f}verdocs-document-page .verdocs-document-page-layer.img{max-width:100%}";var h=t("verdocs_document_page",function(){function t(t){e(this,t);this.pageRendered=i(this,"pageRendered",7);this.pageImageUri="";this.pageNumber=1;this.virtualWidth=612;this.virtualHeight=792;this.layers=[{name:"page",type:"canvas"}];this.containerId="verdocs-document-page-".concat(Math.random().toString(36).substring(2,11));this.renderedWidth=this.virtualWidth;this.renderedHeight=this.virtualHeight;this.naturalWidth=this.virtualWidth;this.naturalHeight=this.virtualHeight;this.aspectRatio=this.virtualWidth/this.virtualHeight;this.skipFirstNotification=true}t.prototype.componentDidLoad=function(){var t=this;this.resizeObserver=new ResizeObserver((function(e){for(var i=0,r=e;i<r.length;i++){var a=r[i];var n=a.contentRect.width;t.renderedWidth=n;t.renderedHeight=t.virtualHeight*(n/t.virtualWidth)}t.notifyRenderedSize()}));this.resizeObserver.observe(this.container)};t.prototype.disconnectedCallback=function(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()};t.prototype.notifyRenderedSize=function(){if(this.skipFirstNotification){this.skipFirstNotification=false;return}this.pageRendered.emit({container:this.container,containerId:this.containerId,pageNumber:this.pageNumber,virtualWidth:this.virtualWidth,virtualHeight:this.virtualHeight,renderedWidth:this.renderedWidth,renderedHeight:this.renderedHeight,naturalWidth:this.naturalWidth,naturalHeight:this.naturalHeight,xScale:this.renderedWidth/this.naturalWidth,yScale:this.renderedHeight/this.naturalHeight})};t.prototype.render=function(){var t=this;var e="".concat(this.renderedHeight,"px");return r(a,{id:"".concat(this.containerId),style:{height:e}},this.layers.map((function(i){return i.type==="div"?r("div",{class:"verdocs-document-page-layer",id:"".concat(t.containerId,"-").concat(i.name),style:{height:e}}):r("img",{class:"verdocs-document-page-layer img",id:"".concat(t.containerId,"-").concat(i.name),src:t.pageImageUri,alt:"Page ".concat(t.pageNumber),"aria-hidden":true,onLoad:function(e){t.naturalWidth=e.target.naturalWidth;t.naturalHeight=e.target.naturalHeight;t.aspectRatio=t.naturalWidth/t.naturalHeight;console.log("[DOCPAGE] Loaded dimensions",{width:t.naturalWidth,height:t.naturalHeight,aspectRatio:t.aspectRatio})}})})))};Object.defineProperty(t.prototype,"container",{get:function(){return n(this)},enumerable:false,configurable:true});return t}());h.style=s}}}));
2
+ //# sourceMappingURL=p-cf2d7761.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/elements/verdocs-document-page/verdocs-document-page.scss?tag=verdocs-document-page","src/components/elements/verdocs-document-page/verdocs-document-page.tsx"],"names":["verdocsDocumentPageCss","VerdocsDocumentPage","exports","name","type","concat","Math","random","toString","substring","this","virtualWidth","virtualHeight","class_1","prototype","componentDidLoad","_this","resizeObserver","ResizeObserver","entries","_i","entries_1","length","entry","renderedWidth","contentRect","width","renderedHeight","notifyRenderedSize","observe","container","disconnectedCallback","_a","disconnect","skipFirstNotification","pageRendered","emit","containerId","pageNumber","naturalWidth","naturalHeight","xScale","yScale","render","height","h","Host","id","style","layers","map","layer","class","src","pageImageUri","alt","aria-hidden","onLoad","e","target","aspectRatio","console","log"],"mappings":"kKAAA,IAAMA,EAAyB,+SCelBC,EAAmBC,EAAA,wBAAA,gGAOC,mBAMF,oBAME,uBAMC,gBAcD,CAAC,CAACC,KAAM,OAAQC,KAAM,4BAO9B,yBAAAC,OAAyBC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,wBAEvDC,KAAKC,iCACJD,KAAKE,gCACPF,KAAKC,gCACJD,KAAKE,+BACPF,KAAKC,aAAeD,KAAKE,yCAEvB,KAEjCC,EAAAC,UAAAC,iBAAA,WAAA,IAAAC,EAAAN,KACEA,KAAKO,eAAiB,IAAIC,gBAAe,SAAAC,GACvC,IAAoB,IAAAC,EAAA,EAAAC,EAAAF,EAAAC,EAAAC,EAAAC,OAAAF,IAAS,CAAxB,IAAMG,EAAKF,EAAAD,GACd,IAAMI,EAAgBD,EAAME,YAAYC,MACxCV,EAAKQ,cAAgBA,EACrBR,EAAKW,eAAiBX,EAAKJ,eAAiBY,EAAgBR,EAAKL,cAGnEK,EAAKY,wBAGPlB,KAAKO,eAAeY,QAAQnB,KAAKoB,YAGnCjB,EAAAC,UAAAiB,qBAAA,kBACEC,EAAAtB,KAAKO,kBAAc,MAAAe,SAAA,OAAA,EAAAA,EAAEC,cASvBpB,EAAAC,UAAAc,mBAAA,WAGE,GAAIlB,KAAKwB,sBAAuB,CAC9BxB,KAAKwB,sBAAwB,MAC7B,OAGFxB,KAAKyB,aAAaC,KAAK,CACrBN,UAAWpB,KAAKoB,UAChBO,YAAa3B,KAAK2B,YAClBC,WAAY5B,KAAK4B,WACjB3B,aAAcD,KAAKC,aACnBC,cAAeF,KAAKE,cACpBY,cAAed,KAAKc,cACpBG,eAAgBjB,KAAKiB,eACrBY,aAAc7B,KAAK6B,aACnBC,cAAe9B,KAAK8B,cACpBC,OAAQ/B,KAAKc,cAAgBd,KAAK6B,aAClCG,OAAQhC,KAAKiB,eAAiBjB,KAAK8B,iBAIvC3B,EAAAC,UAAA6B,OAAA,WAAA,IAAA3B,EAAAN,KACE,IAAMkC,EAAS,GAAAvC,OAAGK,KAAKiB,eAAc,MAErC,OACEkB,EAACC,EAAI,CAACC,GAAI,GAAA1C,OAAGK,KAAK2B,aAAeW,MAAO,CAACJ,OAAMA,IAC5ClC,KAAKuC,OAAOC,KAAI,SAAAC,GACf,OAAAA,EAAM/C,OAAS,MACbyC,EAAA,MAAA,CAAKO,MAAM,8BAA8BL,GAAI,GAAA1C,OAAGW,EAAKqB,YAAW,KAAAhC,OAAI8C,EAAMhD,MAAQ6C,MAAO,CAACJ,OAAMA,KAEhGC,EAAA,MAAA,CACEO,MAAM,kCACNL,GAAI,GAAA1C,OAAGW,EAAKqB,YAAW,KAAAhC,OAAI8C,EAAMhD,MAEjCkD,IAAKrC,EAAKsC,aACVC,IAAK,QAAAlD,OAAQW,EAAKsB,YAAYkB,cACjB,KACbC,OAAQ,SAACC,GACP1C,EAAKuB,aAAemB,EAAEC,OAAOpB,aAC7BvB,EAAKwB,cAAgBkB,EAAEC,OAAOnB,cAC9BxB,EAAK4C,YAAc5C,EAAKuB,aAAevB,EAAKwB,cAC5CqB,QAAQC,IAAI,8BAA+B,CAACpC,MAAOV,EAAKuB,aAAcK,OAAQ5B,EAAKwB,cAAeoB,YAAa5C,EAAK4C,kJA3HpG","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n max-width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-document-page',\n styleUrl: 'verdocs-document-page.scss',\n shadow: false,\n})\nexport class VerdocsDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The URL of the image to render as the page background.\n */\n @Prop() pageImageUri: string = '';\n\n /**\n * The page number being rendered. Not used internally, but included in callbacks/events beacuse page numbers\n * are used everywhere in document handling. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-document-page-ker2fr1p9\">\n * <div id=\"verdocs-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n componentDidLoad(): void {\n this.resizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n });\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n container: this.container,\n containerId: this.containerId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n xScale: this.renderedWidth / this.naturalWidth,\n yScale: this.renderedHeight / this.naturalHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : (\n <img\n class=\"verdocs-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n // style={{height}}\n src={this.pageImageUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n onLoad={(e: any) => {\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n console.log('[DOCPAGE] Loaded dimensions', {width: this.naturalWidth, height: this.naturalHeight, aspectRatio: this.aspectRatio});\n }}\n />\n ),\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- System.register(["./p-97329951.system.js","./p-a7433630.system.js","./p-7a63bdd1.system.js"],(function(e){"use strict";var s,r,t;return{setters:[function(e){s=e.r;r=e.h},function(){},function(e){t=e.V}],execute:function(){var i='verdocs-search{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:-ms-flexbox;display:flex;background-color:#1e2031}verdocs-search search-box{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:20px 10px}verdocs-search .boxes{-ms-flex-wrap:wrap;flex-wrap:wrap;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:20px 0}verdocs-search search-recent,verdocs-search search-saved,verdocs-search search-quick-functions,verdocs-search search-starred{display:-ms-flexbox;display:flex;margin:0 20px 20px 0}';var n=e("verdocs_search",function(){function e(e){s(this,e);this.endpoint=t.getDefault()}e.prototype.render=function(){return r("div",{class:"container"},r("verdocs-search-box",{endpoint:this.endpoint}),r("div",{class:"boxes"},r("verdocs-search-activity",{type:"recent",endpoint:this.endpoint}),r("verdocs-search-activity",{type:"saved",endpoint:this.endpoint}),r("verdocs-search-activity",{type:"starred",endpoint:this.endpoint}),r("verdocs-quick-functions",{endpoint:this.endpoint})))};return e}());n.style=i}}}));
2
- //# sourceMappingURL=p-11e316c1.system.entry.js.map
1
+ System.register(["./p-97329951.system.js","./p-a7433630.system.js","./p-6e1ada33.system.js"],(function(e){"use strict";var s,r,t;return{setters:[function(e){s=e.r;r=e.h},function(){},function(e){t=e.V}],execute:function(){var i='verdocs-search{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:-ms-flexbox;display:flex;background-color:#1e2031}verdocs-search search-box{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:20px 10px}verdocs-search .boxes{-ms-flex-wrap:wrap;flex-wrap:wrap;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:20px 0}verdocs-search search-recent,verdocs-search search-saved,verdocs-search search-quick-functions,verdocs-search search-starred{display:-ms-flexbox;display:flex;margin:0 20px 20px 0}';var n=e("verdocs_search",function(){function e(e){s(this,e);this.endpoint=t.getDefault()}e.prototype.render=function(){return r("div",{class:"container"},r("verdocs-search-box",{endpoint:this.endpoint}),r("div",{class:"boxes"},r("verdocs-search-activity",{type:"recent",endpoint:this.endpoint}),r("verdocs-search-activity",{type:"saved",endpoint:this.endpoint}),r("verdocs-search-activity",{type:"starred",endpoint:this.endpoint}),r("verdocs-quick-functions",{endpoint:this.endpoint})))};return e}());n.style=i}}}));
2
+ //# sourceMappingURL=p-cf8ecaaf.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","[object Object]","this","handleShow","console","log","_a","dialog","remove","e","tempSignature","detail","fieldChange","emit","hideDialog","document","createElement","open","fullName","recipient","full_name","name","addEventListener","handleAdopt","body","append","settings","getFieldSettings","field","value","base64","disabled","_b","backgroundColor","getRGBA","roleindex","h","Host","class","required","_c","style","src","alt","onClick","editable","icon","label","options","placeholder","onInput","verdocsSignatureDialogCss","VerdocsSignatureDialog","enteredName","ds","FontFace","load","then","font","fonts","add","fontLoaded","redrawSignature","canvasElement","canvasWidth","width","context","getContext","clearRect","height","fontSize","measureText","textAlign","textBaseline","fillText","stopPropagation","cancel","target","preventDefault","data","toDataURL","adopt","handleCancel","handleNameChange","tab","active","mode","ref","el","display","size","variant","onPress","verdocsToolbarIconCss","VerdocsToolbarIcon","Math","random","toString","substring","popperInstance","createPopper","iconEl","tooltip","destroy","setAttribute","update","catch","removeAttribute","press","aria-describedby","containerId","innerHTML","onMouseEnter","show","onFocus","onMouseLeave","hide","onBlur","handlePress","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 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 {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Documents/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter, Method, State} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\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, the signature creation dialog will be initialized from this object.\n */\n @Prop() recipient?: IRecipient;\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 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.open = true;\n this.dialog.fullName = this.recipient?.full_name || this.name;\n this.dialog.addEventListener('cancel', () => this.hideDialog());\n this.dialog.addEventListener('adopt', e => this.handleAdopt(e));\n document.body.append(this.dialog);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const value = this.tempSignature || settings.base64;\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n return (\n <Host class={{required: this.field?.required, disabled}} style={{backgroundColor}}>\n {value ? <img src={this.tempSignature || settings.base64} 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: 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 .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: $verdocs-grey-3;\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 * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() open: boolean = false;\n\n /**\n * Event fired when a signature is adopted.\n */\n @Event({composed: true}) adopt: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled.\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 handleCancel(e: any) {\n e.stopPropagation();\n this.cancel.emit();\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.adopt.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 class={{open: this.open}} 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\" onPress={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onPress={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, 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 onClick={() => this.handlePress()}\n ref={el => (this.iconEl = el as HTMLDivElement)}\n />\n <div\n id={this.containerId}\n role=\"tooltip\"\n class=\"tooltip\"\n // style=\"display: none; visibility: visible; margin: 0px; position: absolute; inset: 0px auto auto 0px; transform: translate(951px, 5510px);\"\n data-popper-placement=\"bottom\"\n ref={el => (this.tooltip = el as HTMLDivElement)}\n >\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","[object Object]","this","handleShow","console","log","_a","dialog","remove","e","tempSignature","detail","fieldChange","emit","hideDialog","document","createElement","open","fullName","recipient","full_name","name","addEventListener","handleAdopt","body","append","settings","getFieldSettings","field","value","base64","disabled","_b","backgroundColor","getRGBA","roleindex","h","Host","class","required","_c","style","src","alt","onClick","editable","icon","label","options","placeholder","onInput","verdocsSignatureDialogCss","VerdocsSignatureDialog","enteredName","ds","FontFace","load","then","font","fonts","add","fontLoaded","redrawSignature","canvasElement","canvasWidth","width","context","getContext","clearRect","height","fontSize","measureText","textAlign","textBaseline","fillText","stopPropagation","cancel","target","preventDefault","data","toDataURL","adopt","handleCancel","handleNameChange","tab","active","mode","ref","el","display","size","variant","onPress","verdocsToolbarIconCss","VerdocsToolbarIcon","Math","random","toString","substring","popperInstance","createPopper","iconEl","tooltip","destroy","setAttribute","update","catch","removeAttribute","press","aria-describedby","containerId","innerHTML","onMouseEnter","show","onFocus","onMouseLeave","hide","onBlur","handlePress","id","role","data-popper-placement","text","data-popper-arrow"],"mappings":"qKAAA,MAAMA,EAA2B,u0CCMjC,MAAMC,EACJ,+rCAWWC,EAAqB,gIAIwB,eAKhC,0CAUK,oBAMA,oBAKA,qBAKA,qBAkBL,GANdC,mBACRC,KAAKC,aACLC,QAAQC,IAAI,UAAWH,MAQzBD,oBACEK,EAAAJ,KAAKK,UAAM,MAAAD,SAAA,OAAA,EAAAA,EAAEE,SACbN,KAAKK,OAAS,KAGhBN,YAAYQ,SACVL,QAAQC,IAAI,iCACZH,KAAKQ,cAAgBD,EAAEE,QACvBL,EAAAJ,KAAKU,eAAW,MAAAN,SAAA,OAAA,EAAAA,EAAEO,KAAKX,KAAKQ,eAC5BR,KAAKY,aAGPb,mBACEC,KAAKK,OAASQ,SAASC,cAAc,4BACrCd,KAAKK,OAAOU,KAAO,KACnBf,KAAKK,OAAOW,WAAWZ,EAAAJ,KAAKiB,aAAS,MAAAb,SAAA,OAAA,EAAAA,EAAEc,YAAalB,KAAKmB,KACzDnB,KAAKK,OAAOe,iBAAiB,UAAU,IAAMpB,KAAKY,eAClDZ,KAAKK,OAAOe,iBAAiB,SAASb,GAAKP,KAAKqB,YAAYd,KAC5DM,SAASS,KAAKC,OAAOvB,KAAKK,QAG5BN,mBACE,MAAMyB,EAAWC,EAAiBzB,KAAK0B,OACvC,MAAMC,EAAQ3B,KAAKQ,eAAiBgB,EAASI,OAC7C,MAAMC,GAAWC,GAAA1B,EAAAJ,KAAK6B,YAAQ,MAAAzB,SAAA,EAAAA,EAAIoB,EAASK,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,MAAMC,EAAkB/B,KAAK0B,MAAM,SAAWM,EAAQhC,KAAKiC,WAE3D,OACEC,EAACC,EAAI,CAACC,MAAO,CAACC,UAAUC,EAAAtC,KAAK0B,SAAK,MAAAY,SAAA,OAAA,EAAAA,EAAED,SAAUR,SAAAA,GAAWU,MAAO,CAACR,gBAAAA,IAC9DJ,EAAQO,EAAA,MAAA,CAAKM,IAAKxC,KAAKQ,eAAiBgB,EAASI,OAAQa,IAAI,cAAiBP,EAAA,SAAA,CAAQQ,QAAS,KAAOb,GAAY7B,KAAKC,cAAY,aAEnID,KAAK2C,UACJT,EAAA,uBAAA,CAAsBU,KAAM/C,GAC1BqC,EAAA,KAAA,KAAA,kBACAA,EAAA,OAAA,KACEA,EAAA,uBAAA,CACEW,MAAM,YACNC,QAAS,CACP,CAACD,MAAO,QAASlB,MAAO,SACxB,CAACkB,MAAO,SAAUlB,MAAO,aAI7BO,EAAA,qBAAA,CAAoBW,MAAM,aAAalB,MAAM,GAAGoB,YAAY,uBAAuBC,QAASzC,GAAKL,QAAQC,IAAI,MAAOI,KACpH2B,EAAA,qBAAA,CAAoBW,MAAM,cAAclB,MAAM,GAAGoB,YAAY,sBAAsBC,QAASzC,GAAKL,QAAQC,IAAI,MAAOI,oBCvHlI,MAAM0C,EAA4B,yxDCUrBC,EAAsB,qGAMV,aAKC,sBAYF,uBAES,aAEP,OAExBnD,oBACEC,KAAKmD,YAAcnD,KAAKmB,KAExB,MAAMiC,EAAK,IAAIC,SAAS,iBAAkB,oHAC1CD,EAAGE,OAAOC,MAAKC,IACb3C,SAAS4C,MAAMC,IAAIF,GACnBxD,KAAK2D,WAAa,QAItB5D,mBACEC,KAAK4D,kBAGP7D,qBACEC,KAAK4D,kBAGP7D,kBACE,IAAKC,KAAK6D,cAAe,CACvB,OAGF,MAAMC,EAAc9D,KAAK6D,cAAcE,MAEvC,MAAMC,EAAUhE,KAAK6D,cAAcI,WAAW,MAC9CD,EAAQE,UAAU,EAAG,EAAGlE,KAAK6D,cAAcE,MAAO/D,KAAK6D,cAAcM,QAErE,IAAIC,EAAW,IACf,EAAG,CACDA,GAAY,EACZJ,EAAQR,KAAO,GAAGY,2BACXJ,EAAQK,YAAYrE,KAAKmD,aAAaY,MAAQD,EAAc,IAErEE,EAAQM,UAAY,SACpBN,EAAQO,aAAe,SACvBP,EAAQR,KAAO,GAAGY,qBAClBJ,EAAQQ,SAASxE,KAAKmD,YAAanD,KAAK6D,cAAcE,MAAQ,EAAG/D,KAAK6D,cAAcM,OAAS,GAG/FpE,aAAaQ,GACXA,EAAEkE,kBACFzE,KAAK0E,OAAO/D,OAGdZ,iBAAiBQ,GACfP,KAAKmD,YAAc5C,EAAEoE,OAAOhD,MAG9B5B,YAAYQ,GACVA,EAAEkE,kBACFlE,EAAEqE,iBACF,MAAMC,EAAO7E,KAAK6D,cAAciB,UAAU,aAC1C9E,KAAK+E,MAAMpE,KAAKkE,GAiKlB9E,SACE,OACEmC,EAACC,EAAI,CAACC,MAAO,CAACrB,KAAMf,KAAKe,MAAO2B,QAASnC,GAAKP,KAAKgF,aAAazE,IAC9D2B,EAAA,MAAA,CAAKE,MAAM,UACTF,EAAA,MAAA,CAAKE,MAAM,WAAS,yBAEpBF,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,qBAAA,CAAoBa,YAAY,eAAeF,MAAM,YAAYlB,MAAO3B,KAAKmD,YAAaH,QAASzC,GAAKP,KAAKiF,iBAAiB1E,GAAImC,QAASnC,GAAKA,EAAEkE,oBAClJvC,EAAA,MAAA,CAAKE,MAAM,YAAU,kDAErBF,EAAA,MAAA,CAAKE,MAAM,QACTF,EAAA,MAAA,CAAKE,MAAO,CAAC8C,IAAK,KAAMC,OAAQnF,KAAKoF,OAAS,QAAS1C,QAAS,IAAO1C,KAAKoF,KAAO,QAAO,QAG1FlD,EAAA,MAAA,CAAKE,MAAO,CAAC8C,IAAK,KAAMC,OAAQnF,KAAKoF,OAAS,QAAS1C,QAAS,IAAO1C,KAAKoF,KAAO,QAAO,SAK3FpF,KAAK2D,WAAazB,EAAA,SAAA,CAAQmD,IAAKC,GAAOtF,KAAK6D,cAAgByB,IAA+BpD,EAAA,MAAA,CAAKK,MAAO,CAACgD,QAAS,UAEjHrD,EAAA,MAAA,CAAKE,MAAM,cAAY,iQAKvBF,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,iBAAA,CAAgBW,MAAM,SAAS2C,KAAK,SAASC,QAAQ,UAAUC,QAASnF,GAAKP,KAAKgF,aAAazE,KAC/F2B,EAAA,iBAAA,CAAgBW,MAAM,eAAe2C,KAAK,SAASE,QAASnF,GAAKP,KAAKqB,YAAYd,qBCzRhG,MAAMoF,EAAwB,srCCWjBC,EAAkB,sEAQN,aAKA,oBAOA,wBAAwBC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,MAEvFjG,mBACEC,KAAKiG,eAAiBC,EAAalG,KAAKmG,OAAQnG,KAAKoG,QAAS,IAMhErG,uBACE,GAAIC,KAAKiG,eAAgB,CACvBjG,KAAKiG,eAAeI,UACpBrG,KAAKiG,eAAiB,MAI1BlG,gBACEK,EAAAJ,KAAKoG,WAAO,MAAAhG,SAAA,OAAA,EAAAA,EAAEkG,aAAa,YAAa,KACxCxE,EAAA9B,KAAKiG,kBAAc,MAAAnE,SAAA,OAAA,EAAAA,EAAEyE,SAASC,OAAM,SAGtCzG,cACEK,EAAAJ,KAAKoG,WAAO,MAAAhG,SAAA,OAAA,EAAAA,EAAEqG,gBAAgB,aAGhC1G,qBACEK,EAAAJ,KAAK0G,SAAK,MAAAtG,SAAA,OAAA,EAAAA,EAAEO,OAGdZ,SACE,OACEmC,EAACC,EAAI,CAACC,MAAO,IACXF,EAAA,MAAA,CAAAyE,mBACoB3G,KAAK4G,YACvBxE,MAAM,OACNyE,UAAW7G,KAAK4C,KAChBkE,aAAc,IAAM9G,KAAK+G,OACzBC,QAAS,IAAMhH,KAAK+G,OACpBE,aAAc,IAAMjH,KAAKkH,OACzBC,OAAQ,IAAMnH,KAAKkH,OACnBxE,QAAS,IAAM1C,KAAKoH,cACpB/B,IAAKC,GAAOtF,KAAKmG,OAASb,IAE5BpD,EAAA,MAAA,CACEmF,GAAIrH,KAAK4G,YACTU,KAAK,UACLlF,MAAM,UAASmF,wBAEO,SACtBlC,IAAKC,GAAOtF,KAAKoG,QAAUd,GAE1BtF,KAAKwH,KACNtF,EAAA,MAAA,CAAAuF,oBAAuB,OAAOrF,MAAM","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 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 {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter, Method, State} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\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, the signature creation dialog will be initialized from this object.\n */\n @Prop() recipient?: IRecipient;\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 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.open = true;\n this.dialog.fullName = this.recipient?.full_name || this.name;\n this.dialog.addEventListener('cancel', () => this.hideDialog());\n this.dialog.addEventListener('adopt', e => this.handleAdopt(e));\n document.body.append(this.dialog);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const value = this.tempSignature || settings.base64;\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n return (\n <Host class={{required: this.field?.required, disabled}} style={{backgroundColor}}>\n {value ? <img src={this.tempSignature || settings.base64} 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: 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 .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: $verdocs-grey-3;\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 * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() open: boolean = false;\n\n /**\n * Event fired when a signature is adopted.\n */\n @Event({composed: true}) adopt: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled.\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 handleCancel(e: any) {\n e.stopPropagation();\n this.cancel.emit();\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.adopt.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 class={{open: this.open}} 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\" onPress={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onPress={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, 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 onClick={() => this.handlePress()}\n ref={el => (this.iconEl = el as HTMLDivElement)}\n />\n <div\n id={this.containerId}\n role=\"tooltip\"\n class=\"tooltip\"\n // style=\"display: none; visibility: visible; margin: 0px; position: absolute; inset: 0px auto auto 0px; transform: translate(951px, 5510px);\"\n data-popper-placement=\"bottom\"\n ref={el => (this.tooltip = el as HTMLDivElement)}\n >\n {this.text}\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -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","focused","el","focus","fieldFocus","emit","handleBlur","fieldBlur","handleFocus","handleChange","e","fieldChange","target","value","render","_this","settings","getFieldSettings","field","disabled","_b","_a","h","Host","class","required","tabIndex","order","ref","onChange","onBlur","onFocus","options","map","option","id","selected"],"mappings":"ioDAAA,IAAMA,EAA0B,wtCCcnBC,EAAoBC,EAAA,yBAAA,mKAMyB,4CAU3B,mBAmBV,MAEHC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,QAAU,KACfD,KAAKE,GAAGC,QACRH,KAAKI,WAAWC,KAAK,uBAGvBR,EAAAC,UAAAQ,WAAA,WACEN,KAAKC,QAAU,MACfD,KAAKO,UAAUF,KAAK,OAGtBR,EAAAC,UAAAU,YAAA,WACER,KAAKC,QAAU,KACfD,KAAKI,WAAWC,KAAK,OAGvBR,EAAAC,UAAAW,aAAA,SAAaC,GACXV,KAAKW,YAAYN,KAAKK,EAAEE,OAAOC,QAGjChB,EAAAC,UAAAgB,OAAA,WAAA,IAAAC,EAAAf,aACE,IAAMgB,EAAWC,EAAiBjB,KAAKkB,OACvC,IAAMC,GAAWC,GAAAC,EAAArB,KAAKmB,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,OACEE,EAACC,EAAI,CAACC,MAAO,CAACvB,QAASD,KAAKC,QAASwB,SAAUT,EAASS,SAAUN,SAAQA,IACxEG,EAAA,SAAA,CACEI,SAAUV,EAASW,MACnBR,SAAUA,EACVS,IAAK,SAAA1B,GAAE,OAAKa,EAAKb,GAAKA,GACtB2B,SAAU,SAAAnB,GAAK,OAAAK,EAAKN,aAAaC,IACjCoB,OAAQ,WAAM,OAAAf,EAAKT,cACnByB,QAAS,WAAM,OAAAhB,EAAKP,gBAEpBc,EAAA,SAAA,CAAQT,MAAM,IAAE,cACdG,EAASgB,SAAW,IAAIC,KAAI,SAAAC,GAAM,OAClCZ,EAAA,SAAA,CAAQT,MAAOqB,EAAOC,GAAIC,SAAUF,EAAOrB,QAAUG,EAASH,OAC3DqB,EAAOrB,sBAzEW","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 {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Documents/Types';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, State} 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 * The recipient completing the form, if known.\n */\n @Prop() recipient?: IRecipient;\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 * Event fired when the input field loses focus.\n */\n @Event({composed: true}) fieldFocus: EventEmitter<boolean>;\n\n /**\n * Event fired when the input field gains focus.\n */\n @Event({composed: true}) fieldBlur: EventEmitter<boolean>;\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 @State() focused = false;\n\n @Method() async focusField() {\n this.focused = true;\n this.el.focus();\n this.fieldFocus.emit(true);\n }\n\n handleBlur() {\n this.focused = false;\n this.fieldBlur.emit(true);\n }\n\n handleFocus() {\n this.focused = true;\n this.fieldFocus.emit(true);\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 return (\n <Host class={{focused: this.focused, required: settings.required, disabled}}>\n <select\n tabIndex={settings.order}\n disabled={disabled}\n ref={el => (this.el = el)}\n onChange={e => this.handleChange(e)}\n onBlur={() => this.handleBlur()}\n onFocus={() => this.handleFocus()}\n >\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","focused","el","focus","fieldFocus","emit","handleBlur","fieldBlur","handleFocus","handleChange","e","fieldChange","target","value","render","_this","settings","getFieldSettings","field","disabled","_b","_a","h","Host","class","required","tabIndex","order","ref","onChange","onBlur","onFocus","options","map","option","id","selected"],"mappings":"ioDAAA,IAAMA,EAA0B,wtCCcnBC,EAAoBC,EAAA,yBAAA,mKAMyB,4CAU3B,mBAmBV,MAEHC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,QAAU,KACfD,KAAKE,GAAGC,QACRH,KAAKI,WAAWC,KAAK,uBAGvBR,EAAAC,UAAAQ,WAAA,WACEN,KAAKC,QAAU,MACfD,KAAKO,UAAUF,KAAK,OAGtBR,EAAAC,UAAAU,YAAA,WACER,KAAKC,QAAU,KACfD,KAAKI,WAAWC,KAAK,OAGvBR,EAAAC,UAAAW,aAAA,SAAaC,GACXV,KAAKW,YAAYN,KAAKK,EAAEE,OAAOC,QAGjChB,EAAAC,UAAAgB,OAAA,WAAA,IAAAC,EAAAf,aACE,IAAMgB,EAAWC,EAAiBjB,KAAKkB,OACvC,IAAMC,GAAWC,GAAAC,EAAArB,KAAKmB,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,OACEE,EAACC,EAAI,CAACC,MAAO,CAACvB,QAASD,KAAKC,QAASwB,SAAUT,EAASS,SAAUN,SAAQA,IACxEG,EAAA,SAAA,CACEI,SAAUV,EAASW,MACnBR,SAAUA,EACVS,IAAK,SAAA1B,GAAE,OAAKa,EAAKb,GAAKA,GACtB2B,SAAU,SAAAnB,GAAK,OAAAK,EAAKN,aAAaC,IACjCoB,OAAQ,WAAM,OAAAf,EAAKT,cACnByB,QAAS,WAAM,OAAAhB,EAAKP,gBAEpBc,EAAA,SAAA,CAAQT,MAAM,IAAE,cACdG,EAASgB,SAAW,IAAIC,KAAI,SAAAC,GAAM,OAClCZ,EAAA,SAAA,CAAQT,MAAOqB,EAAOC,GAAIC,SAAUF,EAAOrB,QAAUG,EAASH,OAC3DqB,EAAOrB,sBAzEW","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 {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, State} 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 * The recipient completing the form, if known.\n */\n @Prop() recipient?: IRecipient;\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 * Event fired when the input field loses focus.\n */\n @Event({composed: true}) fieldFocus: EventEmitter<boolean>;\n\n /**\n * Event fired when the input field gains focus.\n */\n @Event({composed: true}) fieldBlur: EventEmitter<boolean>;\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 @State() focused = false;\n\n @Method() async focusField() {\n this.focused = true;\n this.el.focus();\n this.fieldFocus.emit(true);\n }\n\n handleBlur() {\n this.focused = false;\n this.fieldBlur.emit(true);\n }\n\n handleFocus() {\n this.focused = true;\n this.fieldFocus.emit(true);\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 return (\n <Host class={{focused: this.focused, required: settings.required, disabled}}>\n <select\n tabIndex={settings.order}\n disabled={disabled}\n ref={el => (this.el = el)}\n onChange={e => this.handleChange(e)}\n onBlur={() => this.handleBlur()}\n onFocus={() => this.handleFocus()}\n >\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
- import{r as e,h as s}from"./p-ff1278ed.js";import"./p-8efc9749.js";import{V as r}from"./p-10d804cf.js";const c='verdocs-search{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:-ms-flexbox;display:flex;background-color:#1e2031}verdocs-search search-box{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:20px 10px}verdocs-search .boxes{-ms-flex-wrap:wrap;flex-wrap:wrap;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:20px 0}verdocs-search search-recent,verdocs-search search-saved,verdocs-search search-quick-functions,verdocs-search search-starred{display:-ms-flexbox;display:flex;margin:0 20px 20px 0}';const o=class{constructor(s){e(this,s);this.endpoint=r.getDefault()}render(){return s("div",{class:"container"},s("verdocs-search-box",{endpoint:this.endpoint}),s("div",{class:"boxes"},s("verdocs-search-activity",{type:"recent",endpoint:this.endpoint}),s("verdocs-search-activity",{type:"saved",endpoint:this.endpoint}),s("verdocs-search-activity",{type:"starred",endpoint:this.endpoint}),s("verdocs-quick-functions",{endpoint:this.endpoint})))}};o.style=c;export{o as verdocs_search};
2
- //# sourceMappingURL=p-01d396e5.entry.js.map
1
+ import{r as e,h as s}from"./p-ff1278ed.js";import"./p-8efc9749.js";import{V as r}from"./p-629237fc.js";const c='verdocs-search{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:-ms-flexbox;display:flex;background-color:#1e2031}verdocs-search search-box{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:20px 10px}verdocs-search .boxes{-ms-flex-wrap:wrap;flex-wrap:wrap;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:20px 0}verdocs-search search-recent,verdocs-search search-saved,verdocs-search search-quick-functions,verdocs-search search-starred{display:-ms-flexbox;display:flex;margin:0 20px 20px 0}';const o=class{constructor(s){e(this,s);this.endpoint=r.getDefault()}render(){return s("div",{class:"container"},s("verdocs-search-box",{endpoint:this.endpoint}),s("div",{class:"boxes"},s("verdocs-search-activity",{type:"recent",endpoint:this.endpoint}),s("verdocs-search-activity",{type:"saved",endpoint:this.endpoint}),s("verdocs-search-activity",{type:"starred",endpoint:this.endpoint}),s("verdocs-quick-functions",{endpoint:this.endpoint})))}};o.style=c;export{o as verdocs_search};
2
+ //# sourceMappingURL=p-f11b14a1.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as e,H as o,c as i}from"./p-ff1278ed.js";import{c as n}from"./p-ec26fc38.js";const s='verdocs-button-panel{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:inline-block}verdocs-button-panel .icon{display:inline-block;cursor:pointer}verdocs-button-panel .icon svg{fill:#cccccc}verdocs-button-panel .icon:hover svg{fill:#ffffff}.verdocs-button-panel-content{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;-webkit-box-shadow:0 0 10px 1px #999999;box-shadow:0 0 10px 1px #999999;display:none;background:#ffffff;color:#33364b;width:280px;font-weight:bold;padding:15px;font-size:14px;position:relative;border-radius:4px;z-index:10000}.verdocs-button-panel-content .arrow,.verdocs-button-panel-content .arrow::before{position:absolute;width:8px;height:8px;background:inherit}.verdocs-button-panel-content .arrow{visibility:hidden;top:-4px}.verdocs-button-panel-content .arrow::before{visibility:visible;content:"";-webkit-transform:rotate(45deg);transform:rotate(45deg)}.verdocs-button-panel-content[data-show]{display:block}.verdocs-button-panel-content[data-popper-placement^=top]>.arrow{bottom:-4px}.verdocs-button-panel-content[data-popper-placement^=bottom]>.arrow{top:-4px}.verdocs-button-panel-content[data-popper-placement^=left]>.arrow{right:-4px}.verdocs-button-panel-content[data-popper-placement^=right]>.arrow{left:-4px}.verdocs-button-panel-content h6{color:#092c4c;font-size:16px;font-weight:bold;margin:0 0 8px 0}.verdocs-button-panel-content form{margin:0;padding:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.verdocs-button-panel-content label{display:block;font-size:14px;font-weight:bold;margin:0 0 3px 0;color:#33364b}.verdocs-button-panel-content input{-ms-flex:1;flex:1;height:34px;display:-ms-flexbox;display:flex;font-size:14px;margin:0 0 10px 0}';const a=class{constructor(e){t(this,e);this.showing=false;this.icon=""}componentDidRender(){document.body.appendChild(this.panelEl);if(this.popperInstance){this.popperInstance.destroy()}this.popperInstance=n(this.iconEl,this.panelEl,{})}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}if(this.panelEl){this.panelEl.remove()}}toggle(t){var e,o,i,n;t.stopPropagation();if(this.showing){(e=this.panelEl)===null||e===void 0?void 0:e.removeAttribute("data-show");(o=this.hiderEl)===null||o===void 0?void 0:o.remove();this.showing=false}else{(i=this.panelEl)===null||i===void 0?void 0:i.setAttribute("data-show","");(n=this.popperInstance)===null||n===void 0?void 0:n.update().catch((()=>{}));this.showing=true;this.hiderEl=document.createElement("div");this.hiderEl.style.zIndex="100";this.hiderEl.style.position="absolute";this.hiderEl.style.top="0px";this.hiderEl.style.left="0px";this.hiderEl.style.right="0px";this.hiderEl.style.bottom="0px";this.hiderEl.onclick=t=>this.toggle(t);document.body.appendChild(this.hiderEl)}}render(){return e(o,null,e("div",{class:"icon",innerHTML:this.icon,onClick:t=>this.toggle(t),ref:t=>this.iconEl=t}),e("div",{role:"tooltip",class:"verdocs-button-panel-content","data-popper-placement":"bottom",ref:t=>this.panelEl=t},e("div",{"data-popper-arrow":"true",class:"arrow"}),e("slot",null)))}};a.style=s;const l='verdocs-select-input{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-select-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:28px;padding:4px 12px}verdocs-select-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element:focus{border:1px solid #7d88ff}verdocs-select-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}';const p=class{constructor(e){t(this,e);this.fieldChange=i(this,"fieldChange",7);this.value="";this.label="";this.options=undefined;this.disabled=false;this._value=""}componentWillLoad(){this._value=this.value}componentDidLoad(){}handleInput(t){var e;this._value=t.target.value;(e=this.fieldChange)===null||e===void 0?void 0:e.emit(t.target.value)}render(){return e(o,{class:"input-field"},e("label",null,this.label?e("div",{class:"input-label"},this.label+":"):e("div",null),e("select",{class:"input-element",disabled:this.disabled,onInput:t=>this.handleInput(t)},this.options.map((t=>e("option",{value:t.value,selected:t.value===this.value},t.label))))))}};p.style=l;const r='verdocs-text-input{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-text-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:28px;padding:4px 12px;outline:none}verdocs-text-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:focus{outline:1px solid #7d88ff}verdocs-text-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}';const c=class{constructor(e){t(this,e);this.value="";this.label="";this.placeholder="";this.autocomplete="";this.type="text";this.disabled=false;this._value=""}componentWillLoad(){}componentDidLoad(){}render(){return e(o,{class:"input-field"},e("label",null,this.label?e("div",{class:"input-label"},this.label+":"):e("div",null),e("input",{type:this.type,value:this.value,class:"input-element","data-lpignore":"true",disabled:this.disabled,placeholder:this.placeholder,autoComplete:this.autocomplete})))}};c.style=r;export{a as verdocs_button_panel,p as verdocs_select_input,c as verdocs_text_input};
2
- //# sourceMappingURL=p-2f7e61e9.entry.js.map
1
+ import{r as t,h as e,H as o,c as i}from"./p-ff1278ed.js";import{c as n}from"./p-ec26fc38.js";const s='verdocs-button-panel{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:inline-block}verdocs-button-panel .icon{display:inline-block;cursor:pointer}verdocs-button-panel .icon svg{fill:#cccccc}verdocs-button-panel .icon:hover svg{fill:#ffffff}.verdocs-button-panel-content{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;-webkit-box-shadow:0 0 10px 1px #999999;box-shadow:0 0 10px 1px #999999;display:none;background:#ffffff;color:#33364b;width:280px;font-weight:bold;padding:15px;font-size:14px;position:relative;border-radius:4px;z-index:10000}.verdocs-button-panel-content .arrow,.verdocs-button-panel-content .arrow::before{position:absolute;width:8px;height:8px;background:inherit}.verdocs-button-panel-content .arrow{visibility:hidden;top:-4px}.verdocs-button-panel-content .arrow::before{visibility:visible;content:"";-webkit-transform:rotate(45deg);transform:rotate(45deg)}.verdocs-button-panel-content[data-show]{display:block}.verdocs-button-panel-content[data-popper-placement^=top]>.arrow{bottom:-4px}.verdocs-button-panel-content[data-popper-placement^=bottom]>.arrow{top:-4px}.verdocs-button-panel-content[data-popper-placement^=left]>.arrow{right:-4px}.verdocs-button-panel-content[data-popper-placement^=right]>.arrow{left:-4px}.verdocs-button-panel-content h6{color:#092c4c;font-size:16px;font-weight:bold;margin:0 0 8px 0}.verdocs-button-panel-content form{margin:0;padding:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.verdocs-button-panel-content label{display:block;font-size:14px;font-weight:bold;margin:0 0 3px 0;color:#33364b}.verdocs-button-panel-content input{-ms-flex:1;flex:1;height:34px;display:-ms-flexbox;display:flex;font-size:14px;margin:0 0 10px 0}';const a=class{constructor(e){t(this,e);this.showing=false;this.icon=""}componentDidRender(){document.body.appendChild(this.panelEl);if(this.popperInstance){this.popperInstance.destroy()}this.popperInstance=n(this.iconEl,this.panelEl,{})}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}if(this.panelEl){this.panelEl.remove()}}toggle(t){var e,o,i,n;t.stopPropagation();if(this.showing){(e=this.panelEl)===null||e===void 0?void 0:e.removeAttribute("data-show");(o=this.hiderEl)===null||o===void 0?void 0:o.remove();this.showing=false}else{(i=this.panelEl)===null||i===void 0?void 0:i.setAttribute("data-show","");(n=this.popperInstance)===null||n===void 0?void 0:n.update().catch((()=>{}));this.showing=true;this.hiderEl=document.createElement("div");this.hiderEl.style.zIndex="100";this.hiderEl.style.position="absolute";this.hiderEl.style.top="0px";this.hiderEl.style.left="0px";this.hiderEl.style.right="0px";this.hiderEl.style.bottom="0px";this.hiderEl.onclick=t=>this.toggle(t);document.body.appendChild(this.hiderEl)}}render(){return e(o,null,e("div",{class:"icon",innerHTML:this.icon,onClick:t=>this.toggle(t),ref:t=>this.iconEl=t}),e("div",{role:"tooltip",class:"verdocs-button-panel-content","data-popper-placement":"bottom",ref:t=>this.panelEl=t},e("div",{"data-popper-arrow":"true",class:"arrow"}),e("slot",null)))}};a.style=s;const l='verdocs-select-input{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-select-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:28px;padding:4px 12px}verdocs-select-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element:focus{border:1px solid #7d88ff}verdocs-select-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}';const p=class{constructor(e){t(this,e);this.fieldChange=i(this,"fieldChange",7);this.value="";this.label="";this.options=undefined;this.disabled=false;this._value=""}componentWillLoad(){this._value=this.value}componentDidLoad(){}handleInput(t){var e;this._value=t.target.value;(e=this.fieldChange)===null||e===void 0?void 0:e.emit(t.target.value)}render(){return e(o,{class:"input-field"},e("label",null,this.label?e("div",{class:"input-label"},this.label+":"):e("div",null),e("select",{class:"input-element",disabled:this.disabled,onInput:t=>this.handleInput(t)},this.options.map((t=>e("option",{value:t.value,selected:t.value===this.value},t.label))))))}};p.style=l;const r='verdocs-text-input{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-text-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:28px;padding:4px 12px;outline:none}verdocs-text-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:focus{outline:1px solid #7d88ff}verdocs-text-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}verdocs-text-input [data-lastpass-icon-root]{display:none !important}';const c=class{constructor(e){t(this,e);this.value="";this.label="";this.placeholder="";this.autocomplete="";this.type="text";this.disabled=false;this._value=""}componentWillLoad(){}componentDidLoad(){}render(){return e(o,{class:"input-field"},e("label",null,this.label?e("div",{class:"input-label"},this.label+":"):e("div",null),e("input",{type:this.type,value:this.value,class:"input-element","data-lpignore":"true",disabled:this.disabled,placeholder:this.placeholder,autoComplete:this.autocomplete})))}};c.style=r;export{a as verdocs_button_panel,p as verdocs_select_input,c as verdocs_text_input};
2
+ //# sourceMappingURL=p-f29b8035.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/controls/verdocs-button-panel/verdocs-button-panel.scss?tag=verdocs-button-panel","src/components/controls/verdocs-button-panel/verdocs-button-panel.tsx","src/components/controls/verdocs-select-input/verdocs-select-input.scss?tag=verdocs-select-input","src/components/controls/verdocs-select-input/verdocs-select-input.tsx","src/components/controls/verdocs-text-input/verdocs-text-input.scss?tag=verdocs-text-input","src/components/controls/verdocs-text-input/verdocs-text-input.tsx"],"names":["verdocsButtonPanelCss","VerdocsButtonPanel","this","showing","[object Object]","document","body","appendChild","panelEl","popperInstance","destroy","createPopper","iconEl","remove","e","stopPropagation","_a","removeAttribute","_b","hiderEl","_c","setAttribute","_d","update","catch","createElement","style","zIndex","position","top","left","right","bottom","onclick","toggle","h","Host","class","innerHTML","icon","onClick","ref","el","role","data-popper-placement","data-popper-arrow","verdocsSelectInputCss","VerdocsSelectInput","_value","value","target","fieldChange","emit","label","disabled","onInput","handleInput","options","map","option","selected","verdocsTextInputCss","VerdocsTextInput","type","data-lpignore","placeholder","autoComplete","autocomplete"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-button-panel {\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: $light-border-color;\n }\n\n &:hover {\n svg {\n fill: $verdocs-grey-4;\n }\n }\n }\n}\n\n.verdocs-button-panel-content {\n font-family: $verdocs-primary-font;\n box-shadow: 0 0 10px 1px #999999;\n display: none;\n background: #ffffff;\n color: $label-color;\n width: 280px;\n font-weight: bold;\n padding: 15px;\n font-size: 14px;\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 h6 {\n color: $verdocs-grey-0;\n font-size: 16px;\n font-weight: bold;\n margin: 0 0 8px 0;\n }\n\n form {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n }\n\n label {\n display: block;\n font-size: 14px;\n font-weight: bold;\n margin: 0 0 3px 0;\n color: $verdocs-grey-1;\n }\n\n input {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 14px;\n margin: 0 0 10px 0;\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop} from '@stencil/core';\n\n/**\n * Displays a clickable icon. When clicked, a customizable drop-down panel will be displayed.\n */\n@Component({\n tag: 'verdocs-button-panel',\n styleUrl: 'verdocs-button-panel.scss',\n shadow: false,\n})\nexport class VerdocsButtonPanel {\n iconEl: HTMLDivElement;\n panelEl: HTMLDivElement;\n hiderEl?: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n componentDidRender() {\n document.body.appendChild(this.panelEl);\n if (this.popperInstance) {\n this.popperInstance.destroy();\n }\n\n this.popperInstance = createPopper(this.iconEl, this.panelEl, {\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 if (this.panelEl) {\n this.panelEl.remove();\n }\n }\n\n showing = false;\n toggle(e: any) {\n e.stopPropagation();\n\n if (this.showing) {\n this.panelEl?.removeAttribute('data-show');\n this.hiderEl?.remove();\n this.showing = false;\n } else {\n this.panelEl?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n this.showing = true;\n\n this.hiderEl = document.createElement('div');\n this.hiderEl.style.zIndex = '100';\n this.hiderEl.style.position = 'absolute';\n this.hiderEl.style.top = '0px';\n this.hiderEl.style.left = '0px';\n this.hiderEl.style.right = '0px';\n this.hiderEl.style.bottom = '0px';\n this.hiderEl.onclick = (e: any) => this.toggle(e);\n document.body.appendChild(this.hiderEl);\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"icon\" innerHTML={this.icon} onClick={(e: any) => this.toggle(e)} ref={el => (this.iconEl = el)} />\n <div role=\"tooltip\" class=\"verdocs-button-panel-content\" data-popper-placement=\"bottom\" ref={el => (this.panelEl = el as HTMLDivElement)}>\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n <slot />\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-select-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 28px;\n padding: 4px 12px;\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n border: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n}\n","import {Component, Prop, State, Host, h, Event, EventEmitter} from '@stencil/core';\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emmit.\n */\n@Component({\n tag: 'verdocs-select-input',\n styleUrl: 'verdocs-select-input.scss',\n})\nexport class VerdocsSelectInput {\n /**\n * The initial value for the input field.\n */\n @Prop() value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The options to list.\n */\n @Prop() options: {label: string; value: string}[];\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n @State() _value: string = '';\n\n /**\n * Event fired when the selection has changed\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n componentWillLoad() {\n this._value = this.value;\n }\n\n componentDidLoad() {}\n\n handleInput(e: any) {\n this._value = e.target.value;\n this.fieldChange?.emit(e.target.value);\n }\n\n render() {\n return (\n <Host class=\"input-field\">\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <select class=\"input-element\" disabled={this.disabled} onInput={e => this.handleInput(e)}>\n {this.options.map(option => (\n <option value={option.value} selected={option.value === this.value}>\n {option.label}\n </option>\n ))}\n </select>\n </label>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-text-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 28px;\n padding: 4px 12px;\n outline: none;\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n outline: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n}\n","import {Component, Prop, State, Host, h} from '@stencil/core';\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emmit.\n */\n@Component({\n tag: 'verdocs-text-input',\n styleUrl: 'verdocs-text-input.scss',\n})\nexport class VerdocsTextInput {\n /**\n * The initial value for the input field.\n */\n @Prop() value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The placeholder for the field.\n */\n @Prop() placeholder: string = '';\n\n /**\n * If desired, the autocomplete attribute to set.\n */\n @Prop() autocomplete: string = '';\n\n /**\n * The type of field to render. Only text-type fields are allowed here for the current styling. Additional types\n * (e.g. a date picker) will be supported by other controls in the future.\n */\n @Prop() type: 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url' = 'text';\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n @State() _value: string = '';\n\n componentWillLoad() {\n // this._value = this.value;\n }\n\n componentDidLoad() {}\n\n // handleInput(e: any) {\n // this._value = e.target.value;\n // }\n\n render() {\n return (\n <Host class=\"input-field\">\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <input\n type={this.type}\n value={this.value}\n class=\"input-element\"\n data-lpignore=\"true\"\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoComplete={this.autocomplete}\n // onInput={e => this.handleInput(e)}\n />\n </label>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/controls/verdocs-button-panel/verdocs-button-panel.scss?tag=verdocs-button-panel","src/components/controls/verdocs-button-panel/verdocs-button-panel.tsx","src/components/controls/verdocs-select-input/verdocs-select-input.scss?tag=verdocs-select-input","src/components/controls/verdocs-select-input/verdocs-select-input.tsx","src/components/controls/verdocs-text-input/verdocs-text-input.scss?tag=verdocs-text-input","src/components/controls/verdocs-text-input/verdocs-text-input.tsx"],"names":["verdocsButtonPanelCss","VerdocsButtonPanel","this","showing","[object Object]","document","body","appendChild","panelEl","popperInstance","destroy","createPopper","iconEl","remove","e","stopPropagation","_a","removeAttribute","_b","hiderEl","_c","setAttribute","_d","update","catch","createElement","style","zIndex","position","top","left","right","bottom","onclick","toggle","h","Host","class","innerHTML","icon","onClick","ref","el","role","data-popper-placement","data-popper-arrow","verdocsSelectInputCss","VerdocsSelectInput","_value","value","target","fieldChange","emit","label","disabled","onInput","handleInput","options","map","option","selected","verdocsTextInputCss","VerdocsTextInput","type","data-lpignore","placeholder","autoComplete","autocomplete"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-button-panel {\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: $light-border-color;\n }\n\n &:hover {\n svg {\n fill: $verdocs-grey-4;\n }\n }\n }\n}\n\n.verdocs-button-panel-content {\n font-family: $verdocs-primary-font;\n box-shadow: 0 0 10px 1px #999999;\n display: none;\n background: #ffffff;\n color: $label-color;\n width: 280px;\n font-weight: bold;\n padding: 15px;\n font-size: 14px;\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 h6 {\n color: $verdocs-grey-0;\n font-size: 16px;\n font-weight: bold;\n margin: 0 0 8px 0;\n }\n\n form {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n }\n\n label {\n display: block;\n font-size: 14px;\n font-weight: bold;\n margin: 0 0 3px 0;\n color: $verdocs-grey-1;\n }\n\n input {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 14px;\n margin: 0 0 10px 0;\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop} from '@stencil/core';\n\n/**\n * Displays a clickable icon. When clicked, a customizable drop-down panel will be displayed.\n */\n@Component({\n tag: 'verdocs-button-panel',\n styleUrl: 'verdocs-button-panel.scss',\n shadow: false,\n})\nexport class VerdocsButtonPanel {\n iconEl: HTMLDivElement;\n panelEl: HTMLDivElement;\n hiderEl?: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n componentDidRender() {\n document.body.appendChild(this.panelEl);\n if (this.popperInstance) {\n this.popperInstance.destroy();\n }\n\n this.popperInstance = createPopper(this.iconEl, this.panelEl, {\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 if (this.panelEl) {\n this.panelEl.remove();\n }\n }\n\n showing = false;\n toggle(e: any) {\n e.stopPropagation();\n\n if (this.showing) {\n this.panelEl?.removeAttribute('data-show');\n this.hiderEl?.remove();\n this.showing = false;\n } else {\n this.panelEl?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n this.showing = true;\n\n this.hiderEl = document.createElement('div');\n this.hiderEl.style.zIndex = '100';\n this.hiderEl.style.position = 'absolute';\n this.hiderEl.style.top = '0px';\n this.hiderEl.style.left = '0px';\n this.hiderEl.style.right = '0px';\n this.hiderEl.style.bottom = '0px';\n this.hiderEl.onclick = (e: any) => this.toggle(e);\n document.body.appendChild(this.hiderEl);\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"icon\" innerHTML={this.icon} onClick={(e: any) => this.toggle(e)} ref={el => (this.iconEl = el)} />\n <div role=\"tooltip\" class=\"verdocs-button-panel-content\" data-popper-placement=\"bottom\" ref={el => (this.panelEl = el as HTMLDivElement)}>\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n <slot />\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-select-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 28px;\n padding: 4px 12px;\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n border: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n}\n","import {Component, Prop, State, Host, h, Event, EventEmitter} from '@stencil/core';\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emmit.\n */\n@Component({\n tag: 'verdocs-select-input',\n styleUrl: 'verdocs-select-input.scss',\n})\nexport class VerdocsSelectInput {\n /**\n * The initial value for the input field.\n */\n @Prop() value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The options to list.\n */\n @Prop() options: {label: string; value: string}[];\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n @State() _value: string = '';\n\n /**\n * Event fired when the selection has changed\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n componentWillLoad() {\n this._value = this.value;\n }\n\n componentDidLoad() {}\n\n handleInput(e: any) {\n this._value = e.target.value;\n this.fieldChange?.emit(e.target.value);\n }\n\n render() {\n return (\n <Host class=\"input-field\">\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <select class=\"input-element\" disabled={this.disabled} onInput={e => this.handleInput(e)}>\n {this.options.map(option => (\n <option value={option.value} selected={option.value === this.value}>\n {option.label}\n </option>\n ))}\n </select>\n </label>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-text-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 28px;\n padding: 4px 12px;\n outline: none;\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n outline: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n}\n","import {Component, Prop, State, Host, h} from '@stencil/core';\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emmit.\n */\n@Component({\n tag: 'verdocs-text-input',\n styleUrl: 'verdocs-text-input.scss',\n})\nexport class VerdocsTextInput {\n /**\n * The initial value for the input field.\n */\n @Prop() value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The placeholder for the field.\n */\n @Prop() placeholder: string = '';\n\n /**\n * If desired, the autocomplete attribute to set.\n */\n @Prop() autocomplete: string = '';\n\n /**\n * The type of field to render. Only text-type fields are allowed here for the current styling. Additional types\n * (e.g. a date picker) will be supported by other controls in the future.\n */\n @Prop() type: 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url' = 'text';\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n @State() _value: string = '';\n\n componentWillLoad() {\n // this._value = this.value;\n }\n\n componentDidLoad() {}\n\n // handleInput(e: any) {\n // this._value = e.target.value;\n // }\n\n render() {\n return (\n <Host class=\"input-field\">\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <input\n type={this.type}\n value={this.value}\n class=\"input-element\"\n data-lpignore=\"true\"\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoComplete={this.autocomplete}\n // onInput={e => this.handleInput(e)}\n />\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- System.register(["./p-97329951.system.js","./p-a7433630.system.js","./p-7a63bdd1.system.js","./p-187b20b7.system.js"],(function(t){"use strict";var e,n,i,s,o;return{setters:[function(t){e=t.r;n=t.c;i=t.h},function(){},function(t){s=t.V},function(t){o=t.S}],execute:function(){var a=function(t,e){return t.api.post("/authentication/login",e).then((function(t){return t.data}))};var r='verdocs-auth{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-auth .login-form,verdocs-auth .signup-form{background:#ffffff;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-direction:column;flex-direction:column;display:-ms-flexbox;display:flex;padding:20px;width:300px;max-width:100%}verdocs-auth .logo{margin:20px 0 30px;width:128px;max-width:100%}verdocs-auth h3{text-align:center;font-weight:400;font-size:16px;line-height:1.75;margin:0}verdocs-auth h4{text-align:center;font-weight:400;font-size:14px;line-height:1.43;margin:0}verdocs-auth .status-result{display:none}verdocs-auth .status-result.debug{white-space:pre-wrap;font-size:14px;background:#fff;padding:10px;display:block;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center}verdocs-auth form{width:100%}verdocs-auth verdocs-text-input{margin-bottom:10px}';var l=t("verdocs_auth",function(){function t(t){e(this,t);this.authenticated=n(this,"authenticated",7);this.sdkError=n(this,"sdkError",7);this.endpoint=s.getDefault();this.visible=true;this.logo="https://verdocs.com/assets/blue-logo.svg";this.debug=false;this.isAuthenticated=false;this.displayMode="login";this.username="";this.password="";this.loggingIn=false;this.activeSession=null;this.loginError=null}t.prototype.componentWillLoad=function(){var t,e;this.endpoint.loadSession();if(this.endpoint.session){console.log("[AUTH] Authenticated");this.isAuthenticated=true;this.activeSession=this.endpoint.session;(t=this.authenticated)===null||t===void 0?void 0:t.emit({authenticated:true,session:this.endpoint.session})}else{console.log("[AUTH] Anonymous");(e=this.authenticated)===null||e===void 0?void 0:e.emit({authenticated:false,session:null})}};t.prototype.handleLogin=function(){var t=this;this.loggingIn=true;a(this.endpoint,{username:this.username,password:this.password}).then((function(e){var n;t.loggingIn=false;t.endpoint.setToken(e.accessToken);t.activeSession=t.endpoint.session;t.isAuthenticated=true;(n=t.authenticated)===null||n===void 0?void 0:n.emit({authenticated:true,session:t.endpoint.session})})).catch((function(e){var n,i,s,a,r;console.log("[AUTH] Authentication error",e.response,JSON.stringify(e));t.loggingIn=false;t.activeSession=null;(n=t.authenticated)===null||n===void 0?void 0:n.emit({authenticated:false,session:null});(i=t.sdkError)===null||i===void 0?void 0:i.emit(new o(e.message,(s=e.response)===null||s===void 0?void 0:s.status,(a=e.response)===null||a===void 0?void 0:a.data));if(((r=e===null||e===void 0?void 0:e.response)===null||r===void 0?void 0:r.status)===403){t.loginError="Please check your username and password and try again."}}))};t.prototype.handleLogout=function(){var t;this.endpoint.clearSession();this.isAuthenticated=false;(t=this.authenticated)===null||t===void 0?void 0:t.emit({authenticated:false,session:null})};t.prototype.handleClearError=function(){this.loginError=null};t.prototype.render=function(){var t=this;if(!this.visible){return i("div",{style:{display:"none"}},"Verdocs Auth Placeholder")}if(this.isAuthenticated){if(this.debug){return i("div",{class:"status-result debug"},i("verdocs-button",{label:"Logout",disabled:this.loggingIn,onPress:function(){return t.handleLogout()}}))}return i("div",{class:"status-result"},"Authenticated")}if(this.displayMode==="signup"){return i("div",{class:"signup-form"},i("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"}),i("h3",null,"Sign up for an account"),i("h4",null,"Already have an account?",i("verdocs-button",{label:"Log In",variant:"text",onClick:function(){return t.displayMode="login"},disabled:this.loggingIn})),i("form",{onSubmit:function(){return t.handleLogin()}},i("verdocs-text-input",{label:"Email",autocomplete:"username",value:this.username,onInput:function(e){return t.username=e.target.value},disabled:this.loggingIn}),i("verdocs-text-input",{label:"Password",type:"password",autocomplete:"current-password",value:this.password,onInput:function(e){return t.password=e.target.value},disabled:this.loggingIn}),i("verdocs-button",{label:"Signup",disabled:this.loggingIn,onPress:function(){return t.handleLogin()},style:{display:"flex",justifyContent:"center",margin:"30px auto 0"}})))}return i("div",{class:"login-form"},i("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"}),i("h3",null,"Log in to your account"),i("h4",null,"Don't have an account?",i("verdocs-button",{label:"Sign Up",variant:"text",onClick:function(){return t.displayMode="signup"},disabled:this.loggingIn})),i("form",{onSubmit:function(){return t.handleLogin()}},i("verdocs-text-input",{label:"Email",autocomplete:"username",value:this.username,onInput:function(e){return t.username=e.target.value},disabled:this.loggingIn}),i("verdocs-text-input",{label:"Password",type:"password",autocomplete:"current-password",value:this.password,onInput:function(e){return t.password=e.target.value},disabled:this.loggingIn}),i("verdocs-button",{label:"Forgot Your Password?",variant:"text",onClick:function(){return t.displayMode="signup"},disabled:this.loggingIn,style:{display:"flex",justifyContent:"center",margin:"10px auto 20px"}}),i("verdocs-button",{label:"Login",disabled:this.loggingIn,onPress:function(){return t.handleLogin()},style:{display:"flex",justifyContent:"center",margin:"10px auto 0"}})),this.loginError?i("verdocs-ok-dialog",{open:true,heading:"Login Error",message:this.loginError,onClosed:function(){return t.handleClearError()}}):i("div",null))};return t}());l.style=r}}}));
2
- //# sourceMappingURL=p-cef66554.system.entry.js.map
1
+ System.register(["./p-97329951.system.js","./p-a7433630.system.js","./p-6e1ada33.system.js","./p-187b20b7.system.js"],(function(t){"use strict";var e,n,i,s,o;return{setters:[function(t){e=t.r;n=t.c;i=t.h},function(){},function(t){s=t.V},function(t){o=t.S}],execute:function(){var a=function(t,e){return t.api.post("/authentication/login",e).then((function(t){return t.data}))};var r='verdocs-auth{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-auth .login-form,verdocs-auth .signup-form{background:#ffffff;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-direction:column;flex-direction:column;display:-ms-flexbox;display:flex;padding:20px;width:300px;max-width:100%}verdocs-auth .logo{margin:20px 0 30px;width:128px;max-width:100%}verdocs-auth h3{text-align:center;font-weight:400;font-size:16px;line-height:1.75;margin:0}verdocs-auth h4{text-align:center;font-weight:400;font-size:14px;line-height:1.43;margin:0}verdocs-auth .status-result{display:none}verdocs-auth .status-result.debug{white-space:pre-wrap;font-size:14px;background:#fff;padding:10px;display:block;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center}verdocs-auth form{width:100%}verdocs-auth verdocs-text-input{margin-bottom:10px}';var l=t("verdocs_auth",function(){function t(t){e(this,t);this.authenticated=n(this,"authenticated",7);this.sdkError=n(this,"sdkError",7);this.endpoint=s.getDefault();this.visible=true;this.logo="https://verdocs.com/assets/blue-logo.svg";this.debug=false;this.isAuthenticated=false;this.displayMode="login";this.username="";this.password="";this.loggingIn=false;this.activeSession=null;this.loginError=null}t.prototype.componentWillLoad=function(){var t,e;this.endpoint.loadSession();if(this.endpoint.session){console.log("[AUTH] Authenticated");this.isAuthenticated=true;this.activeSession=this.endpoint.session;(t=this.authenticated)===null||t===void 0?void 0:t.emit({authenticated:true,session:this.endpoint.session})}else{console.log("[AUTH] Anonymous");(e=this.authenticated)===null||e===void 0?void 0:e.emit({authenticated:false,session:null})}};t.prototype.handleLogin=function(){var t=this;this.loggingIn=true;a(this.endpoint,{username:this.username,password:this.password}).then((function(e){var n;t.loggingIn=false;t.endpoint.setToken(e.accessToken);t.activeSession=t.endpoint.session;t.isAuthenticated=true;(n=t.authenticated)===null||n===void 0?void 0:n.emit({authenticated:true,session:t.endpoint.session})})).catch((function(e){var n,i,s,a,r;console.log("[AUTH] Authentication error",e.response,JSON.stringify(e));t.loggingIn=false;t.activeSession=null;(n=t.authenticated)===null||n===void 0?void 0:n.emit({authenticated:false,session:null});(i=t.sdkError)===null||i===void 0?void 0:i.emit(new o(e.message,(s=e.response)===null||s===void 0?void 0:s.status,(a=e.response)===null||a===void 0?void 0:a.data));if(((r=e===null||e===void 0?void 0:e.response)===null||r===void 0?void 0:r.status)===403){t.loginError="Please check your username and password and try again."}}))};t.prototype.handleLogout=function(){var t;this.endpoint.clearSession();this.isAuthenticated=false;(t=this.authenticated)===null||t===void 0?void 0:t.emit({authenticated:false,session:null})};t.prototype.handleClearError=function(){this.loginError=null};t.prototype.render=function(){var t=this;if(!this.visible){return i("div",{style:{display:"none"}},"Verdocs Auth Placeholder")}if(this.isAuthenticated){if(this.debug){return i("div",{class:"status-result debug"},i("verdocs-button",{label:"Logout",disabled:this.loggingIn,onPress:function(){return t.handleLogout()}}))}return i("div",{class:"status-result"},"Authenticated")}if(this.displayMode==="signup"){return i("div",{class:"signup-form"},i("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"}),i("h3",null,"Sign up for an account"),i("h4",null,"Already have an account?",i("verdocs-button",{label:"Log In",variant:"text",onClick:function(){return t.displayMode="login"},disabled:this.loggingIn})),i("form",{onSubmit:function(){return t.handleLogin()}},i("verdocs-text-input",{label:"Email",autocomplete:"username",value:this.username,onInput:function(e){return t.username=e.target.value},disabled:this.loggingIn}),i("verdocs-text-input",{label:"Password",type:"password",autocomplete:"current-password",value:this.password,onInput:function(e){return t.password=e.target.value},disabled:this.loggingIn}),i("verdocs-button",{label:"Signup",disabled:this.loggingIn,onPress:function(){return t.handleLogin()},style:{display:"flex",justifyContent:"center",margin:"30px auto 0"}})))}return i("div",{class:"login-form"},i("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"}),i("h3",null,"Log in to your account"),i("h4",null,"Don't have an account?",i("verdocs-button",{label:"Sign Up",variant:"text",onClick:function(){return t.displayMode="signup"},disabled:this.loggingIn})),i("form",{onSubmit:function(){return t.handleLogin()}},i("verdocs-text-input",{label:"Email",autocomplete:"username",value:this.username,onInput:function(e){return t.username=e.target.value},disabled:this.loggingIn}),i("verdocs-text-input",{label:"Password",type:"password",autocomplete:"current-password",value:this.password,onInput:function(e){return t.password=e.target.value},disabled:this.loggingIn}),i("verdocs-button",{label:"Forgot Your Password?",variant:"text",onClick:function(){return t.displayMode="signup"},disabled:this.loggingIn,style:{display:"flex",justifyContent:"center",margin:"10px auto 20px"}}),i("verdocs-button",{label:"Login",disabled:this.loggingIn,onPress:function(){return t.handleLogin()},style:{display:"flex",justifyContent:"center",margin:"10px auto 0"}})),this.loginError?i("verdocs-ok-dialog",{open:true,heading:"Login Error",message:this.loginError,onClosed:function(){return t.handleClearError()}}):i("div",null))};return t}());l.style=r}}}));
2
+ //# sourceMappingURL=p-f972b493.system.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["node_modules/@verdocs/js-sdk/Users/Auth.js","src/components/embeds/verdocs-auth/verdocs-auth.scss?tag=verdocs-auth","src/components/embeds/verdocs-auth/verdocs-auth.tsx"],"names":["authenticateUser","endpoint","params","api","post","then","r","data","verdocsAuthCss","VerdocsAuth","exports","VerdocsEndpoint","getDefault","class_1","prototype","componentWillLoad","this","loadSession","session","console","log","isAuthenticated","activeSession","_a","authenticated","emit","_b","handleLogin","_this","loggingIn","Auth.authenticateUser","username","password","setToken","accessToken","catch","e","response","JSON","stringify","sdkError","SDKError","message","_c","status","_d","_e","loginError","handleLogout","clearSession","handleClearError","render","visible","h","style","display","debug","class","label","disabled","onPress","displayMode","src","logo","alt","variant","onClick","onSubmit","autocomplete","value","onInput","target","type","justifyContent","margin","open","heading","onClosed"],"mappings":"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","sourcesContent":["/**\n * Authenticate to Verdocs via user/password authentication\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.authenticateUser({ username: 'test@test.com', password: 'PASSWORD' });\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var authenticateUser = function (endpoint, params) {\n return endpoint.api //\n .post('/authentication/login', params)\n .then(function (r) { return r.data; });\n};\n/**\n * Authenticate to Verdocs via client ID / Secret authentication. **NOTE: This is only suitable for\n * NodeJS server-side applications. Never expose your Client Secret in a Web or Mobile app!** Also note\n * that access tokens may be cached by server-side apps (and this is recommended) but do expire after 2\n * hours. This expiration may change based on future security needs. Application developers are encouraged\n * to check the `exp` expiration field in the response accessToken and renew tokens after they expire.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.authenticateApp({ client_id: 'CLIENTID', client_secret: 'SECRET' });\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var authenticateApp = function (endpoint, params) {\n return endpoint.api //\n .post('/authentication/login_client', {}, { headers: params })\n .then(function (r) { return r.data; });\n};\n/**\n * Validate a token. Only Verdocs tokens will be accepted. Most applications can decode tokens locally,\n * because tokens will be validated when API calls are made anyway. However, high-security applications\n * may use this endpoint to check if a token has been revoked.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {valid} = await Auth.validateToken({ token });\n * if (!valid) {\n * window.alert('Session invalid or expired. Please re-authenticate.');\n * }\n * ```\n */\nexport var validateToken = function (endpoint, params) {\n return endpoint.api //\n .post('/token/isValid', params)\n .then(function (r) { return r.data; });\n};\n/**\n * If called before the session expires, this will refresh the caller's session and tokens.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.refreshTokens();\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var refreshTokens = function (endpoint) {\n return endpoint.api //\n .get('/token')\n .then(function (r) { return r.data; });\n};\n/**\n * Update the caller's password. To help prevent CSRF attack vectors, the user's old password and email address are required.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {status, message} = await Auth.updatePassword({ email, oldPassword, newPassword });\n * if (status !== 'OK') {\n * window.alert(`Password reset error: ${message}`);\n * }\n * ```\n */\nexport var updatePassword = function (endpoint, params) {\n return endpoint.api //\n .put('/user/update_password', params)\n .then(function (r) { return r.data; });\n};\n/**\n * Update the caller's email address.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {profiles} = await Auth.updateEmail({ email: newEmail });\n * ```\n */\nexport var updateEmail = function (endpoint, params) {\n return endpoint.api //\n .put('/user/update_email', params)\n .then(function (r) { return r.data; });\n};\n","@import '../../../theme.scss';\n\nverdocs-auth {\n font-family: $verdocs-primary-font;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .login-form,\n .signup-form {\n background: $verdocs-grey-4;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n display: flex;\n padding: 20px;\n width: 300px;\n max-width: 100%;\n }\n\n .logo {\n margin: 20px 0 30px;\n width: 128px;\n max-width: 100%;\n }\n\n h3 {\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.75;\n margin: 0;\n }\n\n h4 {\n text-align: center;\n font-weight: 400;\n font-size: 14px;\n line-height: 1.43;\n margin: 0;\n }\n\n .status-result {\n display: none;\n\n &.debug {\n white-space: pre-wrap;\n font-size: 14px;\n background: #fff;\n padding: 10px;\n display: block;\n flex-direction: row;\n justify-content: center;\n }\n }\n\n form {\n width: 100%;\n }\n\n verdocs-text-input {\n margin-bottom: 10px;\n }\n}\n","import {Auth} from '@verdocs/js-sdk/Users';\nimport {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport {VerdocsEndpoint, TSession} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface IAuthStatus {\n authenticated: boolean;\n session: TSession;\n}\n\n/**\n * Display an authentication dialog that allows the user to login or sign up. Callbacks are provided for events that\n * occur during the process (especially successful completion). The success callback will be fired immediately if the\n * user is already authenticated with a valid session, so this component may not always display visibly.\n *\n * To simplify some types of authentication flows, a visibility flag can force this component to never display. This\n * allows you to susbcribe to notifications from the\n *\n * This embed is responsive / mobile-friendly, but the calling application should provide at least a 300px wide\n * container to allow sufficient space for the required forms.\n *\n * As noted below, the primary event is `authenticated`. This will always be fired at least once, immediately after\n * the widget is rendered and the user's status has been checked. It may be fired again as the user completes (or\n * cancels) authentication steps.\n *\n * Authentication is required to demonstrate this Element. You may do this in Storybook by using the Auth\n * embed. This Element will reuse the same session produced by logging in via that Embed.\n *\n * ```typescript\n * interface IAuthStatus {\n * // If true, the user is authenticated with a valid session\n * authenticated: boolean;\n *\n * // Details for the user's session\n * session: IActiveSession | null;\n * }\n * ```\n */\n@Component({\n tag: 'verdocs-auth',\n styleUrl: 'verdocs-auth.scss',\n shadow: false,\n})\nexport class VerdocsAuth {\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 * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display\n * login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may\n * use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.\n */\n @Prop() visible: boolean = true;\n\n /**\n * By default, a Verdocs logo will be displayed above the login/signup forms. This may be used to\n * override its source. (Alternatively, you may simply hide it via CSS overrides.) Logos should be\n * in SVG format for best results.\n */\n @Prop() logo: string = 'https://verdocs.com/assets/blue-logo.svg';\n\n /**\n * If the user is authenticated, this embed will normally render invisibly. If debug is set true, a summary\n * if the user's session details will be displayed instead. This may be useful while debugging authentication\n * flows in new applications.\n */\n @Prop() debug: boolean = false;\n\n /**\n * Event fired when session authentication process has completed. Check the event contents for completion status.\n */\n @Event({composed: true}) authenticated: EventEmitter<IAuthStatus>;\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() isAuthenticated: boolean = false;\n @State() displayMode: string = 'login';\n @State() username: string = '';\n @State() password: string = '';\n @State() loggingIn: boolean = false;\n @State() activeSession: TSession = null;\n @State() loginError: string | null = null;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n if (this.endpoint.session) {\n console.log('[AUTH] Authenticated');\n this.isAuthenticated = true;\n this.activeSession = this.endpoint.session;\n this.authenticated?.emit({authenticated: true, session: this.endpoint.session});\n } else {\n console.log('[AUTH] Anonymous');\n this.authenticated?.emit({authenticated: false, session: null});\n }\n }\n\n handleLogin() {\n this.loggingIn = true;\n Auth.authenticateUser(this.endpoint, {username: this.username, password: this.password})\n .then(r => {\n this.loggingIn = false;\n this.endpoint.setToken(r.accessToken);\n this.activeSession = this.endpoint.session;\n this.isAuthenticated = true;\n this.authenticated?.emit({authenticated: true, session: this.endpoint.session});\n })\n .catch(e => {\n console.log('[AUTH] Authentication error', e.response, JSON.stringify(e));\n this.loggingIn = false;\n this.activeSession = null;\n this.authenticated?.emit({authenticated: false, session: null});\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n\n if (e?.response?.status === 403) {\n this.loginError = 'Please check your username and password and try again.';\n }\n });\n }\n\n handleLogout() {\n this.endpoint.clearSession();\n this.isAuthenticated = false;\n this.authenticated?.emit({authenticated: false, session: null});\n }\n\n handleClearError() {\n this.loginError = null;\n }\n\n render() {\n if (!this.visible) {\n return <div style={{display: 'none'}}>Verdocs Auth Placeholder</div>;\n }\n\n if (this.isAuthenticated) {\n if (this.debug) {\n return (\n <div class=\"status-result debug\">\n <verdocs-button label=\"Logout\" disabled={this.loggingIn} onPress={() => this.handleLogout()} />\n </div>\n );\n }\n\n return <div class=\"status-result\">Authenticated</div>;\n }\n\n if (this.displayMode === 'signup') {\n return (\n <div class=\"signup-form\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n\n <h3>Sign up for an account</h3>\n <h4>\n Already have an account?\n <verdocs-button label=\"Log In\" variant=\"text\" onClick={() => (this.displayMode = 'login')} disabled={this.loggingIn} />\n </h4>\n\n <form onSubmit={() => this.handleLogin()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.username} onInput={(e: any) => (this.username = e.target.value)} disabled={this.loggingIn} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.loggingIn}\n />\n\n <verdocs-button\n label=\"Signup\"\n disabled={this.loggingIn}\n onPress={() => this.handleLogin()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n </form>\n </div>\n );\n }\n\n return (\n <div class=\"login-form\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n\n <h3>Log in to your account</h3>\n <h4>\n Don't have an account?\n <verdocs-button label=\"Sign Up\" variant=\"text\" onClick={() => (this.displayMode = 'signup')} disabled={this.loggingIn} />\n </h4>\n\n <form onSubmit={() => this.handleLogin()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.username} onInput={(e: any) => (this.username = e.target.value)} disabled={this.loggingIn} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.loggingIn}\n />\n\n <verdocs-button\n label=\"Forgot Your Password?\"\n variant=\"text\"\n onClick={() => (this.displayMode = 'signup')}\n disabled={this.loggingIn}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 20px'}}\n />\n\n <verdocs-button label=\"Login\" disabled={this.loggingIn} onPress={() => this.handleLogin()} style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}} />\n </form>\n\n {this.loginError ? <verdocs-ok-dialog open={true} heading=\"Login Error\" message={this.loginError} onClosed={() => this.handleClearError()} /> : <div />}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["node_modules/@verdocs/js-sdk/Users/Auth.js","src/components/embeds/verdocs-auth/verdocs-auth.scss?tag=verdocs-auth","src/components/embeds/verdocs-auth/verdocs-auth.tsx"],"names":["authenticateUser","endpoint","params","api","post","then","r","data","verdocsAuthCss","VerdocsAuth","exports","VerdocsEndpoint","getDefault","class_1","prototype","componentWillLoad","this","loadSession","session","console","log","isAuthenticated","activeSession","_a","authenticated","emit","_b","handleLogin","_this","loggingIn","Auth.authenticateUser","username","password","setToken","accessToken","catch","e","response","JSON","stringify","sdkError","SDKError","message","_c","status","_d","_e","loginError","handleLogout","clearSession","handleClearError","render","visible","h","style","display","debug","class","label","disabled","onPress","displayMode","src","logo","alt","variant","onClick","onSubmit","autocomplete","value","onInput","target","type","justifyContent","margin","open","heading","onClosed"],"mappings":"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","sourcesContent":["/**\n * Authenticate to Verdocs via user/password authentication\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.authenticateUser({ username: 'test@test.com', password: 'PASSWORD' });\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var authenticateUser = function (endpoint, params) {\n return endpoint.api //\n .post('/authentication/login', params)\n .then(function (r) { return r.data; });\n};\n/**\n * Authenticate to Verdocs via client ID / Secret authentication. **NOTE: This is only suitable for\n * NodeJS server-side applications. Never expose your Client Secret in a Web or Mobile app!** Also note\n * that access tokens may be cached by server-side apps (and this is recommended) but do expire after 2\n * hours. This expiration may change based on future security needs. Application developers are encouraged\n * to check the `exp` expiration field in the response accessToken and renew tokens after they expire.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.authenticateApp({ client_id: 'CLIENTID', client_secret: 'SECRET' });\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var authenticateApp = function (endpoint, params) {\n return endpoint.api //\n .post('/authentication/login_client', {}, { headers: params })\n .then(function (r) { return r.data; });\n};\n/**\n * Validate a token. Only Verdocs tokens will be accepted. Most applications can decode tokens locally,\n * because tokens will be validated when API calls are made anyway. However, high-security applications\n * may use this endpoint to check if a token has been revoked.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {valid} = await Auth.validateToken({ token });\n * if (!valid) {\n * window.alert('Session invalid or expired. Please re-authenticate.');\n * }\n * ```\n */\nexport var validateToken = function (endpoint, params) {\n return endpoint.api //\n .post('/token/isValid', params)\n .then(function (r) { return r.data; });\n};\n/**\n * If called before the session expires, this will refresh the caller's session and tokens.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.refreshTokens();\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var refreshTokens = function (endpoint) {\n return endpoint.api //\n .get('/token')\n .then(function (r) { return r.data; });\n};\n/**\n * Update the caller's password. To help prevent CSRF attack vectors, the user's old password and email address are required.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {status, message} = await Auth.updatePassword({ email, oldPassword, newPassword });\n * if (status !== 'OK') {\n * window.alert(`Password reset error: ${message}`);\n * }\n * ```\n */\nexport var updatePassword = function (endpoint, params) {\n return endpoint.api //\n .put('/user/update_password', params)\n .then(function (r) { return r.data; });\n};\n/**\n * Update the caller's email address.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {profiles} = await Auth.updateEmail({ email: newEmail });\n * ```\n */\nexport var updateEmail = function (endpoint, params) {\n return endpoint.api //\n .put('/user/update_email', params)\n .then(function (r) { return r.data; });\n};\n","@import '../../../theme.scss';\n\nverdocs-auth {\n font-family: $verdocs-primary-font;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .login-form,\n .signup-form {\n background: $verdocs-grey-4;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n display: flex;\n padding: 20px;\n width: 300px;\n max-width: 100%;\n }\n\n .logo {\n margin: 20px 0 30px;\n width: 128px;\n max-width: 100%;\n }\n\n h3 {\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.75;\n margin: 0;\n }\n\n h4 {\n text-align: center;\n font-weight: 400;\n font-size: 14px;\n line-height: 1.43;\n margin: 0;\n }\n\n .status-result {\n display: none;\n\n &.debug {\n white-space: pre-wrap;\n font-size: 14px;\n background: #fff;\n padding: 10px;\n display: block;\n flex-direction: row;\n justify-content: center;\n }\n }\n\n form {\n width: 100%;\n }\n\n verdocs-text-input {\n margin-bottom: 10px;\n }\n}\n","import {Auth} from '@verdocs/js-sdk/Users';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {TSession} from '@verdocs/js-sdk/Sessions/Types';\nimport {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface IAuthStatus {\n authenticated: boolean;\n session: TSession;\n}\n\n/**\n * Display an authentication dialog that allows the user to login or sign up. Callbacks are provided for events that\n * occur during the process (especially successful completion). The success callback will be fired immediately if the\n * user is already authenticated with a valid session, so this component may not always display visibly.\n *\n * To simplify some types of authentication flows, a visibility flag can force this component to never display. This\n * allows you to susbcribe to notifications from the\n *\n * This embed is responsive / mobile-friendly, but the calling application should provide at least a 300px wide\n * container to allow sufficient space for the required forms.\n *\n * As noted below, the primary event is `authenticated`. This will always be fired at least once, immediately after\n * the widget is rendered and the user's status has been checked. It may be fired again as the user completes (or\n * cancels) authentication steps.\n *\n * Authentication is required to demonstrate this Element. You may do this in Storybook by using the Auth\n * embed. This Element will reuse the same session produced by logging in via that Embed.\n *\n * ```typescript\n * interface IAuthStatus {\n * // If true, the user is authenticated with a valid session\n * authenticated: boolean;\n *\n * // Details for the user's session\n * session: IActiveSession | null;\n * }\n * ```\n */\n@Component({\n tag: 'verdocs-auth',\n styleUrl: 'verdocs-auth.scss',\n shadow: false,\n})\nexport class VerdocsAuth {\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 * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display\n * login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may\n * use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.\n */\n @Prop() visible: boolean = true;\n\n /**\n * By default, a Verdocs logo will be displayed above the login/signup forms. This may be used to\n * override its source. (Alternatively, you may simply hide it via CSS overrides.) Logos should be\n * in SVG format for best results.\n */\n @Prop() logo: string = 'https://verdocs.com/assets/blue-logo.svg';\n\n /**\n * If the user is authenticated, this embed will normally render invisibly. If debug is set true, a summary\n * if the user's session details will be displayed instead. This may be useful while debugging authentication\n * flows in new applications.\n */\n @Prop() debug: boolean = false;\n\n /**\n * Event fired when session authentication process has completed. Check the event contents for completion status.\n */\n @Event({composed: true}) authenticated: EventEmitter<IAuthStatus>;\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() isAuthenticated: boolean = false;\n @State() displayMode: string = 'login';\n @State() username: string = '';\n @State() password: string = '';\n @State() loggingIn: boolean = false;\n @State() activeSession: TSession = null;\n @State() loginError: string | null = null;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n if (this.endpoint.session) {\n console.log('[AUTH] Authenticated');\n this.isAuthenticated = true;\n this.activeSession = this.endpoint.session;\n this.authenticated?.emit({authenticated: true, session: this.endpoint.session});\n } else {\n console.log('[AUTH] Anonymous');\n this.authenticated?.emit({authenticated: false, session: null});\n }\n }\n\n handleLogin() {\n this.loggingIn = true;\n Auth.authenticateUser(this.endpoint, {username: this.username, password: this.password})\n .then(r => {\n this.loggingIn = false;\n this.endpoint.setToken(r.accessToken);\n this.activeSession = this.endpoint.session;\n this.isAuthenticated = true;\n this.authenticated?.emit({authenticated: true, session: this.endpoint.session});\n })\n .catch(e => {\n console.log('[AUTH] Authentication error', e.response, JSON.stringify(e));\n this.loggingIn = false;\n this.activeSession = null;\n this.authenticated?.emit({authenticated: false, session: null});\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n\n if (e?.response?.status === 403) {\n this.loginError = 'Please check your username and password and try again.';\n }\n });\n }\n\n handleLogout() {\n this.endpoint.clearSession();\n this.isAuthenticated = false;\n this.authenticated?.emit({authenticated: false, session: null});\n }\n\n handleClearError() {\n this.loginError = null;\n }\n\n render() {\n if (!this.visible) {\n return <div style={{display: 'none'}}>Verdocs Auth Placeholder</div>;\n }\n\n if (this.isAuthenticated) {\n if (this.debug) {\n return (\n <div class=\"status-result debug\">\n <verdocs-button label=\"Logout\" disabled={this.loggingIn} onPress={() => this.handleLogout()} />\n </div>\n );\n }\n\n return <div class=\"status-result\">Authenticated</div>;\n }\n\n if (this.displayMode === 'signup') {\n return (\n <div class=\"signup-form\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n\n <h3>Sign up for an account</h3>\n <h4>\n Already have an account?\n <verdocs-button label=\"Log In\" variant=\"text\" onClick={() => (this.displayMode = 'login')} disabled={this.loggingIn} />\n </h4>\n\n <form onSubmit={() => this.handleLogin()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.username} onInput={(e: any) => (this.username = e.target.value)} disabled={this.loggingIn} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.loggingIn}\n />\n\n <verdocs-button\n label=\"Signup\"\n disabled={this.loggingIn}\n onPress={() => this.handleLogin()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n </form>\n </div>\n );\n }\n\n return (\n <div class=\"login-form\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n\n <h3>Log in to your account</h3>\n <h4>\n Don't have an account?\n <verdocs-button label=\"Sign Up\" variant=\"text\" onClick={() => (this.displayMode = 'signup')} disabled={this.loggingIn} />\n </h4>\n\n <form onSubmit={() => this.handleLogin()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.username} onInput={(e: any) => (this.username = e.target.value)} disabled={this.loggingIn} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.loggingIn}\n />\n\n <verdocs-button\n label=\"Forgot Your Password?\"\n variant=\"text\"\n onClick={() => (this.displayMode = 'signup')}\n disabled={this.loggingIn}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 20px'}}\n />\n\n <verdocs-button label=\"Login\" disabled={this.loggingIn} onPress={() => this.handleLogin()} style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}} />\n </form>\n\n {this.loginError ? <verdocs-ok-dialog open={true} heading=\"Login Error\" message={this.loginError} onClosed={() => this.handleClearError()} /> : <div />}\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-6e1ada33.system.js"],(function(n){"use strict";var e;return{setters:[function(n){e=n.d}],execute:function(){var t=undefined&&undefined.__awaiter||function(n,e,t,r){function o(n){return n instanceof t?n:new t((function(e){e(n)}))}return new(t||(t=Promise))((function(t,i){function u(n){try{c(r.next(n))}catch(n){i(n)}}function a(n){try{c(r["throw"](n))}catch(n){i(n)}}function c(n){n.done?t(n.value):o(n.value).then(u,a)}c((r=r.apply(n,e||[])).next())}))};var r=undefined&&undefined.__generator||function(n,e){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,u;return u={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function a(n){return function(e){return c([n,e])}}function c(u){if(r)throw new TypeError("Generator is already executing.");while(t)try{if(r=1,o&&(i=u[0]&2?o["return"]:u[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,u[1])).done)return i;if(o=0,i)u=[u[0]&2,i.value];switch(u[0]){case 0:case 1:i=u;break;case 4:t.label++;return{value:u[1],done:false};case 5:t.label++;o=u[1];u=[0];continue;case 7:u=t.ops.pop();t.trys.pop();continue;default:if(!(i=t.trys,i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){t.label=u[1];break}if(u[0]===6&&t.label<i[1]){t.label=i[1];i=u;break}if(i&&t.label<i[2]){t.label=i[2];t.ops.push(u);break}if(i[2])t.ops.pop();t.trys.pop();continue}u=e.call(n,t)}catch(n){u=[6,n];o=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}};var o=n("g",(function(n,o){return t(void 0,void 0,void 0,(function(){return r(this,(function(t){return[2,n.api.get("/envelopes/".concat(o.envelopeId,"/recipients/").concat(encodeURIComponent(o.roleId),"/invitation/").concat(o.inviteCode)).then((function(t){var r,o;var i=((r=t.headers)===null||r===void 0?void 0:r.signer_token)||"";var u=e(i);n.setToken((o=t.headers)===null||o===void 0?void 0:o.signer_token);return{recipient:t.data,session:u,signerToken:i}}))]}))}))}));var i=n("a",(function(n,e){return t(void 0,void 0,void 0,(function(){return r(this,(function(t){return[2,n.api.get("/envelopes/".concat(e)).then((function(n){return n.data}))]}))}))}));var u=n("c",(function(n,e,o){return t(void 0,void 0,void 0,(function(){return r(this,(function(t){return[2,n.api.get("/envelopes/".concat(e,"/envelope_documents/").concat(o)).then((function(n){return n.data}))]}))}))}));var a=n("b",(function(n,e,o){return t(void 0,void 0,void 0,(function(){return r(this,(function(t){return[2,n.api.get("/envelopes/".concat(e,"/envelope_documents/").concat(o,"?file=true"),{responseType:"arraybuffer"}).then((function(n){return Buffer.from(n.data,"binary").toString("base64")}))]}))}))}));var c=n("u",(function(n,e,o,i){return t(void 0,void 0,void 0,(function(){return r(this,(function(t){return[2,n.api.put("/envelopes/".concat(e,"/fields/").concat(o),i).then((function(n){return n.data}))]}))}))}))}}}));
2
+ //# sourceMappingURL=p-f9901184.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["node_modules/@verdocs/js-sdk/Envelopes/Envelopes.js"],"names":["__awaiter","this","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","throw","return","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","getSigningSession","exports","endpoint","params","_a","api","get","concat","envelopeId","encodeURIComponent","roleId","inviteCode","r","_b","signerToken","headers","signer_token","session","decodeAccessTokenBody","setToken","recipient","data","getEnvelope","getEnvelopeDocument","documentId","getEnvelopeFile","responseType","Buffer","from","toString","updateEnvelopeField","fieldName","put"],"mappings":"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","sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { decodeAccessTokenBody } from '../Utils/Token';\n/**\n * Create an envelope\n *\n * ```typescript\n * import {Envelopes, ICreateEnvelopeRole, ICreateEnvelopeRequest} from '@verdocs/js-sdk/Envelopes';\n *\n * const role1: ICreateEnvelopeRole = {\n * type: 'signer',\n * name: 'Seller',\n * full_name: 'Paige Turner',\n * email: 'paige.turner@nomail.com',\n * phone: '',\n * sequence: 1,\n * delegator: false,\n * message: '',\n * };\n *\n * const role2: ICreateEnvelopeRole = {\n * type: 'signer',\n * name: 'Buyer',\n * full_name: 'Will Power',\n * email: 'will.power@nomail.com',\n * phone: '',\n * sequence: 2,\n * delegator: false,\n * message: '',\n * };\n *\n * const request: ICreateEnvelopeRequest = {template_id: 'd2338742-f3a1-465b-8592-806587413cc1', name: 'Bill of Sale', roles: [role1, role2]};\n * const {id, recipients} = await Envelopes.createEnvelope(VerdocsEndpoint.getDefault(), request);\n * ```\n */\nexport var createEnvelope = function (endpoint, request) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .post('/envelopes', request)\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Get a summary of currently active envelopes.\n *\n * ```typescript\n * import {Envelopes} from '@verdocs/js-sdk/Envelopes';\n *\n * const {action_required, completed, waiting_on_others} = await Envelopes.getSummary(VerdocsEndpoint.getDefault());\n * ```\n */\nexport var getSummary = function (endpoint, page) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .post('/envelopes/summary', { page: page })\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Search for envelopes matching various criteria.\n *\n * ```typescript\n * import {Envelopes} from '@verdocs/js-sdk/Envelopes';\n *\n * const {result, page, total} = await Envelopes.search(VerdocsEndpoint.getDefault(), { ... });\n * ```\n */\nexport var searchEnvelopes = function (endpoint, params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .post('/envelopes/search', params)\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Get a signing session for an Envelope.\n */\nexport var getSigningSession = function (endpoint, params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(params.envelopeId, \"/recipients/\").concat(encodeURIComponent(params.roleId), \"/invitation/\").concat(params.inviteCode))\n .then(function (r) {\n var _a, _b;\n // Avoiding a jsonwebtoken dependency here - we don't actually need the whole library\n var signerToken = ((_a = r.headers) === null || _a === void 0 ? void 0 : _a.signer_token) || '';\n var session = decodeAccessTokenBody(signerToken);\n endpoint.setToken((_b = r.headers) === null || _b === void 0 ? void 0 : _b.signer_token);\n return { recipient: r.data, session: session, signerToken: signerToken };\n })];\n });\n}); };\n/**\n * Get the list of recipients for an Envelope.\n */\nexport var getEnvelopeRecipients = function (endpoint, envelopeId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/recipients\"))\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Get all metadata for an Envelope.\n */\nexport var getEnvelope = function (endpoint, envelopeId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId))\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Get all metadata for an Envelope.\n */\nexport var getEnvelopeDocument = function (endpoint, envelopeId, documentId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/envelope_documents/\").concat(documentId))\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Cancel an Envelope.\n */\nexport var cancelEnvelope = function (endpoint, envelopeId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId), { action: 'cancel' })\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Returns true if the recipient has a pending action. Note that this does not necessarily mean the recipient can act (yet).\n */\nexport var recipientHasAction = function (recipient) { return !['submitted', 'canceled', 'declined'].includes(recipient.status); };\n/**\n * Returns the recipients who still have a pending action. Note that not all of these recipients may be able to act (yet).\n */\nexport var getRecipientsWithActions = function (envelope) { return ((envelope === null || envelope === void 0 ? void 0 : envelope.recipients) || []).filter(recipientHasAction); };\n/**\n * Returns true if the recipient can act.\n */\nexport var recipientCanAct = function (recipient, recipientsWithActions) { var _a; return recipient.sequence === ((_a = recipientsWithActions === null || recipientsWithActions === void 0 ? void 0 : recipientsWithActions[0]) === null || _a === void 0 ? void 0 : _a.sequence); };\n/**\n * Returns true if the user can act.\n */\nexport var userCanAct = function (email, recipientsWithActions) {\n var _a;\n var recipient = recipientsWithActions.find(function (r) { return r.email === email; });\n return recipient && recipient.sequence === ((_a = recipientsWithActions === null || recipientsWithActions === void 0 ? void 0 : recipientsWithActions[0]) === null || _a === void 0 ? void 0 : _a.sequence);\n};\n/**\n * Get (binary download) a file attached to an Envelope. It is important to use this method\n * rather than a direct A HREF or similar link to set the authorization headers for the\n * request.\n */\nexport var getEnvelopeFile = function (endpoint, envelopeId, documentId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/envelope_documents/\").concat(documentId, \"?file=true\"), {\n responseType: 'arraybuffer',\n })\n .then(function (r) { return Buffer.from(r.data, 'binary').toString('base64'); })];\n });\n}); };\n/**\n * Update a Document field. Typically called during the signing process as a Recipient fills in fields.\n */\nexport var updateEnvelopeField = function (endpoint, envelopeId, fieldName, value) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId, \"/fields/\").concat(fieldName), value)\n .then(function (r) { return r.data; })];\n });\n}); };\n/**\n * Update a Document signature field. Signature fields are ID-driven. Call `Document.createSignature()` first to create a\n * signature for a Recipient, then call `Documents.updateDocumentFieldSignature()` to attach it to a field.\n */\nexport var updateEnvelopeFieldSignature = function (endpoint, envelopeId, fieldName, signatureId) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId, \"/fields/\").concat(fieldName, \"/signature/\").concat(signatureId))\n .then(function (r) { return r.data; })];\n });\n}); };\n"]}