@verdocs/web-sdk 1.10.4 → 1.10.6

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 (161) hide show
  1. package/dist/cjs/{Templates-a46d2fe8.js → Templates-a75b133d.js} +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{templateStore-97e17e58.js → templateStore-81ad25a7.js} +1 -0
  4. package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
  5. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +2 -2
  6. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +2 -2
  7. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-field-date.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-field-initial.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-field-signature.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +1 -1
  18. package/dist/cjs/verdocs-preview.cjs.entry.js +2 -2
  19. package/dist/cjs/verdocs-send.cjs.entry.js +36 -40
  20. package/dist/cjs/verdocs-template-attachments.cjs.entry.js +2 -2
  21. package/dist/cjs/verdocs-template-create_2.cjs.entry.js +7 -4
  22. package/dist/cjs/verdocs-template-name.cjs.entry.js +2 -2
  23. package/dist/cjs/verdocs-template-properties.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-template-recipients.cjs.entry.js +2 -2
  25. package/dist/cjs/verdocs-template-reminders.cjs.entry.js +2 -2
  26. package/dist/cjs/verdocs-template-role-properties_2.cjs.entry.js +2 -2
  27. package/dist/cjs/verdocs-template-visibility.cjs.entry.js +2 -2
  28. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  29. package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js +2 -2
  30. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +60 -47
  31. package/dist/collection/components/embeds/verdocs-send/verdocs-send.stories.js +2 -1
  32. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.css +1 -0
  33. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.js +6 -2
  34. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.stories.js +4 -28
  35. package/dist/collection/utils/templateStore.js +1 -0
  36. package/dist/components/templateStore.js +1 -0
  37. package/dist/components/verdocs-contact-picker2.js +2 -2
  38. package/dist/components/verdocs-send.js +35 -43
  39. package/dist/components/verdocs-template-create2.js +7 -3
  40. package/dist/docs.json +16 -4
  41. package/dist/esm/{Templates-2522e194.js → Templates-7595bdbf.js} +1 -1
  42. package/dist/esm/loader.js +1 -1
  43. package/dist/esm/{templateStore-da902ad4.js → templateStore-fd4beaae.js} +1 -0
  44. package/dist/esm/verdocs-build.entry.js +2 -2
  45. package/dist/esm/verdocs-button-panel_3.entry.js +2 -2
  46. package/dist/esm/verdocs-contact-picker.entry.js +2 -2
  47. package/dist/esm/verdocs-field-attachment.entry.js +1 -1
  48. package/dist/esm/verdocs-field-checkbox.entry.js +1 -1
  49. package/dist/esm/verdocs-field-date.entry.js +1 -1
  50. package/dist/esm/verdocs-field-dropdown.entry.js +1 -1
  51. package/dist/esm/verdocs-field-initial.entry.js +1 -1
  52. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  53. package/dist/esm/verdocs-field-radio-button.entry.js +1 -1
  54. package/dist/esm/verdocs-field-signature.entry.js +1 -1
  55. package/dist/esm/verdocs-field-textarea.entry.js +1 -1
  56. package/dist/esm/verdocs-field-textbox.entry.js +1 -1
  57. package/dist/esm/verdocs-field-timestamp.entry.js +1 -1
  58. package/dist/esm/verdocs-preview.entry.js +2 -2
  59. package/dist/esm/verdocs-send.entry.js +36 -40
  60. package/dist/esm/verdocs-template-attachments.entry.js +2 -2
  61. package/dist/esm/verdocs-template-create_2.entry.js +7 -4
  62. package/dist/esm/verdocs-template-name.entry.js +2 -2
  63. package/dist/esm/verdocs-template-properties.entry.js +1 -1
  64. package/dist/esm/verdocs-template-recipients.entry.js +2 -2
  65. package/dist/esm/verdocs-template-reminders.entry.js +2 -2
  66. package/dist/esm/verdocs-template-role-properties_2.entry.js +2 -2
  67. package/dist/esm/verdocs-template-visibility.entry.js +2 -2
  68. package/dist/esm/verdocs-web-sdk.js +1 -1
  69. package/dist/esm-es5/{Templates-2522e194.js → Templates-7595bdbf.js} +1 -1
  70. package/dist/esm-es5/loader.js +1 -1
  71. package/dist/esm-es5/{templateStore-da902ad4.js → templateStore-fd4beaae.js} +0 -0
  72. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  73. package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
  74. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  75. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  76. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  77. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  78. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  79. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  80. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  81. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  82. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  83. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  84. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  85. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  86. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  87. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  88. package/dist/esm-es5/verdocs-template-attachments.entry.js +1 -1
  89. package/dist/esm-es5/verdocs-template-create_2.entry.js +1 -1
  90. package/dist/esm-es5/verdocs-template-name.entry.js +1 -1
  91. package/dist/esm-es5/verdocs-template-properties.entry.js +1 -1
  92. package/dist/esm-es5/verdocs-template-recipients.entry.js +1 -1
  93. package/dist/esm-es5/verdocs-template-reminders.entry.js +1 -1
  94. package/dist/esm-es5/verdocs-template-role-properties_2.entry.js +1 -1
  95. package/dist/esm-es5/verdocs-template-visibility.entry.js +1 -1
  96. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  97. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +10 -8
  98. package/dist/types/components/embeds/verdocs-send/verdocs-send.stories.d.ts +2 -1
  99. package/dist/types/components/templates/verdocs-template-create/verdocs-template-create.d.ts +1 -0
  100. package/dist/types/components/templates/verdocs-template-create/verdocs-template-create.stories.d.ts +3 -6
  101. package/dist/types/components.d.ts +2 -1
  102. package/dist/verdocs-web-sdk/{p-8edafff8.entry.js → p-01117b44.entry.js} +1 -1
  103. package/dist/verdocs-web-sdk/{p-1aa8ed0f.entry.js → p-0e1f1b27.entry.js} +1 -1
  104. package/dist/verdocs-web-sdk/{p-1dbbf991.system.entry.js → p-0e5274d0.system.entry.js} +1 -1
  105. package/dist/verdocs-web-sdk/{p-8d65016c.system.entry.js → p-19f6e8c8.system.entry.js} +1 -1
  106. package/dist/verdocs-web-sdk/{p-74f703ae.entry.js → p-1b58f506.entry.js} +1 -1
  107. package/dist/verdocs-web-sdk/{p-ea9497e5.entry.js → p-2037252b.entry.js} +1 -1
  108. package/dist/verdocs-web-sdk/p-26bfe095.entry.js +1 -0
  109. package/dist/verdocs-web-sdk/{p-80f0cd72.system.entry.js → p-34efc869.system.entry.js} +1 -1
  110. package/dist/verdocs-web-sdk/{p-75921846.system.entry.js → p-36fd1c28.system.entry.js} +1 -1
  111. package/dist/verdocs-web-sdk/{p-cd49eb2b.system.entry.js → p-3a04acf4.system.entry.js} +1 -1
  112. package/dist/verdocs-web-sdk/{p-99b80f74.js → p-3cb8a7f4.js} +0 -0
  113. package/dist/verdocs-web-sdk/{p-d7d096dc.system.entry.js → p-50892057.system.entry.js} +1 -1
  114. package/dist/verdocs-web-sdk/{p-465288c0.system.entry.js → p-51a99eed.system.entry.js} +1 -1
  115. package/dist/verdocs-web-sdk/{p-2f1e01f3.entry.js → p-584e4fca.entry.js} +1 -1
  116. package/dist/verdocs-web-sdk/{p-677cf03e.system.js → p-5b62f239.system.js} +0 -0
  117. package/dist/verdocs-web-sdk/{p-67231081.system.entry.js → p-628aef1d.system.entry.js} +1 -1
  118. package/dist/verdocs-web-sdk/p-6c2d3b0f.system.entry.js +1 -0
  119. package/dist/verdocs-web-sdk/{p-f1a671d5.entry.js → p-6cb274e3.entry.js} +1 -1
  120. package/dist/verdocs-web-sdk/{p-b6e20078.system.js → p-7067adce.system.js} +1 -1
  121. package/dist/verdocs-web-sdk/{p-52c73272.entry.js → p-72f4b40b.entry.js} +1 -1
  122. package/dist/verdocs-web-sdk/{p-d48d5f49.entry.js → p-7417cdc7.entry.js} +1 -1
  123. package/dist/verdocs-web-sdk/{p-7b111f2b.system.entry.js → p-85336769.system.entry.js} +1 -1
  124. package/dist/verdocs-web-sdk/{p-9eaf02d1.system.entry.js → p-875f9455.system.entry.js} +1 -1
  125. package/dist/verdocs-web-sdk/p-8c3d48c1.entry.js +1 -0
  126. package/dist/verdocs-web-sdk/{p-2a5021ab.entry.js → p-9345346d.entry.js} +1 -1
  127. package/dist/verdocs-web-sdk/{p-af4fd8da.system.entry.js → p-996008f6.system.entry.js} +1 -1
  128. package/dist/verdocs-web-sdk/{p-1d2eb3fb.system.entry.js → p-9f52748a.system.entry.js} +1 -1
  129. package/dist/verdocs-web-sdk/{p-6183a4e4.entry.js → p-a7c75902.entry.js} +1 -1
  130. package/dist/verdocs-web-sdk/{p-bb90788b.entry.js → p-a802a598.entry.js} +1 -1
  131. package/dist/verdocs-web-sdk/{p-dbdfbcd2.entry.js → p-abffbbaf.entry.js} +1 -1
  132. package/dist/verdocs-web-sdk/{p-370903ee.entry.js → p-af657dd3.entry.js} +1 -1
  133. package/dist/verdocs-web-sdk/{p-b79ab2a9.system.entry.js → p-b22a2c9a.system.entry.js} +1 -1
  134. package/dist/verdocs-web-sdk/{p-477301b7.system.entry.js → p-b39df234.system.entry.js} +1 -1
  135. package/dist/verdocs-web-sdk/{p-48ac051a.system.entry.js → p-b40a50a8.system.entry.js} +1 -1
  136. package/dist/verdocs-web-sdk/{p-2ae4af9b.entry.js → p-c11a7c7e.entry.js} +1 -1
  137. package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
  138. package/dist/verdocs-web-sdk/{p-757e73bc.system.entry.js → p-c86a40a3.system.entry.js} +1 -1
  139. package/dist/verdocs-web-sdk/{p-a62f9f22.system.entry.js → p-c9216df9.system.entry.js} +1 -1
  140. package/dist/verdocs-web-sdk/{p-ad1da3a4.system.entry.js → p-ccaa35ac.system.entry.js} +1 -1
  141. package/dist/verdocs-web-sdk/{p-a259853e.system.entry.js → p-cd4270a9.system.entry.js} +1 -1
  142. package/dist/verdocs-web-sdk/p-cf9883c7.system.entry.js +1 -0
  143. package/dist/verdocs-web-sdk/{p-3fd9305c.js → p-d1393a1a.js} +1 -1
  144. package/dist/verdocs-web-sdk/{p-29dd37a7.entry.js → p-d27a02b5.entry.js} +1 -1
  145. package/dist/verdocs-web-sdk/{p-8fa14890.system.entry.js → p-d95b1215.system.entry.js} +1 -1
  146. package/dist/verdocs-web-sdk/{p-33361647.entry.js → p-e1754b47.entry.js} +1 -1
  147. package/dist/verdocs-web-sdk/{p-d8fd179b.system.entry.js → p-e179e3de.system.entry.js} +1 -1
  148. package/dist/verdocs-web-sdk/{p-d176aad6.entry.js → p-e6f3735e.entry.js} +1 -1
  149. package/dist/verdocs-web-sdk/{p-1d683b4f.entry.js → p-e845dc2c.entry.js} +1 -1
  150. package/dist/verdocs-web-sdk/{p-6170a128.entry.js → p-ef4603fd.entry.js} +1 -1
  151. package/dist/verdocs-web-sdk/{p-bbcfdcdb.system.entry.js → p-efa9bfa2.system.entry.js} +1 -1
  152. package/dist/verdocs-web-sdk/{p-c84f9b23.entry.js → p-f2ae6ed5.entry.js} +1 -1
  153. package/dist/verdocs-web-sdk/{p-79776f10.entry.js → p-f69cdc41.entry.js} +1 -1
  154. package/dist/verdocs-web-sdk/p-fc208e71.entry.js +1 -0
  155. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  156. package/package.json +1 -1
  157. package/dist/verdocs-web-sdk/p-20a0588c.entry.js +0 -1
  158. package/dist/verdocs-web-sdk/p-7d31be81.entry.js +0 -1
  159. package/dist/verdocs-web-sdk/p-c8133122.system.entry.js +0 -1
  160. package/dist/verdocs-web-sdk/p-d5a95369.entry.js +0 -1
  161. package/dist/verdocs-web-sdk/p-ea0d2a5a.system.entry.js +0 -1
@@ -15,5 +15,5 @@ const patchBrowser = () => {
15
15
  };
16
16
 
17
17
  patchBrowser().then(options => {
18
- return index.bootstrapLazy([["verdocs-field-initial.cjs",[[0,"verdocs-field-initial",{"field":[16],"disabled":[4],"initials":[1],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"tempInitials":[32],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-signature.cjs",[[0,"verdocs-field-signature",{"field":[16],"name":[1],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"tempSignature":[32],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-build.cjs",[[0,"verdocs-build",{"endpoint":[16],"templateId":[1,"template-id"],"step":[32],"pdfUrl":[32],"template":[32]}]]],["verdocs-field-checkbox.cjs",[[0,"verdocs-field-checkbox",{"field":[16],"option":[2],"disabled":[4],"done":[4],"roleindex":[2],"editable":[4],"moveable":[4],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-date.cjs",[[0,"verdocs-field-date",{"field":[16],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"containerId":[32],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-radio-button.cjs",[[0,"verdocs-field-radio-button",{"field":[16],"option":[2],"disabled":[4],"done":[4],"roleindex":[2],"editable":[4],"moveable":[4],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-textarea.cjs",[[0,"verdocs-field-textarea",{"field":[16],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-textbox.cjs",[[0,"verdocs-field-textbox",{"field":[16],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-timestamp.cjs",[[0,"verdocs-field-timestamp",{"field":[16],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-template-recipients.cjs",[[0,"verdocs-template-recipients",{"endpoint":[16],"templateId":[1,"template-id"],"showingRoleDialog":[32],"showingSenderDialog":[32],"sender":[32],"forceRerender":[32]}]]],["verdocs-sign.cjs",[[0,"verdocs-sign",{"envelopeId":[1,"envelope-id"],"roleId":[1,"role-id"],"inviteCode":[1,"invite-code"],"recipient":[32],"signerToken":[32],"hasSignature":[32],"nextButtonLabel":[32],"nextSubmits":[32],"errorMessage":[32],"focusedField":[32],"isDone":[32],"showDone":[32],"finishLater":[32],"showFinishLater":[32],"agreed":[32],"documentsSingularPlural":[32]}]]],["verdocs-template-properties.cjs",[[0,"verdocs-template-properties",{"endpoint":[16],"templateId":[1,"template-id"],"template":[32],"name":[32],"visibility":[32],"sendReminders":[32],"firstReminderDays":[32],"reminderDays":[32]}]]],["verdocs-template-reminders.cjs",[[0,"verdocs-template-reminders",{"endpoint":[16],"templateId":[1,"template-id"],"showPlanBlocker":[32],"sendReminders":[32],"firstReminderDays":[32],"reminderDays":[32],"dirty":[32],"loading":[32]}]]],["verdocs-auth.cjs",[[0,"verdocs-auth",{"endpoint":[16],"visible":[4],"logo":[1],"isAuthenticated":[32],"displayMode":[32],"username":[32],"password":[32],"loggingIn":[32],"activeSession":[32],"loginError":[32]}]]],["verdocs-template-name.cjs",[[0,"verdocs-template-name",{"endpoint":[16],"templateId":[1,"template-id"],"name":[32],"dirty":[32],"loading":[32]}]]],["verdocs-search.cjs",[[0,"verdocs-search",{"endpoint":[16]}]]],["verdocs-send.cjs",[[0,"verdocs-send",{"endpoint":[16],"templateId":[1,"template-id"],"template":[32],"pdfUrl":[32],"containerId":[32],"rolesAtLevel":[32],"showPickerForId":[32],"sessionContacts":[32],"recipientsAssigned":[32]}]]],["verdocs-template-visibility.cjs",[[0,"verdocs-template-visibility",{"endpoint":[16],"templateId":[1,"template-id"],"dirty":[32],"loading":[32],"personal":[32],"public":[32]}]]],["verdocs-upload-dialog.cjs",[[0,"verdocs-upload-dialog",{"draggingOver":[32],"decodedFiles":[32]}]]],["verdocs-field-attachment.cjs",[[0,"verdocs-field-attachment",{"field":[16],"disabled":[4],"roleIndex":[2,"role-index"],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-preview.cjs",[[0,"verdocs-preview",{"endpoint":[16],"templateId":[1,"template-id"]}]]],["verdocs-envelope-sidebar.cjs",[[0,"verdocs-envelope-sidebar",{"endpoint":[16],"envelopeId":[1,"envelope-id"],"activeTab":[32],"panelOpen":[32]}]]],["verdocs-kba-dialog.cjs",[[0,"verdocs-kba-dialog",{"step":[2],"steps":[2],"helptitle":[1],"helptext":[1],"mode":[1],"label":[1],"placeholder":[1],"choices":[16],"response":[32]}]]],["verdocs-template-attachments.cjs",[[0,"verdocs-template-attachments",{"endpoint":[16],"templateId":[1,"template-id"],"loading":[32]}]]],["verdocs-field-dropdown.cjs",[[0,"verdocs-field-dropdown",{"field":[16],"disabled":[4],"roleindex":[2],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-payment.cjs",[[0,"verdocs-field-payment",{"field":[16],"disabled":[4],"fields":[16],"pageNum":[2,"page-num"],"roleName":[1,"role-name"],"fieldId":[1,"field-id"],"recipients":[8],"selectedRoleName":[1,"selected-role-name"],"pdfPages":[16],"currentSignature":[1,"current-signature"],"currentSignatureId":[1,"current-signature-id"],"currentInitial":[1,"current-initial"],"currentInitialId":[1,"current-initial-id"],"focused":[4],"signed":[4],"roleindex":[2],"preparedMessage":[32],"signatureUrl":[32],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-organization-card.cjs",[[0,"verdocs-organization-card",{"organization":[16]}]]],["verdocs-search-tabs.cjs",[[0,"verdocs-search-tabs",{"selected":[32]}]]],["verdocs-status-indicator.cjs",[[0,"verdocs-status-indicator",{"size":[1],"theme":[1],"status":[1],"envelope":[16],"isOpen":[32],"recipientStatusIcons":[32],"containerId":[32]}]]],["verdocs-template-card.cjs",[[0,"verdocs-template-card",{"template":[16]}]]],["verdocs-template-tags.cjs",[[0,"verdocs-template-tags",{"tags":[16]}]]],["verdocs-toggle.cjs",[[0,"verdocs-toggle",{"options":[16],"theme":[1],"selectedOption":[32]}]]],["verdocs-initial-dialog.cjs",[[0,"verdocs-initial-dialog",{"initials":[1],"fontLoaded":[32],"enteredInitials":[32],"mode":[32]}]]],["verdocs-signature-dialog.cjs",[[0,"verdocs-signature-dialog",{"name":[1],"fontLoaded":[32],"enteredName":[32],"mode":[32]}]]],["verdocs-view.cjs",[[0,"verdocs-view",{"endpoint":[16],"envelopeId":[1,"envelope-id"]}]]],["verdocs-toggle-button.cjs",[[0,"verdocs-toggle-button",{"active":[4],"icon":[1],"label":[1],"size":[1],"_active":[32]}]]],["verdocs-contact-picker.cjs",[[0,"verdocs-contact-picker",{"endpoint":[16],"templateRole":[16],"contactSuggestions":[16],"name":[32],"email":[32],"phone":[32],"message":[32],"showSuggestions":[32],"showMessage":[32],"delegator":[32]}]]],["verdocs-radio-button.cjs",[[0,"verdocs-radio-button",{"checked":[4],"name":[1],"value":[1],"disabled":[4]}]]],["verdocs-button.cjs",[[0,"verdocs-button",{"label":[1],"startIcon":[1,"start-icon"],"endIcon":[1,"end-icon"],"size":[1],"type":[1],"variant":[1],"disabled":[4]}]]],["verdocs-template-role-properties_2.cjs",[[0,"verdocs-template-role-properties",{"endpoint":[16],"templateId":[1,"template-id"],"roleName":[1,"role-name"],"sender":[1],"dirty":[32],"saving":[32],"name":[32],"type":[32],"fullName":[32],"email":[32],"phone":[32],"allowDelegation":[32]}],[0,"verdocs-template-sender",{"endpoint":[16],"templateId":[1,"template-id"],"sender":[1],"saving":[32]}]]],["verdocs-floating-menu_2.cjs",[[0,"verdocs-floating-menu",{"options":[16]}],[0,"verdocs-toolbar-icon",{"text":[1],"icon":[1],"placement":[1],"containerId":[32]}]]],["verdocs-template-create_2.cjs",[[0,"verdocs-template-fields",{"endpoint":[16],"templateId":[1,"template-id"],"placing":[32],"selectedRoleName":[32]}],[0,"verdocs-template-create",{"endpoint":[16],"file":[32]}]]],["verdocs-ok-dialog.cjs",[[0,"verdocs-ok-dialog",{"heading":[1],"message":[1],"showCancel":[4,"show-cancel"]}]]],["verdocs-quick-functions_3.cjs",[[0,"verdocs-quick-functions",{"endpoint":[16]}],[0,"verdocs-search-activity",{"endpoint":[16],"type":[1],"options":[8],"emptyMessage":[32],"authFailure":[32],"title":[32],"recent":[32],"saved":[32],"starred":[32]}],[0,"verdocs-search-box",{"endpoint":[16],"placeholder":[1],"type":[1],"query":[1],"grabsFocus":[4,"grabs-focus"],"focusField":[64]}]]],["verdocs-dropdown.cjs",[[0,"verdocs-dropdown",{"options":[16],"open":[32]}]]],["verdocs-document-page_2.cjs",[[0,"verdocs-document-page",{"pageImageUri":[1,"page-image-uri"],"pageNumber":[2,"page-number"],"virtualWidth":[2,"virtual-width"],"virtualHeight":[1026,"virtual-height"],"layers":[16],"containerId":[32],"renderedWidth":[32],"renderedHeight":[32],"naturalWidth":[32],"naturalHeight":[32],"aspectRatio":[32],"skipFirstNotification":[32]}],[0,"verdocs-loader"]]],["verdocs-checkbox_4.cjs",[[0,"verdocs-checkbox",{"checked":[4],"name":[1],"label":[1],"value":[1],"theme":[1],"disabled":[4]}],[0,"verdocs-component-error",{"message":[1]}],[0,"verdocs-text-input",{"value":[1],"label":[1],"placeholder":[1],"autocomplete":[1],"helpText":[1,"help-text"],"type":[1],"disabled":[4]}],[0,"verdocs-help-icon",{"text":[1],"containerId":[32]}]]],["verdocs-button-panel_3.cjs",[[0,"verdocs-template-field-properties",{"endpoint":[16],"templateId":[1,"template-id"],"fieldName":[1,"field-name"],"dirty":[32],"loading":[32],"type":[32],"name":[32],"roleName":[32],"required":[32],"placeholder":[32],"defaultValue":[32]}],[4,"verdocs-button-panel",{"icon":[1],"showPanel":[64],"hidePanel":[64],"toggle":[64]}],[0,"verdocs-select-input",{"value":[1],"label":[1],"options":[16],"disabled":[4]}]]]], options);
18
+ return index.bootstrapLazy([["verdocs-field-initial.cjs",[[0,"verdocs-field-initial",{"field":[16],"disabled":[4],"initials":[1],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"tempInitials":[32],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-signature.cjs",[[0,"verdocs-field-signature",{"field":[16],"name":[1],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"tempSignature":[32],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-build.cjs",[[0,"verdocs-build",{"endpoint":[16],"templateId":[1,"template-id"],"step":[32],"pdfUrl":[32],"template":[32]}]]],["verdocs-field-checkbox.cjs",[[0,"verdocs-field-checkbox",{"field":[16],"option":[2],"disabled":[4],"done":[4],"roleindex":[2],"editable":[4],"moveable":[4],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-date.cjs",[[0,"verdocs-field-date",{"field":[16],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"containerId":[32],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-radio-button.cjs",[[0,"verdocs-field-radio-button",{"field":[16],"option":[2],"disabled":[4],"done":[4],"roleindex":[2],"editable":[4],"moveable":[4],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-textarea.cjs",[[0,"verdocs-field-textarea",{"field":[16],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-textbox.cjs",[[0,"verdocs-field-textbox",{"field":[16],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-timestamp.cjs",[[0,"verdocs-field-timestamp",{"field":[16],"disabled":[4],"editable":[4],"moveable":[4],"done":[4],"roleindex":[2],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-template-recipients.cjs",[[0,"verdocs-template-recipients",{"endpoint":[16],"templateId":[1,"template-id"],"showingRoleDialog":[32],"showingSenderDialog":[32],"sender":[32],"forceRerender":[32]}]]],["verdocs-sign.cjs",[[0,"verdocs-sign",{"envelopeId":[1,"envelope-id"],"roleId":[1,"role-id"],"inviteCode":[1,"invite-code"],"recipient":[32],"signerToken":[32],"hasSignature":[32],"nextButtonLabel":[32],"nextSubmits":[32],"errorMessage":[32],"focusedField":[32],"isDone":[32],"showDone":[32],"finishLater":[32],"showFinishLater":[32],"agreed":[32],"documentsSingularPlural":[32]}]]],["verdocs-template-properties.cjs",[[0,"verdocs-template-properties",{"endpoint":[16],"templateId":[1,"template-id"],"template":[32],"name":[32],"visibility":[32],"sendReminders":[32],"firstReminderDays":[32],"reminderDays":[32]}]]],["verdocs-template-reminders.cjs",[[0,"verdocs-template-reminders",{"endpoint":[16],"templateId":[1,"template-id"],"showPlanBlocker":[32],"sendReminders":[32],"firstReminderDays":[32],"reminderDays":[32],"dirty":[32],"loading":[32]}]]],["verdocs-auth.cjs",[[0,"verdocs-auth",{"endpoint":[16],"visible":[4],"logo":[1],"isAuthenticated":[32],"displayMode":[32],"username":[32],"password":[32],"loggingIn":[32],"activeSession":[32],"loginError":[32]}]]],["verdocs-template-name.cjs",[[0,"verdocs-template-name",{"endpoint":[16],"templateId":[1,"template-id"],"name":[32],"dirty":[32],"loading":[32]}]]],["verdocs-search.cjs",[[0,"verdocs-search",{"endpoint":[16]}]]],["verdocs-send.cjs",[[0,"verdocs-send",{"endpoint":[16],"templateId":[1,"template-id"],"containerId":[32],"rolesAtLevel":[32],"showPickerForId":[32],"sessionContacts":[32],"rolesCompleted":[32],"reset":[64]}]]],["verdocs-template-visibility.cjs",[[0,"verdocs-template-visibility",{"endpoint":[16],"templateId":[1,"template-id"],"dirty":[32],"loading":[32],"personal":[32],"public":[32]}]]],["verdocs-upload-dialog.cjs",[[0,"verdocs-upload-dialog",{"draggingOver":[32],"decodedFiles":[32]}]]],["verdocs-field-attachment.cjs",[[0,"verdocs-field-attachment",{"field":[16],"disabled":[4],"roleIndex":[2,"role-index"],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-preview.cjs",[[0,"verdocs-preview",{"endpoint":[16],"templateId":[1,"template-id"]}]]],["verdocs-envelope-sidebar.cjs",[[0,"verdocs-envelope-sidebar",{"endpoint":[16],"envelopeId":[1,"envelope-id"],"activeTab":[32],"panelOpen":[32]}]]],["verdocs-kba-dialog.cjs",[[0,"verdocs-kba-dialog",{"step":[2],"steps":[2],"helptitle":[1],"helptext":[1],"mode":[1],"label":[1],"placeholder":[1],"choices":[16],"response":[32]}]]],["verdocs-template-attachments.cjs",[[0,"verdocs-template-attachments",{"endpoint":[16],"templateId":[1,"template-id"],"loading":[32]}]]],["verdocs-field-dropdown.cjs",[[0,"verdocs-field-dropdown",{"field":[16],"disabled":[4],"roleindex":[2],"focusField":[64],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-field-payment.cjs",[[0,"verdocs-field-payment",{"field":[16],"disabled":[4],"fields":[16],"pageNum":[2,"page-num"],"roleName":[1,"role-name"],"fieldId":[1,"field-id"],"recipients":[8],"selectedRoleName":[1,"selected-role-name"],"pdfPages":[16],"currentSignature":[1,"current-signature"],"currentSignatureId":[1,"current-signature-id"],"currentInitial":[1,"current-initial"],"currentInitialId":[1,"current-initial-id"],"focused":[4],"signed":[4],"roleindex":[2],"preparedMessage":[32],"signatureUrl":[32],"showSettingsPanel":[64],"hideSettingsPanel":[64]}]]],["verdocs-organization-card.cjs",[[0,"verdocs-organization-card",{"organization":[16]}]]],["verdocs-search-tabs.cjs",[[0,"verdocs-search-tabs",{"selected":[32]}]]],["verdocs-status-indicator.cjs",[[0,"verdocs-status-indicator",{"size":[1],"theme":[1],"status":[1],"envelope":[16],"isOpen":[32],"recipientStatusIcons":[32],"containerId":[32]}]]],["verdocs-template-card.cjs",[[0,"verdocs-template-card",{"template":[16]}]]],["verdocs-template-tags.cjs",[[0,"verdocs-template-tags",{"tags":[16]}]]],["verdocs-toggle.cjs",[[0,"verdocs-toggle",{"options":[16],"theme":[1],"selectedOption":[32]}]]],["verdocs-initial-dialog.cjs",[[0,"verdocs-initial-dialog",{"initials":[1],"fontLoaded":[32],"enteredInitials":[32],"mode":[32]}]]],["verdocs-signature-dialog.cjs",[[0,"verdocs-signature-dialog",{"name":[1],"fontLoaded":[32],"enteredName":[32],"mode":[32]}]]],["verdocs-view.cjs",[[0,"verdocs-view",{"endpoint":[16],"envelopeId":[1,"envelope-id"]}]]],["verdocs-toggle-button.cjs",[[0,"verdocs-toggle-button",{"active":[4],"icon":[1],"label":[1],"size":[1],"_active":[32]}]]],["verdocs-contact-picker.cjs",[[0,"verdocs-contact-picker",{"endpoint":[16],"templateRole":[16],"contactSuggestions":[16],"name":[32],"email":[32],"phone":[32],"message":[32],"showSuggestions":[32],"showMessage":[32],"delegator":[32]}]]],["verdocs-radio-button.cjs",[[0,"verdocs-radio-button",{"checked":[4],"name":[1],"value":[1],"disabled":[4]}]]],["verdocs-button.cjs",[[0,"verdocs-button",{"label":[1],"startIcon":[1,"start-icon"],"endIcon":[1,"end-icon"],"size":[1],"type":[1],"variant":[1],"disabled":[4]}]]],["verdocs-template-role-properties_2.cjs",[[0,"verdocs-template-role-properties",{"endpoint":[16],"templateId":[1,"template-id"],"roleName":[1,"role-name"],"sender":[1],"dirty":[32],"saving":[32],"name":[32],"type":[32],"fullName":[32],"email":[32],"phone":[32],"allowDelegation":[32]}],[0,"verdocs-template-sender",{"endpoint":[16],"templateId":[1,"template-id"],"sender":[1],"saving":[32]}]]],["verdocs-floating-menu_2.cjs",[[0,"verdocs-floating-menu",{"options":[16]}],[0,"verdocs-toolbar-icon",{"text":[1],"icon":[1],"placement":[1],"containerId":[32]}]]],["verdocs-template-create_2.cjs",[[0,"verdocs-template-fields",{"endpoint":[16],"templateId":[1,"template-id"],"placing":[32],"selectedRoleName":[32]}],[0,"verdocs-template-create",{"endpoint":[16],"file":[32],"creating":[32]}]]],["verdocs-ok-dialog.cjs",[[0,"verdocs-ok-dialog",{"heading":[1],"message":[1],"showCancel":[4,"show-cancel"]}]]],["verdocs-quick-functions_3.cjs",[[0,"verdocs-quick-functions",{"endpoint":[16]}],[0,"verdocs-search-activity",{"endpoint":[16],"type":[1],"options":[8],"emptyMessage":[32],"authFailure":[32],"title":[32],"recent":[32],"saved":[32],"starred":[32]}],[0,"verdocs-search-box",{"endpoint":[16],"placeholder":[1],"type":[1],"query":[1],"grabsFocus":[4,"grabs-focus"],"focusField":[64]}]]],["verdocs-dropdown.cjs",[[0,"verdocs-dropdown",{"options":[16],"open":[32]}]]],["verdocs-document-page_2.cjs",[[0,"verdocs-document-page",{"pageImageUri":[1,"page-image-uri"],"pageNumber":[2,"page-number"],"virtualWidth":[2,"virtual-width"],"virtualHeight":[1026,"virtual-height"],"layers":[16],"containerId":[32],"renderedWidth":[32],"renderedHeight":[32],"naturalWidth":[32],"naturalHeight":[32],"aspectRatio":[32],"skipFirstNotification":[32]}],[0,"verdocs-loader"]]],["verdocs-checkbox_4.cjs",[[0,"verdocs-checkbox",{"checked":[4],"name":[1],"label":[1],"value":[1],"theme":[1],"disabled":[4]}],[0,"verdocs-component-error",{"message":[1]}],[0,"verdocs-text-input",{"value":[1],"label":[1],"placeholder":[1],"autocomplete":[1],"helpText":[1,"help-text"],"type":[1],"disabled":[4]}],[0,"verdocs-help-icon",{"text":[1],"containerId":[32]}]]],["verdocs-button-panel_3.cjs",[[0,"verdocs-template-field-properties",{"endpoint":[16],"templateId":[1,"template-id"],"fieldName":[1,"field-name"],"dirty":[32],"loading":[32],"type":[32],"name":[32],"roleName":[32],"required":[32],"placeholder":[32],"defaultValue":[32]}],[4,"verdocs-button-panel",{"icon":[1],"showPanel":[64],"hidePanel":[64],"toggle":[64]}],[0,"verdocs-select-input",{"value":[1],"label":[1],"options":[16],"disabled":[4]}]]]], options);
19
19
  });
@@ -75,12 +75,12 @@ export class VerdocsContactPicker {
75
75
  this.showSuggestions = false;
76
76
  }
77
77
  render() {
78
- return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-name" }, "Name:"), h("input", { id: "verdocs-contact-picker-name", name: "verdocs-contact-picker-name", type: "text", "data-lpignore": "true", autocomplete: "off", value: this.name, placeholder: "Recipient Name...", onFocus: () => { var _a; return (this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0); },
78
+ return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-name" }, "Name:"), h("input", { id: "verdocs-contact-picker-name", name: "verdocs-contact-picker-name", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.name, placeholder: "Recipient Name...", onFocus: () => { var _a; return (this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0); },
79
79
  // onBlur={() => (this.showSuggestions = false)}
80
80
  onInput: e => this.handleNameChange(e) }), this.showSuggestions && (h("div", { class: "dropdown" }, this.contactSuggestions.map(suggestion => {
81
81
  var _a;
82
82
  return (h("div", { key: (_a = suggestion.id) !== null && _a !== void 0 ? _a : suggestion.name, class: "suggestion", onClick: e => this.handleSelectSuggestion(e, suggestion) }, suggestion.avatar ? h("img", { alt: "Avatar", class: "avatar", src: suggestion.avatar }) : h("div", { class: "avatar", innerHTML: placeholderIcon }), h("div", { class: "details" }, h("div", { class: "name" }, suggestion.name), suggestion.email && h("div", { class: "destination" }, suggestion.email), suggestion.phone && h("div", { class: "destination" }, suggestion.phone))));
83
- })))), h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-email" }, "Email:"), h("input", { id: "verdocs-contact-picker-email", name: "verdocs-contact-picker-email", type: "text", "data-lpignore": "true", autoComplete: "off", value: this.email, placeholder: "Email Address...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleEmailChange(e) })), h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-phone" }, "Phone:"), h("input", { id: "verdocs-contact-picker-phone", name: "verdocs-contact-picker-phone", type: "text", "data-lpignore": "true", autocomplete: "off", value: this.phone, placeholder: "Phone Number...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handlePhoneChange(e) })), this.showMessage && (h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-message" }, "Message:"), h("input", { id: "verdocs-contact-picker-message", name: "verdocs-contact-picker-message", type: "text", "data-lpignore": "true", autocomplete: "off", value: this.message, placeholder: "Invitation Message...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleMessageChange(e) }))), h("div", { class: "buttons" }, h("verdocs-toggle-button", { icon: messageIcon, size: "small", active: this.showMessage, onToggle: e => {
83
+ })))), h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-email" }, "Email:"), h("input", { id: "verdocs-contact-picker-email", name: "verdocs-contact-picker-email", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.email, placeholder: "Email Address...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleEmailChange(e) })), h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-phone" }, "Phone:"), h("input", { id: "verdocs-contact-picker-phone", name: "verdocs-contact-picker-phone", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.phone, placeholder: "Phone Number...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handlePhoneChange(e) })), this.showMessage && (h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-message" }, "Message:"), h("input", { id: "verdocs-contact-picker-message", name: "verdocs-contact-picker-message", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.message, placeholder: "Invitation Message...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleMessageChange(e) }))), h("div", { class: "buttons" }, h("verdocs-toggle-button", { icon: messageIcon, size: "small", active: this.showMessage, onToggle: e => {
84
84
  this.showMessage = e.detail.active;
85
85
  this.showSuggestions = false;
86
86
  } }), h("verdocs-toggle-button", { icon: delegateIcon, size: "small", active: this.delegator, onToggle: e => {
@@ -1,58 +1,49 @@
1
1
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
2
2
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
3
- import { getTemplate } from '@verdocs/js-sdk/Templates/Templates';
4
3
  import { isValidEmail, isValidPhone } from '@verdocs/js-sdk/Templates/Validators';
5
4
  import { h, Host } from '@stencil/core';
5
+ import TemplateStore from '../../../utils/templateStore';
6
+ import { loadTemplate } from '../../../utils/Templates';
6
7
  import { getRoleIndex } from '../../../utils/utils';
8
+ import { SDKError } from '../../../utils/errors';
7
9
  const editIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" tabindex="-1"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"></path></svg>';
8
10
  const startIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" tabindex="-1"><path d="M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z"></path></svg>';
9
11
  const stepIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" tabindex="-1"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></svg>';
10
12
  const doneIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" tabindex="-1"><path d="m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z"></path></svg>';
11
13
  /**
12
- * Display a form to collect recipient information for a new Document. If used anonymously, the specified `templateId` must be public.
13
- * If the user is authenticated
14
+ * Display a form to collect recipient information for a new Envelope. If used anonymously, the specified `templateId` must be public.
15
+ * Because most applications have custom workflow requirements to trigger after sending an Envelope, this component does not actually
16
+ * perform that operation. Parent applications should listen for the `onSend` event, and can pass the contents of `event.detail`
17
+ * directly to the `createEnvelope()` call in JS-SDK.
14
18
  */
15
19
  export class VerdocsSend {
16
20
  constructor() {
17
21
  this.levels = [];
18
22
  this.endpoint = VerdocsEndpoint.getDefault();
19
23
  this.templateId = null;
20
- this.template = null;
21
- this.pdfUrl = null;
22
24
  this.containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;
23
25
  this.rolesAtLevel = {};
24
26
  this.showPickerForId = '';
25
27
  this.sessionContacts = [];
26
- this.recipientsAssigned = {};
28
+ this.rolesCompleted = {};
29
+ }
30
+ async reset() {
31
+ this.rolesCompleted = {};
27
32
  }
28
33
  async componentWillLoad() {
29
- var _a;
30
- this.sessionContacts = [];
31
- try {
32
- const result = await this.endpoint.loadSession();
33
- if ((_a = result.session) === null || _a === void 0 ? void 0 : _a.profile) {
34
- this.sessionContacts.push({
35
- id: result.session.profile.id,
36
- name: `${result.session.profile.first_name} ${result.session.profile.last_name}`,
37
- email: result.session.profile.email,
38
- phone: result.session.profile.phone,
39
- });
40
- }
41
- }
42
- catch (e) {
43
- console.log('Error loading session', e);
34
+ var _a, _b, _c, _d, _e;
35
+ const loadSessionResult = this.endpoint.loadSession();
36
+ if (!this.templateId) {
37
+ console.log(`[SEND] Missing required template ID ${this.templateId}`);
38
+ return;
44
39
  }
45
- }
46
- async componentDidLoad() {
47
- console.log('[SEND] Showing template', this.templateId);
48
40
  try {
49
41
  console.log(`[SEND] Loading template ${this.templateId}`);
50
- const template = await getTemplate(this.endpoint, this.templateId);
51
- console.log('[SEND] Got template', template);
52
- this.template = template;
53
- if (template === null || template === void 0 ? void 0 : template.roles) {
42
+ await loadTemplate(this.endpoint, this.templateId);
43
+ if ((_a = TemplateStore.template) === null || _a === void 0 ? void 0 : _a.roles) {
54
44
  const rolesAtLevel = {};
55
- template.roles.forEach(role => {
45
+ this.rolesCompleted = {};
46
+ TemplateStore.template.roles.forEach(role => {
56
47
  const level = role.sequence - 1;
57
48
  rolesAtLevel[level] || (rolesAtLevel[level] = []);
58
49
  const id = `r-${level}-${rolesAtLevel[level].length}`;
@@ -64,7 +55,16 @@ export class VerdocsSend {
64
55
  }
65
56
  }
66
57
  catch (e) {
67
- console.log('[SEND] Error getting template', e);
58
+ console.log('[SEND] Error loading template', e);
59
+ (_b = this.sdkError) === null || _b === void 0 ? void 0 : _b.emit(new SDKError(e.message, (_c = e.response) === null || _c === void 0 ? void 0 : _c.status, (_d = e.response) === null || _d === void 0 ? void 0 : _d.data));
60
+ }
61
+ if ((_e = loadSessionResult.session) === null || _e === void 0 ? void 0 : _e.profile) {
62
+ this.sessionContacts.push({
63
+ id: loadSessionResult.session.profile.id,
64
+ name: `${loadSessionResult.session.profile.first_name} ${loadSessionResult.session.profile.last_name}`,
65
+ email: loadSessionResult.session.profile.email,
66
+ phone: loadSessionResult.session.profile.phone,
67
+ });
68
68
  }
69
69
  }
70
70
  getLevelIcon(level) {
@@ -81,7 +81,7 @@ export class VerdocsSend {
81
81
  handleSelectContact(e, role) {
82
82
  e.preventDefault();
83
83
  e.detail; // IContactSelectEvent
84
- this.recipientsAssigned[role.id] = { ...role, ...e.detail };
84
+ this.rolesCompleted[role.id] = { ...role, ...e.detail };
85
85
  this.showPickerForId = '';
86
86
  }
87
87
  handleClickRole(e, role) {
@@ -91,7 +91,7 @@ export class VerdocsSend {
91
91
  handleSend(e) {
92
92
  var _a;
93
93
  e.stopPropagation();
94
- (_a = this.send) === null || _a === void 0 ? void 0 : _a.emit({ recipientsAssigned: Object.values(this.recipientsAssigned) });
94
+ (_a = this.send) === null || _a === void 0 ? void 0 : _a.emit({ roles: Object.values(this.rolesCompleted), name: TemplateStore.template.name, template_id: this.templateId });
95
95
  }
96
96
  handleCancel(e) {
97
97
  var _a;
@@ -99,18 +99,13 @@ export class VerdocsSend {
99
99
  (_a = this.cancel) === null || _a === void 0 ? void 0 : _a.emit();
100
100
  }
101
101
  render() {
102
- var _a, _b, _c;
103
- const roleNames = ((_b = (_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) === null || _b === void 0 ? void 0 : _b.map(role => role.name)) || [];
104
- const allRecipientsAssigned = Object.values(this.recipientsAssigned).filter(recipient => {
105
- console.log('valid email', isValidEmail(recipient.email), recipient.email);
106
- console.log('valid phone', isValidPhone(recipient.phone), recipient.phone);
107
- return isValidEmail(recipient.email) || isValidPhone(recipient.phone);
108
- }).length >= ((_c = this.template) === null || _c === void 0 ? void 0 : _c.roles.length);
109
- console.log('assigned', allRecipientsAssigned);
102
+ const roleNames = TemplateStore.template.roles.map(role => role.name) || [];
103
+ const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) || isValidPhone(recipient.phone));
104
+ const allRolesAssigned = rolesAssigned.length >= roleNames.length;
110
105
  return (h(Host, { class: {} }, h("div", { class: "recipients" }, h("div", { class: "left-line" }), h("div", { class: `level level-start` }, this.getLevelIcon(-1), h("div", { class: "complete" }, "Send Envelope")), this.levels.map(level => (h("div", { class: `level level-${level}` }, this.getLevelIcon(level), this.rolesAtLevel[level].map(role => {
111
106
  var _a, _b, _c;
112
- return (h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, onClick: e => this.handleClickRole(e, role) }, (_b = (_a = this.recipientsAssigned[role.id]) === null || _a === void 0 ? void 0 : _a.full_name) !== null && _b !== void 0 ? _b : role.name, h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (h("verdocs-contact-picker", { onCancel: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: (_c = this.recipientsAssigned[role.id]) !== null && _c !== void 0 ? _c : role, onSearchContacts: e => console.log('Search', e.detail) }))));
113
- })))), h("div", { class: `level level-done` }, this.getLevelIcon(this.levels.length), h("div", { class: "complete" }, "Signing Complete"))), h("div", { class: "buttons" }, h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Send", size: "small", disabled: !allRecipientsAssigned, onClick: e => this.handleSend(e) }))));
107
+ return (h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, onClick: e => this.handleClickRole(e, role) }, (_b = (_a = this.rolesCompleted[role.id]) === null || _a === void 0 ? void 0 : _a.full_name) !== null && _b !== void 0 ? _b : role.name, h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (h("verdocs-contact-picker", { onCancel: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: (_c = this.rolesCompleted[role.id]) !== null && _c !== void 0 ? _c : role, onSearchContacts: e => console.log('Search', e.detail) }))));
108
+ })))), h("div", { class: `level level-done` }, this.getLevelIcon(this.levels.length), h("div", { class: "complete" }, "Signing Complete"))), h("div", { class: "buttons" }, h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Send", size: "small", disabled: !allRolesAssigned, onClick: e => this.handleSend(e) }))));
114
109
  }
115
110
  static get is() { return "verdocs-send"; }
116
111
  static get originalStyleUrls() {
@@ -168,13 +163,11 @@ export class VerdocsSend {
168
163
  }
169
164
  static get states() {
170
165
  return {
171
- "template": {},
172
- "pdfUrl": {},
173
166
  "containerId": {},
174
167
  "rolesAtLevel": {},
175
168
  "showPickerForId": {},
176
169
  "sessionContacts": {},
177
- "recipientsAssigned": {}
170
+ "rolesCompleted": {}
178
171
  };
179
172
  }
180
173
  static get events() {
@@ -189,8 +182,8 @@ export class VerdocsSend {
189
182
  "text": "The user completed the form and clicked send."
190
183
  },
191
184
  "complexType": {
192
- "original": "{recipientsAssigned: IRole[]}",
193
- "resolved": "{ recipientsAssigned: IRole[]; }",
185
+ "original": "{roles: IRole[]; name: string; template_id: string}",
186
+ "resolved": "{ roles: IRole[]; name: string; template_id: string; }",
194
187
  "references": {
195
188
  "IRole": {
196
189
  "location": "import",
@@ -235,4 +228,24 @@ export class VerdocsSend {
235
228
  }
236
229
  }];
237
230
  }
231
+ static get methods() {
232
+ return {
233
+ "reset": {
234
+ "complexType": {
235
+ "signature": "() => Promise<void>",
236
+ "parameters": [],
237
+ "references": {
238
+ "Promise": {
239
+ "location": "global"
240
+ }
241
+ },
242
+ "return": "Promise<void>"
243
+ },
244
+ "docs": {
245
+ "text": "",
246
+ "tags": []
247
+ }
248
+ }
249
+ };
250
+ }
238
251
  }
@@ -7,9 +7,10 @@ export default {
7
7
  },
8
8
  argTypes: {
9
9
  templateId: { control: { type: 'string' } },
10
+ onSend: { action: 'send' },
10
11
  },
11
12
  parameters: {
12
13
  layout: 'fullscreen',
13
14
  },
14
15
  };
15
- export const Send = ({ templateId }) => html `<verdocs-send .templateId=${templateId} />`;
16
+ export const Send = ({ templateId, onSend }) => html `<verdocs-send .templateId=${templateId} @send=${onSend} />`;
@@ -6,6 +6,7 @@ verdocs-template-create form {
6
6
  padding: 12px;
7
7
  display: flex;
8
8
  flex-direction: column;
9
+ width: 340px;
9
10
  }
10
11
  verdocs-template-create form .upload-box {
11
12
  max-width: 320px;
@@ -5,6 +5,7 @@ import { createTemplate, getTemplate } from '@verdocs/js-sdk/Templates/Templates
5
5
  import { SDKError } from '../../../utils/errors';
6
6
  // import {ITemplate, ITemplateDocument} from '@verdocs/js-sdk/Templates/Types';
7
7
  // import {createPage} from '@verdocs/js-sdk/Templates/Pages';
8
+ const unicodeNBSP = ' ';
8
9
  const FileIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"></path></svg>';
9
10
  /**
10
11
  * Displays a file upload mechanism suitable for the first step of creating a template.
@@ -14,8 +15,10 @@ export class VerdocsTemplateCreate {
14
15
  constructor() {
15
16
  this.endpoint = VerdocsEndpoint.getDefault();
16
17
  this.file = undefined;
18
+ this.creating = false;
17
19
  }
18
20
  componentWillLoad() {
21
+ this.endpoint.setTimeout(30000);
19
22
  this.endpoint.loadSession();
20
23
  }
21
24
  handleFileChanged(e) {
@@ -65,7 +68,7 @@ export class VerdocsTemplateCreate {
65
68
  if (!this.endpoint.session) {
66
69
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
67
70
  }
68
- return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("input", { type: "file", id: "verdocs-template-create-file", multiple: true, accept: "application/pdf", style: { display: 'none' }, onChange: e => this.handleFileChanged(e) }), h("div", { class: "upload-box" }, h("div", null, h("span", { innerHTML: FileIcon })), h("div", { style: { marginTop: '20px', fontSize: '20px', fontWeight: 'bold' } }, "Drag a file here"), h("div", { style: { marginTop: '20px', marginBottom: '20px', fontSize: '16px' } }, "Or, if you prefer..."), h("verdocs-button", { label: "Select a file from your computer", size: "small", onClick: e => this.handleUpload(e) })), h("div", { class: "buttons" }, h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Next", size: "small", onClick: e => this.handleSubmit(e), disabled: !this.file }))));
71
+ return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("input", { type: "file", id: "verdocs-template-create-file", multiple: true, accept: "application/pdf", style: { display: 'none' }, onChange: e => this.handleFileChanged(e) }), h("div", { class: "upload-box" }, h("div", null, h("span", { innerHTML: FileIcon })), h("div", { style: { marginTop: '20px', fontSize: '20px', fontWeight: 'bold' } }, this.file ? this.file.name : 'Drag a file here'), h("div", { style: { marginTop: '20px', marginBottom: '20px', fontSize: '16px', height: '20px' } }, this.file ? unicodeNBSP : 'Or, if you prefer...'), h("verdocs-button", { label: this.file ? 'Select a different file' : 'Select a file from your computer', size: "small", onClick: e => this.handleUpload(e) })), h("div", { class: "buttons" }, h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Next", size: "small", onClick: e => this.handleSubmit(e), disabled: !this.file }))));
69
72
  }
70
73
  static get is() { return "verdocs-template-create"; }
71
74
  static get originalStyleUrls() {
@@ -105,7 +108,8 @@ export class VerdocsTemplateCreate {
105
108
  }
106
109
  static get states() {
107
110
  return {
108
- "file": {}
111
+ "file": {},
112
+ "creating": {}
109
113
  };
110
114
  }
111
115
  static get events() {
@@ -2,34 +2,10 @@ import { html } from 'lit-html';
2
2
  export default {
3
3
  title: 'Templates/Create',
4
4
  component: 'verdocs-template-create',
5
- args: {
6
- templateRole: {
7
- template_id: '65cbba07-d0ac-4b62-afe3-25d186238938',
8
- name: 'Recipient 1',
9
- full_name: '',
10
- email: '',
11
- phone: '',
12
- type: 'signer',
13
- sequence: 1,
14
- message: '',
15
- },
16
- contactSuggestions: [
17
- { name: 'Me', email: 'myuser@nomail.com', phone: '212-555-6664' },
18
- { name: 'Will Power', email: 'will.power@nomail.com', avatar: 'https://i.pravatar.cc/48?img=59' },
19
- { name: 'Paige Turner', email: 'paige.turner@nomail.com', phone: '212-555-6664', avatar: 'https://i.pravatar.cc/48?img=41' },
20
- { name: 'Bill Board', phone: '212-555-6664' },
21
- ],
22
- },
5
+ args: {},
23
6
  argTypes: {
24
- searchContacts: { action: 'searchContacts' },
25
- cancel: { action: 'cancel' },
26
- contactSelected: { action: 'contactSelected' },
7
+ onCancel: { action: 'cancel' },
8
+ onNext: { action: 'next' },
27
9
  },
28
10
  };
29
- export const Create = ({ templateRole, contactSuggestions, searchContacts, cancel, contactSelected }) => html `<verdocs-template-create
30
- .templateRole=${templateRole}
31
- .contactSuggestions=${contactSuggestions}
32
- @searchContacts=${searchContacts}
33
- @cancel=${cancel}
34
- @contactSelected=${contactSelected}
35
- />`;
11
+ export const Create = ({ onCancel, onNext }) => html `<verdocs-template-create @next=${onNext} @cancel=${onCancel} />`;
@@ -38,6 +38,7 @@ onChange('template', async (newTemplate) => {
38
38
  state.pageNumbers = integerSequence(1, newTemplate.pages.length);
39
39
  state.updateCount++;
40
40
  });
41
+ // TODO: Do not rely on this, it doesn't appear to be working
41
42
  onChange('fields', newField => {
42
43
  console.log('[TEMPLATESTORE] Field changed', newField);
43
44
  state.dirty = true;
@@ -38,6 +38,7 @@ onChange('template', async (newTemplate) => {
38
38
  state.pageNumbers = integerSequence(1, newTemplate.pages.length);
39
39
  state.updateCount++;
40
40
  });
41
+ // TODO: Do not rely on this, it doesn't appear to be working
41
42
  onChange('fields', newField => {
42
43
  console.log('[TEMPLATESTORE] Field changed', newField);
43
44
  state.dirty = true;
@@ -76,12 +76,12 @@ const VerdocsContactPicker = /*@__PURE__*/ proxyCustomElement(class extends HTML
76
76
  this.showSuggestions = false;
77
77
  }
78
78
  render() {
79
- return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-name" }, "Name:"), h("input", { id: "verdocs-contact-picker-name", name: "verdocs-contact-picker-name", type: "text", "data-lpignore": "true", autocomplete: "off", value: this.name, placeholder: "Recipient Name...", onFocus: () => { var _a; return (this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0); },
79
+ return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-name" }, "Name:"), h("input", { id: "verdocs-contact-picker-name", name: "verdocs-contact-picker-name", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.name, placeholder: "Recipient Name...", onFocus: () => { var _a; return (this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0); },
80
80
  // onBlur={() => (this.showSuggestions = false)}
81
81
  onInput: e => this.handleNameChange(e) }), this.showSuggestions && (h("div", { class: "dropdown" }, this.contactSuggestions.map(suggestion => {
82
82
  var _a;
83
83
  return (h("div", { key: (_a = suggestion.id) !== null && _a !== void 0 ? _a : suggestion.name, class: "suggestion", onClick: e => this.handleSelectSuggestion(e, suggestion) }, suggestion.avatar ? h("img", { alt: "Avatar", class: "avatar", src: suggestion.avatar }) : h("div", { class: "avatar", innerHTML: placeholderIcon }), h("div", { class: "details" }, h("div", { class: "name" }, suggestion.name), suggestion.email && h("div", { class: "destination" }, suggestion.email), suggestion.phone && h("div", { class: "destination" }, suggestion.phone))));
84
- })))), h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-email" }, "Email:"), h("input", { id: "verdocs-contact-picker-email", name: "verdocs-contact-picker-email", type: "text", "data-lpignore": "true", autoComplete: "off", value: this.email, placeholder: "Email Address...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleEmailChange(e) })), h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-phone" }, "Phone:"), h("input", { id: "verdocs-contact-picker-phone", name: "verdocs-contact-picker-phone", type: "text", "data-lpignore": "true", autocomplete: "off", value: this.phone, placeholder: "Phone Number...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handlePhoneChange(e) })), this.showMessage && (h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-message" }, "Message:"), h("input", { id: "verdocs-contact-picker-message", name: "verdocs-contact-picker-message", type: "text", "data-lpignore": "true", autocomplete: "off", value: this.message, placeholder: "Invitation Message...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleMessageChange(e) }))), h("div", { class: "buttons" }, h("verdocs-toggle-button", { icon: messageIcon, size: "small", active: this.showMessage, onToggle: e => {
84
+ })))), h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-email" }, "Email:"), h("input", { id: "verdocs-contact-picker-email", name: "verdocs-contact-picker-email", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.email, placeholder: "Email Address...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleEmailChange(e) })), h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-phone" }, "Phone:"), h("input", { id: "verdocs-contact-picker-phone", name: "verdocs-contact-picker-phone", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.phone, placeholder: "Phone Number...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handlePhoneChange(e) })), this.showMessage && (h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-message" }, "Message:"), h("input", { id: "verdocs-contact-picker-message", name: "verdocs-contact-picker-message", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.message, placeholder: "Invitation Message...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleMessageChange(e) }))), h("div", { class: "buttons" }, h("verdocs-toggle-button", { icon: messageIcon, size: "small", active: this.showMessage, onToggle: e => {
85
85
  this.showMessage = e.detail.active;
86
86
  this.showSuggestions = false;
87
87
  } }), h("verdocs-toggle-button", { icon: delegateIcon, size: "small", active: this.delegator, onToggle: e => {
@@ -1,9 +1,11 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { g as getTemplate } from './Templates2.js';
3
2
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
4
3
  import { i as isValidEmail, a as isValidPhone } from './Validators.js';
5
4
  import { g as getRGBA } from './Colors.js';
5
+ import { s as state } from './templateStore.js';
6
+ import { l as loadTemplate } from './Templates.js';
6
7
  import { a as getRoleIndex } from './utils.js';
8
+ import { S as SDKError } from './errors.js';
7
9
  import { d as defineCustomElement$4 } from './verdocs-button2.js';
8
10
  import { d as defineCustomElement$3 } from './verdocs-contact-picker2.js';
9
11
  import { d as defineCustomElement$2 } from './verdocs-toggle-button2.js';
@@ -24,42 +26,29 @@ const VerdocsSend$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
24
26
  this.levels = [];
25
27
  this.endpoint = VerdocsEndpoint.getDefault();
26
28
  this.templateId = null;
27
- this.template = null;
28
- this.pdfUrl = null;
29
29
  this.containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;
30
30
  this.rolesAtLevel = {};
31
31
  this.showPickerForId = '';
32
32
  this.sessionContacts = [];
33
- this.recipientsAssigned = {};
33
+ this.rolesCompleted = {};
34
+ }
35
+ async reset() {
36
+ this.rolesCompleted = {};
34
37
  }
35
38
  async componentWillLoad() {
36
- var _a;
37
- this.sessionContacts = [];
38
- try {
39
- const result = await this.endpoint.loadSession();
40
- if ((_a = result.session) === null || _a === void 0 ? void 0 : _a.profile) {
41
- this.sessionContacts.push({
42
- id: result.session.profile.id,
43
- name: `${result.session.profile.first_name} ${result.session.profile.last_name}`,
44
- email: result.session.profile.email,
45
- phone: result.session.profile.phone,
46
- });
47
- }
48
- }
49
- catch (e) {
50
- console.log('Error loading session', e);
39
+ var _a, _b, _c, _d, _e;
40
+ const loadSessionResult = this.endpoint.loadSession();
41
+ if (!this.templateId) {
42
+ console.log(`[SEND] Missing required template ID ${this.templateId}`);
43
+ return;
51
44
  }
52
- }
53
- async componentDidLoad() {
54
- console.log('[SEND] Showing template', this.templateId);
55
45
  try {
56
46
  console.log(`[SEND] Loading template ${this.templateId}`);
57
- const template = await getTemplate(this.endpoint, this.templateId);
58
- console.log('[SEND] Got template', template);
59
- this.template = template;
60
- if (template === null || template === void 0 ? void 0 : template.roles) {
47
+ await loadTemplate(this.endpoint, this.templateId);
48
+ if ((_a = state.template) === null || _a === void 0 ? void 0 : _a.roles) {
61
49
  const rolesAtLevel = {};
62
- template.roles.forEach(role => {
50
+ this.rolesCompleted = {};
51
+ state.template.roles.forEach(role => {
63
52
  const level = role.sequence - 1;
64
53
  rolesAtLevel[level] || (rolesAtLevel[level] = []);
65
54
  const id = `r-${level}-${rolesAtLevel[level].length}`;
@@ -71,7 +60,16 @@ const VerdocsSend$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
71
60
  }
72
61
  }
73
62
  catch (e) {
74
- console.log('[SEND] Error getting template', e);
63
+ console.log('[SEND] Error loading template', e);
64
+ (_b = this.sdkError) === null || _b === void 0 ? void 0 : _b.emit(new SDKError(e.message, (_c = e.response) === null || _c === void 0 ? void 0 : _c.status, (_d = e.response) === null || _d === void 0 ? void 0 : _d.data));
65
+ }
66
+ if ((_e = loadSessionResult.session) === null || _e === void 0 ? void 0 : _e.profile) {
67
+ this.sessionContacts.push({
68
+ id: loadSessionResult.session.profile.id,
69
+ name: `${loadSessionResult.session.profile.first_name} ${loadSessionResult.session.profile.last_name}`,
70
+ email: loadSessionResult.session.profile.email,
71
+ phone: loadSessionResult.session.profile.phone,
72
+ });
75
73
  }
76
74
  }
77
75
  getLevelIcon(level) {
@@ -87,7 +85,7 @@ const VerdocsSend$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
87
85
  }
88
86
  handleSelectContact(e, role) {
89
87
  e.preventDefault();
90
- this.recipientsAssigned[role.id] = { ...role, ...e.detail };
88
+ this.rolesCompleted[role.id] = { ...role, ...e.detail };
91
89
  this.showPickerForId = '';
92
90
  }
93
91
  handleClickRole(e, role) {
@@ -97,7 +95,7 @@ const VerdocsSend$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
97
95
  handleSend(e) {
98
96
  var _a;
99
97
  e.stopPropagation();
100
- (_a = this.send) === null || _a === void 0 ? void 0 : _a.emit({ recipientsAssigned: Object.values(this.recipientsAssigned) });
98
+ (_a = this.send) === null || _a === void 0 ? void 0 : _a.emit({ roles: Object.values(this.rolesCompleted), name: state.template.name, template_id: this.templateId });
101
99
  }
102
100
  handleCancel(e) {
103
101
  var _a;
@@ -105,30 +103,24 @@ const VerdocsSend$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
105
103
  (_a = this.cancel) === null || _a === void 0 ? void 0 : _a.emit();
106
104
  }
107
105
  render() {
108
- var _a, _b, _c;
109
- const roleNames = ((_b = (_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) === null || _b === void 0 ? void 0 : _b.map(role => role.name)) || [];
110
- const allRecipientsAssigned = Object.values(this.recipientsAssigned).filter(recipient => {
111
- console.log('valid email', isValidEmail(recipient.email), recipient.email);
112
- console.log('valid phone', isValidPhone(recipient.phone), recipient.phone);
113
- return isValidEmail(recipient.email) || isValidPhone(recipient.phone);
114
- }).length >= ((_c = this.template) === null || _c === void 0 ? void 0 : _c.roles.length);
115
- console.log('assigned', allRecipientsAssigned);
106
+ const roleNames = state.template.roles.map(role => role.name) || [];
107
+ const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) || isValidPhone(recipient.phone));
108
+ const allRolesAssigned = rolesAssigned.length >= roleNames.length;
116
109
  return (h(Host, { class: {} }, h("div", { class: "recipients" }, h("div", { class: "left-line" }), h("div", { class: `level level-start` }, this.getLevelIcon(-1), h("div", { class: "complete" }, "Send Envelope")), this.levels.map(level => (h("div", { class: `level level-${level}` }, this.getLevelIcon(level), this.rolesAtLevel[level].map(role => {
117
110
  var _a, _b, _c;
118
- return (h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, onClick: e => this.handleClickRole(e, role) }, (_b = (_a = this.recipientsAssigned[role.id]) === null || _a === void 0 ? void 0 : _a.full_name) !== null && _b !== void 0 ? _b : role.name, h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (h("verdocs-contact-picker", { onCancel: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: (_c = this.recipientsAssigned[role.id]) !== null && _c !== void 0 ? _c : role, onSearchContacts: e => console.log('Search', e.detail) }))));
119
- })))), h("div", { class: `level level-done` }, this.getLevelIcon(this.levels.length), h("div", { class: "complete" }, "Signing Complete"))), h("div", { class: "buttons" }, h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Send", size: "small", disabled: !allRecipientsAssigned, onClick: e => this.handleSend(e) }))));
111
+ return (h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, onClick: e => this.handleClickRole(e, role) }, (_b = (_a = this.rolesCompleted[role.id]) === null || _a === void 0 ? void 0 : _a.full_name) !== null && _b !== void 0 ? _b : role.name, h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (h("verdocs-contact-picker", { onCancel: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: (_c = this.rolesCompleted[role.id]) !== null && _c !== void 0 ? _c : role, onSearchContacts: e => console.log('Search', e.detail) }))));
112
+ })))), h("div", { class: `level level-done` }, this.getLevelIcon(this.levels.length), h("div", { class: "complete" }, "Signing Complete"))), h("div", { class: "buttons" }, h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "Send", size: "small", disabled: !allRolesAssigned, onClick: e => this.handleSend(e) }))));
120
113
  }
121
114
  static get style() { return verdocsSendCss; }
122
115
  }, [0, "verdocs-send", {
123
116
  "endpoint": [16],
124
117
  "templateId": [1, "template-id"],
125
- "template": [32],
126
- "pdfUrl": [32],
127
118
  "containerId": [32],
128
119
  "rolesAtLevel": [32],
129
120
  "showPickerForId": [32],
130
121
  "sessionContacts": [32],
131
- "recipientsAssigned": [32]
122
+ "rolesCompleted": [32],
123
+ "reset": [64]
132
124
  }]);
133
125
  function defineCustomElement$1() {
134
126
  if (typeof customElements === "undefined") {