@verdocs/web-sdk 6.10.5 → 6.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Environment-CUCX3aWX.js +17 -0
- package/dist/cjs/Environment-CUCX3aWX.js.map +1 -0
- package/dist/cjs/{interact.min-CGi6ndGs.js → interact.min-CPZxI9Hv.js} +4 -4
- package/dist/cjs/interact.min-CPZxI9Hv.js.map +1 -0
- package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +18 -11
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-preview_6.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-sign.cjs.entry.js +5 -0
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-status-indicator.cjs.entry.js +135 -85
- package/dist/cjs/verdocs-status-indicator.cjs.entry.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +5 -0
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +18 -11
- package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
- package/dist/collection/utils/Environment.js +8 -1
- package/dist/collection/utils/Environment.js.map +1 -1
- package/dist/components/{p-v9WkIq1Z.js → p-B6aUlIQe.js} +2 -2
- package/dist/components/{p-BUKCOnKs.js → p-BELGzhZw.js} +2 -2
- package/dist/components/{p-C1VW_3fv.js → p-BQUZjuoP.js} +2 -2
- package/dist/components/p-C1iHkDUH.js +2 -0
- package/dist/components/p-C1iHkDUH.js.map +1 -0
- package/dist/components/{p-CC7jlZnx.js → p-C43B3SP_.js} +2 -2
- package/dist/components/{p-C4ygd3v_.js → p-COaijEV0.js} +2 -2
- package/dist/components/p-COaijEV0.js.map +1 -0
- package/dist/components/{p-DEhaAbKn.js → p-CYvB5bYX.js} +2 -2
- package/dist/components/{p-Bi94seCl.js → p-D-TexkaT.js} +2 -2
- package/dist/components/{p-DP_N7u8w.js → p-D1cSgqut.js} +2 -2
- package/dist/components/{p-B3nCB2u5.js → p-D7oMWhqM.js} +2 -2
- package/dist/components/p-DCZz2B7h.js +2 -0
- package/dist/components/p-DCZz2B7h.js.map +1 -0
- package/dist/components/{p-CHzNcBIz.js → p-DKKsPZnz.js} +2 -2
- package/dist/components/{p-BA3SxsdQ.js → p-DZa0rMk2.js} +2 -2
- package/dist/components/{p-CqVkL8_m.js → p-DfIxVX8-.js} +2 -2
- package/dist/components/{p-C_mtaGHG.js → p-DiYuPnJJ.js} +2 -2
- package/dist/components/{p-RvR1j0oO.js → p-DiwfOWXt.js} +2 -2
- package/dist/components/p-Dy2CRiH8.js +2 -0
- package/dist/components/p-Dy2CRiH8.js.map +1 -0
- package/dist/components/{p-5fVPVL_Z.js → p-K_PKw6bs.js} +2 -2
- package/dist/components/{p-ohuuh9ZE.js → p-bPe0_Dsn.js} +2 -2
- package/dist/components/{p-B3UP88BP.js → p-i3o08M2d.js} +2 -2
- package/dist/components/{p-DnqXAqmP.js → p-zTcSNwsp.js} +2 -2
- package/dist/components/verdocs-build.js +1 -1
- package/dist/components/verdocs-contact-picker.js +1 -1
- package/dist/components/verdocs-delegate-dialog.js +1 -1
- package/dist/components/verdocs-envelopes-list.js +1 -1
- package/dist/components/verdocs-field-attachment.js +1 -1
- package/dist/components/verdocs-field-checkbox.js +1 -1
- package/dist/components/verdocs-field-date.js +1 -1
- package/dist/components/verdocs-field-dropdown.js +1 -1
- package/dist/components/verdocs-field-initial.js +1 -1
- package/dist/components/verdocs-field-payment.js +1 -1
- package/dist/components/verdocs-field-radio.js +1 -1
- package/dist/components/verdocs-field-signature.js +1 -1
- package/dist/components/verdocs-field-textarea.js +1 -1
- package/dist/components/verdocs-field-textbox.js +1 -1
- package/dist/components/verdocs-field-timestamp.js +1 -1
- package/dist/components/verdocs-otp-dialog.js +1 -1
- package/dist/components/verdocs-passcode-dialog.js +1 -1
- package/dist/components/verdocs-preview.js +1 -1
- package/dist/components/verdocs-send.js +1 -1
- package/dist/components/verdocs-sign.js +1 -1
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-status-indicator.js +1 -1
- package/dist/components/verdocs-template-document-page.js +1 -1
- package/dist/components/verdocs-template-fields.js +1 -1
- package/dist/esm/Environment-Dy2CRiH8.js +15 -0
- package/dist/esm/Environment-Dy2CRiH8.js.map +1 -0
- package/dist/esm/{interact.min-BO_a_7pQ.js → interact.min-Bf1WXbdg.js} +4 -4
- package/dist/esm/interact.min-Bf1WXbdg.js.map +1 -0
- package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +1 -1
- package/dist/esm/verdocs-contact-picker.entry.js +18 -11
- package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm/verdocs-field-attachment_11.entry.js +1 -1
- package/dist/esm/verdocs-field-payment.entry.js +1 -1
- package/dist/esm/verdocs-preview_6.entry.js +2 -2
- package/dist/esm/verdocs-sign.entry.js +5 -0
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-status-indicator.entry.js +135 -85
- package/dist/esm/verdocs-status-indicator.entry.js.map +1 -1
- package/dist/esm-es5/Environment-Dy2CRiH8.js +2 -0
- package/dist/esm-es5/Environment-Dy2CRiH8.js.map +1 -0
- package/dist/esm-es5/{interact.min-BO_a_7pQ.js → interact.min-Bf1WXbdg.js} +2 -2
- package/dist/esm-es5/interact.min-Bf1WXbdg.js.map +1 -0
- package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
- package/dist/esm-es5/verdocs-status-indicator.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-addd303e.system.entry.js → p-006f051b.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-006f051b.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-9c481477.entry.js → p-10d47bbd.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-4471c1b4.entry.js → p-1df29abb.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-255e1915.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-255e1915.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-46e52384.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-46e52384.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-d06d9cfd.entry.js → p-4aee15e6.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-5f58b4cd.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-5f58b4cd.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-b3ac740e.system.entry.js → p-62464041.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-4f9bd0bd.system.entry.js → p-6e8ce989.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ef1083c6.entry.js → p-734c8a8b.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ef1083c6.entry.js.map → p-734c8a8b.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-BdZ5Ghsa.system.js +1 -1
- package/dist/verdocs-web-sdk/p-C96xjMgt.system.js +2 -0
- package/dist/verdocs-web-sdk/p-C96xjMgt.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-C4ygd3v_.js → p-COaijEV0.js} +2 -2
- package/dist/verdocs-web-sdk/p-COaijEV0.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-DQMNv-mt.system.js → p-CQwimGbQ.system.js} +2 -2
- package/dist/{cjs/interact.min-CGi6ndGs.js.map → verdocs-web-sdk/p-CQwimGbQ.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-Dy2CRiH8.js +2 -0
- package/dist/verdocs-web-sdk/p-Dy2CRiH8.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-1273627b.system.entry.js → p-c3527f3e.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-18ce7226.system.entry.js → p-c86111fd.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-18ce7226.system.entry.js.map → p-c86111fd.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-5c2025ca.entry.js → p-d95705c6.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-6af0110a.system.entry.js → p-e87a29a3.system.entry.js} +3 -3
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +4 -4
- package/dist/cjs/Environment-CP-XG6Lt.js +0 -13
- package/dist/cjs/Environment-CP-XG6Lt.js.map +0 -1
- package/dist/components/p-29evahil.js +0 -2
- package/dist/components/p-29evahil.js.map +0 -1
- package/dist/components/p-C4ygd3v_.js.map +0 -1
- package/dist/components/p-CA8hWmuL.js +0 -2
- package/dist/components/p-CA8hWmuL.js.map +0 -1
- package/dist/components/p-DtHLJ-XO.js +0 -2
- package/dist/components/p-DtHLJ-XO.js.map +0 -1
- package/dist/esm/Environment-29evahil.js +0 -11
- package/dist/esm/Environment-29evahil.js.map +0 -1
- package/dist/esm/interact.min-BO_a_7pQ.js.map +0 -1
- package/dist/esm-es5/Environment-29evahil.js +0 -2
- package/dist/esm-es5/Environment-29evahil.js.map +0 -1
- package/dist/esm-es5/interact.min-BO_a_7pQ.js.map +0 -1
- package/dist/verdocs-web-sdk/p-0eaeb487.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-0eaeb487.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-1a06dffb.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-1a06dffb.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2636ac4d.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-2636ac4d.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-29evahil.js +0 -2
- package/dist/verdocs-web-sdk/p-29evahil.js.map +0 -1
- package/dist/verdocs-web-sdk/p-C4ygd3v_.js.map +0 -1
- package/dist/verdocs-web-sdk/p-CHg64SCg.system.js +0 -2
- package/dist/verdocs-web-sdk/p-CHg64SCg.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-DQMNv-mt.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-addd303e.system.entry.js.map +0 -1
- /package/dist/components/{p-v9WkIq1Z.js.map → p-B6aUlIQe.js.map} +0 -0
- /package/dist/components/{p-BUKCOnKs.js.map → p-BELGzhZw.js.map} +0 -0
- /package/dist/components/{p-C1VW_3fv.js.map → p-BQUZjuoP.js.map} +0 -0
- /package/dist/components/{p-CC7jlZnx.js.map → p-C43B3SP_.js.map} +0 -0
- /package/dist/components/{p-DEhaAbKn.js.map → p-CYvB5bYX.js.map} +0 -0
- /package/dist/components/{p-Bi94seCl.js.map → p-D-TexkaT.js.map} +0 -0
- /package/dist/components/{p-DP_N7u8w.js.map → p-D1cSgqut.js.map} +0 -0
- /package/dist/components/{p-B3nCB2u5.js.map → p-D7oMWhqM.js.map} +0 -0
- /package/dist/components/{p-CHzNcBIz.js.map → p-DKKsPZnz.js.map} +0 -0
- /package/dist/components/{p-BA3SxsdQ.js.map → p-DZa0rMk2.js.map} +0 -0
- /package/dist/components/{p-CqVkL8_m.js.map → p-DfIxVX8-.js.map} +0 -0
- /package/dist/components/{p-C_mtaGHG.js.map → p-DiYuPnJJ.js.map} +0 -0
- /package/dist/components/{p-RvR1j0oO.js.map → p-DiwfOWXt.js.map} +0 -0
- /package/dist/components/{p-5fVPVL_Z.js.map → p-K_PKw6bs.js.map} +0 -0
- /package/dist/components/{p-ohuuh9ZE.js.map → p-bPe0_Dsn.js.map} +0 -0
- /package/dist/components/{p-B3UP88BP.js.map → p-i3o08M2d.js.map} +0 -0
- /package/dist/components/{p-DnqXAqmP.js.map → p-zTcSNwsp.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-9c481477.entry.js.map → p-10d47bbd.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-4471c1b4.entry.js.map → p-1df29abb.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-d06d9cfd.entry.js.map → p-4aee15e6.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-b3ac740e.system.entry.js.map → p-62464041.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-4f9bd0bd.system.entry.js.map → p-6e8ce989.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-1273627b.system.entry.js.map → p-c3527f3e.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-5c2025ca.entry.js.map → p-d95705c6.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-6af0110a.system.entry.js.map → p-e87a29a3.system.entry.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as s,h as t,F as i}from"./p-CjTHbolG.js";import{VerdocsEndpoint as o,formatFullName as a,getActiveEntitlements as c,isValidEmail as d}from"@verdocs/js-sdk";import{c as l}from"./p-CGsVCy75.js";import"./p-BglCURB-.js";import"./p-CIxfEdV7.js";const r=()=>`verdocs-contact-picker{display:block;border:1px solid #ebebeb;background-color:#ffffff;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);-webkit-box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1);box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1)}verdocs-contact-picker form{gap:12px;width:300px;padding:12px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#f5f5fa}verdocs-contact-picker form .row{gap:8px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:start;align-items:flex-start}verdocs-contact-picker form .row .option{gap:4px;display:-ms-flexbox;display:flex;padding:5px 8px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;text-wrap:nowrap}verdocs-contact-picker form .names-row{gap:8px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .names-row>input{font-size:14px;width:88px}verdocs-contact-picker form .pin-code{gap:8px;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .pin-code>input{-ms-flex:0 0 197px;flex:0 0 197px;font-size:14px}verdocs-contact-picker form .address{gap:8px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .address>input{-ms-flex:1;flex:1;font-size:14px}verdocs-contact-picker form .zip-code{gap:8px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .zip-code>input{-ms-flex:1;flex:1;font-size:14px}verdocs-contact-picker form label{display:-ms-flexbox;display:flex;-ms-flex:0 0 80px;flex:0 0 80px;font-size:13px;font-weight:500;color:#5c6575}verdocs-contact-picker form .row.message textarea{width:100%;padding:5px 7px;border-radius:4px;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-contact-picker form input{-ms-flex:1;flex:1;padding:6px;font-size:14px;border-radius:3px;border:1px solid rgba(112, 122, 229, 0.3725490196)}verdocs-contact-picker form input:focus{outline:none}verdocs-contact-picker .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:6px;-moz-column-gap:6px;column-gap:6px;margin-top:16px;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker .buttons .flex-fill{-ms-flex:1;flex:1}verdocs-contact-picker ::-webkit-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::-moz-placeholder{color:#aaaaaa}verdocs-contact-picker :-ms-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::-ms-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::placeholder{color:#aaaaaa}verdocs-contact-picker [data-lastpass-icon-root]{display:none !important}#verdocs-contact-picker-suggestions .dropdown{max-height:225px;overflow-y:scroll;background:#ffffff;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);-webkit-box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1);box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1)}#verdocs-contact-picker-suggestions .dropdown .suggestion{display:-ms-flexbox;display:flex;padding:6px 12px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}#verdocs-contact-picker-suggestions .dropdown .suggestion svg{width:32px;height:32px}#verdocs-contact-picker-suggestions .dropdown .suggestion .avatar{width:32px;height:32px;-ms-flex:0 0 32px;flex:0 0 32px;margin-right:8px;border-radius:100%}#verdocs-contact-picker-suggestions .dropdown .suggestion .details{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}#verdocs-contact-picker-suggestions .dropdown .suggestion .name{font-size:16px;font-weight:500;margin-bottom:3px;color:#092c4c}#verdocs-contact-picker-suggestions .dropdown .suggestion .destination{font-size:14px;margin-bottom:3px;color:#33364b}#verdocs-contact-picker-suggestions .dropdown .suggestion:hover{background:#eee;cursor:pointer}`;const n=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-user"><path d="M15 13a3 3 0 1 0-6 0"/><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"/><circle cx="12" cy="8" r="2"/></svg>`;const f=class{constructor(t){e(this,t);this.searchContacts=s(this,"searchContacts");this.exit=s(this,"exit");this.next=s(this,"next");this.endpoint=o.getDefault();this.templateRole=null;this.contactSuggestions=[];this.showSuggestions=false;this.showMessage=false;this.delegator=false;this.name_locked=false;this.auth_methods=[];this.passcode="";this.firstNameFieldId=`verdocs-contact-picker-firstname-${Math.random().toString(36).substring(2,11)}`;this.lastNameFieldId=`verdocs-contact-picker-lastname-${Math.random().toString(36).substring(2,11)}`;this.emailFieldId=`verdocs-contact-picker-email-${Math.random().toString(36).substring(2,11)}`;this.phoneFieldId=`verdocs-contact-picker-phone-${Math.random().toString(36).substring(2,11)}`;this.activeEntitlements={};this.authMethodsLoading=true}async componentWillLoad(){this.endpoint.loadSession();if(this.templateRole){const e=a(this.templateRole);const s=e.split(" ");const t=this.templateRole.first_name||s.shift()||"";const i=this.templateRole.last_name||s.join(" ")||"";this.first_name=t;this.last_name=i;this.email=this.templateRole.email||"";this.phone=this.templateRole.phone||"";this.delegator=this.templateRole.delegator||false;this.name_locked=this.delegator?false:this.templateRole.name_locked||false;this.message=this.templateRole.message||"";this.showMessage=this.message!=="";this.auth_methods=this.templateRole.auth_methods||[];this.passcode=this.templateRole.passcode||""}this.activeEntitlements=await c(this.endpoint).catch((e=>{console.warn("[CONTACT PICKER] Unable to load entitlements, continuing with base auth methods only",e);return{}}));this.authMethodsLoading=false;console.log("[CONTACT PICKER] Loaded entitlements",this.activeEntitlements)}handleFirstNameChange(e){var s;this.first_name=e.target.value;(s=this.searchContacts)===null||s===void 0?void 0:s.emit({query:this.first_name})}handleLastNameChange(e){var s;this.last_name=e.target.value;(s=this.searchContacts)===null||s===void 0?void 0:s.emit({query:this.last_name})}handleCancel(e){var s;e.stopPropagation();this.showSuggestions=false;(s=this.exit)===null||s===void 0?void 0:s.emit()}handleSubmit(e){var s;e.stopPropagation();this.showSuggestions=false;(s=this.next)===null||s===void 0?void 0:s.emit({first_name:this.first_name,last_name:this.last_name,email:this.email,phone:this.phone,message:this.message,delegator:this.delegator,name_locked:this.name_locked,auth_methods:this.auth_methods,passcode:this.passcode,address:this.address,zip:this.zip})}handleSelectSuggestion(e,s){e.stopPropagation();this.first_name=s.first_name;this.last_name=s.last_name;this.email=s.email;this.phone=s.phone;this.showSuggestions=false}render(){const e=this.first_name&&this.last_name&&d(this.email);const s=!this.auth_methods.length||this.auth_methods.includes("passcode")&&!!this.passcode||this.auth_methods.includes("kba")&&!!this.first_name&&!!this.last_name||this.auth_methods.includes("email")&&!!this.email||this.auth_methods.includes("sms")&&!!this.phone;const o=e&&s;const c=!!this.activeEntitlements.sms_auth;const r=[];r.push({label:"Passcode",value:"passcode"});r.push({label:"Email",value:"email"});if(c){r.push({label:"SMS (One-Time Code)",value:"sms"})}if(!!this.activeEntitlements.kba_auth){r.push({label:"Knowledge-Based (KBA)",value:"kba"})}if(!!this.activeEntitlements.id_auth){r.push({label:"ID Check",value:"id"})}return t("form",{key:"70e2a9e4eb9e9da4bd9f491648d81fd30f9a34a6",onSubmit:e=>e.preventDefault(),autocomplete:"off"},t("div",{key:"9134b3e8bcd2c59f8773ad3db7bdd04d52d9cbf7",class:"row"},t("label",{key:"455c784b89b96afddb46dcde9bd760e3b36c890d",htmlFor:this.firstNameFieldId},"Name:"),t("div",{key:"802e5786743df37c017f6aab4061b01db4207988",class:"names-row"},t("input",{key:"5ee405fd8487c8f2539ede7ccf26e76bb96c3932",id:this.firstNameFieldId,name:this.firstNameFieldId,type:"text","data-lpignore":"true",autocomplete:"blocked","aria-autocomplete":"none",value:this.first_name,placeholder:"First...",onFocus:()=>{setTimeout((()=>{var e;this.showSuggestions=((e=this.contactSuggestions)===null||e===void 0?void 0:e.length)>0}),100)},onInput:e=>this.handleFirstNameChange(e)}),t("input",{key:"2de6301b850c7d0986b0418bbb737b0f9e04849f",id:this.lastNameFieldId,name:this.lastNameFieldId,type:"text","data-lpignore":"true",autocomplete:"blocked","aria-autocomplete":"none",value:this.last_name,placeholder:"Last...",onFocus:()=>{setTimeout((()=>{var e;this.showSuggestions=((e=this.contactSuggestions)===null||e===void 0?void 0:e.length)>0}),100)},onInput:e=>this.handleLastNameChange(e)})),this.showSuggestions&&t("verdocs-portal",{key:"39c6ccb8a231fe9e01fbd99aebc3e7625dfeef17",anchor:this.firstNameFieldId,onClickAway:()=>{this.showSuggestions=false;document.querySelectorAll(`.verdocs-portal-wrapper`).forEach((e=>e.remove()))},id:"verdocs-contact-picker-suggestions"},t("div",{key:"bbabbff5428faeb5cef999f422d441d3e66fdf62",class:"dropdown"},this.contactSuggestions.filter((e=>{var s;return!this.first_name||((s=e.first_name)===null||s===void 0?void 0:s.toLowerCase().includes(this.first_name.toLowerCase()))})).map((e=>{var s;return t("div",{key:(s=e.id)!==null&&s!==void 0?s:e.email,class:"suggestion",onClick:s=>this.handleSelectSuggestion(s,e)},e.picture?t("img",{alt:"Avatar",class:"avatar",src:e.picture}):t("div",{class:"avatar",innerHTML:n}),t("div",{class:"details"},t("div",{class:"name"},a(e)),e.email&&t("div",{class:"destination"},e.email),e.phone&&t("div",{class:"destination"},e.phone)))}))))),t("div",{key:"31c843f59d029535c1006c682f76d8b18f885dc3",class:"row"},t("label",{key:"540a430d827ec0b44fc2d56d4f2cb5938d663236",htmlFor:this.emailFieldId},"Email:"),t("input",{key:"055b0ecaee8f361a4f222cbaeedcdcfbf536a5cb",id:this.emailFieldId,name:this.emailFieldId,type:"text","data-lpignore":"true",autoComplete:"blocked","aria-autocomplete":"none",value:this.email,placeholder:"Invite/verify via email...",onFocus:()=>this.showSuggestions=false,onInput:e=>this.email=e.target.value})),c&&t("div",{key:"b9c6dd3118c6eba736add88b35e68ff79715e44d",class:"row"},t("label",{key:"ff687e318625a8cde98b208bf72b111d48659acc",htmlFor:this.phoneFieldId},"Phone:"),t("input",{key:"3c6f09760be62cedde15b43a1d34bbd8c2960600",id:this.phoneFieldId,name:this.phoneFieldId,type:"text","data-lpignore":"true",autoComplete:"blocked","aria-autocomplete":"none",value:this.phone,placeholder:"Invite/verify via SMS...",onFocus:()=>this.showSuggestions=false,onInput:e=>{this.phone=l(e.target.value)}})),t(i,{key:"2b652dbfb48a4b0360c2b6e536158492ef06125b"},r.length>0&&t("div",{key:"589c42562ec9e834680969803d747f6e94d00ec2",class:"row pin-code"},t("label",{key:"189c3562f5e0ed7599a816d0300b5fe3c96741cb"},"Verification Methods:"),this.authMethodsLoading?t("verdocs-spinner",{size:10,mode:"dark",style:{margin:"auto"}}):t("div",null,r.map(((e,s)=>t("div",{class:"option"},t("verdocs-checkbox",{size:"small",id:`verdocs-multi-select-opt-${s}`,value:e.value,checked:this.auth_methods.includes(e.value),onInput:s=>{if(s.target.checked){this.auth_methods=[...this.auth_methods,e.value]}else{this.auth_methods=this.auth_methods.filter((s=>s!==e.value))}}}),t("label",{htmlFor:`verdocs-multi-select-option-${s}`},e.label)))))),this.auth_methods.includes("passcode")&&t("div",{key:"6e12581d825a0c8089e20015d1d96fb6a182cdb5",class:"row pin-code"},t("label",{key:"e728bc75adcf8f8a322628c1a38f612d3dd2d2dc",htmlFor:this.phoneFieldId},"Passcode:"),t("input",{key:"59afa58c6563d4fa9a1cb7e65409370fb685d1db",id:"verdocs-passcode",name:"verdocs-passcode",type:"text","data-lpignore":"true",autocomplete:"blocked","aria-autocomplete":"none",value:this.passcode,placeholder:"4-8 digits recommended...",onFocus:()=>this.showSuggestions=false,onInput:e=>this.passcode=e.target.value}))),t("div",{key:"eca3f9921286dba2e5d3ba02f0b886e3d179a23f",class:"row pin-code"},t("label",{key:"04e26414864324205e2ee71173aac15b46350b7e",style:{marginTop:"6px"}},"Options:"),t("div",{key:"f8df70196098a3462df02933d7d7c51cac5c856b"},t("div",{key:"09f4d4f88a355d19ae560203020c9639fe88280e",class:"option"},t("verdocs-checkbox",{key:"e71d71be949fc96c1c074dcbb58ff121c4c3fd05",size:"small",id:"verdocs-delegator",checked:this.delegator,disabled:this.name_locked,onInput:e=>{this.delegator=e.target.checked;if(this.delegator)this.name_locked=false}}),t("label",{key:"b83381a0c733b2fc19502ee1fb64462c77eb20f2",htmlFor:"verdocs-delegator"},"May delegate signing")),t("div",{key:"d3f59732383cded91c3c9d0431001ce27b1998b8",class:"option"},t("verdocs-checkbox",{key:"9c0acbf0601728bf4498e2fe3c89232ee4e9448c",size:"small",id:"verdocs-name-locked",checked:this.name_locked,disabled:this.delegator,onInput:e=>{this.name_locked=e.target.checked;if(this.name_locked)this.delegator=false}}),t("label",{key:"df906c6274917b04c471aa00eedf8fad9b9c15a1",htmlFor:"verdocs-name-locked"},"Name locked")))),t("div",{key:"74e5e6004872803e50c315540c6dc66957d6b9b0",class:"row message"},t("label",{key:"36557fd5a7ccd14cd5fae192bf3bfaaf9f39c136",htmlFor:"verdocs-contact-picker-message"},"Message:"),t("textarea",{key:"c362c8a6b1953330f128bfc5083749060d17727c",id:"verdocs-contact-picker-message",name:"verdocs-contact-picker-message","data-lpignore":"true",autocomplete:"blocked",placeholder:"Optional message to include in invitation...",onFocus:()=>this.showSuggestions=false,onInput:e=>this.message=e.target.value},this.message)),t("div",{key:"8864df6dba12af9cc9e476398368f3482ab4982f",class:"buttons"},t("div",{key:"f09409d3f75a7f04dcb4a93189d098dbc68177c4",class:"flex-fill"}),t("verdocs-button",{key:"17a564f49e64ec50a3ef201e0aa5b662ab0f0522",variant:"outline",label:"Cancel",size:"small",onClick:e=>this.handleCancel(e)}),t("verdocs-button",{key:"c731fb4642166fc0b682894cb71f4e41fe7b48e7",label:"OK",size:"small",disabled:!o,onClick:!o?()=>{}:e=>this.handleSubmit(e)})))}};f.style=r();export{f as verdocs_contact_picker};
|
|
2
|
+
//# sourceMappingURL=p-255e1915.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["verdocsContactPickerCss","addrBookIcon","VerdocsContactPicker","constructor","hostRef","this","endpoint","VerdocsEndpoint","getDefault","templateRole","contactSuggestions","showSuggestions","showMessage","delegator","name_locked","auth_methods","passcode","firstNameFieldId","Math","random","toString","substring","lastNameFieldId","emailFieldId","phoneFieldId","activeEntitlements","authMethodsLoading","componentWillLoad","loadSession","fullName","formatFullName","nameComponents","split","firstName","first_name","shift","lastName","last_name","join","email","phone","message","getActiveEntitlements","catch","e","console","warn","log","handleFirstNameChange","target","value","_a","searchContacts","emit","query","handleLastNameChange","handleCancel","stopPropagation","exit","handleSubmit","next","address","zip","handleSelectSuggestion","suggestion","render","hasBasics","isValidEmail","hasAuthRequirements","length","includes","canSubmit","hasSMSAuth","sms_auth","verificationOptions","push","label","kba_auth","id_auth","h","key","onSubmit","preventDefault","autocomplete","class","htmlFor","id","name","type","placeholder","onFocus","setTimeout","onInput","anchor","onClickAway","document","querySelectorAll","forEach","el","remove","filter","toLowerCase","map","onClick","picture","alt","src","innerHTML","autoComplete","convertToE164","Fragment","size","mode","style","margin","option","i","checked","selected","marginTop","disabled","variant"],"sources":["src/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.scss?tag=verdocs-contact-picker","src/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-contact-picker {\n display: block;\n border: 1px solid #ebebeb;\n background-color: $verdocs-grey-4;\n font-family: $verdocs-primary-font;\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);\n\n form {\n gap: 12px;\n width: 300px;\n padding: 12px;\n display: flex;\n flex-direction: column;\n background-color: $verdocs-grey-3;\n\n .row {\n gap: 8px;\n display: flex;\n position: relative;\n flex-direction: row;\n align-items: flex-start;\n\n .option {\n gap: 4px;\n display: flex;\n padding: 5px 8px;\n align-items: center;\n flex-direction: row;\n text-wrap: nowrap;\n }\n }\n\n .names-row {\n gap: 8px;\n display: flex;\n flex-direction: row;\n\n > input {\n font-size: 14px;\n width: 88px;\n }\n }\n\n .pin-code {\n gap: 8px;\n display: flex;\n align-items: flex-start;\n flex-direction: row;\n\n > input {\n flex: 0 0 197px;\n font-size: 14px;\n //margin-left: 88px;\n }\n }\n\n .address {\n gap: 8px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n > input {\n flex: 1;\n font-size: 14px;\n //margin-left: 88px;\n }\n }\n\n .zip-code {\n gap: 8px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n > input {\n flex: 1;\n font-size: 14px;\n //margin-left: 88px;\n }\n }\n\n label {\n display: flex;\n flex: 0 0 80px;\n font-size: 13px;\n font-weight: 500;\n color: $verdocs-bg-4;\n }\n\n .row.message textarea {\n width: 100%;\n padding: 5px 7px;\n border-radius: 4px;\n font-family: $verdocs-primary-font;\n }\n\n input {\n flex: 1;\n padding: 6px;\n font-size: 14px;\n border-radius: 3px;\n //background: #00000005;\n border: 1px solid $border-color-extralight;\n\n &:focus {\n outline: none;\n }\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 6px;\n margin-top: 16px;\n flex-direction: row;\n\n .flex-fill {\n flex: 1;\n }\n }\n\n ::placeholder {\n color: $verdocs-bg-2;\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n}\n\n#verdocs-contact-picker-suggestions {\n .dropdown {\n max-height: 225px;\n overflow-y: scroll;\n background: #ffffff;\n font-family: $verdocs-primary-font;\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);\n\n .suggestion {\n display: flex;\n padding: 6px 12px;\n align-items: center;\n flex-direction: row;\n\n svg {\n width: 32px;\n height: 32px;\n }\n\n .avatar {\n width: 32px;\n height: 32px;\n flex: 0 0 32px;\n margin-right: 8px;\n border-radius: 100%;\n }\n\n .details {\n display: flex;\n flex-direction: column;\n }\n\n .name {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 3px;\n color: $verdocs-grey-0;\n }\n\n .destination {\n font-size: 14px;\n margin-bottom: 3px;\n color: $verdocs-grey-1;\n }\n\n &:hover {\n background: #eee;\n cursor: pointer;\n }\n }\n }\n}\n","import {Component, h, Event, EventEmitter, Fragment, Prop, State} from '@stencil/core';\nimport {formatFullName, getActiveEntitlements, IEntitlement, IProfile, IRecipient, isValidEmail, TEntitlement, TRecipientAuthMethod, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {convertToE164} from '../../../utils/utils';\n\nconst addrBookIcon = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-book-user\"><path d=\"M15 13a3 3 0 1 0-6 0\"/><path d=\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20\"/><circle cx=\"12\" cy=\"8\" r=\"2\"/></svg>`;\n\nexport interface IContactSearchEvent {\n query: string;\n}\n\nexport interface IContactSelectEvent {\n first_name: string;\n last_name: string;\n email: string;\n phone: string;\n message: string;\n delegator: boolean;\n name_locked: boolean;\n auth_methods: TRecipientAuthMethod[];\n passcode: string;\n address: string;\n zip: string;\n}\n\nexport type TPickerContact = Partial<IProfile>;\n\n/**\n * Display a contact picker suitable for filling out Recipient objects when sending Envelopes.\n *\n * This picker can also be integrated with a backend to provide contact list / suggestion / address-book style behavior. As the\n * user interacts with the component, the text entered in the name fields is sent back to the parent via the `searchContacts` event.\n * The parent can use that text as a query string to call a backend to obtain appropriate contacts to show. This list may also be\n * hard-coded ahead of time to provide the user with smart suggestions on initial display, such as \"Recently Used\" contacts, or\n * to always display the user's own contact record.\n *\n * ```ts\n * <verdocs-contact-picker\n * templateRole={role}\n * contactSuggestions={[]}\n * onNext={e => console.log('Contact completed', e.detail)}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-contact-picker',\n styleUrl: 'verdocs-contact-picker.scss',\n shadow: false,\n})\nexport class VerdocsContactPicker {\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 role that this contact will be assigned to.\n */\n @Prop() templateRole: Partial<IRecipient> | null = null;\n\n /**\n * If set, suggestions will be displayed in a drop-down list to the user. It is recommended that the number\n * of suggestions be limited to the 5 best matching records.\n */\n @Prop() contactSuggestions: TPickerContact[] = [];\n\n /**\n * Event fired when the user enters text in the search field. The calling application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\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 when the user changes the type.\n */\n @Event({composed: true}) next: EventEmitter<IContactSelectEvent>;\n\n @State() first_name: string;\n @State() last_name: string;\n @State() email: string;\n @State() phone: string;\n @State() zip: string;\n @State() address: string;\n @State() message: string;\n @State() showSuggestions: boolean = false;\n @State() showMessage: boolean = false;\n @State() delegator: boolean = false;\n @State() name_locked: boolean = false;\n @State() auth_methods: TRecipientAuthMethod[] = [];\n @State() passcode: string = '';\n\n @State() firstNameFieldId = `verdocs-contact-picker-firstname-${Math.random().toString(36).substring(2, 11)}`;\n @State() lastNameFieldId = `verdocs-contact-picker-lastname-${Math.random().toString(36).substring(2, 11)}`;\n @State() emailFieldId = `verdocs-contact-picker-email-${Math.random().toString(36).substring(2, 11)}`;\n @State() phoneFieldId = `verdocs-contact-picker-phone-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() activeEntitlements: Partial<Record<TEntitlement, IEntitlement>> = {};\n @State() authMethodsLoading: boolean = true\n\n async componentWillLoad() {\n this.endpoint.loadSession();\n\n if (this.templateRole) {\n const fullName = formatFullName(this.templateRole);\n const nameComponents = fullName.split(' ');\n const firstName = this.templateRole.first_name || nameComponents.shift() || '';\n const lastName = this.templateRole.last_name || nameComponents.join(' ') || '';\n this.first_name = firstName;\n this.last_name = lastName;\n\n this.email = this.templateRole.email || '';\n this.phone = this.templateRole.phone || '';\n // delegator and name_locked are mutually exclusive; delegator takes precedence if both are somehow set\n this.delegator = this.templateRole.delegator || false;\n this.name_locked = this.delegator ? false : (this.templateRole.name_locked || false);\n this.message = this.templateRole.message || '';\n this.showMessage = this.message !== '';\n this.auth_methods = this.templateRole.auth_methods || [];\n this.passcode = this.templateRole.passcode || '';\n }\n\n // Entitlements only gate the OPTIONAL methods (SMS, KBA, ID). Passcode and Email are always\n // offered, so a failure here must not block them: without this catch the await rejects,\n // authMethodsLoading stays true forever, and the user sees a spinner where every verification\n // option should be. Degrade to \"no optional entitlements\" instead.\n this.activeEntitlements = await getActiveEntitlements(this.endpoint).catch(e => {\n console.warn('[CONTACT PICKER] Unable to load entitlements, continuing with base auth methods only', e);\n return {} as Partial<Record<TEntitlement, IEntitlement>>;\n });\n this.authMethodsLoading = false;\n console.log('[CONTACT PICKER] Loaded entitlements', this.activeEntitlements);\n }\n\n handleFirstNameChange(e: any) {\n this.first_name = e.target.value;\n this.searchContacts?.emit({query: this.first_name});\n }\n\n handleLastNameChange(e: any) {\n this.last_name = e.target.value;\n this.searchContacts?.emit({query: this.last_name});\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.showSuggestions = false;\n this.exit?.emit();\n }\n\n handleSubmit(e: any) {\n e.stopPropagation();\n\n this.showSuggestions = false;\n this.next?.emit({\n first_name: this.first_name,\n last_name: this.last_name,\n email: this.email,\n phone: this.phone,\n message: this.message,\n delegator: this.delegator,\n name_locked: this.name_locked,\n auth_methods: this.auth_methods,\n passcode: this.passcode,\n address: this.address,\n zip: this.zip,\n });\n }\n\n handleSelectSuggestion(e: any, suggestion: TPickerContact) {\n e.stopPropagation();\n\n this.first_name = suggestion.first_name;\n this.last_name = suggestion.last_name;\n this.email = suggestion.email;\n this.phone = suggestion.phone;\n this.showSuggestions = false;\n }\n\n // The reason for the random names/IDs is to disable browser autocomplete. We set the autocomplete tags but many browsers ignore them\n // and show a duplicate autocomplete picker on top of our own.\n render() {\n // const hasBasics = this.first_name && this.last_name && (isValidEmail(this.email) || isValidPhone(this.phone));\n const hasBasics = this.first_name && this.last_name && isValidEmail(this.email);\n const hasAuthRequirements =\n !this.auth_methods.length ||\n (this.auth_methods.includes('passcode') && !!this.passcode) ||\n (this.auth_methods.includes('kba') && !!this.first_name && !!this.last_name) ||\n (this.auth_methods.includes('email') && !!this.email) ||\n (this.auth_methods.includes('sms') && !!this.phone);\n const canSubmit = hasBasics && hasAuthRequirements;\n const hasSMSAuth = !!this.activeEntitlements.sms_auth\n\n const verificationOptions = [];\n\n verificationOptions.push({label: 'Passcode', value: 'passcode'});\n verificationOptions.push({label: 'Email', value: 'email'});\n\n if (hasSMSAuth) {\n verificationOptions.push({label: 'SMS (One-Time Code)', value: 'sms'});\n }\n\n if (!!this.activeEntitlements.kba_auth) {\n verificationOptions.push({label: 'Knowledge-Based (KBA)', value: 'kba'});\n }\n\n if (!!this.activeEntitlements.id_auth) {\n verificationOptions.push({label: 'ID Check', value: 'id'});\n }\n\n return (\n <form\n onSubmit={e => e.preventDefault()}\n // onClick={e => e.stopPropagation()}\n autocomplete=\"off\"\n >\n <div class=\"row\">\n <label htmlFor={this.firstNameFieldId}>Name:</label>\n <div class=\"names-row\">\n <input\n id={this.firstNameFieldId}\n name={this.firstNameFieldId}\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.first_name}\n placeholder=\"First...\"\n onFocus={() => {\n // Give the blur event a chance to hide it first if going between first/last\n setTimeout(() => {\n this.showSuggestions = this.contactSuggestions?.length > 0;\n }, 100);\n }}\n onInput={e => this.handleFirstNameChange(e)}\n />\n <input\n id={this.lastNameFieldId}\n name={this.lastNameFieldId}\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.last_name}\n placeholder=\"Last...\"\n onFocus={() => {\n // Give the blur event a chance to hide it first if going between first/last\n setTimeout(() => {\n this.showSuggestions = this.contactSuggestions?.length > 0;\n }, 100);\n }}\n onInput={e => this.handleLastNameChange(e)}\n />\n </div>\n\n {this.showSuggestions && (\n <verdocs-portal\n anchor={this.firstNameFieldId}\n onClickAway={() => {\n this.showSuggestions = false;\n document.querySelectorAll(`.verdocs-portal-wrapper`).forEach(el => el.remove());\n }}\n id=\"verdocs-contact-picker-suggestions\"\n >\n <div class=\"dropdown\">\n {this.contactSuggestions\n .filter(suggestion => !this.first_name || suggestion.first_name?.toLowerCase().includes(this.first_name.toLowerCase()))\n .map(suggestion => (\n <div key={suggestion.id ?? suggestion.email} class=\"suggestion\" onClick={e => this.handleSelectSuggestion(e, suggestion)}>\n {suggestion.picture ? <img alt=\"Avatar\" class=\"avatar\" src={suggestion.picture} /> : <div class=\"avatar\" innerHTML={addrBookIcon} />}\n <div class=\"details\">\n <div class=\"name\">{formatFullName(suggestion)}</div>\n {suggestion.email && <div class=\"destination\">{suggestion.email}</div>}\n {suggestion.phone && <div class=\"destination\">{suggestion.phone}</div>}\n </div>\n </div>\n ))}\n </div>\n </verdocs-portal>\n )}\n </div>\n\n <div class=\"row\">\n <label htmlFor={this.emailFieldId}>Email:</label>\n <input\n id={this.emailFieldId}\n name={this.emailFieldId}\n type=\"text\"\n data-lpignore=\"true\"\n autoComplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.email}\n placeholder=\"Invite/verify via email...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={(e: any) => (this.email = e.target.value)}\n />\n </div>\n\n {hasSMSAuth && (\n <div class=\"row\">\n <label htmlFor={this.phoneFieldId}>Phone:</label>\n <input\n id={this.phoneFieldId}\n name={this.phoneFieldId}\n type=\"text\"\n data-lpignore=\"true\"\n autoComplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.phone}\n placeholder=\"Invite/verify via SMS...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={(e: any) => {\n this.phone = convertToE164(e.target.value);\n }}\n />\n </div>\n )}\n\n <Fragment>\n {verificationOptions.length > 0 && (\n <div class=\"row pin-code\">\n <label>Verification Methods:</label>\n {this.authMethodsLoading ? (\n <verdocs-spinner size={10} mode=\"dark\" style={{margin: 'auto'}} />\n ) : (\n <div>\n {verificationOptions.map((option, i) => (\n <div class=\"option\">\n <verdocs-checkbox\n size=\"small\"\n id={`verdocs-multi-select-opt-${i}`}\n value={option.value}\n checked={this.auth_methods.includes(option.value)}\n onInput={(e: any) => {\n if (e.target.checked) {\n this.auth_methods = [...this.auth_methods, option.value];\n } else {\n this.auth_methods = this.auth_methods.filter(selected => selected !== option.value);\n }\n }}\n />\n <label htmlFor={`verdocs-multi-select-option-${i}`}>{option.label}</label>\n </div>\n ))}\n </div>\n )} \n </div>\n )}\n\n {this.auth_methods.includes('passcode') && (\n <div class=\"row pin-code\">\n <label htmlFor={this.phoneFieldId}>Passcode:</label>\n <input\n id=\"verdocs-passcode\"\n name=\"verdocs-passcode\"\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.passcode}\n placeholder=\"4-8 digits recommended...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={(e: any) => (this.passcode = e.target.value)}\n />\n </div>\n )}\n </Fragment>\n\n <div class=\"row pin-code\">\n <label style={{marginTop: '6px'}}>Options:</label>\n <div>\n <div class=\"option\">\n <verdocs-checkbox\n size=\"small\"\n id=\"verdocs-delegator\"\n checked={this.delegator}\n disabled={this.name_locked}\n onInput={(e: any) => {\n this.delegator = e.target.checked;\n if (this.delegator) this.name_locked = false;\n }}\n />\n <label htmlFor=\"verdocs-delegator\">May delegate signing</label>\n </div>\n <div class=\"option\">\n <verdocs-checkbox\n size=\"small\"\n id=\"verdocs-name-locked\"\n checked={this.name_locked}\n disabled={this.delegator}\n onInput={(e: any) => {\n this.name_locked = e.target.checked;\n if (this.name_locked) this.delegator = false;\n }}\n />\n <label htmlFor=\"verdocs-name-locked\">Name locked</label>\n </div>\n </div>\n </div>\n\n <div class=\"row message\">\n <label htmlFor=\"verdocs-contact-picker-message\">Message:</label>\n <textarea\n id=\"verdocs-contact-picker-message\"\n name=\"verdocs-contact-picker-message\"\n data-lpignore=\"true\"\n autocomplete=\"blocked\"\n placeholder=\"Optional message to include in invitation...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={(e: any) => (this.message = e.target.value)}\n >\n {this.message}\n </textarea>\n </div>\n\n <div class=\"buttons\">\n <div class=\"flex-fill\" />\n\n <verdocs-button variant=\"outline\" label=\"Cancel\" size=\"small\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"OK\" size=\"small\" disabled={!canSubmit} onClick={!canSubmit ? () => {} : e => this.handleSubmit(e)} />\n </div>\n </form>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,i,o){function s(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,c){function a(e){try{r(o.next(e))}catch(e){c(e)}}function n(e){try{r(o["throw"](e))}catch(e){c(e)}}function r(e){e.done?i(e.value):s(e.value).then(a,n)}r((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(c[0]&1)throw c[1];return c[1]},trys:[],ops:[]},o,s,c,a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=n(0),a["throw"]=n(1),a["return"]=n(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function n(e){return function(t){return r([e,t])}}function r(n){if(o)throw new TypeError("Generator is already executing.");while(a&&(a=0,n[0]&&(i=0)),i)try{if(o=1,s&&(c=n[0]&2?s["return"]:n[0]?s["throw"]||((c=s["return"])&&c.call(s),0):s.next)&&!(c=c.call(s,n[1])).done)return c;if(s=0,c)n=[n[0]&2,c.value];switch(n[0]){case 0:case 1:c=n;break;case 4:i.label++;return{value:n[1],done:false};case 5:i.label++;s=n[1];n=[0];continue;case 7:n=i.ops.pop();i.trys.pop();continue;default:if(!(c=i.trys,c=c.length>0&&c[c.length-1])&&(n[0]===6||n[0]===2)){i=0;continue}if(n[0]===3&&(!c||n[1]>c[0]&&n[1]<c[3])){i.label=n[1];break}if(n[0]===6&&i.label<c[1]){i.label=c[1];c=n;break}if(c&&i.label<c[2]){i.label=c[2];i.ops.push(n);break}if(c[2])i.ops.pop();i.trys.pop();continue}n=t.call(e,i)}catch(e){n=[6,e];s=0}finally{o=c=0}if(n[0]&5)throw n[1];return{value:n[0]?n[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,i){if(i||arguments.length===2)for(var o=0,s=t.length,c;o<s;o++){if(c||!(o in t)){if(!c)c=Array.prototype.slice.call(t,0,o);c[o]=t[o]}}return e.concat(c||Array.prototype.slice.call(t))};System.register(["./p-De3fNE_u.system.js","@verdocs/js-sdk","./p-nfw6V5pF.system.js","./p-C7pDryJb.system.js","./p-CwIkMPyJ.system.js"],(function(e){"use strict";var t,i,o,s,c,a,n,r,d;return{setters:[function(e){t=e.r;i=e.c;o=e.h;s=e.F},function(e){c=e.VerdocsEndpoint;a=e.formatFullName;n=e.getActiveEntitlements;r=e.isValidEmail},function(e){d=e.c},null,null],execute:function(){var l=function(){return'verdocs-contact-picker{display:block;border:1px solid #ebebeb;background-color:#ffffff;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);-webkit-box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1);box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1)}verdocs-contact-picker form{gap:12px;width:300px;padding:12px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#f5f5fa}verdocs-contact-picker form .row{gap:8px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:start;align-items:flex-start}verdocs-contact-picker form .row .option{gap:4px;display:-ms-flexbox;display:flex;padding:5px 8px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;text-wrap:nowrap}verdocs-contact-picker form .names-row{gap:8px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .names-row>input{font-size:14px;width:88px}verdocs-contact-picker form .pin-code{gap:8px;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .pin-code>input{-ms-flex:0 0 197px;flex:0 0 197px;font-size:14px}verdocs-contact-picker form .address{gap:8px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .address>input{-ms-flex:1;flex:1;font-size:14px}verdocs-contact-picker form .zip-code{gap:8px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .zip-code>input{-ms-flex:1;flex:1;font-size:14px}verdocs-contact-picker form label{display:-ms-flexbox;display:flex;-ms-flex:0 0 80px;flex:0 0 80px;font-size:13px;font-weight:500;color:#5c6575}verdocs-contact-picker form .row.message textarea{width:100%;padding:5px 7px;border-radius:4px;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-contact-picker form input{-ms-flex:1;flex:1;padding:6px;font-size:14px;border-radius:3px;border:1px solid rgba(112, 122, 229, 0.3725490196)}verdocs-contact-picker form input:focus{outline:none}verdocs-contact-picker .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:6px;-moz-column-gap:6px;column-gap:6px;margin-top:16px;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker .buttons .flex-fill{-ms-flex:1;flex:1}verdocs-contact-picker ::-webkit-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::-moz-placeholder{color:#aaaaaa}verdocs-contact-picker :-ms-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::-ms-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::placeholder{color:#aaaaaa}verdocs-contact-picker [data-lastpass-icon-root]{display:none !important}#verdocs-contact-picker-suggestions .dropdown{max-height:225px;overflow-y:scroll;background:#ffffff;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);-webkit-box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1);box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1)}#verdocs-contact-picker-suggestions .dropdown .suggestion{display:-ms-flexbox;display:flex;padding:6px 12px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}#verdocs-contact-picker-suggestions .dropdown .suggestion svg{width:32px;height:32px}#verdocs-contact-picker-suggestions .dropdown .suggestion .avatar{width:32px;height:32px;-ms-flex:0 0 32px;flex:0 0 32px;margin-right:8px;border-radius:100%}#verdocs-contact-picker-suggestions .dropdown .suggestion .details{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}#verdocs-contact-picker-suggestions .dropdown .suggestion .name{font-size:16px;font-weight:500;margin-bottom:3px;color:#092c4c}#verdocs-contact-picker-suggestions .dropdown .suggestion .destination{font-size:14px;margin-bottom:3px;color:#33364b}#verdocs-contact-picker-suggestions .dropdown .suggestion:hover{background:#eee;cursor:pointer}'};var f='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-user"><path d="M15 13a3 3 0 1 0-6 0"/><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"/><circle cx="12" cy="8" r="2"/></svg>';var p=e("verdocs_contact_picker",function(){function e(e){t(this,e);this.searchContacts=i(this,"searchContacts");this.exit=i(this,"exit");this.next=i(this,"next");this.endpoint=c.getDefault();this.templateRole=null;this.contactSuggestions=[];this.showSuggestions=false;this.showMessage=false;this.delegator=false;this.name_locked=false;this.auth_methods=[];this.passcode="";this.firstNameFieldId="verdocs-contact-picker-firstname-".concat(Math.random().toString(36).substring(2,11));this.lastNameFieldId="verdocs-contact-picker-lastname-".concat(Math.random().toString(36).substring(2,11));this.emailFieldId="verdocs-contact-picker-email-".concat(Math.random().toString(36).substring(2,11));this.phoneFieldId="verdocs-contact-picker-phone-".concat(Math.random().toString(36).substring(2,11));this.activeEntitlements={};this.authMethodsLoading=true}e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,i,o,s;return __generator(this,(function(c){switch(c.label){case 0:this.endpoint.loadSession();if(this.templateRole){e=a(this.templateRole);t=e.split(" ");i=this.templateRole.first_name||t.shift()||"";o=this.templateRole.last_name||t.join(" ")||"";this.first_name=i;this.last_name=o;this.email=this.templateRole.email||"";this.phone=this.templateRole.phone||"";this.delegator=this.templateRole.delegator||false;this.name_locked=this.delegator?false:this.templateRole.name_locked||false;this.message=this.templateRole.message||"";this.showMessage=this.message!=="";this.auth_methods=this.templateRole.auth_methods||[];this.passcode=this.templateRole.passcode||""}s=this;return[4,n(this.endpoint).catch((function(e){console.warn("[CONTACT PICKER] Unable to load entitlements, continuing with base auth methods only",e);return{}}))];case 1:s.activeEntitlements=c.sent();this.authMethodsLoading=false;console.log("[CONTACT PICKER] Loaded entitlements",this.activeEntitlements);return[2]}}))}))};e.prototype.handleFirstNameChange=function(e){var t;this.first_name=e.target.value;(t=this.searchContacts)===null||t===void 0?void 0:t.emit({query:this.first_name})};e.prototype.handleLastNameChange=function(e){var t;this.last_name=e.target.value;(t=this.searchContacts)===null||t===void 0?void 0:t.emit({query:this.last_name})};e.prototype.handleCancel=function(e){var t;e.stopPropagation();this.showSuggestions=false;(t=this.exit)===null||t===void 0?void 0:t.emit()};e.prototype.handleSubmit=function(e){var t;e.stopPropagation();this.showSuggestions=false;(t=this.next)===null||t===void 0?void 0:t.emit({first_name:this.first_name,last_name:this.last_name,email:this.email,phone:this.phone,message:this.message,delegator:this.delegator,name_locked:this.name_locked,auth_methods:this.auth_methods,passcode:this.passcode,address:this.address,zip:this.zip})};e.prototype.handleSelectSuggestion=function(e,t){e.stopPropagation();this.first_name=t.first_name;this.last_name=t.last_name;this.email=t.email;this.phone=t.phone;this.showSuggestions=false};e.prototype.render=function(){var e=this;var t=this.first_name&&this.last_name&&r(this.email);var i=!this.auth_methods.length||this.auth_methods.includes("passcode")&&!!this.passcode||this.auth_methods.includes("kba")&&!!this.first_name&&!!this.last_name||this.auth_methods.includes("email")&&!!this.email||this.auth_methods.includes("sms")&&!!this.phone;var c=t&&i;var n=!!this.activeEntitlements.sms_auth;var l=[];l.push({label:"Passcode",value:"passcode"});l.push({label:"Email",value:"email"});if(n){l.push({label:"SMS (One-Time Code)",value:"sms"})}if(!!this.activeEntitlements.kba_auth){l.push({label:"Knowledge-Based (KBA)",value:"kba"})}if(!!this.activeEntitlements.id_auth){l.push({label:"ID Check",value:"id"})}return o("form",{key:"70e2a9e4eb9e9da4bd9f491648d81fd30f9a34a6",onSubmit:function(e){return e.preventDefault()},autocomplete:"off"},o("div",{key:"9134b3e8bcd2c59f8773ad3db7bdd04d52d9cbf7",class:"row"},o("label",{key:"455c784b89b96afddb46dcde9bd760e3b36c890d",htmlFor:this.firstNameFieldId},"Name:"),o("div",{key:"802e5786743df37c017f6aab4061b01db4207988",class:"names-row"},o("input",{key:"5ee405fd8487c8f2539ede7ccf26e76bb96c3932",id:this.firstNameFieldId,name:this.firstNameFieldId,type:"text","data-lpignore":"true",autocomplete:"blocked","aria-autocomplete":"none",value:this.first_name,placeholder:"First...",onFocus:function(){setTimeout((function(){var t;e.showSuggestions=((t=e.contactSuggestions)===null||t===void 0?void 0:t.length)>0}),100)},onInput:function(t){return e.handleFirstNameChange(t)}}),o("input",{key:"2de6301b850c7d0986b0418bbb737b0f9e04849f",id:this.lastNameFieldId,name:this.lastNameFieldId,type:"text","data-lpignore":"true",autocomplete:"blocked","aria-autocomplete":"none",value:this.last_name,placeholder:"Last...",onFocus:function(){setTimeout((function(){var t;e.showSuggestions=((t=e.contactSuggestions)===null||t===void 0?void 0:t.length)>0}),100)},onInput:function(t){return e.handleLastNameChange(t)}})),this.showSuggestions&&o("verdocs-portal",{key:"39c6ccb8a231fe9e01fbd99aebc3e7625dfeef17",anchor:this.firstNameFieldId,onClickAway:function(){e.showSuggestions=false;document.querySelectorAll(".verdocs-portal-wrapper").forEach((function(e){return e.remove()}))},id:"verdocs-contact-picker-suggestions"},o("div",{key:"bbabbff5428faeb5cef999f422d441d3e66fdf62",class:"dropdown"},this.contactSuggestions.filter((function(t){var i;return!e.first_name||((i=t.first_name)===null||i===void 0?void 0:i.toLowerCase().includes(e.first_name.toLowerCase()))})).map((function(t){var i;return o("div",{key:(i=t.id)!==null&&i!==void 0?i:t.email,class:"suggestion",onClick:function(i){return e.handleSelectSuggestion(i,t)}},t.picture?o("img",{alt:"Avatar",class:"avatar",src:t.picture}):o("div",{class:"avatar",innerHTML:f}),o("div",{class:"details"},o("div",{class:"name"},a(t)),t.email&&o("div",{class:"destination"},t.email),t.phone&&o("div",{class:"destination"},t.phone)))}))))),o("div",{key:"31c843f59d029535c1006c682f76d8b18f885dc3",class:"row"},o("label",{key:"540a430d827ec0b44fc2d56d4f2cb5938d663236",htmlFor:this.emailFieldId},"Email:"),o("input",{key:"055b0ecaee8f361a4f222cbaeedcdcfbf536a5cb",id:this.emailFieldId,name:this.emailFieldId,type:"text","data-lpignore":"true",autoComplete:"blocked","aria-autocomplete":"none",value:this.email,placeholder:"Invite/verify via email...",onFocus:function(){return e.showSuggestions=false},onInput:function(t){return e.email=t.target.value}})),n&&o("div",{key:"b9c6dd3118c6eba736add88b35e68ff79715e44d",class:"row"},o("label",{key:"ff687e318625a8cde98b208bf72b111d48659acc",htmlFor:this.phoneFieldId},"Phone:"),o("input",{key:"3c6f09760be62cedde15b43a1d34bbd8c2960600",id:this.phoneFieldId,name:this.phoneFieldId,type:"text","data-lpignore":"true",autoComplete:"blocked","aria-autocomplete":"none",value:this.phone,placeholder:"Invite/verify via SMS...",onFocus:function(){return e.showSuggestions=false},onInput:function(t){e.phone=d(t.target.value)}})),o(s,{key:"2b652dbfb48a4b0360c2b6e536158492ef06125b"},l.length>0&&o("div",{key:"589c42562ec9e834680969803d747f6e94d00ec2",class:"row pin-code"},o("label",{key:"189c3562f5e0ed7599a816d0300b5fe3c96741cb"},"Verification Methods:"),this.authMethodsLoading?o("verdocs-spinner",{size:10,mode:"dark",style:{margin:"auto"}}):o("div",null,l.map((function(t,i){return o("div",{class:"option"},o("verdocs-checkbox",{size:"small",id:"verdocs-multi-select-opt-".concat(i),value:t.value,checked:e.auth_methods.includes(t.value),onInput:function(i){if(i.target.checked){e.auth_methods=__spreadArray(__spreadArray([],e.auth_methods,true),[t.value],false)}else{e.auth_methods=e.auth_methods.filter((function(e){return e!==t.value}))}}}),o("label",{htmlFor:"verdocs-multi-select-option-".concat(i)},t.label))})))),this.auth_methods.includes("passcode")&&o("div",{key:"6e12581d825a0c8089e20015d1d96fb6a182cdb5",class:"row pin-code"},o("label",{key:"e728bc75adcf8f8a322628c1a38f612d3dd2d2dc",htmlFor:this.phoneFieldId},"Passcode:"),o("input",{key:"59afa58c6563d4fa9a1cb7e65409370fb685d1db",id:"verdocs-passcode",name:"verdocs-passcode",type:"text","data-lpignore":"true",autocomplete:"blocked","aria-autocomplete":"none",value:this.passcode,placeholder:"4-8 digits recommended...",onFocus:function(){return e.showSuggestions=false},onInput:function(t){return e.passcode=t.target.value}}))),o("div",{key:"eca3f9921286dba2e5d3ba02f0b886e3d179a23f",class:"row pin-code"},o("label",{key:"04e26414864324205e2ee71173aac15b46350b7e",style:{marginTop:"6px"}},"Options:"),o("div",{key:"f8df70196098a3462df02933d7d7c51cac5c856b"},o("div",{key:"09f4d4f88a355d19ae560203020c9639fe88280e",class:"option"},o("verdocs-checkbox",{key:"e71d71be949fc96c1c074dcbb58ff121c4c3fd05",size:"small",id:"verdocs-delegator",checked:this.delegator,disabled:this.name_locked,onInput:function(t){e.delegator=t.target.checked;if(e.delegator)e.name_locked=false}}),o("label",{key:"b83381a0c733b2fc19502ee1fb64462c77eb20f2",htmlFor:"verdocs-delegator"},"May delegate signing")),o("div",{key:"d3f59732383cded91c3c9d0431001ce27b1998b8",class:"option"},o("verdocs-checkbox",{key:"9c0acbf0601728bf4498e2fe3c89232ee4e9448c",size:"small",id:"verdocs-name-locked",checked:this.name_locked,disabled:this.delegator,onInput:function(t){e.name_locked=t.target.checked;if(e.name_locked)e.delegator=false}}),o("label",{key:"df906c6274917b04c471aa00eedf8fad9b9c15a1",htmlFor:"verdocs-name-locked"},"Name locked")))),o("div",{key:"74e5e6004872803e50c315540c6dc66957d6b9b0",class:"row message"},o("label",{key:"36557fd5a7ccd14cd5fae192bf3bfaaf9f39c136",htmlFor:"verdocs-contact-picker-message"},"Message:"),o("textarea",{key:"c362c8a6b1953330f128bfc5083749060d17727c",id:"verdocs-contact-picker-message",name:"verdocs-contact-picker-message","data-lpignore":"true",autocomplete:"blocked",placeholder:"Optional message to include in invitation...",onFocus:function(){return e.showSuggestions=false},onInput:function(t){return e.message=t.target.value}},this.message)),o("div",{key:"8864df6dba12af9cc9e476398368f3482ab4982f",class:"buttons"},o("div",{key:"f09409d3f75a7f04dcb4a93189d098dbc68177c4",class:"flex-fill"}),o("verdocs-button",{key:"17a564f49e64ec50a3ef201e0aa5b662ab0f0522",variant:"outline",label:"Cancel",size:"small",onClick:function(t){return e.handleCancel(t)}}),o("verdocs-button",{key:"c731fb4642166fc0b682894cb71f4e41fe7b48e7",label:"OK",size:"small",disabled:!c,onClick:!c?function(){}:function(t){return e.handleSubmit(t)}})))};return e}());p.style=l()}}}));
|
|
2
|
+
//# sourceMappingURL=p-46e52384.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["verdocsContactPickerCss","addrBookIcon","VerdocsContactPicker","exports","class_1","hostRef","this","endpoint","VerdocsEndpoint","getDefault","templateRole","contactSuggestions","showSuggestions","showMessage","delegator","name_locked","auth_methods","passcode","firstNameFieldId","concat","Math","random","toString","substring","lastNameFieldId","emailFieldId","phoneFieldId","activeEntitlements","authMethodsLoading","prototype","componentWillLoad","loadSession","fullName","formatFullName","nameComponents","split","firstName","first_name","shift","lastName","last_name","join","email","phone","message","_b","getActiveEntitlements","catch","e","console","warn","_c","sent","log","handleFirstNameChange","target","value","_a","searchContacts","emit","query","handleLastNameChange","handleCancel","stopPropagation","exit","handleSubmit","next","address","zip","handleSelectSuggestion","suggestion","render","_this","hasBasics","isValidEmail","hasAuthRequirements","length","includes","canSubmit","hasSMSAuth","sms_auth","verificationOptions","push","label","kba_auth","id_auth","h","key","onSubmit","preventDefault","autocomplete","class","htmlFor","id","name","type","placeholder","onFocus","setTimeout","onInput","anchor","onClickAway","document","querySelectorAll","forEach","el","remove","filter","toLowerCase","map","onClick","picture","alt","src","innerHTML","autoComplete","convertToE164","Fragment","size","mode","style","margin","option","i","checked","__spreadArray","selected","marginTop","disabled","variant"],"sources":["src/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.scss?tag=verdocs-contact-picker","src/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-contact-picker {\n display: block;\n border: 1px solid #ebebeb;\n background-color: $verdocs-grey-4;\n font-family: $verdocs-primary-font;\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);\n\n form {\n gap: 12px;\n width: 300px;\n padding: 12px;\n display: flex;\n flex-direction: column;\n background-color: $verdocs-grey-3;\n\n .row {\n gap: 8px;\n display: flex;\n position: relative;\n flex-direction: row;\n align-items: flex-start;\n\n .option {\n gap: 4px;\n display: flex;\n padding: 5px 8px;\n align-items: center;\n flex-direction: row;\n text-wrap: nowrap;\n }\n }\n\n .names-row {\n gap: 8px;\n display: flex;\n flex-direction: row;\n\n > input {\n font-size: 14px;\n width: 88px;\n }\n }\n\n .pin-code {\n gap: 8px;\n display: flex;\n align-items: flex-start;\n flex-direction: row;\n\n > input {\n flex: 0 0 197px;\n font-size: 14px;\n //margin-left: 88px;\n }\n }\n\n .address {\n gap: 8px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n > input {\n flex: 1;\n font-size: 14px;\n //margin-left: 88px;\n }\n }\n\n .zip-code {\n gap: 8px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n > input {\n flex: 1;\n font-size: 14px;\n //margin-left: 88px;\n }\n }\n\n label {\n display: flex;\n flex: 0 0 80px;\n font-size: 13px;\n font-weight: 500;\n color: $verdocs-bg-4;\n }\n\n .row.message textarea {\n width: 100%;\n padding: 5px 7px;\n border-radius: 4px;\n font-family: $verdocs-primary-font;\n }\n\n input {\n flex: 1;\n padding: 6px;\n font-size: 14px;\n border-radius: 3px;\n //background: #00000005;\n border: 1px solid $border-color-extralight;\n\n &:focus {\n outline: none;\n }\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 6px;\n margin-top: 16px;\n flex-direction: row;\n\n .flex-fill {\n flex: 1;\n }\n }\n\n ::placeholder {\n color: $verdocs-bg-2;\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n}\n\n#verdocs-contact-picker-suggestions {\n .dropdown {\n max-height: 225px;\n overflow-y: scroll;\n background: #ffffff;\n font-family: $verdocs-primary-font;\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);\n\n .suggestion {\n display: flex;\n padding: 6px 12px;\n align-items: center;\n flex-direction: row;\n\n svg {\n width: 32px;\n height: 32px;\n }\n\n .avatar {\n width: 32px;\n height: 32px;\n flex: 0 0 32px;\n margin-right: 8px;\n border-radius: 100%;\n }\n\n .details {\n display: flex;\n flex-direction: column;\n }\n\n .name {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 3px;\n color: $verdocs-grey-0;\n }\n\n .destination {\n font-size: 14px;\n margin-bottom: 3px;\n color: $verdocs-grey-1;\n }\n\n &:hover {\n background: #eee;\n cursor: pointer;\n }\n }\n }\n}\n","import {Component, h, Event, EventEmitter, Fragment, Prop, State} from '@stencil/core';\nimport {formatFullName, getActiveEntitlements, IEntitlement, IProfile, IRecipient, isValidEmail, TEntitlement, TRecipientAuthMethod, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {convertToE164} from '../../../utils/utils';\n\nconst addrBookIcon = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-book-user\"><path d=\"M15 13a3 3 0 1 0-6 0\"/><path d=\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20\"/><circle cx=\"12\" cy=\"8\" r=\"2\"/></svg>`;\n\nexport interface IContactSearchEvent {\n query: string;\n}\n\nexport interface IContactSelectEvent {\n first_name: string;\n last_name: string;\n email: string;\n phone: string;\n message: string;\n delegator: boolean;\n name_locked: boolean;\n auth_methods: TRecipientAuthMethod[];\n passcode: string;\n address: string;\n zip: string;\n}\n\nexport type TPickerContact = Partial<IProfile>;\n\n/**\n * Display a contact picker suitable for filling out Recipient objects when sending Envelopes.\n *\n * This picker can also be integrated with a backend to provide contact list / suggestion / address-book style behavior. As the\n * user interacts with the component, the text entered in the name fields is sent back to the parent via the `searchContacts` event.\n * The parent can use that text as a query string to call a backend to obtain appropriate contacts to show. This list may also be\n * hard-coded ahead of time to provide the user with smart suggestions on initial display, such as \"Recently Used\" contacts, or\n * to always display the user's own contact record.\n *\n * ```ts\n * <verdocs-contact-picker\n * templateRole={role}\n * contactSuggestions={[]}\n * onNext={e => console.log('Contact completed', e.detail)}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-contact-picker',\n styleUrl: 'verdocs-contact-picker.scss',\n shadow: false,\n})\nexport class VerdocsContactPicker {\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 role that this contact will be assigned to.\n */\n @Prop() templateRole: Partial<IRecipient> | null = null;\n\n /**\n * If set, suggestions will be displayed in a drop-down list to the user. It is recommended that the number\n * of suggestions be limited to the 5 best matching records.\n */\n @Prop() contactSuggestions: TPickerContact[] = [];\n\n /**\n * Event fired when the user enters text in the search field. The calling application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\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 when the user changes the type.\n */\n @Event({composed: true}) next: EventEmitter<IContactSelectEvent>;\n\n @State() first_name: string;\n @State() last_name: string;\n @State() email: string;\n @State() phone: string;\n @State() zip: string;\n @State() address: string;\n @State() message: string;\n @State() showSuggestions: boolean = false;\n @State() showMessage: boolean = false;\n @State() delegator: boolean = false;\n @State() name_locked: boolean = false;\n @State() auth_methods: TRecipientAuthMethod[] = [];\n @State() passcode: string = '';\n\n @State() firstNameFieldId = `verdocs-contact-picker-firstname-${Math.random().toString(36).substring(2, 11)}`;\n @State() lastNameFieldId = `verdocs-contact-picker-lastname-${Math.random().toString(36).substring(2, 11)}`;\n @State() emailFieldId = `verdocs-contact-picker-email-${Math.random().toString(36).substring(2, 11)}`;\n @State() phoneFieldId = `verdocs-contact-picker-phone-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() activeEntitlements: Partial<Record<TEntitlement, IEntitlement>> = {};\n @State() authMethodsLoading: boolean = true\n\n async componentWillLoad() {\n this.endpoint.loadSession();\n\n if (this.templateRole) {\n const fullName = formatFullName(this.templateRole);\n const nameComponents = fullName.split(' ');\n const firstName = this.templateRole.first_name || nameComponents.shift() || '';\n const lastName = this.templateRole.last_name || nameComponents.join(' ') || '';\n this.first_name = firstName;\n this.last_name = lastName;\n\n this.email = this.templateRole.email || '';\n this.phone = this.templateRole.phone || '';\n // delegator and name_locked are mutually exclusive; delegator takes precedence if both are somehow set\n this.delegator = this.templateRole.delegator || false;\n this.name_locked = this.delegator ? false : (this.templateRole.name_locked || false);\n this.message = this.templateRole.message || '';\n this.showMessage = this.message !== '';\n this.auth_methods = this.templateRole.auth_methods || [];\n this.passcode = this.templateRole.passcode || '';\n }\n\n // Entitlements only gate the OPTIONAL methods (SMS, KBA, ID). Passcode and Email are always\n // offered, so a failure here must not block them: without this catch the await rejects,\n // authMethodsLoading stays true forever, and the user sees a spinner where every verification\n // option should be. Degrade to \"no optional entitlements\" instead.\n this.activeEntitlements = await getActiveEntitlements(this.endpoint).catch(e => {\n console.warn('[CONTACT PICKER] Unable to load entitlements, continuing with base auth methods only', e);\n return {} as Partial<Record<TEntitlement, IEntitlement>>;\n });\n this.authMethodsLoading = false;\n console.log('[CONTACT PICKER] Loaded entitlements', this.activeEntitlements);\n }\n\n handleFirstNameChange(e: any) {\n this.first_name = e.target.value;\n this.searchContacts?.emit({query: this.first_name});\n }\n\n handleLastNameChange(e: any) {\n this.last_name = e.target.value;\n this.searchContacts?.emit({query: this.last_name});\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.showSuggestions = false;\n this.exit?.emit();\n }\n\n handleSubmit(e: any) {\n e.stopPropagation();\n\n this.showSuggestions = false;\n this.next?.emit({\n first_name: this.first_name,\n last_name: this.last_name,\n email: this.email,\n phone: this.phone,\n message: this.message,\n delegator: this.delegator,\n name_locked: this.name_locked,\n auth_methods: this.auth_methods,\n passcode: this.passcode,\n address: this.address,\n zip: this.zip,\n });\n }\n\n handleSelectSuggestion(e: any, suggestion: TPickerContact) {\n e.stopPropagation();\n\n this.first_name = suggestion.first_name;\n this.last_name = suggestion.last_name;\n this.email = suggestion.email;\n this.phone = suggestion.phone;\n this.showSuggestions = false;\n }\n\n // The reason for the random names/IDs is to disable browser autocomplete. We set the autocomplete tags but many browsers ignore them\n // and show a duplicate autocomplete picker on top of our own.\n render() {\n // const hasBasics = this.first_name && this.last_name && (isValidEmail(this.email) || isValidPhone(this.phone));\n const hasBasics = this.first_name && this.last_name && isValidEmail(this.email);\n const hasAuthRequirements =\n !this.auth_methods.length ||\n (this.auth_methods.includes('passcode') && !!this.passcode) ||\n (this.auth_methods.includes('kba') && !!this.first_name && !!this.last_name) ||\n (this.auth_methods.includes('email') && !!this.email) ||\n (this.auth_methods.includes('sms') && !!this.phone);\n const canSubmit = hasBasics && hasAuthRequirements;\n const hasSMSAuth = !!this.activeEntitlements.sms_auth\n\n const verificationOptions = [];\n\n verificationOptions.push({label: 'Passcode', value: 'passcode'});\n verificationOptions.push({label: 'Email', value: 'email'});\n\n if (hasSMSAuth) {\n verificationOptions.push({label: 'SMS (One-Time Code)', value: 'sms'});\n }\n\n if (!!this.activeEntitlements.kba_auth) {\n verificationOptions.push({label: 'Knowledge-Based (KBA)', value: 'kba'});\n }\n\n if (!!this.activeEntitlements.id_auth) {\n verificationOptions.push({label: 'ID Check', value: 'id'});\n }\n\n return (\n <form\n onSubmit={e => e.preventDefault()}\n // onClick={e => e.stopPropagation()}\n autocomplete=\"off\"\n >\n <div class=\"row\">\n <label htmlFor={this.firstNameFieldId}>Name:</label>\n <div class=\"names-row\">\n <input\n id={this.firstNameFieldId}\n name={this.firstNameFieldId}\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.first_name}\n placeholder=\"First...\"\n onFocus={() => {\n // Give the blur event a chance to hide it first if going between first/last\n setTimeout(() => {\n this.showSuggestions = this.contactSuggestions?.length > 0;\n }, 100);\n }}\n onInput={e => this.handleFirstNameChange(e)}\n />\n <input\n id={this.lastNameFieldId}\n name={this.lastNameFieldId}\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.last_name}\n placeholder=\"Last...\"\n onFocus={() => {\n // Give the blur event a chance to hide it first if going between first/last\n setTimeout(() => {\n this.showSuggestions = this.contactSuggestions?.length > 0;\n }, 100);\n }}\n onInput={e => this.handleLastNameChange(e)}\n />\n </div>\n\n {this.showSuggestions && (\n <verdocs-portal\n anchor={this.firstNameFieldId}\n onClickAway={() => {\n this.showSuggestions = false;\n document.querySelectorAll(`.verdocs-portal-wrapper`).forEach(el => el.remove());\n }}\n id=\"verdocs-contact-picker-suggestions\"\n >\n <div class=\"dropdown\">\n {this.contactSuggestions\n .filter(suggestion => !this.first_name || suggestion.first_name?.toLowerCase().includes(this.first_name.toLowerCase()))\n .map(suggestion => (\n <div key={suggestion.id ?? suggestion.email} class=\"suggestion\" onClick={e => this.handleSelectSuggestion(e, suggestion)}>\n {suggestion.picture ? <img alt=\"Avatar\" class=\"avatar\" src={suggestion.picture} /> : <div class=\"avatar\" innerHTML={addrBookIcon} />}\n <div class=\"details\">\n <div class=\"name\">{formatFullName(suggestion)}</div>\n {suggestion.email && <div class=\"destination\">{suggestion.email}</div>}\n {suggestion.phone && <div class=\"destination\">{suggestion.phone}</div>}\n </div>\n </div>\n ))}\n </div>\n </verdocs-portal>\n )}\n </div>\n\n <div class=\"row\">\n <label htmlFor={this.emailFieldId}>Email:</label>\n <input\n id={this.emailFieldId}\n name={this.emailFieldId}\n type=\"text\"\n data-lpignore=\"true\"\n autoComplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.email}\n placeholder=\"Invite/verify via email...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={(e: any) => (this.email = e.target.value)}\n />\n </div>\n\n {hasSMSAuth && (\n <div class=\"row\">\n <label htmlFor={this.phoneFieldId}>Phone:</label>\n <input\n id={this.phoneFieldId}\n name={this.phoneFieldId}\n type=\"text\"\n data-lpignore=\"true\"\n autoComplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.phone}\n placeholder=\"Invite/verify via SMS...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={(e: any) => {\n this.phone = convertToE164(e.target.value);\n }}\n />\n </div>\n )}\n\n <Fragment>\n {verificationOptions.length > 0 && (\n <div class=\"row pin-code\">\n <label>Verification Methods:</label>\n {this.authMethodsLoading ? (\n <verdocs-spinner size={10} mode=\"dark\" style={{margin: 'auto'}} />\n ) : (\n <div>\n {verificationOptions.map((option, i) => (\n <div class=\"option\">\n <verdocs-checkbox\n size=\"small\"\n id={`verdocs-multi-select-opt-${i}`}\n value={option.value}\n checked={this.auth_methods.includes(option.value)}\n onInput={(e: any) => {\n if (e.target.checked) {\n this.auth_methods = [...this.auth_methods, option.value];\n } else {\n this.auth_methods = this.auth_methods.filter(selected => selected !== option.value);\n }\n }}\n />\n <label htmlFor={`verdocs-multi-select-option-${i}`}>{option.label}</label>\n </div>\n ))}\n </div>\n )} \n </div>\n )}\n\n {this.auth_methods.includes('passcode') && (\n <div class=\"row pin-code\">\n <label htmlFor={this.phoneFieldId}>Passcode:</label>\n <input\n id=\"verdocs-passcode\"\n name=\"verdocs-passcode\"\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"blocked\"\n aria-autocomplete=\"none\"\n value={this.passcode}\n placeholder=\"4-8 digits recommended...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={(e: any) => (this.passcode = e.target.value)}\n />\n </div>\n )}\n </Fragment>\n\n <div class=\"row pin-code\">\n <label style={{marginTop: '6px'}}>Options:</label>\n <div>\n <div class=\"option\">\n <verdocs-checkbox\n size=\"small\"\n id=\"verdocs-delegator\"\n checked={this.delegator}\n disabled={this.name_locked}\n onInput={(e: any) => {\n this.delegator = e.target.checked;\n if (this.delegator) this.name_locked = false;\n }}\n />\n <label htmlFor=\"verdocs-delegator\">May delegate signing</label>\n </div>\n <div class=\"option\">\n <verdocs-checkbox\n size=\"small\"\n id=\"verdocs-name-locked\"\n checked={this.name_locked}\n disabled={this.delegator}\n onInput={(e: any) => {\n this.name_locked = e.target.checked;\n if (this.name_locked) this.delegator = false;\n }}\n />\n <label htmlFor=\"verdocs-name-locked\">Name locked</label>\n </div>\n </div>\n </div>\n\n <div class=\"row message\">\n <label htmlFor=\"verdocs-contact-picker-message\">Message:</label>\n <textarea\n id=\"verdocs-contact-picker-message\"\n name=\"verdocs-contact-picker-message\"\n data-lpignore=\"true\"\n autocomplete=\"blocked\"\n placeholder=\"Optional message to include in invitation...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={(e: any) => (this.message = e.target.value)}\n >\n {this.message}\n </textarea>\n </div>\n\n <div class=\"buttons\">\n <div class=\"flex-fill\" />\n\n <verdocs-button variant=\"outline\" label=\"Cancel\" size=\"small\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"OK\" size=\"small\" disabled={!canSubmit} onClick={!canSubmit ? () => {} : e => this.handleSubmit(e)} />\n </div>\n </form>\n );\n }\n}\n"],"mappings":"6oEAAA,IAAMA,EAA0B,WAAM,87HCItC,IAAMC,EAAe,oU,IA4CRC,EAAoBC,EAAA,oCALjC,SAAAC,EAAAC,G,yGASUC,KAAAC,SAA4BC,EAAgBC,aAK5CH,KAAAI,aAA2C,KAM3CJ,KAAAK,mBAAuC,GAyBtCL,KAAAM,gBAA2B,MAC3BN,KAAAO,YAAuB,MACvBP,KAAAQ,UAAqB,MACrBR,KAAAS,YAAuB,MACvBT,KAAAU,aAAuC,GACvCV,KAAAW,SAAmB,GAEnBX,KAAAY,iBAAmB,oCAAAC,OAAoCC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,KAC/FjB,KAAAkB,gBAAkB,mCAAAL,OAAmCC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,KAC7FjB,KAAAmB,aAAe,gCAAAN,OAAgCC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,KACvFjB,KAAAoB,aAAe,gCAAAP,OAAgCC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,KAEvFjB,KAAAqB,mBAAkE,GAClErB,KAAAsB,mBAA8B,IAsUxC,CApUOxB,EAAAyB,UAAAC,kBAAN,W,0HACExB,KAAKC,SAASwB,cAEd,GAAIzB,KAAKI,aAAc,CACfsB,EAAWC,EAAe3B,KAAKI,cAC/BwB,EAAiBF,EAASG,MAAM,KAChCC,EAAY9B,KAAKI,aAAa2B,YAAcH,EAAeI,SAAW,GACtEC,EAAWjC,KAAKI,aAAa8B,WAAaN,EAAeO,KAAK,MAAQ,GAC5EnC,KAAK+B,WAAaD,EAClB9B,KAAKkC,UAAYD,EAEjBjC,KAAKoC,MAAQpC,KAAKI,aAAagC,OAAS,GACxCpC,KAAKqC,MAAQrC,KAAKI,aAAaiC,OAAS,GAExCrC,KAAKQ,UAAYR,KAAKI,aAAaI,WAAa,MAChDR,KAAKS,YAAcT,KAAKQ,UAAY,MAASR,KAAKI,aAAaK,aAAe,MAC9ET,KAAKsC,QAAUtC,KAAKI,aAAakC,SAAW,GAC5CtC,KAAKO,YAAcP,KAAKsC,UAAY,GACpCtC,KAAKU,aAAeV,KAAKI,aAAaM,cAAgB,GACtDV,KAAKW,SAAWX,KAAKI,aAAaO,UAAY,E,CAOhD4B,EAAAvC,KAA0B,SAAMwC,EAAsBxC,KAAKC,UAAUwC,OAAM,SAAAC,GACzEC,QAAQC,KAAK,uFAAwFF,GACrG,MAAO,EACT,K,OAHAH,EAAKlB,mBAAqBwB,EAAAC,OAI1B9C,KAAKsB,mBAAqB,MAC1BqB,QAAQI,IAAI,uCAAwC/C,KAAKqB,oB,kBAG3DvB,EAAAyB,UAAAyB,sBAAA,SAAsBN,G,MACpB1C,KAAK+B,WAAaW,EAAEO,OAAOC,OAC3BC,EAAAnD,KAAKoD,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,KAAK,CAACC,MAAOtD,KAAK+B,Y,EAGzCjC,EAAAyB,UAAAgC,qBAAA,SAAqBb,G,MACnB1C,KAAKkC,UAAYQ,EAAEO,OAAOC,OAC1BC,EAAAnD,KAAKoD,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,KAAK,CAACC,MAAOtD,KAAKkC,W,EAGzCpC,EAAAyB,UAAAiC,aAAA,SAAad,G,MACXA,EAAEe,kBACFzD,KAAKM,gBAAkB,OACvB6C,EAAAnD,KAAK0D,QAAI,MAAAP,SAAA,SAAAA,EAAEE,M,EAGbvD,EAAAyB,UAAAoC,aAAA,SAAajB,G,MACXA,EAAEe,kBAEFzD,KAAKM,gBAAkB,OACvB6C,EAAAnD,KAAK4D,QAAI,MAAAT,SAAA,SAAAA,EAAEE,KAAK,CACdtB,WAAY/B,KAAK+B,WACjBG,UAAWlC,KAAKkC,UAChBE,MAAOpC,KAAKoC,MACZC,MAAOrC,KAAKqC,MACZC,QAAStC,KAAKsC,QACd9B,UAAWR,KAAKQ,UAChBC,YAAaT,KAAKS,YAClBC,aAAcV,KAAKU,aACnBC,SAAUX,KAAKW,SACfkD,QAAS7D,KAAK6D,QACdC,IAAK9D,KAAK8D,K,EAIdhE,EAAAyB,UAAAwC,uBAAA,SAAuBrB,EAAQsB,GAC7BtB,EAAEe,kBAEFzD,KAAK+B,WAAaiC,EAAWjC,WAC7B/B,KAAKkC,UAAY8B,EAAW9B,UAC5BlC,KAAKoC,MAAQ4B,EAAW5B,MACxBpC,KAAKqC,MAAQ2B,EAAW3B,MACxBrC,KAAKM,gBAAkB,K,EAKzBR,EAAAyB,UAAA0C,OAAA,eAAAC,EAAAlE,KAEE,IAAMmE,EAAYnE,KAAK+B,YAAc/B,KAAKkC,WAAakC,EAAapE,KAAKoC,OACzE,IAAMiC,GACHrE,KAAKU,aAAa4D,QAClBtE,KAAKU,aAAa6D,SAAS,eAAiBvE,KAAKW,UACjDX,KAAKU,aAAa6D,SAAS,UAAYvE,KAAK+B,cAAgB/B,KAAKkC,WACjElC,KAAKU,aAAa6D,SAAS,YAAcvE,KAAKoC,OAC9CpC,KAAKU,aAAa6D,SAAS,UAAYvE,KAAKqC,MAC/C,IAAMmC,EAAYL,GAAaE,EAC/B,IAAMI,IAAezE,KAAKqB,mBAAmBqD,SAE7C,IAAMC,EAAsB,GAE5BA,EAAoBC,KAAK,CAACC,MAAO,WAAY3B,MAAO,aACpDyB,EAAoBC,KAAK,CAACC,MAAO,QAAS3B,MAAO,UAEjD,GAAIuB,EAAY,CACdE,EAAoBC,KAAK,CAACC,MAAO,sBAAuB3B,MAAO,O,CAGjE,KAAMlD,KAAKqB,mBAAmByD,SAAU,CACtCH,EAAoBC,KAAK,CAACC,MAAO,wBAAyB3B,MAAO,O,CAGnE,KAAMlD,KAAKqB,mBAAmB0D,QAAS,CACrCJ,EAAoBC,KAAK,CAACC,MAAO,WAAY3B,MAAO,M,CAGtD,OACE8B,EAAA,QAAAC,IAAA,2CACEC,SAAU,SAAAxC,GAAK,OAAAA,EAAEyC,gBAAF,EAEfC,aAAa,OAEbJ,EAAA,OAAAC,IAAA,2CAAKI,MAAM,OACTL,EAAA,SAAAC,IAAA,2CAAOK,QAAStF,KAAKY,kBAAgB,SACrCoE,EAAA,OAAAC,IAAA,2CAAKI,MAAM,aACTL,EAAA,SAAAC,IAAA,2CACEM,GAAIvF,KAAKY,iBACT4E,KAAMxF,KAAKY,iBACX6E,KAAK,OAAM,gBACG,OACdL,aAAa,UAAS,oBACJ,OAClBlC,MAAOlD,KAAK+B,WACZ2D,YAAY,WACZC,QAAS,WAEPC,YAAW,W,MACT1B,EAAK5D,kBAAkB6C,EAAAe,EAAK7D,sBAAkB,MAAA8C,SAAA,SAAAA,EAAEmB,QAAS,C,GACxD,IACL,EACAuB,QAAS,SAAAnD,GAAK,OAAAwB,EAAKlB,sBAAsBN,EAA3B,IAEhBsC,EAAA,SAAAC,IAAA,2CACEM,GAAIvF,KAAKkB,gBACTsE,KAAMxF,KAAKkB,gBACXuE,KAAK,OAAM,gBACG,OACdL,aAAa,UAAS,oBACJ,OAClBlC,MAAOlD,KAAKkC,UACZwD,YAAY,UACZC,QAAS,WAEPC,YAAW,W,MACT1B,EAAK5D,kBAAkB6C,EAAAe,EAAK7D,sBAAkB,MAAA8C,SAAA,SAAAA,EAAEmB,QAAS,C,GACxD,IACL,EACAuB,QAAS,SAAAnD,GAAK,OAAAwB,EAAKX,qBAAqBb,EAA1B,KAIjB1C,KAAKM,iBACJ0E,EAAA,kBAAAC,IAAA,2CACEa,OAAQ9F,KAAKY,iBACbmF,YAAa,WACX7B,EAAK5D,gBAAkB,MACvB0F,SAASC,iBAAiB,2BAA2BC,SAAQ,SAAAC,GAAM,OAAAA,EAAGC,QAAH,G,EAErEb,GAAG,sCAEHP,EAAA,OAAAC,IAAA,2CAAKI,MAAM,YACRrF,KAAKK,mBACHgG,QAAO,SAAArC,GAAa,IAAAb,EAAC,OAACe,EAAKnC,cAAcoB,EAAAa,EAAWjC,cAAU,MAAAoB,SAAA,SAAAA,EAAEmD,cAAc/B,SAASL,EAAKnC,WAAWuE,eAAc,IACrHC,KAAI,SAAAvC,G,MAAc,OACjBgB,EAAA,OAAKC,KAAK9B,EAAAa,EAAWuB,MAAE,MAAApC,SAAA,EAAAA,EAAIa,EAAW5B,MAAOiD,MAAM,aAAamB,QAAS,SAAA9D,GAAK,OAAAwB,EAAKH,uBAAuBrB,EAAGsB,EAA/B,GAC3EA,EAAWyC,QAAUzB,EAAA,OAAK0B,IAAI,SAASrB,MAAM,SAASsB,IAAK3C,EAAWyC,UAAczB,EAAA,OAAKK,MAAM,SAASuB,UAAWjH,IACpHqF,EAAA,OAAKK,MAAM,WACTL,EAAA,OAAKK,MAAM,QAAQ1D,EAAeqC,IACjCA,EAAW5B,OAAS4C,EAAA,OAAKK,MAAM,eAAerB,EAAW5B,OACzD4B,EAAW3B,OAAS2C,EAAA,OAAKK,MAAM,eAAerB,EAAW3B,Q,OAS1E2C,EAAA,OAAAC,IAAA,2CAAKI,MAAM,OACTL,EAAA,SAAAC,IAAA,2CAAOK,QAAStF,KAAKmB,cAAY,UACjC6D,EAAA,SAAAC,IAAA,2CACEM,GAAIvF,KAAKmB,aACTqE,KAAMxF,KAAKmB,aACXsE,KAAK,OAAM,gBACG,OACdoB,aAAa,UAAS,oBACJ,OAClB3D,MAAOlD,KAAKoC,MACZsD,YAAY,6BACZC,QAAS,kBAAOzB,EAAK5D,gBAAkB,KAA9B,EACTuF,QAAS,SAACnD,GAAM,OAAMwB,EAAK9B,MAAQM,EAAEO,OAAOC,KAA5B,KAInBuB,GACCO,EAAA,OAAAC,IAAA,2CAAKI,MAAM,OACTL,EAAA,SAAAC,IAAA,2CAAOK,QAAStF,KAAKoB,cAAY,UACjC4D,EAAA,SAAAC,IAAA,2CACEM,GAAIvF,KAAKoB,aACToE,KAAMxF,KAAKoB,aACXqE,KAAK,OAAM,gBACG,OACdoB,aAAa,UAAS,oBACJ,OAClB3D,MAAOlD,KAAKqC,MACZqD,YAAY,2BACZC,QAAS,kBAAOzB,EAAK5D,gBAAkB,KAA9B,EACTuF,QAAS,SAACnD,GACRwB,EAAK7B,MAAQyE,EAAcpE,EAAEO,OAAOC,MACtC,KAKN8B,EAAC+B,EAAQ,CAAA9B,IAAA,4CACNN,EAAoBL,OAAS,GAC5BU,EAAA,OAAAC,IAAA,2CAAKI,MAAM,gBACTL,EAAA,SAAAC,IAAA,qEACCjF,KAAKsB,mBACJ0D,EAAA,mBAAiBgC,KAAM,GAAIC,KAAK,OAAOC,MAAO,CAACC,OAAQ,UAEvDnC,EAAA,WACCL,EAAoB4B,KAAI,SAACa,EAAQC,GAAC,OACjCrC,EAAA,OAAKK,MAAM,UACTL,EAAA,oBACEgC,KAAK,QACLzB,GAAI,4BAAA1E,OAA4BwG,GAChCnE,MAAOkE,EAAOlE,MACdoE,QAASpD,EAAKxD,aAAa6D,SAAS6C,EAAOlE,OAC3C2C,QAAS,SAACnD,GACR,GAAIA,EAAEO,OAAOqE,QAAS,CACpBpD,EAAKxD,aAAY6G,4BAAA,GAAOrD,EAAKxD,aAAY,OAAE0G,EAAOlE,OAAK,M,KAClD,CACLgB,EAAKxD,aAAewD,EAAKxD,aAAa2F,QAAO,SAAAmB,GAAY,OAAAA,IAAaJ,EAAOlE,KAApB,G,KAI/D8B,EAAA,SAAOM,QAAS,+BAAAzE,OAA+BwG,IAAMD,EAAOvC,OAf7B,MAuBxC7E,KAAKU,aAAa6D,SAAS,aAC1BS,EAAA,OAAAC,IAAA,2CAAKI,MAAM,gBACTL,EAAA,SAAAC,IAAA,2CAAOK,QAAStF,KAAKoB,cAAY,aACjC4D,EAAA,SAAAC,IAAA,2CACEM,GAAG,mBACHC,KAAK,mBACLC,KAAK,OAAM,gBACG,OACdL,aAAa,UAAS,oBACJ,OAClBlC,MAAOlD,KAAKW,SACZ+E,YAAY,4BACZC,QAAS,kBAAOzB,EAAK5D,gBAAkB,KAA9B,EACTuF,QAAS,SAACnD,GAAM,OAAMwB,EAAKvD,SAAW+B,EAAEO,OAAOC,KAA/B,MAMxB8B,EAAA,OAAAC,IAAA,2CAAKI,MAAM,gBACTL,EAAA,SAAAC,IAAA,2CAAOiC,MAAO,CAACO,UAAW,QAAM,YAChCzC,EAAA,OAAAC,IAAA,4CACED,EAAA,OAAAC,IAAA,2CAAKI,MAAM,UACTL,EAAA,oBAAAC,IAAA,2CACE+B,KAAK,QACLzB,GAAG,oBACH+B,QAAStH,KAAKQ,UACdkH,SAAU1H,KAAKS,YACfoF,QAAS,SAACnD,GACRwB,EAAK1D,UAAYkC,EAAEO,OAAOqE,QAC1B,GAAIpD,EAAK1D,UAAW0D,EAAKzD,YAAc,KACzC,IAEFuE,EAAA,SAAAC,IAAA,2CAAOK,QAAQ,qBAAmB,yBAEpCN,EAAA,OAAAC,IAAA,2CAAKI,MAAM,UACTL,EAAA,oBAAAC,IAAA,2CACE+B,KAAK,QACLzB,GAAG,sBACH+B,QAAStH,KAAKS,YACdiH,SAAU1H,KAAKQ,UACfqF,QAAS,SAACnD,GACRwB,EAAKzD,YAAciC,EAAEO,OAAOqE,QAC5B,GAAIpD,EAAKzD,YAAayD,EAAK1D,UAAY,K,IAG3CwE,EAAA,SAAAC,IAAA,2CAAOK,QAAQ,uBAAqB,kBAK1CN,EAAA,OAAAC,IAAA,2CAAKI,MAAM,eACTL,EAAA,SAAAC,IAAA,2CAAOK,QAAQ,kCAAgC,YAC/CN,EAAA,YAAAC,IAAA,2CACEM,GAAG,iCACHC,KAAK,iCAAgC,gBACvB,OACdJ,aAAa,UACbM,YAAY,+CACZC,QAAS,kBAAOzB,EAAK5D,gBAAkB,KAA9B,EACTuF,QAAS,SAACnD,GAAM,OAAMwB,EAAK5B,QAAUI,EAAEO,OAAOC,KAA9B,GAEflD,KAAKsC,UAIV0C,EAAA,OAAAC,IAAA,2CAAKI,MAAM,WACTL,EAAA,OAAAC,IAAA,2CAAKI,MAAM,cAEXL,EAAA,kBAAAC,IAAA,2CAAgB0C,QAAQ,UAAU9C,MAAM,SAASmC,KAAK,QAAQR,QAAS,SAAA9D,GAAK,OAAAwB,EAAKV,aAAad,EAAlB,IAC5EsC,EAAA,kBAAAC,IAAA,2CAAgBJ,MAAM,KAAKmC,KAAK,QAAQU,UAAWlD,EAAWgC,SAAUhC,EAAY,WAAK,EAAM,SAAA9B,GAAK,OAAAwB,EAAKP,aAAajB,EAAlB,K,WAtX7E,I","ignoreList":[]}
|