@verdocs/web-sdk 6.13.0 → 6.13.2

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 (75) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +13 -4
  3. package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js.map +1 -1
  4. package/dist/cjs/verdocs-preview_6.cjs.entry.js +47 -2
  5. package/dist/cjs/verdocs-preview_6.cjs.entry.js.map +1 -1
  6. package/dist/cjs/verdocs-sign.cjs.entry.js +42 -8
  7. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  8. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  9. package/dist/collection/components/embeds/verdocs-send/verdocs-send.css +55 -0
  10. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +49 -1
  11. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  12. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +43 -8
  13. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  14. package/dist/collection/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.js +36 -4
  15. package/dist/collection/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.js.map +1 -1
  16. package/dist/components/{p-BTrjJycH.js → p-06em1_P-.js} +2 -2
  17. package/dist/components/p-Blr31TcJ.js +2 -0
  18. package/dist/components/p-Blr31TcJ.js.map +1 -0
  19. package/dist/components/p-D495hZfr.js +2 -0
  20. package/dist/components/p-D495hZfr.js.map +1 -0
  21. package/dist/components/verdocs-build.js +1 -1
  22. package/dist/components/verdocs-send.js +1 -1
  23. package/dist/components/verdocs-sign-footer.js +1 -1
  24. package/dist/components/verdocs-sign.js +1 -1
  25. package/dist/components/verdocs-sign.js.map +1 -1
  26. package/dist/components/verdocs-view.js +1 -1
  27. package/dist/esm/loader.js +1 -1
  28. package/dist/esm/verdocs-download-dialog_4.entry.js +13 -4
  29. package/dist/esm/verdocs-download-dialog_4.entry.js.map +1 -1
  30. package/dist/esm/verdocs-preview_6.entry.js +48 -3
  31. package/dist/esm/verdocs-preview_6.entry.js.map +1 -1
  32. package/dist/esm/verdocs-sign.entry.js +42 -8
  33. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  34. package/dist/esm/verdocs-web-sdk.js +1 -1
  35. package/dist/esm-es5/loader.js +1 -1
  36. package/dist/esm-es5/verdocs-download-dialog_4.entry.js +1 -1
  37. package/dist/esm-es5/verdocs-download-dialog_4.entry.js.map +1 -1
  38. package/dist/esm-es5/verdocs-preview_6.entry.js +2 -2
  39. package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
  40. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  41. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  42. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  43. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +15 -1
  44. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +2 -0
  45. package/dist/types/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.d.ts +4 -0
  46. package/dist/types/components.d.ts +10 -0
  47. package/dist/verdocs-web-sdk/p-1b818cdf.entry.js +8 -0
  48. package/dist/verdocs-web-sdk/p-1b818cdf.entry.js.map +1 -0
  49. package/dist/verdocs-web-sdk/p-24dcc54e.system.entry.js +8 -0
  50. package/dist/verdocs-web-sdk/{p-987d5653.entry.js.map → p-24dcc54e.system.entry.js.map} +1 -1
  51. package/dist/verdocs-web-sdk/p-935267a6.entry.js +2 -0
  52. package/dist/verdocs-web-sdk/p-935267a6.entry.js.map +1 -0
  53. package/dist/verdocs-web-sdk/p-BdZ5Ghsa.system.js +1 -1
  54. package/dist/verdocs-web-sdk/p-a9899fce.system.entry.js +2 -0
  55. package/dist/verdocs-web-sdk/p-a9899fce.system.entry.js.map +1 -0
  56. package/dist/verdocs-web-sdk/{p-2e382167.entry.js → p-ea6c0b55.entry.js} +2 -2
  57. package/dist/verdocs-web-sdk/p-ea6c0b55.entry.js.map +1 -0
  58. package/dist/verdocs-web-sdk/{p-3f9102c4.system.entry.js → p-eccac670.system.entry.js} +2 -2
  59. package/dist/verdocs-web-sdk/p-eccac670.system.entry.js.map +1 -0
  60. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  61. package/package.json +3 -3
  62. package/dist/components/p-CnUZ9w2T.js +0 -2
  63. package/dist/components/p-CnUZ9w2T.js.map +0 -1
  64. package/dist/components/p-E2hWLZ47.js +0 -2
  65. package/dist/components/p-E2hWLZ47.js.map +0 -1
  66. package/dist/verdocs-web-sdk/p-2a6a3bc6.entry.js +0 -2
  67. package/dist/verdocs-web-sdk/p-2a6a3bc6.entry.js.map +0 -1
  68. package/dist/verdocs-web-sdk/p-2e382167.entry.js.map +0 -1
  69. package/dist/verdocs-web-sdk/p-3f9102c4.system.entry.js.map +0 -1
  70. package/dist/verdocs-web-sdk/p-5404f6bf.system.entry.js +0 -2
  71. package/dist/verdocs-web-sdk/p-5404f6bf.system.entry.js.map +0 -1
  72. package/dist/verdocs-web-sdk/p-788c8d67.system.entry.js +0 -8
  73. package/dist/verdocs-web-sdk/p-788c8d67.system.entry.js.map +0 -1
  74. package/dist/verdocs-web-sdk/p-987d5653.entry.js +0 -8
  75. /package/dist/components/{p-BTrjJycH.js.map → p-06em1_P-.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{p as e,H as s,c as i,h as t,d as n,t as o}from"./p-yZBlG3YQ.js";import{getTemplate as r,getBrands as a,getOrganization as d,getOrganizationContacts as l,isValidEmail as c,createEnvelope as p,getRGBA as h,formatFullName as f}from"@verdocs/js-sdk";import{D as v,g as u}from"./p-Cq60Emo_.js";import{u as m,d as x}from"./p-ByrpRZ3E.js";import{V as b}from"./p-D97GxsI-.js";import{S as g}from"./p-C1sRVZWv.js";import{S as w}from"./p-C7hFgM52.js";import{d as k}from"./p-Bb5V9TQx.js";import{d as y}from"./p-DGNIsXfr.js";import{d as D}from"./p-C-v22G3g.js";import{d as E}from"./p-C8yiLtCJ.js";import{d as S}from"./p-DqzFuSNN.js";import{d as C}from"./p-DreV6Npp.js";const z=e=>((e===null||e===void 0?void 0:e.roles)||[]).map((e=>e.name));const N=(e,s)=>Math.max(z(e).findIndex((e=>e===s)),0);const j=()=>`verdocs-send{--send-ink:var(--verdocs-body-color, #111827);--send-ink-2:#374151;--send-muted:#6b7280;--send-faint:#9ca3af;--send-rule:#e5e7eb;--send-control-border:#d1d5db;--send-accent:var(--verdocs-link-color, #4c56cb);--send-accent-tint:#f4f5fc;--send-accent-tint-2:#e6e7f8;--send-warning-bg:#fffbeb;--send-warning-border:#fde68a;--send-warning-icon:#d97706;--send-warning-text:#78350f;--send-radius:var(--verdocs-dialog-radius, 8px);--send-min-height:480px;--send-max-width:480px;display:none;position:relative;overflow:hidden;width:100%;max-width:var(--verdocs-send-max-width, var(--send-max-width));-webkit-box-sizing:border-box;box-sizing:border-box;background:#ffffff;color:var(--send-ink);font-size:14px;border-radius:var(--send-radius);border:1px solid var(--send-rule);font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-send *{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-send.sendable{display:block}verdocs-send .track{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:var(--send-min-height);-webkit-transition:-webkit-transform 220ms ease-out;transition:-webkit-transform 220ms ease-out;transition:transform 220ms ease-out;transition:transform 220ms ease-out, -webkit-transform 220ms ease-out}verdocs-send.detail-open .track{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@media (prefers-reduced-motion: reduce){verdocs-send .track{-webkit-transition:none;transition:none}}verdocs-send .pane{padding:16px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .main-pane{-ms-flex:1;flex:1}verdocs-send .detail-pane{position:absolute;top:0;left:100%;bottom:0;width:100%;overflow:hidden}verdocs-send .detail{-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .detail-body-wrap{position:relative;-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .detail-body{-ms-flex:1;flex:1;min-height:0;overflow-y:auto}verdocs-send .scroll-fade{position:absolute;left:0;right:0;bottom:0;height:36px;opacity:0;pointer-events:none;-webkit-transition:opacity 150ms ease-out;transition:opacity 150ms ease-out;background:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#ffffff));background:linear-gradient(rgba(255, 255, 255, 0), #ffffff)}verdocs-send .scrollable:not(.at-end)>.scroll-fade{opacity:1}verdocs-send .recipient-detail verdocs-contact-picker{-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .section-title{font-size:12px;font-weight:600;color:var(--send-ink-2);margin:0 0 6px 0}verdocs-send .delivery-title{margin-top:16px}verdocs-send .step{font-size:11px;color:var(--send-muted);padding:10px 0 4px 0}verdocs-send .recipient,verdocs-send .kv{all:unset;display:-ms-flexbox;display:flex;width:100%;cursor:pointer;-ms-flex-align:center;align-items:center;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;border-top:1px solid var(--send-rule);color:var(--send-ink);font-family:inherit}verdocs-send .recipient:focus-visible,verdocs-send .kv:focus-visible{outline:2px solid var(--send-accent);outline-offset:-2px;border-radius:4px}verdocs-send .recipient .chevron,verdocs-send .kv .chevron{-ms-flex:0 0 16px;flex:0 0 16px;width:16px;height:16px;color:var(--send-faint)}verdocs-send .recipient .chevron svg,verdocs-send .kv .chevron svg{width:16px;height:16px;display:block}verdocs-send .recipient{padding:8px 6px 8px 0}verdocs-send .recipient:last-child{border-bottom:1px solid var(--send-rule)}verdocs-send .recipient .who{-ms-flex:1;flex:1;min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .recipient .role-name{font-size:13px;font-weight:600}verdocs-send .recipient .who-detail{font-size:12px;color:var(--send-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .recipient .who-detail.configure{color:var(--send-accent);font-weight:500}verdocs-send .recipient .options{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px;margin-top:3px}verdocs-send .recipient .pill{height:18px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:500;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;background:var(--send-accent-tint);color:var(--send-ink-2)}verdocs-send .role-dot{-ms-flex:0 0 10px;flex:0 0 10px;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0, 0, 0, 0.1)}verdocs-send .kv{height:40px;padding:0 6px 0 0;font-size:13px}verdocs-send .kv:last-child{border-bottom:1px solid var(--send-rule)}verdocs-send .kv:disabled{cursor:default;color:var(--send-muted)}verdocs-send .kv .key{-ms-flex:0 0 84px;flex:0 0 84px;color:var(--send-muted)}verdocs-send .kv .value{-ms-flex:1;flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .kv .value small{font-size:inherit;font-weight:400;color:var(--send-muted)}verdocs-send .kv .value.off{color:var(--send-warning-icon)}verdocs-send .main-spacer,verdocs-send .detail-spacer{-ms-flex:1;flex:1}verdocs-send .buttons{display:-ms-flexbox;display:flex;margin-top:14px;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}verdocs-send .buttons .error-message{width:100%;color:#cc0000;font-size:13px;margin-bottom:10px}verdocs-send .detail-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin:-2px 0 14px 0}verdocs-send .detail-header .back{all:unset;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;cursor:pointer;font-size:13px;font-weight:500;color:var(--send-accent);font-family:inherit;-ms-flex:0 0 52px;flex:0 0 52px}verdocs-send .detail-header .back .icon,verdocs-send .detail-header .back .icon svg{width:16px;height:16px;display:block}verdocs-send .detail-header .back:focus-visible{outline:2px solid var(--send-accent);outline-offset:2px;border-radius:4px}verdocs-send .detail-header .detail-title{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;font-size:14px;font-weight:600;text-align:center}verdocs-send .detail-header .detail-header-spacer{-ms-flex:0 0 52px;flex:0 0 52px}verdocs-send .detail-footer{margin-top:10px;padding-top:12px;border-top:1px solid var(--send-rule)}verdocs-send .detail-footer verdocs-button,verdocs-send .detail-footer verdocs-button button{width:100%}verdocs-send .hint{font-size:12px;line-height:1.5;color:var(--send-muted);margin:10px 0 0 0}verdocs-send .option-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .option{all:unset;display:-ms-flexbox;display:flex;width:100%;cursor:pointer;-ms-flex-align:center;align-items:center;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;padding:10px 0;font-size:13px;font-family:inherit;color:var(--send-ink);border-top:1px solid var(--send-rule)}verdocs-send .option:first-child{border-top:0}verdocs-send .option:focus-visible{outline:2px solid var(--send-accent);outline-offset:-2px;border-radius:4px}verdocs-send .option .radio{-ms-flex:0 0 16px;flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:1px solid var(--send-control-border);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-send .option.selected .radio{border-color:var(--send-accent)}verdocs-send .option.selected .radio::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--send-accent)}verdocs-send .option .swatch{-ms-flex:0 0 22px;flex:0 0 22px;width:22px;height:22px;border-radius:5px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-size:9px;font-weight:700;color:#ffffff;overflow:hidden}verdocs-send .option .swatch.logo{background:#ffffff;border:1px solid var(--send-rule)}verdocs-send .option .swatch img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}verdocs-send .option .option-label{-ms-flex:1;flex:1;min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-send .option .option-label small{font-size:11px;color:var(--send-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}verdocs-send .option-divider{height:0;margin:2px 0;border-top:1px solid var(--send-control-border)}verdocs-send .option-divider+.option{border-top:0}verdocs-send .hint a{color:var(--send-accent);font-weight:500;text-decoration:none;border-bottom:1px solid var(--send-accent-tint-2)}verdocs-send .hint a .icon,verdocs-send .hint a .icon svg{width:11px;height:11px;display:inline-block;vertical-align:-1px;margin-left:2px}verdocs-send .expires-field{position:relative}verdocs-send .expires-field input{width:100%;height:36px;padding:0 52px 0 10px;font-size:14px;font-family:inherit;color:var(--send-ink);background:#ffffff;border:1px solid var(--send-control-border);border-radius:6px;outline:none}verdocs-send .expires-field input:focus{border-color:var(--send-accent);-webkit-box-shadow:0 0 0 2px var(--send-accent-tint-2);box-shadow:0 0 0 2px var(--send-accent-tint-2)}verdocs-send .expires-field input::-webkit-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::-moz-placeholder{color:var(--send-faint)}verdocs-send .expires-field input:-ms-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::-ms-input-placeholder{color:var(--send-faint)}verdocs-send .expires-field input::placeholder{color:var(--send-faint)}verdocs-send .expires-field .suffix{position:absolute;right:10px;top:0;height:36px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:13px;color:var(--send-muted);pointer-events:none}verdocs-send .warning{display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.5;border-radius:6px;color:var(--send-warning-text);background:var(--send-warning-bg);border:1px solid var(--send-warning-border)}verdocs-send .warning>.icon{-ms-flex:0 0 18px;flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--send-warning-icon)}verdocs-send .warning>.icon svg{width:18px;height:18px;display:block}verdocs-send .warning a{color:var(--send-accent);font-weight:500;text-decoration:none;border-bottom:1px solid var(--send-accent-tint-2)}verdocs-send .warning a .icon,verdocs-send .warning a .icon svg{width:11px;height:11px;display:inline-block;vertical-align:-1px;margin-left:2px}verdocs-send verdocs-checkbox{display:block;padding:4px 0;font-size:13px}`;const B='<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"/></svg>';const M='<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>';const I='<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><path d="M12 9v4M12 17h.01"/></svg>';const _='<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 3h6v6M10 14 21 3M21 14v7H3V3h7"/></svg>';const T="https://app.verdocs.com/assets/blue-logo.svg";const L=.25;const R=60;const V=500;const $=1;const H=120;const O=120;const G={email:"Email",passcode:"Passcode",sms:"SMS",kba:"KBA",id:"ID check"};const A=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.beforeSend=i(this,"beforeSend");this.send=i(this,"send");this.exit=i(this,"exit");this.sdkError=i(this,"sdkError");this.searchContacts=i(this,"searchContacts");this.templateListenerId=null;this.endpoint=v;this.templateId=null;this.environment="";this.showCancel=true;this.brandKey="";this.swipeStart=null;this.swallowNextClick=false;this.loadedOrganizationId="";this.containerId=`verdocs-send-${Math.random().toString(36).substring(2,11)}`;this.view="main";this.editingRoleId="";this.sessionContacts=[];this.sending=false;this.brands=[];this.organization=null;this.expiresInDays="";this.noContact=false;this.rolesCompleted={};this.loading=true;this.template=null}disconnectedCallback(){this.unlistenToTemplate()}componentDidLoad(){this.el.addEventListener("click",(e=>{if(this.swallowNextClick){this.swallowNextClick=false;e.stopPropagation();e.preventDefault()}}),true)}componentDidRender(){var e,s;m(this.el.querySelector(".detail-body"));(e=this.el.querySelector(".main-pane"))===null||e===void 0?void 0:e.toggleAttribute("inert",this.view!=="main");(s=this.el.querySelector(".detail-pane"))===null||s===void 0?void 0:s.toggleAttribute("inert",this.view==="main")}async listenToTemplate(){console.log("[SEND] Loading template",this.templateId);this.unlistenToTemplate();w.subscribe("templates",this.templateId,(()=>r(this.endpoint,this.templateId)),true,(e=>{console.log("[SEND] Got new template",e);this.template=e;this.loading=false;this.rolesCompleted={};this.view="main";this.editingRoleId="";this.recomputeRolesCompleted();this.loadBrands()}))}loadBrands(){var e;const s=(e=this.template)===null||e===void 0?void 0:e.organization_id;if(!s||s===this.loadedOrganizationId){return}const i=!!this.loadedOrganizationId;this.loadedOrganizationId=s;this.brands=[];this.organization=null;if(i){this.brandKey=""}const t=()=>{var e;return((e=this.template)===null||e===void 0?void 0:e.organization_id)===s};a(this.endpoint,s).then((e=>{if(t()){this.brands=e||[]}})).catch((e=>console.log("[SEND] Unable to load brands",e)));d(this.endpoint,s).then((e=>{if(t()){this.organization=e}})).catch((e=>console.log("[SEND] Unable to load organization",e)))}handleExpiryInput(e){const s=(e.target.value||"").replace(/[^0-9]/g,"");this.expiresInDays=s?String(Math.min(Math.max(Number(s),$),H)):"";e.target.value=this.expiresInDays}effectiveExpiryDays(){const e=Number(this.expiresInDays);return e>=$?e:O}expiresAt(){return new Date(Date.now()+this.effectiveExpiryDays()*24*60*60*1e3)}unlistenToTemplate(){if(this.templateListenerId){w.store.delListener(this.templateListenerId);this.templateListenerId=null}}async reset(){this.rolesCompleted={};this.view="main";this.editingRoleId="";this.brandKey="";this.expiresInDays="";this.noContact=false}onTemplateIdChanged(e){console.log("[SEND] Template ID changed",e);this.listenToTemplate()}async componentWillLoad(){var e,s,i;try{this.endpoint.onSessionChanged(((e,s,i)=>{if(!i){return}const t={id:i.id,first_name:i.first_name,last_name:i.last_name,email:i.email,phone:i.phone};if(i){this.sessionContacts=[t];l(this.endpoint).then((e=>{console.log("[SEND] Got contacts",e);this.sessionContacts=[...e,t]})).catch((e=>{console.log("[SEND] Error getting contacts",e)}))}}));this.endpoint.loadSession();if(!this.endpoint.session){console.log("[SEND] Unable to start Send operation, must be authenticated");return}if(!this.templateId){console.log(`[SEND] Missing required template ID ${this.templateId}`);return}this.listenToTemplate()}catch(t){console.log("[SEND] Error with send session",t);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new g(t.message,(s=t.response)===null||s===void 0?void 0:s.status,(i=t.response)===null||i===void 0?void 0:i.data))}}recomputeRolesCompleted(){var e;this.rolesCompleted={};const s={};(((e=this.template)===null||e===void 0?void 0:e.roles)||[]).forEach((e=>{const i=e.sequence;s[i]||(s[i]=[]);const t=`r-${i}-${s[i].length}`;s[i].push({...e,id:t,role_name:e.name,first_name:e.first_name,last_name:e.last_name});if(e.first_name&&c(e.email)){this.rolesCompleted[t]={...e,id:t,role_name:e.name,first_name:e.first_name,last_name:e.last_name}}}))}getSequenceNumbers(){var e;const s={};(((e=this.template)===null||e===void 0?void 0:e.roles)||[]).forEach((e=>{s[e.sequence]=true}));return Object.keys(s).map((e=>+e)).sort(((e,s)=>e-s))}getRolesAtLevel(e){var s;const i=(((s=this.template)===null||s===void 0?void 0:s.roles)||[]).filter((s=>s.sequence===e)).map(((s,i)=>({...s,id:`r-${e}-${i}`,role_name:s.name,first_name:s.first_name,last_name:s.last_name})));return i}getRoleById(e){for(const s of this.getSequenceNumbers()){const i=this.getRolesAtLevel(s).find((s=>s.id===e));if(i){return i}}return null}getRecipientOptionLabels(e){if(!e){return[]}const s=(e.auth_methods||[]).filter((e=>e!=="email")).map((e=>G[e]||e));if(e.delegator){s.push("May delegate")}if(e.name_locked){s.push("Name locked")}return s}getDefaultBrand(){var e;const s=(e=this.organization)===null||e===void 0?void 0:e.default_brand_id;return s&&this.brands.find((e=>e.id===s))||null}getDefaultBrandLabel(){var e;const s=(e=this.getDefaultBrand())===null||e===void 0?void 0:e.name;return`Default (${s||"Verdocs"})`}getSelectedBrandLabel(){if(!this.brandKey){return this.getDefaultBrandLabel()}const e=this.brands.find((e=>e.key===this.brandKey));return(e===null||e===void 0?void 0:e.name)||(e===null||e===void 0?void 0:e.key)||this.brandKey}showView(e){this.view=e}handleSelectContact(e,s){e.preventDefault();this.rolesCompleted={...this.rolesCompleted,[s.id]:{...s,...e.detail}};this.editingRoleId="";this.view="main"}handleClickRole(e,s){e.stopPropagation();this.editingRoleId=s.id;this.view="recipient"}handleSend(e){var s;if(this.sending){console.log("[SEND] Skipping duplicate send",e);return}console.log("[SEND] Sending",e);e.preventDefault();e.stopPropagation();this.sending=true;const i=Intl.DateTimeFormat().resolvedOptions();const t={template_id:this.templateId,name:((s=this.template)===null||s===void 0?void 0:s.name)||"New Envelope",environment:this.environment,initial_reminder:0,followup_reminders:0,recipients:Object.values(this.rolesCompleted),timezone:i.timeZone,locale:i.locale,expires_at:this.expiresAt().toISOString()};t.no_contact=this.noContact;if(this.brandKey){t.brand_key=this.brandKey}const n=this.beforeSend.emit({...t,name:t.name,template:this.template});if(n.defaultPrevented){console.log("[SEND] Send cancelled by parent",t);this.sending=false;return}console.log("[SEND] Creating envelope",t);p(this.endpoint,t).then((e=>{var s;console.log("[SEND] Send envelope",e);this.reset().catch((e=>console.log("Unknown Error",e)));this.sending=false;(s=this.send)===null||s===void 0?void 0:s.emit({...t,name:t.name,envelope_id:e.id,envelope:e})})).catch((e=>{var s,i,t;console.log("[SEND] Send error",e);b(((i=(s=e.response)===null||s===void 0?void 0:s.data)===null||i===void 0?void 0:i.error)||"Error creating envelope, please try again later.");this.sending=false;(t=this.sdkError)===null||t===void 0?void 0:t.emit(e)}))}handleCancel(e){var s;e.stopPropagation();(s=this.exit)===null||s===void 0?void 0:s.emit()}handleSwipeStart(e){var s,i;this.swallowNextClick=false;const t=e.currentTarget;const n=t.getBoundingClientRect();const o=!!((i=(s=e.target)===null||s===void 0?void 0:s.closest)===null||i===void 0?void 0:i.call(s,"input, textarea, select, [contenteditable]"));if(this.view==="main"||o||e.clientX-n.left>n.width*L){this.swipeStart=null;return}this.swipeStart={x:e.clientX,y:e.clientY,time:Date.now()}}handleSwipeEnd(e){const s=this.swipeStart;this.swipeStart=null;if(!s){return}const i=e.clientX-s.x;const t=Math.abs(e.clientY-s.y);if(i>=R&&i>t&&Date.now()-s.time<=V){this.swallowNextClick=true;this.showView("main")}}renderDetailHeader(e){return t("div",{class:"detail-header"},t("button",{type:"button",class:"back",onClick:()=>this.showView("main")},t("span",{class:"icon",innerHTML:M}),"Back"),t("div",{class:"detail-title"},e),t("div",{class:"detail-header-spacer"}))}renderDetailBody(e){return t("div",{class:"detail-body-wrap"},t("div",{class:"detail-body",onScroll:e=>m(e.target)},e),t("div",{class:"scroll-fade"}))}renderDoneButton(){return t("div",{class:"detail-footer"},t("verdocs-button",{label:"Done",size:"small",onClick:()=>this.showView("main")}))}renderRecipientView(){var e;const s=this.getRoleById(this.editingRoleId);if(!s){return t("div",{class:"detail recipient-detail"},this.renderDetailHeader("Recipient"))}const i=N(this.template,s.role_name);return t("div",{class:"detail recipient-detail"},this.renderDetailHeader([t("span",{class:"role-dot",style:{backgroundColor:h(i)}}),s.role_name]),t("verdocs-contact-picker",{key:s.id,showCancel:false,onExit:()=>this.showView("main"),onNext:e=>this.handleSelectContact(e,s),contactSuggestions:this.sessionContacts,templateRole:(e=this.rolesCompleted[s.id])!==null&&e!==void 0?e:s,onSearchContacts:e=>{var s;return(s=this.searchContacts)===null||s===void 0?void 0:s.emit(e.detail)}}))}renderBrandSwatch(e,s){const i=(e===null||e===void 0?void 0:e.favicon_url)||(e===null||e===void 0?void 0:e.thumbnail_url)||(e?null:T);if(i){return t("span",{class:"swatch logo"},t("img",{src:i,alt:""}))}return t("span",{class:"swatch",style:{backgroundColor:(e===null||e===void 0?void 0:e.primary_color)||"#4c56cb"}},s.substring(0,2).toUpperCase())}renderBrandOption(e,s,i,n){return t("button",{type:"button",class:{option:true,selected:this.brandKey===e},onClick:()=>this.brandKey=e},t("span",{class:"radio"}),n,t("span",{class:"option-label"},s,t("small",null,i)))}renderBrandView(){const e=this.getDefaultBrand();const s=this.brands.filter((s=>s.id!==(e===null||e===void 0?void 0:e.id))).sort(((e,s)=>(e.name||e.key).localeCompare(s.name||s.key)));const i=this.brands.length>0;return t("div",{class:"detail"},this.renderDetailHeader("Brand"),this.renderDetailBody([t("div",{class:"option-list"},this.renderBrandOption("",this.getDefaultBrandLabel(),"Organization default",this.renderBrandSwatch(e,(e===null||e===void 0?void 0:e.name)||"V")),s.length>0&&t("div",{class:"option-divider"}),s.map((e=>this.renderBrandOption(e.key,e.name||e.key,e.key,this.renderBrandSwatch(e,e.name||e.key))))),!i&&t("p",{class:"hint"},"Configure the look and feel of the signing experience by"," ",t("a",{href:`${u(this.endpoint)}/settings/branding`,target:"_blank",rel:"noopener"},"Creating a Brand",t("span",{class:"icon",innerHTML:_})),".")]),this.renderDoneButton())}renderExpiresView(){const e=this.expiresAt();const s=`${e.toLocaleDateString(undefined,{month:"short",day:"numeric",year:"numeric"})} at ${e.toLocaleTimeString(undefined,{hour:"numeric",minute:"2-digit"})}`;return t("div",{class:"detail"},this.renderDetailHeader("Expiration"),this.renderDetailBody([t("div",{class:"expires-field"},t("input",{type:"text",inputMode:"numeric","aria-label":"Expires in (days)",placeholder:String(O),value:this.expiresInDays,disabled:this.sending,onInput:e=>this.handleExpiryInput(e)}),t("span",{class:"suffix"},"days")),t("p",{class:"hint"},"This envelope will expire on ",s,". Expirations may be set from ",$,"-",H," days. If left blank, this will default to ",O,".")]),this.renderDoneButton())}renderNotificationsView(){return t("div",{class:"detail"},this.renderDetailHeader("Notifications"),this.renderDetailBody([t("verdocs-checkbox",{size:"small",label:"Disable notifications",checked:this.noContact,onInput:e=>this.noContact=!!e.target.checked}),this.noContact&&t("div",{class:"warning"},t("span",{class:"icon",innerHTML:I}),t("div",null,"Disabling notifications turns off invitations and reminders to recipients as well as status updates to you. You may obtain invite links in the recipient summary or via an API call. We strongly recommend enabling"," ",t("a",{href:`${u(this.endpoint)}/settings/webhooks`,target:"_blank",rel:"noopener"},"Webhooks",t("span",{class:"icon",innerHTML:_}))," ","to help automate this process."))]),this.renderDoneButton())}renderDetail(){switch(this.view){case"recipient":return this.renderRecipientView();case"brand":return this.renderBrandView();case"expires":return this.renderExpiresView();case"notifications":return this.renderNotificationsView();default:return null}}render(){var e;if(this.loading){return t(n,null,t("verdocs-loader",null))}if(!this.endpoint.session){return t(n,{style:{display:"flex"}},t("verdocs-component-error",{message:"You must be authenticated to use this module."}))}const s=this.getSequenceNumbers();const i=Object.values(this.rolesCompleted).filter((e=>c(e.email)&&e.first_name&&e.last_name));const o=i.length>=z(this.template).length;const r=i.map((e=>e.email.toLowerCase()));const a=new Set(r).size<r.length;const d=this.expiresAt();const l=d.toLocaleDateString(undefined,{month:"short",day:"numeric"});return t(n,{class:{sendable:(e=this.template)===null||e===void 0?void 0:e.is_sendable,"detail-open":this.view!=="main"}},t("div",{class:"track"},t("div",{class:"pane main-pane","aria-hidden":this.view!=="main"?"true":"false"},t("div",{class:"section-title"},"Recipients"),t("div",{class:"recipients"},s.map((e=>[s.length>1&&t("div",{class:"step"},"Step ",e),this.getRolesAtLevel(e).map((e=>{const s=N(this.template,e.role_name);const n=this.rolesCompleted[e.id];const o=n&&i.findIndex((s=>s.role_name===e.role_name))>-1;const r=this.getRecipientOptionLabels(n);return t("button",{type:"button",class:"recipient","data-ri":s,"data-rn":e.role_name,onClick:s=>this.handleClickRole(s,e)},t("span",{class:"role-dot",style:{backgroundColor:h(s)}}),t("span",{class:"who"},t("span",{class:"role-name"},e.role_name),o?t("span",{class:"who-detail"},f(n)," · ",n.email):t("span",{class:"who-detail configure"},"Configure recipient"),r.length>0&&t("span",{class:"options"},r.map((e=>t("span",{class:"pill"},e))))),t("span",{class:"chevron",innerHTML:B}))}))]))),t("div",{class:"section-title delivery-title"},"Delivery"),t("div",{class:"delivery"},t("button",{type:"button",class:"kv",onClick:()=>this.showView("brand"),disabled:this.sending},t("span",{class:"key"},"Brand"),t("span",{class:"value"},this.getSelectedBrandLabel()),t("span",{class:"chevron",innerHTML:B})),t("button",{type:"button",class:"kv",onClick:()=>this.showView("expires"),disabled:this.sending},t("span",{class:"key"},"Expires"),t("span",{class:"value"},this.effectiveExpiryDays()," days ",t("small",null,"· ",l)),t("span",{class:"chevron",innerHTML:B})),t("button",{type:"button",class:"kv",onClick:()=>this.showView("notifications"),disabled:this.sending},t("span",{class:"key"},"Notifications"),t("span",{class:{value:true,off:this.noContact}},this.noContact?"Off":"On"),t("span",{class:"chevron",innerHTML:B}))),t("div",{class:"main-spacer"}),t("div",{class:"buttons"},a&&t("div",{class:"error-message"},"Recipients cannot share the same email."),this.sending&&t("verdocs-spinner",null),this.showCancel&&t("verdocs-button",{label:"Cancel",size:"small",variant:"outline",onClick:e=>this.handleCancel(e),disabled:this.sending}),t("verdocs-button",{label:"Send",size:"small",disabled:!o||this.sending||a,onClick:e=>this.handleSend(e)}))),t("div",{class:"pane detail-pane","aria-hidden":this.view==="main"?"true":"false",onPointerDown:e=>this.handleSwipeStart(e),onPointerUp:e=>this.handleSwipeEnd(e),onPointerCancel:()=>this.swipeStart=null},this.renderDetail())))}get el(){return this}static get watchers(){return{templateId:[{onTemplateIdChanged:0}]}}static get style(){return j()}},[0,"verdocs-send",{endpoint:[16],templateId:[513,"template-id"],environment:[1],showCancel:[4,"show-cancel"],brandKey:[1025,"brand-key"],containerId:[32],view:[32],editingRoleId:[32],sessionContacts:[32],sending:[32],brands:[32],organization:[32],expiresInDays:[32],noContact:[32],rolesCompleted:[32],loading:[32],template:[32],reset:[64]},undefined,{templateId:[{onTemplateIdChanged:0}]}]);function P(){if(typeof customElements==="undefined"){return}const e=["verdocs-send","verdocs-button","verdocs-checkbox","verdocs-component-error","verdocs-contact-picker","verdocs-flag","verdocs-loader","verdocs-spinner"];e.forEach((e=>{switch(e){case"verdocs-send":if(!customElements.get(o(e))){customElements.define(o(e),A)}break;case"verdocs-button":if(!customElements.get(o(e))){k()}break;case"verdocs-checkbox":if(!customElements.get(o(e))){y()}break;case"verdocs-component-error":if(!customElements.get(o(e))){D()}break;case"verdocs-contact-picker":if(!customElements.get(o(e))){x()}break;case"verdocs-flag":if(!customElements.get(o(e))){E()}break;case"verdocs-loader":if(!customElements.get(o(e))){S()}break;case"verdocs-spinner":if(!customElements.get(o(e))){C()}break}}))}export{A as V,P as d};
2
- //# sourceMappingURL=p-CnUZ9w2T.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getRoleNames","template","roles","map","role","name","getRoleIndex","role_name","Math","max","findIndex","verdocsSendCss","chevronRightIcon","chevronLeftIcon","warningIcon","externalLinkIcon","VERDOCS_LOGO_URL","SWIPE_START_FRACTION","SWIPE_MIN_DISTANCE","SWIPE_MAX_DURATION","MIN_EXPIRY_DAYS","MAX_EXPIRY_DAYS","DEFAULT_EXPIRY_DAYS","AUTH_METHOD_LABELS","email","passcode","sms","kba","id","VerdocsSend","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","templateListenerId","endpoint","DefaultEndpoint","templateId","environment","showCancel","brandKey","swipeStart","swallowNextClick","loadedOrganizationId","containerId","random","toString","substring","view","editingRoleId","sessionContacts","sending","brands","organization","expiresInDays","noContact","rolesCompleted","loading","disconnectedCallback","unlistenToTemplate","componentDidLoad","el","addEventListener","e","stopPropagation","preventDefault","componentDidRender","updateScrollFade","querySelector","_a","toggleAttribute","_b","listenToTemplate","console","log","Store","subscribe","getTemplate","recomputeRolesCompleted","loadBrands","organizationId","organization_id","changedOrganization","stillCurrent","getBrands","then","catch","getOrganization","handleExpiryInput","digits","target","value","replace","String","min","Number","effectiveExpiryDays","days","expiresAt","Date","now","store","delListener","reset","onTemplateIdChanged","newTemplateId","componentWillLoad","onSessionChanged","_endpoint","_session","profile","me","first_name","last_name","phone","getOrganizationContacts","contacts","loadSession","session","sdkError","emit","SDKError","message","response","status","_c","data","rolesAtLevel","forEach","level","sequence","length","push","isValidEmail","getSequenceNumbers","sequences","Object","keys","s","sort","a","b","getRolesAtLevel","filter","index","getRoleById","match","find","getRecipientOptionLabels","recipient","labels","auth_methods","method","delegator","name_locked","getDefaultBrand","defaultId","default_brand_id","brand","getDefaultBrandLabel","getSelectedBrandLabel","key","showView","handleSelectContact","detail","handleClickRole","handleSend","localeData","Intl","DateTimeFormat","resolvedOptions","details","template_id","initial_reminder","followup_reminders","recipients","values","timezone","timeZone","locale","expires_at","toISOString","no_contact","brand_key","beforeSendResult","beforeSend","defaultPrevented","createEnvelope","r","send","envelope_id","envelope","VerdocsToast","error","handleCancel","exit","handleSwipeStart","pane","currentTarget","rect","getBoundingClientRect","onTextEntry","closest","call","clientX","left","width","x","y","clientY","time","handleSwipeEnd","start","dx","dy","abs","renderDetailHeader","title","h","class","type","onClick","innerHTML","renderDetailBody","content","onScroll","renderDoneButton","label","size","renderRecipientView","roleIndex","style","backgroundColor","getRGBA","onExit","onNext","contactSuggestions","templateRole","onSearchContacts","searchContacts","renderBrandSwatch","fallbackInitial","image","favicon_url","thumbnail_url","src","alt","primary_color","toUpperCase","renderBrandOption","sub","swatch","option","selected","renderBrandView","defaultBrand","others","localeCompare","hasBrands","href","getWebAppUrl","rel","renderExpiresView","when","toLocaleDateString","undefined","month","day","year","toLocaleTimeString","hour","minute","inputMode","placeholder","disabled","onInput","renderNotificationsView","checked","renderDetail","render","Host","display","levels","rolesAssigned","allRolesAssigned","assignedEmails","toLowerCase","hasDuplicateEmails","Set","expiresShort","sendable","is_sendable","completed","assigned","optionLabels","formatFullName","off","variant","onPointerDown","onPointerUp","onPointerCancel"],"sources":["src/utils/Templates.ts","src/components/embeds/verdocs-send/verdocs-send.scss?tag=verdocs-send","src/components/embeds/verdocs-send/verdocs-send.tsx"],"sourcesContent":["import {ITemplate} from '@verdocs/js-sdk';\n\nexport const getRoleNames = (template: ITemplate | null) => (template?.roles || []).map(role => role.name);\n\nexport const getRoleIndex = (template: ITemplate | null, role_name: string) =>\n Math.max(\n getRoleNames(template).findIndex(name => name === role_name),\n 0,\n );\n","@import '../../../theme.scss';\n\nverdocs-send {\n --send-ink: var(--verdocs-body-color, #111827);\n --send-ink-2: #374151;\n --send-muted: #6b7280;\n --send-faint: #9ca3af;\n --send-rule: #e5e7eb;\n --send-control-border: #d1d5db;\n --send-accent: var(--verdocs-link-color, #{$secondary-color});\n --send-accent-tint: #f4f5fc;\n --send-accent-tint-2: #e6e7f8;\n --send-warning-bg: #fffbeb;\n --send-warning-border: #fde68a;\n --send-warning-icon: #d97706;\n --send-warning-text: #78350f;\n --send-radius: var(--verdocs-dialog-radius, 8px);\n --send-min-height: 480px;\n --send-max-width: 480px;\n\n display: none;\n position: relative;\n overflow: hidden;\n width: 100%;\n max-width: var(--verdocs-send-max-width, var(--send-max-width));\n box-sizing: border-box;\n background: #ffffff;\n color: var(--send-ink);\n font-size: 14px;\n border-radius: var(--send-radius);\n border: 1px solid var(--send-rule);\n font-family: $verdocs-primary-font;\n\n * {\n box-sizing: border-box;\n }\n\n &.sendable {\n display: block;\n }\n\n // The main pane sets the card's height. The detail pane sits beside it, off-canvas to the\n // right, and the track slides one pane-width left when a detail view is open. Detail views\n // taller than the card scroll inside it.\n .track {\n position: relative;\n display: flex;\n flex-direction: column;\n min-height: var(--send-min-height);\n transition: transform 220ms ease-out;\n }\n\n &.detail-open .track {\n transform: translateX(-100%);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .track {\n transition: none;\n }\n }\n\n .pane {\n padding: 16px;\n display: flex;\n flex-direction: column;\n }\n\n .main-pane {\n flex: 1;\n }\n\n .detail-pane {\n position: absolute;\n top: 0;\n left: 100%;\n bottom: 0;\n width: 100%;\n overflow: hidden;\n }\n\n .detail {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n }\n\n // The body scrolls between a fixed header and a pinned Done button. The fade sits over the\n // body's bottom edge and shows only while there is more below (classes set by updateScrollFade).\n .detail-body-wrap {\n position: relative;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n }\n\n .detail-body {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n }\n\n .scroll-fade {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: 36px;\n opacity: 0;\n pointer-events: none;\n transition: opacity 150ms ease-out;\n background: linear-gradient(rgba(255, 255, 255, 0), #ffffff);\n }\n\n .scrollable:not(.at-end) > .scroll-fade {\n opacity: 1;\n }\n\n .recipient-detail verdocs-contact-picker {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n }\n\n .section-title {\n font-size: 12px;\n font-weight: 600;\n color: var(--send-ink-2);\n margin: 0 0 6px 0;\n }\n\n .delivery-title {\n margin-top: 16px;\n }\n\n .step {\n font-size: 11px;\n color: var(--send-muted);\n padding: 10px 0 4px 0;\n }\n\n .recipient,\n .kv {\n all: unset;\n display: flex;\n width: 100%;\n cursor: pointer;\n align-items: center;\n column-gap: 10px;\n border-top: 1px solid var(--send-rule);\n color: var(--send-ink);\n font-family: inherit;\n\n &:focus-visible {\n outline: 2px solid var(--send-accent);\n outline-offset: -2px;\n border-radius: 4px;\n }\n\n .chevron {\n flex: 0 0 16px;\n width: 16px;\n height: 16px;\n color: var(--send-faint);\n\n svg {\n width: 16px;\n height: 16px;\n display: block;\n }\n }\n }\n\n .recipient {\n padding: 8px 6px 8px 0;\n\n &:last-child {\n border-bottom: 1px solid var(--send-rule);\n }\n\n .who {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n }\n\n .role-name {\n font-size: 13px;\n font-weight: 600;\n }\n\n .who-detail {\n font-size: 12px;\n color: var(--send-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.configure {\n color: var(--send-accent);\n font-weight: 500;\n }\n }\n\n .options {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 3px;\n }\n\n .pill {\n height: 18px;\n padding: 0 6px;\n border-radius: 999px;\n font-size: 10px;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n background: var(--send-accent-tint);\n color: var(--send-ink-2);\n }\n }\n\n .role-dot {\n flex: 0 0 10px;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n border: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n .kv {\n height: 40px;\n padding: 0 6px 0 0;\n font-size: 13px;\n\n &:last-child {\n border-bottom: 1px solid var(--send-rule);\n }\n\n &:disabled {\n cursor: default;\n color: var(--send-muted);\n }\n\n .key {\n flex: 0 0 84px;\n color: var(--send-muted);\n }\n\n .value {\n flex: 1;\n min-width: 0;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n small {\n font-size: inherit;\n font-weight: 400;\n color: var(--send-muted);\n }\n\n &.off {\n color: var(--send-warning-icon);\n }\n }\n }\n\n .main-spacer,\n .detail-spacer {\n flex: 1;\n }\n\n .buttons {\n display: flex;\n margin-top: 14px;\n column-gap: 10px;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n .error-message {\n width: 100%;\n color: $verdocs-red-1;\n font-size: 13px;\n margin-bottom: 10px;\n }\n }\n\n // Detail views\n .detail-header {\n display: flex;\n align-items: center;\n column-gap: 8px;\n margin: -2px 0 14px 0;\n\n .back {\n all: unset;\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n color: var(--send-accent);\n font-family: inherit;\n flex: 0 0 52px;\n\n .icon,\n .icon svg {\n width: 16px;\n height: 16px;\n display: block;\n }\n\n &:focus-visible {\n outline: 2px solid var(--send-accent);\n outline-offset: 2px;\n border-radius: 4px;\n }\n }\n\n .detail-title {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n column-gap: 8px;\n font-size: 14px;\n font-weight: 600;\n text-align: center;\n }\n\n .detail-header-spacer {\n flex: 0 0 52px;\n }\n }\n\n .detail-footer {\n margin-top: 10px;\n padding-top: 12px;\n border-top: 1px solid var(--send-rule);\n\n verdocs-button,\n verdocs-button button {\n width: 100%;\n }\n }\n\n .hint {\n font-size: 12px;\n line-height: 1.5;\n color: var(--send-muted);\n margin: 10px 0 0 0;\n }\n\n .option-list {\n display: flex;\n flex-direction: column;\n }\n\n .option {\n all: unset;\n display: flex;\n width: 100%;\n cursor: pointer;\n align-items: center;\n column-gap: 10px;\n padding: 10px 0;\n font-size: 13px;\n font-family: inherit;\n color: var(--send-ink);\n border-top: 1px solid var(--send-rule);\n\n &:first-child {\n border-top: 0;\n }\n\n &:focus-visible {\n outline: 2px solid var(--send-accent);\n outline-offset: -2px;\n border-radius: 4px;\n }\n\n .radio {\n flex: 0 0 16px;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n border: 1px solid var(--send-control-border);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &.selected .radio {\n border-color: var(--send-accent);\n\n &::after {\n content: '';\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(--send-accent);\n }\n }\n\n .swatch {\n flex: 0 0 22px;\n width: 22px;\n height: 22px;\n border-radius: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 9px;\n font-weight: 700;\n color: #ffffff;\n overflow: hidden;\n\n &.logo {\n background: #ffffff;\n border: 1px solid var(--send-rule);\n }\n\n img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n }\n }\n\n .option-label {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n\n small {\n font-size: 11px;\n color: var(--send-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n }\n\n .option-divider {\n height: 0;\n margin: 2px 0;\n border-top: 1px solid var(--send-control-border);\n\n + .option {\n border-top: 0;\n }\n }\n\n .hint a {\n color: var(--send-accent);\n font-weight: 500;\n text-decoration: none;\n border-bottom: 1px solid var(--send-accent-tint-2);\n\n .icon,\n .icon svg {\n width: 11px;\n height: 11px;\n display: inline-block;\n vertical-align: -1px;\n margin-left: 2px;\n }\n }\n\n .expires-field {\n position: relative;\n\n input {\n width: 100%;\n height: 36px;\n padding: 0 52px 0 10px;\n font-size: 14px;\n font-family: inherit;\n color: var(--send-ink);\n background: #ffffff;\n border: 1px solid var(--send-control-border);\n border-radius: 6px;\n outline: none;\n\n &:focus {\n border-color: var(--send-accent);\n box-shadow: 0 0 0 2px var(--send-accent-tint-2);\n }\n\n &::placeholder {\n color: var(--send-faint);\n }\n }\n\n .suffix {\n position: absolute;\n right: 10px;\n top: 0;\n height: 36px;\n display: flex;\n align-items: center;\n font-size: 13px;\n color: var(--send-muted);\n pointer-events: none;\n }\n }\n\n .warning {\n display: flex;\n column-gap: 10px;\n margin-top: 12px;\n padding: 10px 12px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 6px;\n color: var(--send-warning-text);\n background: var(--send-warning-bg);\n border: 1px solid var(--send-warning-border);\n\n > .icon {\n flex: 0 0 18px;\n width: 18px;\n height: 18px;\n margin-top: 1px;\n color: var(--send-warning-icon);\n\n svg {\n width: 18px;\n height: 18px;\n display: block;\n }\n }\n\n a {\n color: var(--send-accent);\n font-weight: 500;\n text-decoration: none;\n border-bottom: 1px solid var(--send-accent-tint-2);\n\n .icon,\n .icon svg {\n width: 11px;\n height: 11px;\n display: inline-block;\n vertical-align: -1px;\n margin-left: 2px;\n }\n }\n }\n\n verdocs-checkbox {\n display: block;\n padding: 4px 0;\n font-size: 13px;\n }\n}\n","import type {IBrand, IOrganization, TRecipientAuthMethod} from '@verdocs/js-sdk';\nimport {Component, Element, Prop, State, h, Event, EventEmitter, Host, Method, Watch} from '@stencil/core';\nimport type {ICreateEnvelopeFromTemplateRequest, ICreateEnvelopeRecipientFromTemplate, IEnvelope, IRecipient, ITemplate} from '@verdocs/js-sdk';\nimport {createEnvelope, formatFullName, getBrands, getOrganization, getTemplate, getOrganizationContacts, getRGBA, isValidEmail, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IContactSearchEvent} from '../../envelopes/verdocs-contact-picker/verdocs-contact-picker';\nimport {DefaultEndpoint, getWebAppUrl} from '../../../utils/Environment';\nimport {getRoleIndex, getRoleNames} from '../../../utils/Templates';\nimport {updateScrollFade} from '../../../utils/ScrollFade';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst chevronRightIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 6 6 6-6 6\"/></svg>';\n\nconst chevronLeftIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m15 18-6-6 6-6\"/></svg>';\n\nconst warningIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"/><path d=\"M12 9v4M12 17h.01\"/></svg>';\n\nconst externalLinkIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 3h6v6M10 14 21 3M21 14v7H3V3h7\"/></svg>';\n\nconst VERDOCS_LOGO_URL = 'https://app.verdocs.com/assets/blue-logo.svg';\n\n// Swipe mechanics for mobile users in detail views\nconst SWIPE_START_FRACTION = 0.25;\nconst SWIPE_MIN_DISTANCE = 60;\nconst SWIPE_MAX_DURATION = 500;\n\n// Expiration controls. The API is less strict, but Web users prefer a simpler setup so we just range-limit it 1..120 here.\nconst MIN_EXPIRY_DAYS = 1;\nconst MAX_EXPIRY_DAYS = 120;\nconst DEFAULT_EXPIRY_DAYS = 120;\n\nconst AUTH_METHOD_LABELS: Record<TRecipientAuthMethod, string> = {\n email: 'Email',\n passcode: 'Passcode',\n sms: 'SMS',\n kba: 'KBA',\n id: 'ID check',\n};\n\ntype TSendView = 'main' | 'recipient' | 'brand' | 'expires' | 'notifications';\n\nexport interface ISendEventDetail extends ICreateEnvelopeFromTemplateRequest {\n name: string;\n template_id: string;\n recipients: ICreateEnvelopeRecipientFromTemplate[];\n template: ITemplate;\n}\n\nexport interface ISentEventDetail extends ICreateEnvelopeFromTemplateRequest {\n name: string;\n template_id: string;\n recipients: ICreateEnvelopeRecipientFromTemplate[];\n envelope_id: string;\n envelope: IEnvelope;\n}\n\n/**\n * Display a form to send a template to one or more recipients in an envelope for signing.\n * Host applications should ensure the template is \"sendable\" before displaying this component.\n * To be sendable, a template must have at least one document attached, at least one participant\n * defined, and at least one field assigned to every \"signer\" participant. This component will\n * hide itself if the template is not sendable.\n *\n * ```ts\n * <verdocs-send\n * templateId={TEMPLATE_ID}\n * onBeforeSend={({ detail })) => { console.log('Sending... Show a spinner...', detail) }\n * onSend={({ detail }) => { console.log('Sent! Hide the spinner...', detail) }\n * onExit={({ detail }) => { console.log('Send cancelled.', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n private templateListenerId = null;\n\n @Element() el: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = DefaultEndpoint;\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop({reflect: true}) templateId: string | null = null;\n\n /**\n * The environment the control is being called from, e.g. 'web'. This has an impact on how certain\n * operations such as email communications are handled to ensure users receive the correct URLs for\n * their invitations. Setting this to unknown values may produce unexpected/incorrect behaviors.\n * If environment is not known, do this set this property.\n */\n @Prop() environment: string = '';\n\n /**\n * Whether to show the cancel button. It may be useful to disable this in environments where\n * the embed is shown in a non-wizard flow with its own navigation for the user to exit.\n */\n @Prop() showCancel = true;\n\n /**\n * Preselect a brand by key, overriding the organization default.\n */\n @Prop({mutable: true}) brandKey = '';\n\n /**\n * The user is sending an envelope the form and clicked send.\n */\n @Event({composed: true}) beforeSend: EventEmitter<ISendEventDetail>;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<ISentEventDetail>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the user enters text in a search field. The parent application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\n\n private swipeStart: {x: number; y: number; time: number} | null = null;\n private swallowNextClick = false;\n private loadedOrganizationId = '';\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n @State() view: TSendView = 'main';\n @State() editingRoleId = '';\n @State() sessionContacts: {id: string; first_name: string; last_name: string; email: string; phone: string}[] = [];\n @State() sending = false;\n @State() brands: IBrand[] = [];\n @State() organization: IOrganization | null = null;\n @State() expiresInDays = '';\n @State() noContact = false;\n @State() rolesCompleted: Record<string, Partial<IRecipient>> = {};\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n componentDidLoad() {\n this.el.addEventListener(\n 'click',\n e => {\n if (this.swallowNextClick) {\n this.swallowNextClick = false;\n e.stopPropagation();\n e.preventDefault();\n }\n },\n true,\n );\n }\n\n // Make off-canvas controls leave the tab order\n componentDidRender() {\n updateScrollFade(this.el.querySelector('.detail-body'));\n this.el.querySelector('.main-pane')?.toggleAttribute('inert', this.view !== 'main');\n this.el.querySelector('.detail-pane')?.toggleAttribute('inert', this.view === 'main');\n }\n\n async listenToTemplate() {\n console.log('[SEND] Loading template', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n true,\n (template: ITemplate) => {\n console.log('[SEND] Got new template', template);\n this.template = template;\n this.loading = false;\n this.rolesCompleted = {};\n this.view = 'main';\n this.editingRoleId = '';\n this.recomputeRolesCompleted();\n this.loadBrands();\n },\n );\n }\n\n loadBrands() {\n const organizationId = this.template?.organization_id;\n if (!organizationId || organizationId === this.loadedOrganizationId) {\n return;\n }\n\n const changedOrganization = !!this.loadedOrganizationId;\n this.loadedOrganizationId = organizationId;\n this.brands = [];\n this.organization = null;\n if (changedOrganization) {\n this.brandKey = '';\n }\n\n const stillCurrent = () => this.template?.organization_id === organizationId;\n\n getBrands(this.endpoint, organizationId)\n .then(brands => {\n if (stillCurrent()) {\n this.brands = brands || [];\n }\n })\n .catch(e => console.log('[SEND] Unable to load brands', e));\n\n getOrganization(this.endpoint, organizationId)\n .then(organization => {\n if (stillCurrent()) {\n this.organization = organization;\n }\n })\n .catch(e => console.log('[SEND] Unable to load organization', e));\n }\n\n handleExpiryInput(e: any) {\n const digits = (e.target.value || '').replace(/[^0-9]/g, '');\n this.expiresInDays = digits ? String(Math.min(Math.max(Number(digits), MIN_EXPIRY_DAYS), MAX_EXPIRY_DAYS)) : '';\n e.target.value = this.expiresInDays;\n }\n\n effectiveExpiryDays(): number {\n const days = Number(this.expiresInDays);\n return days >= MIN_EXPIRY_DAYS ? days : DEFAULT_EXPIRY_DAYS;\n }\n\n expiresAt(): Date {\n return new Date(Date.now() + this.effectiveExpiryDays() * 24 * 60 * 60 * 1000);\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Method()\n async reset() {\n this.rolesCompleted = {};\n this.view = 'main';\n this.editingRoleId = '';\n this.brandKey = '';\n this.expiresInDays = '';\n this.noContact = false;\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[SEND] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.onSessionChanged((_endpoint, _session, profile) => {\n if (!profile) {\n return;\n }\n\n const me = {\n id: profile.id,\n first_name: profile.first_name,\n last_name: profile.last_name,\n email: profile.email,\n phone: profile.phone,\n };\n\n if (profile) {\n this.sessionContacts = [me];\n\n getOrganizationContacts(this.endpoint)\n .then(contacts => {\n console.log('[SEND] Got contacts', contacts);\n this.sessionContacts = [...contacts, me];\n })\n .catch(e => {\n console.log('[SEND] Error getting contacts', e);\n });\n }\n });\n\n this.endpoint.loadSession();\n\n if (!this.endpoint.session) {\n console.log('[SEND] Unable to start Send operation, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[SEND] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[SEND] Error with send session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n recomputeRolesCompleted() {\n this.rolesCompleted = {};\n\n const rolesAtLevel: Record<number, Partial<IRecipient>[]> = {};\n (this.template?.roles || []).forEach(role => {\n const level = role.sequence;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name});\n\n // if (role.first_name && (isValidEmail(role.email) || isValidPhone(role.phone))) {\n if (role.first_name && isValidEmail(role.email)) {\n this.rolesCompleted[id] = {...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name};\n }\n });\n }\n\n getSequenceNumbers() {\n // This is cleaner with a Set but we found a regression in some target environments where\n // this breaks down. Reverting to an older technique while we diagnose it.\n const sequences: Record<number, boolean> = {};\n (this.template?.roles || []).forEach(role => {\n sequences[role.sequence] = true;\n });\n return Object.keys(sequences)\n .map(s => +s)\n .sort((a, b) => a - b);\n }\n\n getRolesAtLevel(level: number) {\n const rolesAtLevel = (this.template?.roles || [])\n .filter(role => role.sequence === level)\n .map((role, index) => ({\n ...role,\n id: `r-${level}-${index}`,\n role_name: role.name,\n first_name: role.first_name,\n last_name: role.last_name,\n }));\n return rolesAtLevel as Partial<IRecipient>[];\n }\n\n getRoleById(id: string): Partial<IRecipient> | null {\n for (const level of this.getSequenceNumbers()) {\n const match = this.getRolesAtLevel(level).find(role => role.id === id);\n if (match) {\n return match;\n }\n }\n\n return null;\n }\n\n // We only show options the sender switched on.\n getRecipientOptionLabels(recipient: Partial<IRecipient> | undefined): string[] {\n if (!recipient) {\n return [];\n }\n\n const labels = (recipient.auth_methods || []).filter(method => method !== 'email').map(method => AUTH_METHOD_LABELS[method] || method);\n if (recipient.delegator) {\n labels.push('May delegate');\n }\n\n if (recipient.name_locked) {\n labels.push('Name locked');\n }\n\n return labels;\n }\n\n getDefaultBrand(): IBrand | null {\n const defaultId = this.organization?.default_brand_id;\n return (defaultId && this.brands.find(brand => brand.id === defaultId)) || null;\n }\n\n getDefaultBrandLabel() {\n const name = this.getDefaultBrand()?.name;\n return `Default (${name || 'Verdocs'})`;\n }\n\n getSelectedBrandLabel() {\n if (!this.brandKey) {\n return this.getDefaultBrandLabel();\n }\n\n const brand = this.brands.find(b => b.key === this.brandKey);\n return brand?.name || brand?.key || this.brandKey;\n }\n\n showView(view: TSendView) {\n this.view = view;\n }\n\n handleSelectContact(e: any, role: Partial<IRecipient>) {\n e.preventDefault();\n this.rolesCompleted = {...this.rolesCompleted, [role.id]: {...role, ...e.detail}};\n this.editingRoleId = '';\n this.view = 'main';\n }\n\n handleClickRole(e: any, role: Partial<IRecipient>) {\n e.stopPropagation();\n this.editingRoleId = role.id;\n this.view = 'recipient';\n }\n\n handleSend(e: any) {\n if (this.sending) {\n console.log('[SEND] Skipping duplicate send', e);\n return;\n }\n\n console.log('[SEND] Sending', e);\n e.preventDefault();\n e.stopPropagation();\n\n this.sending = true;\n const localeData = Intl.DateTimeFormat().resolvedOptions();\n\n const details: ICreateEnvelopeFromTemplateRequest = {\n template_id: this.templateId,\n name: this.template?.name || 'New Envelope',\n environment: this.environment,\n initial_reminder: 0,\n followup_reminders: 0,\n recipients: Object.values(this.rolesCompleted) as ICreateEnvelopeRecipientFromTemplate[],\n timezone: localeData.timeZone,\n locale: localeData.locale,\n expires_at: this.expiresAt().toISOString(),\n };\n\n details.no_contact = this.noContact;\n if (this.brandKey) {\n details.brand_key = this.brandKey;\n }\n\n const beforeSendResult = this.beforeSend.emit({...details, name: details.name!, template: this.template});\n if (beforeSendResult.defaultPrevented) {\n console.log('[SEND] Send cancelled by parent', details);\n this.sending = false;\n return;\n }\n\n console.log('[SEND] Creating envelope', details);\n createEnvelope(this.endpoint, details)\n .then(r => {\n console.log('[SEND] Send envelope', r);\n this.reset().catch((e: any) => console.log('Unknown Error', e));\n this.sending = false;\n this.send?.emit({...details, name: details.name!, envelope_id: r.id, envelope: r});\n })\n .catch(e => {\n console.log('[SEND] Send error', e);\n VerdocsToast(e.response?.data?.error || 'Error creating envelope, please try again later.');\n this.sending = false;\n this.sdkError?.emit(e);\n });\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.exit?.emit();\n }\n\n handleSwipeStart(e: PointerEvent) {\n this.swallowNextClick = false;\n const pane = e.currentTarget as HTMLElement;\n const rect = pane.getBoundingClientRect();\n const onTextEntry = !!(e.target as HTMLElement)?.closest?.('input, textarea, select, [contenteditable]');\n if (this.view === 'main' || onTextEntry || e.clientX - rect.left > rect.width * SWIPE_START_FRACTION) {\n this.swipeStart = null;\n return;\n }\n\n this.swipeStart = {x: e.clientX, y: e.clientY, time: Date.now()};\n }\n\n handleSwipeEnd(e: PointerEvent) {\n const start = this.swipeStart;\n this.swipeStart = null;\n if (!start) {\n return;\n }\n\n const dx = e.clientX - start.x;\n const dy = Math.abs(e.clientY - start.y);\n if (dx >= SWIPE_MIN_DISTANCE && dx > dy && Date.now() - start.time <= SWIPE_MAX_DURATION) {\n this.swallowNextClick = true;\n this.showView('main');\n }\n }\n\n renderDetailHeader(title: any) {\n return (\n <div class=\"detail-header\">\n <button type=\"button\" class=\"back\" onClick={() => this.showView('main')}>\n <span class=\"icon\" innerHTML={chevronLeftIcon} />\n Back\n </button>\n <div class=\"detail-title\">{title}</div>\n <div class=\"detail-header-spacer\" />\n </div>\n );\n }\n\n renderDetailBody(content: any) {\n return (\n <div class=\"detail-body-wrap\">\n <div class=\"detail-body\" onScroll={(e: any) => updateScrollFade(e.target)}>\n {content}\n </div>\n <div class=\"scroll-fade\" />\n </div>\n );\n }\n\n renderDoneButton() {\n return (\n <div class=\"detail-footer\">\n <verdocs-button label=\"Done\" size=\"small\" onClick={() => this.showView('main')} />\n </div>\n );\n }\n\n renderRecipientView() {\n const role = this.getRoleById(this.editingRoleId);\n if (!role) {\n return <div class=\"detail recipient-detail\">{this.renderDetailHeader('Recipient')}</div>;\n }\n\n const roleIndex = getRoleIndex(this.template, role.role_name);\n return (\n <div class=\"detail recipient-detail\">\n {this.renderDetailHeader([<span class=\"role-dot\" style={{backgroundColor: getRGBA(roleIndex)}} />, role.role_name])}\n <verdocs-contact-picker\n key={role.id}\n showCancel={false}\n onExit={() => this.showView('main')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={(this.rolesCompleted[role.id] ?? role) as IRecipient}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </div>\n );\n }\n\n renderBrandSwatch(brand: IBrand | null, fallbackInitial: string) {\n const image = brand?.favicon_url || brand?.thumbnail_url || (brand ? null : VERDOCS_LOGO_URL);\n if (image) {\n return (\n <span class=\"swatch logo\">\n <img src={image} alt=\"\" />\n </span>\n );\n }\n\n return (\n <span class=\"swatch\" style={{backgroundColor: brand?.primary_color || '#4c56cb'}}>\n {fallbackInitial.substring(0, 2).toUpperCase()}\n </span>\n );\n }\n\n renderBrandOption(key: string, label: string, sub: string, swatch: any) {\n return (\n <button type=\"button\" class={{option: true, selected: this.brandKey === key}} onClick={() => (this.brandKey = key)}>\n <span class=\"radio\" />\n {swatch}\n <span class=\"option-label\">\n {label}\n <small>{sub}</small>\n </span>\n </button>\n );\n }\n\n renderBrandView() {\n const defaultBrand = this.getDefaultBrand();\n const others = this.brands.filter(brand => brand.id !== defaultBrand?.id).sort((a, b) => (a.name || a.key).localeCompare(b.name || b.key));\n const hasBrands = this.brands.length > 0;\n\n return (\n <div class=\"detail\">\n {this.renderDetailHeader('Brand')}\n {this.renderDetailBody([\n <div class=\"option-list\">\n {this.renderBrandOption('', this.getDefaultBrandLabel(), 'Organization default', this.renderBrandSwatch(defaultBrand, defaultBrand?.name || 'V'))}\n {others.length > 0 && <div class=\"option-divider\" />}\n {others.map(brand => this.renderBrandOption(brand.key, brand.name || brand.key, brand.key, this.renderBrandSwatch(brand, brand.name || brand.key)))}\n </div>,\n !hasBrands && (\n <p class=\"hint\">\n Configure the look and feel of the signing experience by{' '}\n <a href={`${getWebAppUrl(this.endpoint)}/settings/branding`} target=\"_blank\" rel=\"noopener\">\n Creating a Brand\n <span class=\"icon\" innerHTML={externalLinkIcon} />\n </a>\n .\n </p>\n ),\n ])}\n {this.renderDoneButton()}\n </div>\n );\n }\n\n renderExpiresView() {\n const expiresAt = this.expiresAt();\n const when = `${expiresAt.toLocaleDateString(undefined, {month: 'short', day: 'numeric', year: 'numeric'})} at ${expiresAt.toLocaleTimeString(undefined, {hour: 'numeric', minute: '2-digit'})}`;\n\n return (\n <div class=\"detail\">\n {this.renderDetailHeader('Expiration')}\n {this.renderDetailBody([\n <div class=\"expires-field\">\n <input\n type=\"text\"\n inputMode=\"numeric\"\n aria-label=\"Expires in (days)\"\n placeholder={String(DEFAULT_EXPIRY_DAYS)}\n value={this.expiresInDays}\n disabled={this.sending}\n onInput={(e: any) => this.handleExpiryInput(e)}\n />\n <span class=\"suffix\">days</span>\n </div>,\n <p class=\"hint\">\n This envelope will expire on {when}. Expirations may be set from {MIN_EXPIRY_DAYS}-{MAX_EXPIRY_DAYS} days. If left blank, this will default to {DEFAULT_EXPIRY_DAYS}.\n </p>,\n ])}\n {this.renderDoneButton()}\n </div>\n );\n }\n\n renderNotificationsView() {\n return (\n <div class=\"detail\">\n {this.renderDetailHeader('Notifications')}\n {this.renderDetailBody([\n <verdocs-checkbox size=\"small\" label=\"Disable notifications\" checked={this.noContact} onInput={(e: any) => (this.noContact = !!e.target.checked)} />,\n this.noContact && (\n <div class=\"warning\">\n <span class=\"icon\" innerHTML={warningIcon} />\n <div>\n Disabling notifications turns off invitations and reminders to recipients as well as status updates to you. You may obtain invite links in the recipient summary or\n via an API call. We strongly recommend enabling{' '}\n <a href={`${getWebAppUrl(this.endpoint)}/settings/webhooks`} target=\"_blank\" rel=\"noopener\">\n Webhooks\n <span class=\"icon\" innerHTML={externalLinkIcon} />\n </a>{' '}\n to help automate this process.\n </div>\n </div>\n ),\n ])}\n {this.renderDoneButton()}\n </div>\n );\n }\n\n renderDetail() {\n switch (this.view) {\n case 'recipient':\n return this.renderRecipientView();\n case 'brand':\n return this.renderBrandView();\n case 'expires':\n return this.renderExpiresView();\n case 'notifications':\n return this.renderNotificationsView();\n default:\n return null;\n }\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host style={{display: 'flex'}}>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const levels = this.getSequenceNumbers();\n const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) && recipient.first_name && recipient.last_name);\n const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;\n const assignedEmails = rolesAssigned.map(r => r.email.toLowerCase());\n const hasDuplicateEmails = new Set(assignedEmails).size < assignedEmails.length;\n const expiresAt = this.expiresAt();\n const expiresShort = expiresAt.toLocaleDateString(undefined, {month: 'short', day: 'numeric'});\n\n return (\n <Host class={{'sendable': this.template?.is_sendable, 'detail-open': this.view !== 'main'}}>\n <div class=\"track\">\n <div class=\"pane main-pane\" aria-hidden={this.view !== 'main' ? 'true' : 'false'}>\n <div class=\"section-title\">Recipients</div>\n <div class=\"recipients\">\n {levels.map(level => [\n levels.length > 1 && <div class=\"step\">Step {level}</div>,\n this.getRolesAtLevel(level).map(role => {\n const roleIndex = getRoleIndex(this.template, role.role_name);\n const completed = this.rolesCompleted[role.id];\n const assigned = completed && rolesAssigned.findIndex(r => r.role_name === role.role_name) > -1;\n const optionLabels = this.getRecipientOptionLabels(completed);\n\n return (\n <button type=\"button\" class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} onClick={e => this.handleClickRole(e, role)}>\n <span class=\"role-dot\" style={{backgroundColor: getRGBA(roleIndex)}} />\n <span class=\"who\">\n <span class=\"role-name\">{role.role_name}</span>\n {assigned ? (\n <span class=\"who-detail\">\n {formatFullName(completed)} · {completed.email}\n </span>\n ) : (\n <span class=\"who-detail configure\">Configure recipient</span>\n )}\n {optionLabels.length > 0 && (\n <span class=\"options\">\n {optionLabels.map(label => (\n <span class=\"pill\">{label}</span>\n ))}\n </span>\n )}\n </span>\n <span class=\"chevron\" innerHTML={chevronRightIcon} />\n </button>\n );\n }),\n ])}\n </div>\n\n <div class=\"section-title delivery-title\">Delivery</div>\n <div class=\"delivery\">\n <button type=\"button\" class=\"kv\" onClick={() => this.showView('brand')} disabled={this.sending}>\n <span class=\"key\">Brand</span>\n <span class=\"value\">{this.getSelectedBrandLabel()}</span>\n <span class=\"chevron\" innerHTML={chevronRightIcon} />\n </button>\n <button type=\"button\" class=\"kv\" onClick={() => this.showView('expires')} disabled={this.sending}>\n <span class=\"key\">Expires</span>\n <span class=\"value\">\n {this.effectiveExpiryDays()} days <small>· {expiresShort}</small>\n </span>\n <span class=\"chevron\" innerHTML={chevronRightIcon} />\n </button>\n <button type=\"button\" class=\"kv\" onClick={() => this.showView('notifications')} disabled={this.sending}>\n <span class=\"key\">Notifications</span>\n <span class={{value: true, off: this.noContact}}>{this.noContact ? 'Off' : 'On'}</span>\n <span class=\"chevron\" innerHTML={chevronRightIcon} />\n </button>\n </div>\n\n <div class=\"main-spacer\" />\n\n <div class=\"buttons\">\n {hasDuplicateEmails && <div class=\"error-message\">Recipients cannot share the same email.</div>}\n {this.sending && <verdocs-spinner />}\n {this.showCancel && <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} disabled={this.sending} />}\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRolesAssigned || this.sending || hasDuplicateEmails} onClick={e => this.handleSend(e)} />\n </div>\n </div>\n\n <div\n class=\"pane detail-pane\"\n aria-hidden={this.view === 'main' ? 'true' : 'false'}\n onPointerDown={e => this.handleSwipeStart(e)}\n onPointerUp={e => this.handleSwipeEnd(e)}\n onPointerCancel={() => (this.swipeStart = null)}\n >\n {this.renderDetail()}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{p as e,H as o,c as i,h as s,d as n,t}from"./p-yZBlG3YQ.js";import{VerdocsEndpoint as d,getEnvelope as l}from"@verdocs/js-sdk";import{S as r}from"./p-C1sRVZWv.js";import{S as a}from"./p-C7hFgM52.js";import{d as c}from"./p-C90lxyUX.js";import{d as f}from"./p-8J_y0V9M.js";const v=()=>`verdocs-sign-footer{left:0;right:0;bottom:0;height:48px;display:-ms-flexbox;display:flex;color:#616161;position:fixed;font-size:12px;padding:0 24px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;background:#ffffff;container-type:inline-size;border-top:1px solid #e0e0e0;-ms-flex-pack:justify;justify-content:space-between;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);-webkit-transition:0.5s cubic-bezier(0.35, 0, 0.25, 1);transition:0.5s cubic-bezier(0.35, 0, 0.25, 1)}verdocs-sign-footer a{color:#616161;cursor:pointer;text-decoration:none;border-bottom:1px dotted #616161}verdocs-sign-footer.loading{display:none}verdocs-sign-footer .powered-by{white-space:nowrap}verdocs-sign-footer .buttons{-ms-flex:0;flex:0;gap:16px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;white-space:nowrap;-ms-flex-align:center;align-items:center}verdocs-sign-footer .buttons button{gap:4px;border:none;display:-ms-flexbox;display:flex;outline:none;cursor:pointer;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;background:transparent}verdocs-sign-footer .buttons div{gap:4px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}verdocs-sign-footer .links{-ms-flex:0;flex:0;gap:8px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;white-space:nowrap}verdocs-sign-footer.just-buttons .buttons{-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center}@container (max-width: 720px){verdocs-sign-footer.has-buttons .powered-by{display:none}}@container (max-width: 540px){verdocs-sign-footer.no-buttons .powered-by{display:none}verdocs-sign-footer.has-buttons .links{display:none}verdocs-sign-footer .buttons{-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center}}`;const p=`<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10.4809 13.8423H15.4C16.2962 13.8423 17 13.1288 17 12.2764V5.56582C17 4.71348 16.2962 4 15.4 4H4.6C3.70383 4 3 4.71348 3 5.56582V12.2764C3 13.1288 3.70383 13.8423 4.6 13.8423H6.19908L6.2 17L6.20346 16.9997L6.20502 16.9988L10.4809 13.8423ZM6.79895 17.8034C6.35668 18.1298 5.73 18.0406 5.39921 17.6042C5.26989 17.4335 5.2 17.2262 5.2 17.0133L5.19937 14.8423H4.6C3.16406 14.8423 2 13.6935 2 12.2764V5.56582C2 4.14876 3.16406 3 4.6 3H15.4C16.8359 3 18 4.14876 18 5.56582V12.2764C18 13.6935 16.8359 14.8423 15.4 14.8423H10.81L6.79895 17.8034Z" fill="#424242"/></svg>`;const u=`<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7.14645 7.14645C7.34171 6.95118 7.65829 6.95118 7.85355 7.14645L10 9.29289L12.1464 7.14645C12.3417 6.95118 12.6583 6.95118 12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L10.7071 10L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L10 10.7071L7.85355 12.8536C7.65829 13.0488 7.34171 13.0488 7.14645 12.8536C6.95118 12.6583 6.95118 12.3417 7.14645 12.1464L9.29289 10L7.14645 7.85355C6.95118 7.65829 6.95118 7.34171 7.14645 7.14645ZM3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 15.6569 15.6569 17 14 17H6C4.34315 17 3 15.6569 3 14V6ZM6 4C4.89543 4 4 4.89543 4 6V14C4 15.1046 4.89543 16 6 16H14C15.1046 16 16 15.1046 16 14V6C16 4.89543 15.1046 4 14 4H6Z" fill="#424242"/></svg>`;const b=`<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 5C3 3.89543 3.89543 3 5 3H13.3787C13.9091 3 14.4178 3.21071 14.7929 3.58579L16.4142 5.20711C16.7893 5.58218 17 6.09089 17 6.62132V15C17 16.1046 16.1046 17 15 17H5C3.89543 17 3 16.1046 3 15V5ZM5 4C4.44772 4 4 4.44772 4 5V15C4 15.5523 4.44772 16 5 16L5 11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V16C15.5523 16 16 15.5523 16 15V6.62132C16 6.3561 15.8946 6.10175 15.7071 5.91421L14.0858 4.29289C13.8983 4.10536 13.6439 4 13.3787 4L13 4V6.5C13 7.32843 12.3284 8 11.5 8L7.5 8C6.67157 8 6 7.32843 6 6.5L6 4H5ZM7 4L7 6.5C7 6.77614 7.22386 7 7.5 7L11.5 7C11.7761 7 12 6.77614 12 6.5V4L7 4ZM14 16V11.5C14 11.2239 13.7761 11 13.5 11H6.5C6.22386 11 6 11.2239 6 11.5V16H14Z" fill="#424242"/></svg>`;const h=e(class e extends o{constructor(e){super();if(e!==false){this.__registerHost()}this.askQuestion=i(this,"askQuestion");this.decline=i(this,"decline");this.finishLater=i(this,"finishLater");this.sdkError=i(this,"sdkError");this.envelopeListenerId=null;this.endpoint=d.getDefault();this.envelopeId="";this.isDone=false;this.askingQuestion=false;this.declinine=false;this.envelope=null}async componentWillLoad(){var e,o,i;try{if(!this.envelopeId){console.log(`[FOOTER] Missing required envelope ID ${this.envelopeId}`);return}this.listenToEnvelope()}catch(s){console.log("[FOOTER] Error loading envelope",s);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new r(s.message,(o=s.response)===null||o===void 0?void 0:o.status,(i=s.response)===null||i===void 0?void 0:i.data))}}disconnectedCallback(){this.unlistenToEnvelope()}async listenToEnvelope(){console.log("[FOOTER] Loading envelope",this.envelopeId);this.unlistenToEnvelope();a.subscribe("envelopes",this.envelopeId,(()=>l(this.endpoint,this.envelopeId)),false,(e=>{this.envelope=e}))}unlistenToEnvelope(){if(this.envelopeListenerId){a.store.delListener(this.envelopeListenerId);this.envelopeListenerId=null}}render(){var e,o,i,t,d,l,r,a,c,f,v,h,x,g,m,y,C,w,k,L,V,H,M,E;const j=!!((o=(e=this.envelope)===null||e===void 0?void 0:e.organization)===null||o===void 0?void 0:o.powered_by_label);const Z=!!((t=(i=this.envelope)===null||i===void 0?void 0:i.organization)===null||t===void 0?void 0:t.terms_use_url)||!!((l=(d=this.envelope)===null||d===void 0?void 0:d.organization)===null||l===void 0?void 0:l.privacy_policy_url);const T=!this.isDone;return s(n,{key:"25254ae03c8006c1c78a317a17ddac1e78d41eef",class:{"has-buttons":T,"no-buttons":!T,"has-powered-by":j,"has-links":Z,"just-buttons":!j&&!Z}},((a=(r=this.envelope)===null||r===void 0?void 0:r.organization)===null||a===void 0?void 0:a.powered_by_label)&&s("div",{key:"7a1687edb9c9c9f4cb055429d1fbe9d02acea2de",class:"powered-by"},((f=(c=this.envelope)===null||c===void 0?void 0:c.organization)===null||f===void 0?void 0:f.powered_by_url)?s("a",{href:(h=(v=this.envelope)===null||v===void 0?void 0:v.organization)===null||h===void 0?void 0:h.powered_by_url,target:"_blank",rel:"noopener noreferrer"},s("span",null,(g=(x=this.envelope)===null||x===void 0?void 0:x.organization)===null||g===void 0?void 0:g.powered_by_label)):s("span",null,(y=(m=this.envelope)===null||m===void 0?void 0:m.organization)===null||y===void 0?void 0:y.powered_by_label)),!this.isDone&&s("div",{key:"37d14a5b539fad2999ac7a9fd8377c3a3b37d929",class:"buttons"},s("button",{key:"0a49dedb4d514f2c172dd5c969d3e59f445bd293",onClick:()=>this.askingQuestion=true},s("span",{key:"ab1949843bcc1af9ebdb22451f82ef682a70def2",innerHTML:p}),"Ask Sender a Question"),s("button",{key:"e77ba7f5b720a1fcd2549d6d04cd313a81f5fe08",onClick:()=>{var e;return(e=this.decline)===null||e===void 0?void 0:e.emit()}},s("span",{key:"0041dcc1b0092e33c4c1cf5ca8bcf2a510c3c64e",innerHTML:u}),"Decline Signing"),s("button",{key:"c6c9ebd4480f810c14a301b879ec313a8eec340b",onClick:()=>{var e;return(e=this.finishLater)===null||e===void 0?void 0:e.emit()}},s("span",{key:"02fab42090a858fb2e7cc6d1f5535dd9efacbda4",innerHTML:b}),"Finish Later")),s("div",{key:"a9b765ad18b6b9521495e08a7e94727c3ef89163",class:"links"},((w=(C=this.envelope)===null||C===void 0?void 0:C.organization)===null||w===void 0?void 0:w.terms_use_url)&&s("a",{key:"29c7fda43eee3ac14b3f05d80c370ffe014a29a0",href:(L=(k=this.envelope)===null||k===void 0?void 0:k.organization)===null||L===void 0?void 0:L.terms_use_url,target:"_blank",rel:"noopener noreferrer"},s("span",{key:"182d6eb92ef630c241a41b096893427a6108ab10"},"Terms of Use")),((H=(V=this.envelope)===null||V===void 0?void 0:V.organization)===null||H===void 0?void 0:H.privacy_policy_url)&&s("a",{key:"078bb0c0505e61b64d6c8b570c1d0c6568db1155",href:(E=(M=this.envelope)===null||M===void 0?void 0:M.organization)===null||E===void 0?void 0:E.privacy_policy_url,target:"_blank",rel:"noopener noreferrer"},s("span",{key:"c234b147c7c35b6eaf74747bfcbad1efef298266"},"Privacy Policy"))),this.askingQuestion&&s("verdocs-question-dialog",{key:"6b50774f79849f481036dbdef04db7f9ee953f4b",onNext:e=>{var o;(o=this.askQuestion)===null||o===void 0?void 0:o.emit({question:e.detail.question});this.askingQuestion=false},onExit:()=>this.askingQuestion=false}))}static get style(){return v()}},[0,"verdocs-sign-footer",{endpoint:[16],envelopeId:[1,"envelope-id"],isDone:[4,"is-done"],askingQuestion:[32],declinine:[32],envelope:[32]}]);function x(){if(typeof customElements==="undefined"){return}const e=["verdocs-sign-footer","verdocs-dialog","verdocs-question-dialog"];e.forEach((e=>{switch(e){case"verdocs-sign-footer":if(!customElements.get(t(e))){customElements.define(t(e),h)}break;case"verdocs-dialog":if(!customElements.get(t(e))){c()}break;case"verdocs-question-dialog":if(!customElements.get(t(e))){f()}break}}))}export{h as V,x as d};
2
- //# sourceMappingURL=p-E2hWLZ47.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["verdocsSignFooterCss","QuestionIcon","DeclineIcon","SaveIcon","VerdocsSignFooter","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","envelopeListenerId","endpoint","VerdocsEndpoint","getDefault","envelopeId","isDone","askingQuestion","declinine","envelope","componentWillLoad","console","log","listenToEnvelope","e","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","disconnectedCallback","unlistenToEnvelope","Store","subscribe","getEnvelope","store","delListener","render","hasPoweredBy","organization","powered_by_label","hasLinks","_d","terms_use_url","_f","_e","privacy_policy_url","hasButtons","h","Host","key","class","_h","_g","_k","_j","powered_by_url","href","_m","_l","target","rel","_p","_o","_r","_q","onClick","innerHTML","decline","finishLater","_t","_s","_v","_u","_x","_w","_z","_y","onNext","askQuestion","question","detail","onExit"],"sources":["src/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.scss?tag=verdocs-sign-footer","src/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-sign-footer {\n left: 0;\n right: 0;\n bottom: 0;\n height: 48px;\n display: flex;\n color: #616161;\n position: fixed;\n font-size: 12px;\n padding: 0 24px;\n align-items: center;\n flex-direction: row;\n background: #ffffff;\n container-type: inline-size;\n border-top: 1px solid #e0e0e0;\n justify-content: space-between;\n font-family: $verdocs-primary-font;\n transition: 0.5s cubic-bezier(0.35, 0, 0.25, 1);\n\n a {\n color: #616161;\n cursor: pointer;\n text-decoration: none;\n border-bottom: 1px dotted #616161;\n }\n\n &.loading {\n display: none;\n }\n\n .powered-by {\n white-space: nowrap;\n }\n\n .buttons {\n flex: 0;\n gap: 16px;\n display: flex;\n flex-direction: row;\n white-space: nowrap;\n align-items: center;\n\n button {\n gap: 4px;\n border: none;\n display: flex;\n outline: none;\n cursor: pointer;\n flex-direction: row;\n align-items: center;\n background: transparent;\n }\n\n div {\n gap: 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n }\n\n .links {\n flex: 0;\n gap: 8px;\n display: flex;\n flex-direction: row;\n white-space: nowrap;\n }\n\n &.just-buttons {\n .buttons {\n flex: 1;\n justify-content: center;\n }\n }\n\n @container (max-width: 720px) {\n &.has-buttons .powered-by {\n display: none;\n }\n }\n\n @container (max-width: 540px) {\n &.no-buttons .powered-by {\n display: none;\n }\n\n &.has-buttons .links {\n display: none;\n }\n\n .buttons {\n flex: 1;\n justify-content: center;\n }\n }\n}\n","import {IEnvelope} from '@verdocs/js-sdk';\nimport {Component, h, Event, EventEmitter, Host, Prop, State} from '@stencil/core';\nimport {getEnvelope, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst QuestionIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.4809 13.8423H15.4C16.2962 13.8423 17 13.1288 17 12.2764V5.56582C17 4.71348 16.2962 4 15.4 4H4.6C3.70383 4 3 4.71348 3 5.56582V12.2764C3 13.1288 3.70383 13.8423 4.6 13.8423H6.19908L6.2 17L6.20346 16.9997L6.20502 16.9988L10.4809 13.8423ZM6.79895 17.8034C6.35668 18.1298 5.73 18.0406 5.39921 17.6042C5.26989 17.4335 5.2 17.2262 5.2 17.0133L5.19937 14.8423H4.6C3.16406 14.8423 2 13.6935 2 12.2764V5.56582C2 4.14876 3.16406 3 4.6 3H15.4C16.8359 3 18 4.14876 18 5.56582V12.2764C18 13.6935 16.8359 14.8423 15.4 14.8423H10.81L6.79895 17.8034Z\" fill=\"#424242\"/></svg>`;\nconst DeclineIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.14645 7.14645C7.34171 6.95118 7.65829 6.95118 7.85355 7.14645L10 9.29289L12.1464 7.14645C12.3417 6.95118 12.6583 6.95118 12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L10.7071 10L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L10 10.7071L7.85355 12.8536C7.65829 13.0488 7.34171 13.0488 7.14645 12.8536C6.95118 12.6583 6.95118 12.3417 7.14645 12.1464L9.29289 10L7.14645 7.85355C6.95118 7.65829 6.95118 7.34171 7.14645 7.14645ZM3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 15.6569 15.6569 17 14 17H6C4.34315 17 3 15.6569 3 14V6ZM6 4C4.89543 4 4 4.89543 4 6V14C4 15.1046 4.89543 16 6 16H14C15.1046 16 16 15.1046 16 14V6C16 4.89543 15.1046 4 14 4H6Z\" fill=\"#424242\"/></svg>`;\nconst SaveIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 5C3 3.89543 3.89543 3 5 3H13.3787C13.9091 3 14.4178 3.21071 14.7929 3.58579L16.4142 5.20711C16.7893 5.58218 17 6.09089 17 6.62132V15C17 16.1046 16.1046 17 15 17H5C3.89543 17 3 16.1046 3 15V5ZM5 4C4.44772 4 4 4.44772 4 5V15C4 15.5523 4.44772 16 5 16L5 11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V16C15.5523 16 16 15.5523 16 15V6.62132C16 6.3561 15.8946 6.10175 15.7071 5.91421L14.0858 4.29289C13.8983 4.10536 13.6439 4 13.3787 4L13 4V6.5C13 7.32843 12.3284 8 11.5 8L7.5 8C6.67157 8 6 7.32843 6 6.5L6 4H5ZM7 4L7 6.5C7 6.77614 7.22386 7 7.5 7L11.5 7C11.7761 7 12 6.77614 12 6.5V4L7 4ZM14 16V11.5C14 11.2239 13.7761 11 13.5 11H6.5C6.22386 11 6 11.2239 6 11.5V16H14Z\" fill=\"#424242\"/></svg>`;\n\n/**\n * Typically presented by the `verdocs-sign` component. Displays a footer toolbar\n * with a few convenience functions for the envelope recipient to use.\n */\n@Component({\n tag: 'verdocs-sign-footer',\n styleUrl: 'verdocs-sign-footer.scss',\n shadow: false,\n})\nexport class VerdocsSignFooter {\n private envelopeListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * If the recipient is \"done,\" some buttons will be hidden.\n */\n @Prop() isDone = false;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) askQuestion: EventEmitter<{question: string}>;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) decline: EventEmitter;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) finishLater: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n // @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n @State() askingQuestion = false;\n @State() declinine = false;\n @State() envelope: IEnvelope | null = null;\n\n async componentWillLoad() {\n try {\n // NOTE: The caller must have a signing session already active and shared to us via\n // the endpoint property.\n if (!this.envelopeId) {\n console.log(`[FOOTER] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n this.listenToEnvelope();\n } catch (e) {\n console.log('[FOOTER] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToEnvelope();\n }\n\n async listenToEnvelope() {\n console.log('[FOOTER] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n false,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n // handleRecipientAction(recipient: IRecipient, id: string) {\n // console.log('[SIDEBAR] Recipient action', id, recipient);\n // switch (id) {\n // case 'update':\n // this.showUpdateDialog = recipient.role_name;\n // break;\n //\n // case 'reminder':\n // remindRecipient(this.endpoint, this.envelopeId, recipient.role_name)\n // .then(() => {\n // VerdocsToast('Reminder Sent', {style: 'success'});\n // })\n // .catch(e => {\n // console.log('[SIDEBAR] Error resending invitation', e);\n // VerdocsToast('Error resending invitation: ' + e.message, {style: 'error'});\n // });\n // break;\n //\n // case 'reinvite':\n // this.showReinviteDialog = recipient.role_name;\n // break;\n //\n // case 'inperson':\n // this.showRecipientDialog = recipient.role_name;\n // break;\n //\n // case 'modify':\n // VerdocsToast('This feature will be enabled in a future release. Please try again later.', {style: 'info'});\n // break;\n //\n // case 'details':\n // VerdocsToast('This feature will be enabled in a future release. Please try again later.', {style: 'info'});\n // break;\n // }\n // }\n\n // handleUpdateRecipient(originalRecipient: IRecipient, updatedRecipient: IRecipient) {\n // console.log('Updating recipient', originalRecipient, updatedRecipient);\n // const fields: any = {};\n // if (updatedRecipient.email !== originalRecipient.email) {\n // fields.email = updatedRecipient.email;\n // }\n // if (updatedRecipient.phone !== originalRecipient.phone) {\n // fields.phone = updatedRecipient.phone;\n // }\n // if (updatedRecipient.message !== originalRecipient.message) {\n // fields.message = updatedRecipient.message;\n // }\n // if (updatedRecipient.first_name !== originalRecipient.first_name) {\n // fields.first_name = updatedRecipient.first_name;\n // }\n // if (updatedRecipient.last_name !== originalRecipient.last_name) {\n // fields.last_name = updatedRecipient.last_name;\n // }\n //\n // if (Object.keys(fields).length > 0) {\n // updateRecipient(this.endpoint, this.envelopeId, originalRecipient.role_name, fields)\n // .then(r => {\n // // TODO: Reload the envelope?\n // VerdocsToast('Recipient updated', {style: 'success'});\n // console.log('[SIDEBAR] Updated recipient', r);\n // Store.getEnvelope(this.endpoint, this.envelopeId, true);\n // this.showUpdateDialog = '';\n // })\n // .catch(e => {\n // VerdocsToast(e.response.data.error, {style: 'error'});\n // this.showUpdateDialog = '';\n // });\n // } else {\n // this.showUpdateDialog = '';\n // }\n // }\n\n render() {\n const hasPoweredBy = !!this.envelope?.organization?.powered_by_label;\n const hasLinks = !!this.envelope?.organization?.terms_use_url || !!this.envelope?.organization?.privacy_policy_url;\n const hasButtons = !this.isDone;\n\n return (\n <Host class={{'has-buttons': hasButtons, 'no-buttons': !hasButtons, 'has-powered-by': hasPoweredBy, 'has-links': hasLinks, 'just-buttons': !hasPoweredBy && !hasLinks}}>\n {this.envelope?.organization?.powered_by_label && (\n <div class=\"powered-by\">\n {this.envelope?.organization?.powered_by_url ? (\n <a href={this.envelope?.organization?.powered_by_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>{this.envelope?.organization?.powered_by_label}</span>\n </a>\n ) : (\n <span>{this.envelope?.organization?.powered_by_label}</span>\n )}\n </div>\n )}\n\n {!this.isDone && (\n <div class=\"buttons\">\n <button onClick={() => (this.askingQuestion = true)}>\n <span innerHTML={QuestionIcon} />\n Ask Sender a Question\n </button>\n <button onClick={() => this.decline?.emit()}>\n <span innerHTML={DeclineIcon} />\n Decline Signing\n </button>\n <button onClick={() => this.finishLater?.emit()}>\n <span innerHTML={SaveIcon} />\n Finish Later\n </button>\n </div>\n )}\n\n <div class=\"links\">\n {this.envelope?.organization?.terms_use_url && (\n <a href={this.envelope?.organization?.terms_use_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Terms of Use</span>\n </a>\n )}\n {this.envelope?.organization?.privacy_policy_url && (\n <a href={this.envelope?.organization?.privacy_policy_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Privacy Policy</span>\n </a>\n )}\n </div>\n\n {this.askingQuestion && (\n <verdocs-question-dialog\n onNext={e => {\n this.askQuestion?.emit({question: e.detail.question});\n this.askingQuestion = false;\n }}\n onExit={() => (this.askingQuestion = false)}\n />\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,H as s,F as o,g as n}from"./p-CjTHbolG.js";import{VerdocsEndpoint as l,DEFAULT_DISCLOSURES as a,startSigningSession as r,getEnvelope as d,envelopeRecipientAgree as c,updateEnvelopeField as h,createSignature as p,createInitials as u,sortFields as g,envelopeRecipientSubmit as v,isFieldValid as f,isFieldFilled as m,uploadEnvelopeFieldAttachment as x,deleteEnvelopeFieldAttachment as b,formatFullName as w,fullNameToInitials as y,verifySigner as k,getEnvelopesZip as C,getEnvelopeDocumentDownloadLink as S,getCombinedEnvelopeDocumentDownloadLink as N,delegateRecipient as I,envelopeRecipientDecline as z,integerSequence as G,askQuestion as L}from"@verdocs/js-sdk";import{u as H,g as T,r as D,a as E,d as F}from"./p-CGsVCy75.js";import{D as V}from"./p-CIxfEdV7.js";import{D as q,C as M}from"./p-DobS6Y7w.js";import{V as P}from"./p-D97GxsI-.js";import{S as A}from"./p-C1sRVZWv.js";import{S as R}from"./p-C7hFgM52.js";import"./p-BglCURB-.js";const j=()=>`verdocs-sign{display:-ms-flexbox;display:flex;overflow:hidden;min-height:700px;position:relative;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#f5f5f5;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-sign div{display:block;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-sign input{vertical-align:top}verdocs-sign>.document{-ms-flex:1;flex:1;width:100%;height:100%;-ms-flex-item-align:center;align-self:center;display:-ms-flexbox;display:flex;padding:15px;padding-right:140px;row-gap:15px;max-width:1200px;min-height:200px;position:relative;overflow-y:scroll;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-sign>.document .inner{width:100%;max-width:1028px}verdocs-sign>.document .document-separator{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:10px;padding:12px 20px;width:100%;max-width:1028px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#33364b;color:white;border-radius:6px;font-size:16px;font-weight:500;margin-top:20px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}verdocs-sign>.document .document-separator svg{-ms-flex-negative:0;flex-shrink:0}verdocs-sign>.document .document-separator:first-child{margin-top:0}verdocs-sign .signed-document-container{width:64%;margin-left:260px;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}verdocs-sign .signed-document-container.zoom-normal{width:64%;margin-left:260px}verdocs-sign .signed-document-container.zoom-zoom1{width:80%;margin-left:200px}verdocs-sign .signed-document-container.zoom-zoom2{width:100%;margin-left:150px}verdocs-sign .signed-document-container.zoom-zoom2 .verdocs-flag-instance{opacity:0;pointer-events:none}@media (max-width: 768px){verdocs-sign verdocs-sign-footer{padding:0 10px}verdocs-sign verdocs-sign-footer .buttons{gap:8px}verdocs-sign verdocs-sign-footer .buttons button{font-size:10px}verdocs-sign .signed-document-container{width:100%;margin-left:0}verdocs-sign .signed-document-container.zoom-normal,verdocs-sign .signed-document-container.zoom-zoom1,verdocs-sign .signed-document-container.zoom-zoom2{width:100%;margin-left:0}verdocs-sign>.document{padding-right:15px}verdocs-sign .verdocs-flag-instance{display:none !important}verdocs-sign .controls-toolbar .center-controls{display:none}verdocs-sign .controls-toolbar .right-controls .mobile-next-button{display:block;margin-right:10px}verdocs-sign .controls-toolbar .right-controls .minus,verdocs-sign .controls-toolbar .right-controls .plus{display:none}}verdocs-sign .cover{top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;z-index:5000;position:absolute;padding-top:100px;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;background:rgba(0, 0, 0, 0.5)}verdocs-sign verdocs-ok-dialog .background-overlay{-ms-flex-align:start;align-items:flex-start;padding-top:100px}verdocs-sign .loading-indicator{top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;z-index:10000;position:fixed;background-color:rgba(0, 0, 0, 0.7)}verdocs-sign .fatal-error{position:absolute;z-index:100;top:0;left:0;right:0;bottom:0;background-color:#4a4a4a;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-sign .fatal-error .placeholder{position:absolute;opacity:0.1;z-index:-1;top:0;left:0;right:0;bottom:0;width:612px;height:792px;-webkit-box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294);box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294);margin-top:15px}verdocs-sign .fatal-error .message{max-width:360px;width:50%;font-size:16px;background:white;-webkit-box-shadow:3px 3px 9px -1px rgba(0, 0, 0, 0.2470588235);box-shadow:3px 3px 9px -1px rgba(0, 0, 0, 0.2470588235)}verdocs-sign .fatal-error .header{color:white;font-size:18px;font-weight:500;padding:5px 10px;margin:0 0 10px 0;background:#4c56cb}verdocs-sign .fatal-error p{margin:1rem;font-size:14px;font-weight:400;padding:0 10px}@media print{verdocs-sign .header,.controls-toolbar,.verdocs-flag-instance,verdocs-signing-progress{display:none !important}verdocs-sign{min-height:auto;background-color:white}verdocs-sign>.document{overflow:visible;height:auto;display:block;padding:0;margin:0}verdocs-sign>.document .document-separator{display:none}verdocs-sign .signed-document-container{width:100%;margin:0}}#verdocs-sign-header{color:#fff;width:100%;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex:0 0 46px;flex:0 0 46px;font-size:12px;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-webkit-transition:all 0.25s;transition:all 0.25s;background-color:#33354c;-webkit-box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12);box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12)}#verdocs-sign-header .inner{width:100%;display:-ms-flexbox;display:flex;margin:0 auto;padding:0 12px;max-width:1200px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px}#verdocs-sign-header .logo{width:80px;display:none;margin:-6px 0 0 0}#verdocs-sign-header .title{font-size:18px;font-weight:500;overflow:hidden;white-space:nowrap;padding:0 10px 0 0;text-overflow:ellipsis}@media (max-width: 670px){#verdocs-sign-header .title{font-size:14px}}#verdocs-sign-header .remaining-count{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;gap:8px;color:#ffffff;font-size:13px;font-weight:400;white-space:nowrap}#verdocs-sign-header .remaining-count .check-icon{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}#verdocs-sign-header .remaining-count .check-icon svg{width:16px;height:16px;fill:#55bc81}#verdocs-sign-header .remaining-count .separator{opacity:0.5;margin:0 2px}#verdocs-sign-header .remaining-count .review-optional{cursor:pointer;text-decoration:underline}#verdocs-sign-header .remaining-count .review-optional:hover{color:#54d68c}@media (max-width: 670px){#verdocs-sign-header .remaining-count .review-optional{display:none}}@media (max-width: 670px){#verdocs-sign-header .remaining-count{font-size:12px}}#verdocs-sign-header .icon-button{width:20px;height:32px;display:-ms-flexbox;display:flex;cursor:pointer;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-radius:4px;-webkit-transition:background-color 0.2s;transition:background-color 0.2s}#verdocs-sign-header .icon-button svg path{fill:#ffffff}#verdocs-sign-header .icon-button:hover{background-color:rgba(255, 255, 255, 0.1)}#verdocs-sign-header .icon-button.disabled{opacity:0.35;pointer-events:none}#verdocs-sign-header .icon-button+.icon-button{margin-left:-6px}@media (max-width: 670px){#verdocs-sign-header .icon-button.magnify{display:none}}.spinner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;background:rgba(0, 0, 0, 0.4980392157);-ms-flex-pack:center;justify-content:center}.controls-toolbar{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:54px;padding:0 12px 0 24px;background-color:#ffffff;border-bottom:1px solid #e0e0e0;-webkit-box-shadow:none;box-shadow:none;font-family:"Inter", sans-serif;color:#424242;z-index:1000}.controls-toolbar .left-controls{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.controls-toolbar .left-controls .title{font-weight:500;font-size:16px;color:#242424;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls-toolbar .center-controls{-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:10px;font-size:14px;display:none}.controls-toolbar .center-controls .label{color:#000000;font-weight:300}.controls-toolbar .center-controls .select-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.controls-toolbar .center-controls .select-wrapper verdocs-select-input{margin:0}.controls-toolbar .center-controls .select-wrapper verdocs-select-input .input-label{display:none}.controls-toolbar .center-controls .select-wrapper verdocs-select-input .input-element{background:transparent;border:1px solid #e0e0e0;height:32px;padding:2px 8px;min-width:60px;text-align:center;font-family:inherit;color:#424242}.controls-toolbar .center-controls .select-wrapper verdocs-select-input .input-element:focus{border-color:var(--verdocs-primary-color, #55bc81)}.controls-toolbar .center-controls .count{color:#000000;font-weight:300}.controls-toolbar .right-controls{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}.controls-toolbar .right-controls .mobile-next-button{display:none}.controls-toolbar .right-controls .icon-button{width:32px;height:32px;display:-ms-flexbox;display:flex;color:#424242;cursor:pointer;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:background-color 0.2s;transition:background-color 0.2s}.controls-toolbar .right-controls .icon-button:hover{background-color:#f5f5f5}.controls-toolbar .right-controls .icon-button.disabled{opacity:0.3;pointer-events:none}.controls-toolbar .right-controls .icon-button svg{display:block;width:20px;height:20px}`;const O=`<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11 8C11.2761 8 11.5 8.22386 11.5 8.5C11.5 8.77614 11.2761 9 11 9H6C5.72386 9 5.5 8.77614 5.5 8.5C5.5 8.22386 5.72386 8 6 8H11ZM14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.83879 14 11.0659 13.5217 12.0196 12.7266L16.1464 16.8536L16.2157 16.9114C16.4106 17.0464 16.68 17.0271 16.8536 16.8536C17.0488 16.6583 17.0488 16.3417 16.8536 16.1464L12.7266 12.0196C13.5217 11.0659 14 9.83879 14 8.5ZM4 8.5C4 6.01472 6.01472 4 8.5 4C10.9853 4 13 6.01472 13 8.5C13 10.9853 10.9853 13 8.5 13C6.01472 13 4 10.9853 4 8.5Z" fill="#424242" /></svg>`;const U=`<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.5 8.5C11.5 8.22386 11.2761 8 11 8H9V6C9 5.72386 8.77614 5.5 8.5 5.5C8.22386 5.5 8 5.72386 8 6V8H6C5.72386 8 5.5 8.22386 5.5 8.5C5.5 8.77614 5.72386 9 6 9H8V11C8 11.2761 8.22386 11.5 8.5 11.5C8.77614 11.5 9 11.2761 9 11V9H11C11.2761 9 11.5 8.77614 11.5 8.5ZM8.5 3C11.5376 3 14 5.46243 14 8.5C14 9.83879 13.5217 11.0659 12.7266 12.0196L16.8536 16.1464C17.0488 16.3417 17.0488 16.6583 16.8536 16.8536C16.68 17.0271 16.4106 17.0464 16.2157 16.9114L16.1464 16.8536L12.0196 12.7266C11.0659 13.5217 9.83879 14 8.5 14C5.46243 14 3 11.5376 3 8.5C3 5.46243 5.46243 3 8.5 3ZM8.5 4C6.01472 4 4 6.01472 4 8.5C4 10.9853 6.01472 13 8.5 13C10.9853 13 13 10.9853 13 8.5C13 6.01472 10.9853 4 8.5 4Z" fill="#424242" /></svg>`;const $=`<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M15.5 16.9988C15.7761 16.9988 16 17.2226 16 17.4988C16 17.7442 15.8231 17.9484 15.5899 17.9907L15.5 17.9988H4.5C4.22386 17.9988 4 17.7749 4 17.4988C4 17.2533 4.17688 17.0492 4.41012 17.0068L4.5 16.9988H15.5ZM10.0001 2.00098C10.2456 2.00098 10.4497 2.17798 10.492 2.41124L10.5 2.50112L10.496 14.295L14.1414 10.6466C14.3148 10.4729 14.5842 10.4534 14.7792 10.5882L14.8485 10.646C15.0222 10.8194 15.0418 11.0888 14.907 11.2838L14.8492 11.3531L10.3574 15.8531C10.285 15.9257 10.1957 15.9714 10.1021 15.9901L9.99608 15.9999C9.83511 15.9999 9.69192 15.9237 9.60051 15.8056L5.14386 11.3537C4.94846 11.1586 4.94823 10.842 5.14336 10.6466C5.3168 10.4729 5.58621 10.4534 5.78117 10.5883L5.85046 10.6461L9.496 14.287L9.5 2.50083C9.50008 2.22469 9.724 2.00098 10.0001 2.00098Z" fill="#424242"/></svg>`;const Z=`<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M5 4.5C5 3.67157 5.67157 3 6.5 3H13.5C14.3284 3 15 3.67157 15 4.5V5H15.5C16.8807 5 18 6.11929 18 7.5V12.5C18 13.3284 17.3284 14 16.5 14H15V15.5C15 16.3284 14.3284 17 13.5 17H6.5C5.67157 17 5 16.3284 5 15.5V14H3.5C2.67157 14 2 13.3284 2 12.5V7.5C2 6.11929 3.11929 5 4.5 5H5V4.5ZM6 5H14V4.5C14 4.22386 13.7761 4 13.5 4H6.5C6.22386 4 6 4.22386 6 4.5V5ZM5 13V11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V13H16.5C16.7761 13 17 12.7761 17 12.5V7.5C17 6.67157 16.3284 6 15.5 6H4.5C3.67157 6 3 6.67157 3 7.5V12.5C3 12.7761 3.22386 13 3.5 13H5ZM6.5 11C6.22386 11 6 11.2239 6 11.5V15.5C6 15.7761 6.22386 16 6.5 16H13.5C13.7761 16 14 15.7761 14 15.5V11.5C14 11.2239 13.7761 11 13.5 11H6.5Z" fill="#424242"/></svg>`;const Y=class{constructor(i){e(this,i);this.sdkError=t(this,"sdkError");this.envelopeLoaded=t(this,"envelopeLoaded");this.envelopeUpdated=t(this,"envelopeUpdated");this.endpoint=new l({sessionType:"signing"});this.envelopeId=null;this.roleId=null;this.inviteCode=null;this.headerTargetId=null;this.toolbarStyle="menu";this.recipient=null;this.hasSignature=false;this.nextButtonLabel="Start";this.nextSubmits=false;this.fatalErrorHeader="";this.fatalErrorMessage="";this.focusedField="";this.disclosures=a;this.fieldUpdateCounter=0;this.submitting=false;this.submitted=false;this.isDone=false;this.showDone=false;this.adoptingSignature=false;this.showLoadError=false;this.finishLater=false;this.showFinishLater=false;this.agreed=false;this.signatureId=null;this.initialId=null;this.documentsSingularPlural="document";this.authStep=null;this.authMethodStates={};this.pageNumber=1;this.kbaQuestions=null;this.showSpinner=false;this.declining=false;this.delegating=false;this.delegated=false;this.kbaChoices=[];this.showDownloadDialog=false;this.loading=true;this.envelope=null;this.zoomLevel="normal";this.signingProgressMode="start";this.polling=true;this.renderedPages={};this.pollingInterval=null;this.handleDoneDialogDismiss=async()=>{this.showDone=false;if(!this.isDone){this.prepareForViewTransition();await new Promise((e=>requestAnimationFrame((()=>e()))));this.isDone=true}}}async componentDidLoad(){var e,t,i,s,o,n;this.updateZoomFromWindow();window.addEventListener("resize",(()=>this.updateZoomFromWindow()));if(!this.envelopeId){(e=this.sdkError)===null||e===void 0?void 0:e.emit(new A("[SIGN] Missing required envelopId",500,""));return}if(!this.roleId){(t=this.sdkError)===null||t===void 0?void 0:t.emit(new A("[SIGN] Missing required roleId",500,""));return}if(!this.inviteCode){(i=this.sdkError)===null||i===void 0?void 0:i.emit(new A("[SIGN] Missing required inviteCode",500,""));return}try{await this.initSigningSession()}catch(e){console.log("[SIGN] Error with signing session",e);(s=this.sdkError)===null||s===void 0?void 0:s.emit(new A(e.message,(o=e.response)===null||o===void 0?void 0:o.status,(n=e.response)===null||n===void 0?void 0:n.data));this.showLoadError=true}}async initSigningSession(){console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);const e=await r(this.endpoint,this.envelopeId,this.roleId,this.inviteCode);this.processAuthResponse(e)}async retrySigningSession(){var e,t,i;this.showLoadError=false;this.loading=true;try{await this.initSigningSession()}catch(s){console.log("[SIGN] Error with signing session",s);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new A(s.message,(t=s.response)===null||t===void 0?void 0:t.status,(i=s.response)===null||i===void 0?void 0:i.data));this.showLoadError=true;this.loading=false}}prepareForViewTransition(){var e,t;this.stopPolling();(e=this.observer)===null||e===void 0?void 0:e.disconnect();this.observer=null;(t=document.getElementById("air-datepicker-global-container"))===null||t===void 0?void 0:t.remove()}async handleSubmitSuccess(){var e,t;this.submitting=false;this.submitted=true;this.nextSubmits=false;this.signingProgressMode="completed";try{const i=await d(this.endpoint,this.envelopeId);this.envelope=i;R.updateEnvelope(this.envelopeId,i);const s=(e=i.recipients)===null||e===void 0?void 0:e.find((e=>{var t;return e.role_name===((t=this.recipient)===null||t===void 0?void 0:t.role_name)}));if(s){this.recipient=s}(t=this.envelopeUpdated)===null||t===void 0?void 0:t.emit({endpoint:this.endpoint,envelope:i,event:"submitted"})}catch(e){console.warn("[SIGN] Error refreshing envelope after submit",e)}this.showDone=true}componentDidRender(){const e=this.headerTargetId?document.getElementById(this.headerTargetId):null;const t=document.getElementById("verdocs-sign-header");if(e&&t){console.log("[SIGN] Moving header");t.remove();e.append(t)}this.setupIntersectionObserver()}disconnectedCallback(){var e,t,i;this.stopPolling();(e=this.observer)===null||e===void 0?void 0:e.disconnect();window.removeEventListener("resize",(()=>this.updateZoomFromWindow()));(t=document.getElementById(this.getOrgStyleOverridesId()))===null||t===void 0?void 0:t.remove();(i=document.getElementById(this.getBrandStyleOverridesId()))===null||i===void 0?void 0:i.remove()}updateZoomFromWindow(){const e=window.innerWidth;if(e<768){if(this.zoomLevel!=="zoom2")this.zoomLevel="zoom2"}else if(e<1024){if(this.zoomLevel!=="zoom1")this.zoomLevel="zoom1"}else{if(this.zoomLevel!=="normal")this.zoomLevel="normal"}}setupIntersectionObserver(){const e=this.el.querySelectorAll("verdocs-envelope-document-page");if(e.length===0)return;if(this.observer){this.observer.disconnect()}const t=this.el.querySelector(".signed-document-container");const i={root:t,rootMargin:"-40% 0px -40% 0px",threshold:0};this.observer=new IntersectionObserver((e=>{e.forEach((e=>{if(e.isIntersecting){const t=e.target.id;const i=parseInt(t.replace("page-",""),10);if(!isNaN(i)&&this.pageNumber!==i){this.pageNumber=i}}}))}),i);e.forEach((e=>this.observer.observe(e)))}getOrgStyleOverridesId(){return`verdocs-org-style-overrides-${this.envelopeId}`}getBrandStyleOverridesId(){return`verdocs-brand-style-overrides-${this.envelopeId}`}applyOrgStyleOverrides(){var e,t;const i=this.getOrgStyleOverridesId();const s=document.getElementById(i);const o=(t=(e=this.envelope)===null||e===void 0?void 0:e.organization)===null||t===void 0?void 0:t.style_overrides;if(typeof o==="string"){const e=s||document.createElement("style");e.id=i;e.textContent=o;if(!s){document.head.appendChild(e)}}else if(s){s.remove()}}applyBrandStyleOverrides(e){const t=this.getBrandStyleOverridesId();const i=document.getElementById(t);const s=e===null||e===void 0?void 0:e.style_overrides;if(typeof s==="string"&&s.length>0){const e=i||document.createElement("style");e.id=t;e.textContent=s;if(!i){document.head.appendChild(e)}}else if(i){i.remove()}}processAuthResponse(e){var t,i,s,o;const{envelope:n,recipient:l,brand:r}=e;(t=n.documents)===null||t===void 0?void 0:t.sort(((e,t)=>e.order!==t.order?e.order-t.order:e.created_at.localeCompare(t.created_at)));const{auth_step:d}=l;this.recipient=l;this.envelope=n;this.disclosures=((s=(i=this.envelope)===null||i===void 0?void 0:i.organization)===null||s===void 0?void 0:s.disclaimer)||a;this.applyOrgStyleOverrides();this.applyBrandStyleOverrides(r);this.authStep=d;this.delegated=!!l.delegated_to;this.agreed=l.agreed;this.signatureId=null;this.initialId=null;this.submitted=l.status==="submitted";this.loading=false;this.isDone=this.submitted;this.showDone=this.submitted;R.updateEnvelope(this.envelopeId,n);if(this.envelope.documents.length>0){this.documentsSingularPlural="document(s)"}this.authMethodStates=l.auth_method_states||{};this.kbaQuestions=l.kba_questions;if(Object.values(this.authMethodStates).includes("failed")){this.fatalErrorHeader="Recipient Verification Failed";this.fatalErrorMessage="We were unable to verify your identity. The sender has been notified.";this.isDone=true}if(this.envelope.status==="canceled"){this.fatalErrorHeader="Unable to Start Signing Session";this.fatalErrorMessage="This envelope has been canceled. The sender has been notified."}else if(l.status==="declined"){this.fatalErrorHeader="Declined";this.fatalErrorMessage="You have declined to sign this request. The sender has been notified."}else if(this.agreed){this.nextButtonLabel="Next"}this.checkRecipientFields();(o=this.envelopeLoaded)===null||o===void 0?void 0:o.emit({endpoint:this.endpoint,envelope:this.envelope})}handleClickAgree(){this.submitting=true;console.log("[SIGN] Accepting disclosures",this.disclosures);const e=Intl.DateTimeFormat().resolvedOptions();c(this.endpoint,this.envelopeId,this.roleId,this.disclosures,{locale:e.locale,timezone:e.timeZone}).then((()=>{var e;this.nextButtonLabel="Next";this.recipient.agreed=true;this.submitting=false;this.agreed=true;(e=this.envelopeUpdated)===null||e===void 0?void 0:e.emit({endpoint:this.endpoint,envelope:this.envelope,event:"agreed"})})).catch((e=>{var t,i,s;console.log("[SIGN] Unable to accept disclosures",e);P("Unable to accept disclosures, please try again later",{style:"error"});(t=this.sdkError)===null||t===void 0?void 0:t.emit(new A(e.message,(i=e.response)===null||i===void 0?void 0:i.status,(s=e.response)===null||s===void 0?void 0:s.data));this.submitting=false}))}handlePageSelect(e){const t=parseInt(e.target.value);if(!isNaN(t)){this.pageNumber=t;const e=this.el.querySelector(".signed-document-container");const i=this.el.querySelector(`#page-${t}`);if(e&&i){const t=i.offsetTop-20;e.scrollTo({top:t,behavior:"smooth"})}}}async handleOptionSelected(e){var t,i;switch(e.detail.id){case"later":this.finishLater=true;this.showFinishLater=true;(t=this.envelopeUpdated)===null||t===void 0?void 0:t.emit({endpoint:this.endpoint,envelope:this.envelope,event:"later"});break;case"delegate":this.delegating=true;break;case"decline":this.declining=true;break;case"print":window.print();(i=this.envelopeUpdated)===null||i===void 0?void 0:i.emit({endpoint:this.endpoint,envelope:this.envelope,event:"printed"});break;case"download":this.showDownloadDialog=true;this.startPolling();break}}startPolling(){this.stopPolling();const e=()=>{var e,t,i,s,o,n;const l=((e=this.envelope)===null||e===void 0?void 0:e.status)==="complete"||!!((t=this.envelope)===null||t===void 0?void 0:t.signed);const a=(s=(i=this.envelope)===null||i===void 0?void 0:i.documents)===null||s===void 0?void 0:s.some((e=>e.type==="certificate"));const r=(n=(o=this.envelope)===null||o===void 0?void 0:o.recipients)===null||n===void 0?void 0:n.every((e=>e.status==="submitted"));if(l&&a)return false;if(!r)return false;return true};if(!e()){return}this.polling=true;this.pollingInterval=setInterval((async()=>{try{const t=await d(this.endpoint,this.envelopeId);this.envelope=t;R.updateEnvelope(this.envelopeId,t);this.checkRecipientFields();if(!e()){this.stopPolling()}}catch(e){console.error("[SIGN] Polling error",e);this.stopPolling()}}),5e3)}stopPolling(){if(this.pollingInterval){clearInterval(this.pollingInterval);this.pollingInterval=null}this.polling=false}handleZoomIn(){if(this.zoomLevel==="normal"){this.zoomLevel="zoom1"}else if(this.zoomLevel==="zoom1"){this.zoomLevel="zoom2"}}handleZoomOut(){if(this.zoomLevel==="zoom1"){this.zoomLevel="normal"}else if(this.zoomLevel==="zoom2"){this.zoomLevel="zoom1"}}updateRecipientFieldValue(e,t){console.log("[SIGN] updateRecipientFieldValue",e,t);this.getRecipientFields().forEach((i=>{if(i.name===e){i.value=t.value;i.settings=t.settings;H(i);this.fieldUpdateCounter++;this.markEnvelopeStarted();this.checkRecipientFields()}}))}getStartedKey(){var e;return`${this.envelopeId}:${((e=this.recipient)===null||e===void 0?void 0:e.role_name)||""}`}markEnvelopeStarted(){const e=JSON.parse(localStorage.getItem("startedEnvelopes")||"[]");const t=this.getStartedKey();if(!e.includes(t)){e.push(t);while(e.length>10){e.shift()}localStorage.setItem("startedEnvelopes",JSON.stringify(e))}}saveFieldChange(e,t,i){const s=this.getRecipientFields().find((t=>t.name===e));if(s===null||s===void 0?void 0:s.readonly){return}console.log("[SIGN] saveFieldChange",e,{value:t,prepared:i});h(this.endpoint,this.envelopeId,this.roleId,e,t,i).then((t=>this.updateRecipientFieldValue(e,t))).catch((e=>{var t,i,s,o,n,l;if(((t=e.response)===null||t===void 0?void 0:t.status)===401&&((s=(i=e.response)===null||i===void 0?void 0:i.data)===null||s===void 0?void 0:s.error)==="jwt expired"){console.log("[SIGN] Signing session expired");this.fatalErrorHeader="Signing Session Expired";this.fatalErrorMessage="Please reload your browser to continue."}else{console.log("[SIGN] Server error",e);P("Unable to save change, please try again later",{style:"error"})}(o=this.sdkError)===null||o===void 0?void 0:o.emit(new A(e.message,(n=e.response)===null||n===void 0?void 0:n.status,(l=e.response)===null||l===void 0?void 0:l.data))}))}async handleFieldChange(e,t){if(!t.target){return}const{value:i,checked:s}=t.target;switch(e.type){case"textarea":case"textbox":return this.saveFieldChange(e.name,i,false);case"checkbox":{return this.saveFieldChange(e.name,String(t.target.checked),false)}case"radio":{return this.saveFieldChange(e.name,String(t.target.checked),false)}case"dropdown":console.log("Saving dropdown",e.name,t.detail);return this.saveFieldChange(e.name,t.detail,false);case"initial":if(t.detail===undefined){return}if(t.detail===null){console.log("[SIGN] Clearing initial");const t=await h(this.endpoint,this.envelopeId,this.roleId,e.name,null,false);return this.updateRecipientFieldValue(e.name,t)}if(this.initialId){console.log("[SIGN] Reusing initial",this.initialId);const t=await h(this.endpoint,this.envelopeId,this.roleId,e.name,this.initialId,false);return this.updateRecipientFieldValue(e.name,t)}if(typeof t.detail==="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t.detail)){console.log("[SIGN] Reusing initial",t.detail);const i=await h(this.endpoint,this.envelopeId,this.roleId,e.name,t.detail,false);this.initialId=t.detail;return this.updateRecipientFieldValue(e.name,i)}this.showSpinner=true;const o=await(await fetch(t.detail)).blob();return u(this.endpoint,"initial",o).then((async t=>{const i=await h(this.endpoint,this.envelopeId,this.roleId,e.name,t.id,false);this.updateRecipientFieldValue(e.name,i);this.initialId=t.id;this.showSpinner=false})).catch((e=>{console.log("Error updating initials",e);P("Unable to save initials, please try again later",{style:"error"});this.showSpinner=false}));case"signature":if(t.detail===undefined){return}if(t.detail===null){console.log("[SIGN] Clearing signature");const t=await h(this.endpoint,this.envelopeId,this.roleId,e.name,null,false);return this.updateRecipientFieldValue(e.name,t)}if(this.signatureId){console.log("[SIGN] Reusing signature",this.signatureId);const t=await h(this.endpoint,this.envelopeId,this.roleId,e.name,this.signatureId,false);return this.updateRecipientFieldValue(e.name,t)}if(typeof t.detail==="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t.detail)){console.log("[SIGN] Reusing signature",t.detail);const i=await h(this.endpoint,this.envelopeId,this.roleId,e.name,t.detail,false);this.signatureId=t.detail;return this.updateRecipientFieldValue(e.name,i)}this.showSpinner=true;const n=await(await fetch(t.detail)).blob();console.log("[SIGN] Creating new signature");return p(this.endpoint,"signature",n).then((async t=>{console.log("Signature update result",t);const i=await h(this.endpoint,this.envelopeId,this.roleId,e.name,t.id,false);this.updateRecipientFieldValue(e.name,i);this.signatureId=t.id;this.showSpinner=false})).catch((e=>{console.warn("[SIGN] Error updating signature",e);P("Unable to save signature, please try again later",{style:"error"});this.showSpinner=false}));case"date":const{formattedDate:l}=t.detail;if(l){return this.saveFieldChange(e.name,l,false)}break;case"timestamp":console.log("[SIGN] Updating timestamp",{value:i,ts:t.target.getAttribute("timestamp")});break;default:console.log("[SIGN] Unhandled field update",{value:i,checked:s},e);break}}getSortedFillableFields(){const e=this.getRecipientFields().filter((e=>e.type!=="timestamp"&&!e.readonly));g(e);return e}getSortedDisplayableFields(){const e=this.getRecipientFields().filter((e=>e.type!=="timestamp"));g(e);return e}async handleNext(){var e;if(this.nextSubmits){if(this.submitted){return}try{(e=document.getElementById("air-datepicker-global-container"))===null||e===void 0?void 0:e.remove();this.submitting=true;const t=Intl.DateTimeFormat().resolvedOptions();const i=await v(this.endpoint,this.envelopeId,this.roleId,{locale:t.locale,timezone:t.timeZone});console.log("[SIGN] Submitted successfully",i);await this.handleSubmitSuccess()}catch(e){console.log("[SIGN] Error submitting",e);this.submitting=false;P("Unable to submit document, please try again.",{style:"error"})}return}const t=this.getSortedFillableFields().filter((e=>!this.isFieldActuallyFilled(e)));const i=this.getNextFieldFromList(t);if(i){const e=T(i);const t=document.getElementById(e);t===null||t===void 0?void 0:t.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});t===null||t===void 0?void 0:t.focusField();this.focusedField=i.name}}handleNextOptional(){const e=this.getSortedFillableFields().filter((e=>!e.required&&!this.isFieldActuallyFilled(e)));const t=this.getNextFieldFromList(e);if(t){const e=T(t);const i=document.getElementById(e);i===null||i===void 0?void 0:i.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});i===null||i===void 0?void 0:i.focusField();this.focusedField=t.name}}getRecipientFields(){var e;return((e=this.envelope)===null||e===void 0?void 0:e.fields.filter((e=>e.role_name===this.recipient.role_name)))||[]}getRequiredTotalCount(){return this.getSortedFillableFields().filter((e=>e.required)).length}getRequiredFilledCount(){return this.getSortedFillableFields().filter((e=>e.required&&this.isFieldActuallyFilled(e))).length}getOptionalUnfilledCount(){return this.getSortedFillableFields().filter((e=>!e.required&&!this.isFieldActuallyFilled(e))).length}checkRecipientFields(){if(this.submitted||this.isDone){return}const e=this.getRecipientFields().filter((e=>!f(e,this.getRecipientFields())));if(e.length<1){this.nextButtonLabel="Finish";if(!this.nextSubmits){this.nextSubmits=true}}else{this.nextButtonLabel="Next";this.nextSubmits=false}this.updateAllFlags();const t=JSON.parse(localStorage.getItem("startedEnvelopes")||"[]");const i=t.includes(this.getStartedKey());if(this.nextSubmits){this.signingProgressMode="completed"}else if(i){this.signingProgressMode="signing"}else{this.signingProgressMode="start"}}isFieldActuallyFilled(e){if(e.type==="radio"&&e.group){const t=this.getRecipientFields().some((t=>t.group===e.group&&t.value==="true"));if(t){return true}}return m(e,this.getRecipientFields())&&(e.type!=="dropdown"||!!e.value)&&(e.type!=="radio"||e.value==="true")&&(e.type!=="checkbox"||e.value==="true")}getNextRequiredField(){const e=this.getSortedFillableFields().filter((e=>e.required&&!this.isFieldActuallyFilled(e)));g(e);if(e.length===0){const e=this.getSortedFillableFields().filter((e=>!this.isFieldActuallyFilled(e)));g(e);if(e.length>0){return this.getNextFieldFromList(e)}return null}return this.getNextFieldFromList(e)}getNextFieldFromList(e){const t=e.findIndex((e=>e.name===this.focusedField));let i=t+1;if(i>=e.length){i=0}return e[i]}handlePrev(){var e;const t=this.getSortedFillableFields();const i=t.findIndex((e=>e.name===this.focusedField));if(i>0){const s=t[i-1];const o=T(s);const n=document.getElementById(o);n===null||n===void 0?void 0:n.scrollIntoView({behavior:"smooth",block:"center"});(e=n===null||n===void 0?void 0:n.focusField)===null||e===void 0?void 0:e.call(n);this.focusedField=s.name}}updateAllFlags(){Object.values(this.renderedPages).forEach((e=>{this.updateFlagsForPage(e)}))}updateFlagsForPage(e){if(!e)return;const t=document.getElementById(e.containerId+"-controls");if(!t)return;const i=t.querySelectorAll(".verdocs-flag-instance");i.forEach((e=>e.remove()));let s=this.getNextRequiredField();const o=this.getRecipientFields().find((e=>e.name===this.focusedField));if(o&&!m(o,this.getRecipientFields())){s=o}if(s&&s.page===e.pageNumber&&s.document_id===e.documentId){const t="fill";let i="FILL";let o=false;switch(s.type){case"signature":i="SIGN";break;case"initial":i="INITIAL";break;case"checkbox":i="CHECK";break;case"radio":i="SELECT";break;case"date":case"dropdown":i="SELECT";break;case"attachment":i="ATTACH";break;case"payment":i="PAY";break}if(!s.required){o=true}D(e,s.y,s.height||F(s.type),{variant:t,label:i,showSkip:o,onSkip:()=>{this.handleNext()},onClick:()=>{var e;const t=T(s);const i=document.getElementById(t);i===null||i===void 0?void 0:i.scrollIntoView({behavior:"smooth",block:"center"});(e=i===null||i===void 0?void 0:i.focusField)===null||e===void 0?void 0:e.call(i)}})}}attachFieldAttributes(e,t,i){if(i.getAttribute("attached")==="1"){return}i.setAttribute("attached","1");i.addEventListener("input",(e=>{if(e.target.type==="radio"||e.target.type==="checkbox"){this.handleFieldChange(t,e).finally((()=>this.checkRecipientFields()))}else{this.checkRecipientFields()}}));i.addEventListener("attached",(async i=>{console.log("[SIGN] onAttached",i.detail,i.target.value);this.showSpinner=true;try{const s=await x(this.endpoint,this.envelopeId,this.roleId,t.name,i.detail);this.updateRecipientFieldValue(t.name,s);this.checkRecipientFields();const o=E("envelope",t,e,{disabled:false,editable:false,draggable:false,done:this.isDone});this.attachFieldAttributes(e,t,o);this.showSpinner=false}catch(i){console.log("Error uploading attachment",i);P("Unable to upload attachment, please try again later",{style:"error"});this.showSpinner=false}}));i.addEventListener("deleted",(async i=>{console.log("[SIGN] onDeleted",i.detail,i.target.value);this.showSpinner=true;try{const i=await b(this.endpoint,this.envelopeId,this.roleId,t.name);console.log("[SIGN] Deleted attachment",i);this.updateRecipientFieldValue(t.name,i);this.checkRecipientFields();const s=E("envelope",t,e,{disabled:false,editable:false,draggable:false,done:this.isDone});this.attachFieldAttributes(e,t,s);this.showSpinner=false}catch(i){console.log("Error uploading attachment",i);P("Unable to upload attachment, please try again later",{style:"error"});this.showSpinner=false}}));i.addEventListener("focusout",(e=>{if(t.type!=="dropdown"&&t.type!=="attachment"&&t.type!=="signature"&&t.type!=="initial"&&t.type!=="checkbox"&&t.type!=="radio"){this.handleFieldChange(t,e).finally((()=>this.checkRecipientFields()))}}));i.addEventListener("fieldChange",(e=>{this.handleFieldChange(t,e).finally((()=>this.checkRecipientFields()))}));i.addEventListener("adopt",(()=>{this.focusedField=t.name;this.adoptingSignature=true}));i.setAttribute("templateid",this.envelope.template_id);i.setAttribute("fieldname",t.name);i.setAttribute("page",e.pageNumber);i.setAttribute("xScale",e.xScale);i.setAttribute("yScale",e.yScale);const s=w(this.recipient);i.setAttribute("initials",y(s));i.setAttribute("name",s);if(this.signatureId){i.setAttribute("signatureid",this.signatureId)}if(this.initialId){i.setAttribute("initialid",this.initialId)}}handlePageRendered(e){const t=e.detail;this.renderedPages[`${t.documentId}:${t.pageNumber}`]=t;const i=this.getSortedDisplayableFields();i.filter((e=>e&&e.document_id===t.documentId&&e.page===t.pageNumber)).forEach(((e,i)=>{const s=E("envelope",e,t,{disabled:false,editable:false,draggable:false,done:this.isDone},i);if(!s){return}if(Array.isArray(s)){s.map((i=>this.attachFieldAttributes(t,e,i)))}else{this.attachFieldAttributes(t,e,s)}}));this.envelope.recipients.filter((e=>e.role_name!==this.recipient.role_name&&(e.status==="invited"||e.status==="opened"||e.status==="pending"))).forEach((()=>{this.getRecipientFields().filter((e=>e.document_id===t.documentId&&e.page===t.pageNumber)).forEach((e=>{const i=E("envelope",e,t,{disabled:true,editable:false,draggable:false,done:this.isDone});if(!i){return}if(Array.isArray(i)){i.map((i=>this.attachFieldAttributes(t,e,i)))}else{this.attachFieldAttributes(t,e,i)}}))}));this.checkRecipientFields();this.updateFlagsForPage(t)}handleAuthenticateSigner(e){console.log("[SIGN] Submitting authentication step",e);k(this.endpoint,e).then((e=>{console.log("[SIGN] Verification successful",e);this.processAuthResponse(e)})).catch((e=>{var t,i,s,o,n,l;console.log("[SIGN] Error submitting authentication step",e);console.log((t=e.response)===null||t===void 0?void 0:t.data);if((o=(s=(i=e.response)===null||i===void 0?void 0:i.data)===null||s===void 0?void 0:s.error)===null||o===void 0?void 0:o.includes("failed")){this.fatalErrorHeader="Recipient Verification Failed";this.fatalErrorMessage="We were unable to verify your identity. The sender has been notified.";this.isDone=true}else{P(((l=(n=e.response)===null||n===void 0?void 0:n.data)===null||l===void 0?void 0:l.error)||"Unable to verify your identity. Please try again.",{style:"error"})}}))}async handleOnDownload(e){var t,i;const{action:s,documentId:o}=e.detail;console.log("[SIGN] Download action selected:",s,o);try{switch(s){case V.certificate:const e=this.envelope.documents.find((e=>e.type==="certificate"));if(e){const t=await S(this.endpoint,e.id);window.open(t,"_blank")}else{P("Certificate not yet available.",{style:"info"})}break;case V.combined:const s=o||((t=this.envelope.documents.find((e=>e.type==="certificate")))===null||t===void 0?void 0:t.id);const n=await N(this.endpoint,s);window.open(n,"_blank");break;case V.document:const l=o||((i=this.envelope.documents.find((e=>e.type==="attachment")))===null||i===void 0?void 0:i.id);if(l){const e=await S(this.endpoint,l);window.open(e,"_blank")}break;case V.zip:const a=await C(this.endpoint,[this.envelopeId]);const r=window.URL.createObjectURL(a.data);const d=document.createElement("a");d.href=r;d.download=`${this.envelope.name}.zip`;document.body.appendChild(d);d.click();d.remove();window.URL.revokeObjectURL(r);break}}catch(e){console.error("Download error",e);P("Unable to complete download request.",{style:"error"})}}render(){var e;if(this.showLoadError){return i(s,null,i("verdocs-ok-dialog",{heading:"Unable to Start Signing",message:`Sorry, your invite code is invalid or has expired. Please check your email for an updated invitation, or contact the sender.`,buttonLabel:"OK",onNext:()=>{this.retrySigningSession()}}))}if(!this.envelope){return i(s,null,i("verdocs-loader",null))}if(this.fatalErrorMessage){return i(s,{class:{agreed:this.agreed}},i("div",{class:"fatal-error"},i("div",{class:"message"},i("div",{class:"header"},this.fatalErrorHeader),i("p",null,this.fatalErrorMessage))))}if(this.delegated){return i(s,{class:{agreed:false}},i("div",{class:"fatal-error"},i("div",{class:"message"},i("div",{class:"header"},"Delegated Signing Request"),i("p",null,"You have delegated signing to another recipient. You will not be able to sign this request again."))))}if(this.isDone){return i(s,{class:{agreed:this.agreed}},i("verdocs-view",{endpoint:this.endpoint,envelopeId:this.envelopeId,onSdkError:e=>{var t;return(t=this.sdkError)===null||t===void 0?void 0:t.emit(e.detail)}}),this.showDone&&i("verdocs-ok-dialog",{heading:"You're Done!",message:`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`,onNext:e=>{e.preventDefault();e.stopPropagation();this.handleDoneDialogDismiss()},onExit:()=>this.handleDoneDialogDismiss()}),this.submitting&&i("div",{class:"loading-indicator"},i("verdocs-loader",null)))}if(this.delegating){return i(s,{class:"agreed"},i("div",{class:"document",style:{paddingTop:"15px"}},i("img",{src:"https://public-assets.verdocs.com/loading-placeholder.png",style:{width:"612px",height:"792px",boxShadow:"0 0 10px 5px #0000000f",marginTop:"15px"},alt:"Placeholder page"})),i("verdocs-delegate-dialog",{endpoint:this.endpoint,envelope:this.envelope,onExit:()=>this.delegating=false,onNext:e=>{I(this.endpoint,this.envelopeId,this.roleId,e.detail).then((e=>{P("Delegation request submitted.",{style:"success"});console.log("[SIGN] Delegated successfully",e);this.delegated=true;this.delegating=false})).catch((e=>{console.log("[SIGN] Error delegating request",e);P("Unable to process delegation request. Please try again later.",{style:"error"})}))}}))}if(this.declining){return i(s,{class:"agreed"},i("div",{class:"document",style:{paddingTop:"15px"}},i("img",{src:"https://public-assets.verdocs.com/loading-placeholder.png",style:{width:"612px",height:"792px",boxShadow:"0 0 10px 5px #0000000f",marginTop:"15px"},alt:"Placeholder page"})),i("verdocs-ok-dialog",{heading:"Decline Signing Request",message:`If you decline to sign this request, you will not be able to sign again in the future. The envelope sender will be notified.`,buttonLabel:"OK",showCancel:true,onExit:()=>this.declining=false,onNext:()=>{z(this.endpoint,this.envelopeId,this.roleId).then((e=>{console.log("[SIGN] Decline result",e);this.declining=false;this.fatalErrorHeader="Declined";this.fatalErrorMessage="You have declined to sign this request. The sender has been notified."})).catch((e=>{console.warn("[SIGN] Error declining signing session",e);P("Unable to decline, please try again later",{style:"error"})}))}}))}if(!this.agreed){return i(s,{class:"agreed"},i("div",{class:"document",style:{paddingTop:"15px"}},i("img",{src:"https://public-assets.verdocs.com/loading-placeholder.png",style:{width:"612px",height:"792px",boxShadow:"0 0 10px 5px #0000000f",marginTop:"15px"},alt:"Placeholder page"})),i("verdocs-disclosure-dialog",{disclosures:this.disclosures,delegator:this.recipient.delegator,onDelegate:()=>this.delegating=true,onDecline:()=>this.declining=true,onAccept:()=>this.handleClickAgree()}))}if(this.authStep==="passcode"){return i("verdocs-passcode-dialog",{endpoint:this.endpoint,onNext:e=>this.processAuthResponse(e.detail.response)})}if(this.authStep==="sms"){return i("verdocs-otp-dialog",{endpoint:this.endpoint,method:"sms",onNext:async e=>{this.processAuthResponse(e.detail.response)}})}if(this.authStep==="email"){return i("verdocs-otp-dialog",{endpoint:this.endpoint,method:"email",onNext:async e=>{this.processAuthResponse(e.detail.response)}})}if(this.authStep==="kba"&&!this.authMethodStates.kba){return i(s,{class:"kba"},i("div",{id:"verdocs-sign-header"},i("div",{class:"inner"},i("img",{src:"https://verdocs.com/assets/white-logo.svg",alt:"Verdocs Logo",class:"logo"}),i("div",{class:"title"},this.envelope.name))),i("div",{class:"document",style:{paddingTop:"15px"}},i("img",{src:"https://public-assets.verdocs.com/loading-placeholder.png",style:{width:"612px",height:"792px",boxShadow:"0 0 10px 5px #0000000f",marginTop:"15px"},alt:"Placeholder page"})),i("div",{class:"cover"},i("div",{class:"kba"},i("verdocs-kba-dialog",{mode:"identity",helptitle:"Document requires identity verification",helptext:"Please complete your contact details to proceed.",recipient:this.recipient,onNext:async e=>{const t=e.detail;this.handleAuthenticateSigner({auth_method:"kba",first_name:t.first_name,last_name:t.last_name,address:t.address,city:t.city,state:t.state,zip:t.zip,dob:t.dob})}}))))}if(this.authStep==="kba"&&this.authMethodStates.kba==="questions"){const e=this.kbaChoices.length;const t=this.kbaQuestions[e];return i(s,{class:"kba"},i("div",{id:"verdocs-sign-header"},i("div",{class:"inner"},i("img",{src:"https://verdocs.com/assets/white-logo.svg",alt:"Verdocs Logo",class:"logo"}),i("div",{class:"title"},this.envelope.name))),i("div",{class:"document",style:{paddingTop:"15px"}},i("img",{src:"https://public-assets.verdocs.com/loading-placeholder.png",style:{width:"612px",height:"792px",boxShadow:"0 0 10px 5px #0000000f",marginTop:"15px"},alt:"Placeholder page"})),i("div",{class:"cover"},i("div",{class:"kba"},this.kbaChoices.length>=this.kbaQuestions.length?i("verdocs-spinner",null):i("verdocs-kba-dialog",{mode:"choice",helptitle:"Your identity requires additional verification",helptext:(t===null||t===void 0?void 0:t.prompt)||"Please select one of the options below.",choices:(t===null||t===void 0?void 0:t.answer)||["Skip Question"],step:e+1,steps:this.kbaQuestions.length,onNext:async e=>{const t=e.detail;this.kbaChoices=[...this.kbaChoices,t];if(this.kbaChoices.length>=this.kbaQuestions.length){const e=this.kbaQuestions.map(((e,t)=>({type:e.type,answer:this.kbaChoices[t]})));console.log("Submitting KBA responses",this.kbaChoices,e);this.handleAuthenticateSigner({auth_method:"kba",responses:e})}}}))))}const t=[{id:"later",label:"Finish Later"},{id:"decline",label:"Decline to Sign"},{id:"print",label:"Print Without Signing"},{id:"download",label:"Download"}];const n=[{id:"print",label:"Print"},{id:"download",label:"Download"}];if(this.recipient.delegator){t.unshift({id:"delegate",label:"Delegate"})}const l=this.getRecipientFields().filter((e=>!f(e,this.getRecipientFields())));l.length>0?console.log("[SIGN] Invalid fields remaining",l.map((e=>e.name))):console.log("[SIGN] All field valid");const a=this.envelope.documents.reduce(((e,t)=>e+t.pages),0);const r=G(1,a).map((e=>({label:e.toString(),value:e.toString()})));let d=0;return i(s,null,this.toolbarStyle==="menu"&&i("div",{id:"verdocs-sign-header"},i("div",{class:"inner"},i("div",{class:"title"},this.envelope.name),i("div",{style:{flex:"1"}}),!this.finishLater&&!this.submitted&&(()=>{const e=this.getRequiredTotalCount()-this.getRequiredFilledCount();const t=this.getOptionalUnfilledCount();if(e>0){return i("span",{class:"remaining-count"},e," required field",e===1?"":"s"," left")}return i("span",{class:"remaining-count"},i("span",{class:"check-icon",innerHTML:M}),"All required fields complete",t>0&&i("div",{class:"review-optional"},i("span",{class:"separator"},"| "),i("span",{onClick:()=>this.handleNextOptional()},"Review ",t," optional")))})(),!this.finishLater&&!this.submitted&&i("verdocs-button",{size:"xsmall",label:this.nextButtonLabel==="Next"?"Next Required":this.nextButtonLabel,disabled:!this.agreed||this.submitting||this.submitted,onClick:()=>this.handleNext()}),i("div",{class:{"icon-button":true,minus:true,disabled:this.zoomLevel==="normal",magnify:true},innerHTML:O,onClick:()=>this.handleZoomOut()}),i("div",{class:{"icon-button":true,plus:true,disabled:this.zoomLevel==="zoom2",magnify:true},innerHTML:U,onClick:()=>this.handleZoomIn()}),i("verdocs-dropdown",{options:!this.isDone&&!this.finishLater&&!this.submitted?t:n,onOptionSelected:e=>this.handleOptionSelected(e)}))),this.toolbarStyle==="controls"&&i("div",{class:"controls-toolbar"},i("div",{class:"left-controls"},i("div",{class:"title"},this.envelope.name)),i("div",{class:"center-controls"},i("span",{class:"label"},"Page"),i("div",{class:"select-wrapper"},i("verdocs-select-input",{options:r,value:this.pageNumber.toString(),onInput:e=>this.handlePageSelect(e)})),i("span",{class:"count"},"of ",a)),i("div",{class:"right-controls"},!this.submitted&&i("verdocs-button",{class:"mobile-next-button",label:this.nextButtonLabel,size:"xsmall",disabled:!this.agreed||this.submitting,onClick:()=>this.handleNext()}),i("div",{class:{"icon-button":true,minus:true,disabled:this.zoomLevel==="normal"},innerHTML:O,onClick:()=>this.handleZoomOut()}),i("div",{class:{"icon-button":true,plus:true,disabled:this.zoomLevel==="zoom2"},innerHTML:U,onClick:()=>this.handleZoomIn()}),i("div",{class:"icon-button download",innerHTML:$,onClick:()=>this.handleOptionSelected({detail:{id:"download"}})}),i("div",{class:"icon-button print",innerHTML:Z,onClick:()=>this.handleOptionSelected({detail:{id:"print"}})}))),i("div",{class:`document signed-document-container zoom-${this.zoomLevel}`},(this.envelope.documents||[]).map((e=>{const t=G(1,e.pages);return i(o,null,this.envelope.documents.length>1&&i("div",{class:"document-separator"},i("div",{innerHTML:q}),i("span",null,e.name)),t.map((t=>{var s;const o=((s=e.page_sizes)===null||s===void 0?void 0:s[t])||{width:612,height:792};d++;return i("verdocs-envelope-document-page",{id:`page-${d}`,envelopeId:this.envelopeId,documentId:e.id,endpoint:this.endpoint,virtualWidth:o.width,virtualHeight:o.height,pageNumber:t,onPageRendered:e=>this.handlePageRendered(e),type:"filled",layers:[{name:"page",type:"canvas"},{name:"controls",type:"div"}]})})))}))),this.showFinishLater&&i("verdocs-ok-dialog",{heading:"You've saved your document to finish later.",message:`To complete the ${this.documentsSingularPlural}, use the link in the original email notification inviting you to review and finish the document.`,onNext:()=>{this.isDone=true;this.showFinishLater=false}}),this.showDone&&i("verdocs-ok-dialog",{heading:"You're Done!",message:`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`,onNext:()=>{this.handleDoneDialogDismiss()},onExit:()=>this.handleDoneDialogDismiss()}),this.adoptingSignature&&i("verdocs-adopt-signature-dialog",{name:w(this.recipient),nameLocked:!!((e=this.recipient)===null||e===void 0?void 0:e.name_locked),onNext:async e=>{console.log("[SIGN] Adopting signature/initials block",e.detail);this.showSpinner=true;const t=await(await fetch(e.detail.signature)).blob();const i=await(await fetch(e.detail.initials)).blob();const s=await p(this.endpoint,"signature",t);console.log("[SIGN] Created signature",s);this.signatureId=s.id;const o=await u(this.endpoint,"initial",i);console.log("[SIGN] Created initials",o);this.initialId=o.id;this.showSpinner=false;this.adoptingSignature=false;this.markEnvelopeStarted();if(this.focusedField){const e=this.getRecipientFields().find((e=>e.name===this.focusedField));if(e){const t=e.type==="signature"?this.signatureId:e.type==="initial"?this.initialId:null;if(t){const i=await h(this.endpoint,this.envelopeId,this.roleId,e.name,t,false);this.updateRecipientFieldValue(e.name,i)}}this.focusedField=""}const n=this.el.querySelectorAll("verdocs-field-signature");n.forEach((e=>e.setAttribute("signatureid",this.signatureId)));const l=this.el.querySelectorAll("verdocs-field-initial");l.forEach((e=>e.setAttribute("initialid",this.initialId)));this.checkRecipientFields()},onExit:()=>this.adoptingSignature=false}),(this.submitting||this.showSpinner)&&i("verdocs-portal",null,i("div",{class:"spinner-overlay"},i("verdocs-spinner",null))),this.showDownloadDialog&&i("verdocs-download-dialog",{signed:this.envelope.signed,polling:this.polling,documents:this.envelope.documents,onExit:()=>{this.showDownloadDialog=false;this.stopPolling()},onDownload:e=>this.handleOnDownload(e)}),!this.loading&&!this.isDone&&!this.submitted&&i("verdocs-sign-footer",{endpoint:this.endpoint,envelopeId:this.envelopeId,isDone:this.isDone,onAskQuestion:e=>{L(this.endpoint,this.envelopeId,this.roleId,{question:e.detail.question}).then((()=>P("Your question has been sent.",{style:"success"}))).catch((e=>{console.log("Error asking question",e);P("Unable to send question, please try again later.",{style:"error"})}))},onDecline:()=>this.declining=true,onFinishLater:()=>this.showFinishLater=true}))}get el(){return n(this)}};Y.style=j();export{Y as verdocs_sign};
2
- //# sourceMappingURL=p-2a6a3bc6.entry.js.map