@verdocs/web-sdk 6.10.5 → 6.10.7
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-C3P2cz0J.js +14 -0
- package/dist/cjs/Environment-C3P2cz0J.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 +16 -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/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js.map +1 -1
- package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.css +2 -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 +16 -11
- package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
- package/dist/collection/utils/Environment.js +5 -1
- package/dist/collection/utils/Environment.js.map +1 -1
- package/dist/components/p-6RWROB9R.js +2 -0
- package/dist/components/p-6RWROB9R.js.map +1 -0
- package/dist/components/{p-B3UP88BP.js → p-B1UVXqFA.js} +2 -2
- 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-CC7jlZnx.js → p-BYVQkYYg.js} +2 -2
- package/dist/components/p-C1iHkDUH.js +2 -0
- package/dist/components/p-C1iHkDUH.js.map +1 -0
- 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-DnqXAqmP.js → p-Ck4pdoyc.js} +2 -2
- package/dist/components/{p-BA3SxsdQ.js → p-CsF979IT.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-RvR1j0oO.js → p-DJMr11ue.js} +2 -2
- package/dist/components/{p-CHzNcBIz.js → p-DKKsPZnz.js} +2 -2
- package/dist/components/p-DavVixMP.js +2 -0
- package/dist/components/p-DavVixMP.js.map +1 -0
- 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-5fVPVL_Z.js → p-K_PKw6bs.js} +2 -2
- package/dist/components/p-b2u0_wDk.js +2 -0
- package/dist/components/p-b2u0_wDk.js.map +1 -0
- package/dist/components/{p-ohuuh9ZE.js → p-bPe0_Dsn.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/components/verdocs-toolbar-icon.js +1 -1
- package/dist/esm/Environment-b2u0_wDk.js +12 -0
- package/dist/esm/Environment-b2u0_wDk.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 +16 -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/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm/verdocs-template-document-page_2.entry.js.map +1 -1
- package/dist/esm-es5/Environment-b2u0_wDk.js +2 -0
- package/dist/esm-es5/Environment-b2u0_wDk.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/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page_2.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-39c54b65.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-39c54b65.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-4e0788f9.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-4e0788f9.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-d06d9cfd.entry.js → p-4e091415.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-c6f52cd7.entry.js → p-4ea0632f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-c6f52cd7.entry.js.map → p-4ea0632f.entry.js.map} +1 -1
- 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-COHG5J4h.system.js +2 -0
- package/dist/verdocs-web-sdk/p-COHG5J4h.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-b2u0_wDk.js +2 -0
- package/dist/verdocs-web-sdk/p-b2u0_wDk.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-098b3852.system.entry.js → p-ba0d4ff5.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-098b3852.system.entry.js.map → p-ba0d4ff5.system.entry.js.map} +1 -1
- 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-1273627b.system.entry.js → p-ceda04bc.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-5c2025ca.entry.js → p-d95705c6.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-4471c1b4.entry.js → p-ee92c074.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-6af0110a.system.entry.js → p-fad90cf9.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-CYqVJ_kJ.js +0 -2
- package/dist/components/p-CYqVJ_kJ.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-B3UP88BP.js.map → p-B1UVXqFA.js.map} +0 -0
- /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-BYVQkYYg.js.map} +0 -0
- /package/dist/components/{p-DEhaAbKn.js.map → p-CYvB5bYX.js.map} +0 -0
- /package/dist/components/{p-DnqXAqmP.js.map → p-Ck4pdoyc.js.map} +0 -0
- /package/dist/components/{p-BA3SxsdQ.js.map → p-CsF979IT.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-RvR1j0oO.js.map → p-DJMr11ue.js.map} +0 -0
- /package/dist/components/{p-CHzNcBIz.js.map → p-DKKsPZnz.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-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/verdocs-web-sdk/{p-9c481477.entry.js.map → p-10d47bbd.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-d06d9cfd.entry.js.map → p-4e091415.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-ceda04bc.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-4471c1b4.entry.js.map → p-ee92c074.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-6af0110a.system.entry.js.map → p-fad90cf9.system.entry.js.map} +0 -0
package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js
CHANGED
|
@@ -66,7 +66,12 @@ export class VerdocsContactPicker {
|
|
|
66
66
|
this.auth_methods = this.templateRole.auth_methods || [];
|
|
67
67
|
this.passcode = this.templateRole.passcode || '';
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
// Entitlements only gate optional methods like KBA. We need error handling here in case the getActiveEntitlements
|
|
70
|
+
// call fails or we stay loading forever.
|
|
71
|
+
this.activeEntitlements = await getActiveEntitlements(this.endpoint).catch(e => {
|
|
72
|
+
console.warn('[CONTACT PICKER] Unable to load entitlements, continuing with base auth methods only', e);
|
|
73
|
+
return {};
|
|
74
|
+
});
|
|
70
75
|
this.authMethodsLoading = false;
|
|
71
76
|
console.log('[CONTACT PICKER] Loaded entitlements', this.activeEntitlements);
|
|
72
77
|
}
|
|
@@ -136,46 +141,46 @@ export class VerdocsContactPicker {
|
|
|
136
141
|
if (!!this.activeEntitlements.id_auth) {
|
|
137
142
|
verificationOptions.push({ label: 'ID Check', value: 'id' });
|
|
138
143
|
}
|
|
139
|
-
return (h("form", { key: '
|
|
144
|
+
return (h("form", { key: '6709871235915b9c57af981cb4ab8560c040c29f', onSubmit: e => e.preventDefault(),
|
|
140
145
|
// onClick={e => e.stopPropagation()}
|
|
141
|
-
autocomplete: "off" }, h("div", { key: '
|
|
146
|
+
autocomplete: "off" }, h("div", { key: 'b4792f8bf7a38bd1eca0a684da63e06607b29d4a', class: "row" }, h("label", { key: '75f1386774dcf2dba1ae074e2ef86b9d04525763', htmlFor: this.firstNameFieldId }, "Name:"), h("div", { key: '36916fdd64584ef209620a6311c4db381e55ea82', class: "names-row" }, h("input", { key: '8ab3867864dad6e2726a09666e8c3334f6bbc713', id: this.firstNameFieldId, name: this.firstNameFieldId, type: "text", "data-lpignore": "true", autocomplete: "blocked", "aria-autocomplete": "none", value: this.first_name, placeholder: "First...", onFocus: () => {
|
|
142
147
|
// Give the blur event a chance to hide it first if going between first/last
|
|
143
148
|
setTimeout(() => {
|
|
144
149
|
var _a;
|
|
145
150
|
this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
146
151
|
}, 100);
|
|
147
|
-
}, onInput: e => this.handleFirstNameChange(e) }), h("input", { key: '
|
|
152
|
+
}, onInput: e => this.handleFirstNameChange(e) }), h("input", { key: '000acb6f26cfa8a78105b211df519ef3851dc474', id: this.lastNameFieldId, name: this.lastNameFieldId, type: "text", "data-lpignore": "true", autocomplete: "blocked", "aria-autocomplete": "none", value: this.last_name, placeholder: "Last...", onFocus: () => {
|
|
148
153
|
// Give the blur event a chance to hide it first if going between first/last
|
|
149
154
|
setTimeout(() => {
|
|
150
155
|
var _a;
|
|
151
156
|
this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
152
157
|
}, 100);
|
|
153
|
-
}, onInput: e => this.handleLastNameChange(e) })), this.showSuggestions && (h("verdocs-portal", { key: '
|
|
158
|
+
}, onInput: e => this.handleLastNameChange(e) })), this.showSuggestions && (h("verdocs-portal", { key: '4e9c8ee57f464fcf09578430e1fe09981e87bafc', anchor: this.firstNameFieldId, onClickAway: () => {
|
|
154
159
|
this.showSuggestions = false;
|
|
155
160
|
document.querySelectorAll(`.verdocs-portal-wrapper`).forEach(el => el.remove());
|
|
156
|
-
}, id: "verdocs-contact-picker-suggestions" }, h("div", { key: '
|
|
161
|
+
}, id: "verdocs-contact-picker-suggestions" }, h("div", { key: '5cbf60f0f1186f318f686ef6bdc8d791072e4d41', class: "dropdown" }, this.contactSuggestions
|
|
157
162
|
.filter(suggestion => { var _a; return !this.first_name || ((_a = suggestion.first_name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(this.first_name.toLowerCase())); })
|
|
158
163
|
.map(suggestion => {
|
|
159
164
|
var _a;
|
|
160
165
|
return (h("div", { key: (_a = suggestion.id) !== null && _a !== void 0 ? _a : suggestion.email, class: "suggestion", onClick: e => this.handleSelectSuggestion(e, suggestion) }, suggestion.picture ? h("img", { alt: "Avatar", class: "avatar", src: suggestion.picture }) : h("div", { class: "avatar", innerHTML: addrBookIcon }), h("div", { class: "details" }, h("div", { class: "name" }, formatFullName(suggestion)), suggestion.email && h("div", { class: "destination" }, suggestion.email), suggestion.phone && h("div", { class: "destination" }, suggestion.phone))));
|
|
161
|
-
}))))), h("div", { key: '
|
|
166
|
+
}))))), h("div", { key: '3d6aaa5e5bd3f0bc5681c4b788f222b6dfb45584', class: "row" }, h("label", { key: '67e9b6d47602d8c455a46e47b94bf008d2ac3a4e', htmlFor: this.emailFieldId }, "Email:"), h("input", { key: 'b65569322f9a9864fe82ac3371ffcf4e769b69f1', 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) })), hasSMSAuth && (h("div", { key: 'defed17223c457db6eea0aff5c13598a70882157', class: "row" }, h("label", { key: '7a06bd13e92cd70c51f23228bbe4ed5be59919bb', htmlFor: this.phoneFieldId }, "Phone:"), h("input", { key: '770012fd3d838449afa88309f7b003c600e10a1c', 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) => {
|
|
162
167
|
this.phone = convertToE164(e.target.value);
|
|
163
|
-
} }))), h(Fragment, { key: '
|
|
168
|
+
} }))), h(Fragment, { key: 'e0071e7e2fb5521685c8863dab279f31089bf20e' }, verificationOptions.length > 0 && (h("div", { key: '7f769fdb13d206c769b813eef2c68e810bc635f3', class: "row pin-code" }, h("label", { key: '4ebf33f0821f3b1f2a63ac918d3d2923b8f38e38' }, "Verification Methods:"), this.authMethodsLoading ? (h("verdocs-spinner", { size: 10, mode: "dark", style: { margin: 'auto' } })) : (h("div", null, verificationOptions.map((option, i) => (h("div", { class: "option" }, h("verdocs-checkbox", { size: "small", id: `verdocs-multi-select-opt-${i}`, value: option.value, checked: this.auth_methods.includes(option.value), onInput: (e) => {
|
|
164
169
|
if (e.target.checked) {
|
|
165
170
|
this.auth_methods = [...this.auth_methods, option.value];
|
|
166
171
|
}
|
|
167
172
|
else {
|
|
168
173
|
this.auth_methods = this.auth_methods.filter(selected => selected !== option.value);
|
|
169
174
|
}
|
|
170
|
-
} }), h("label", { htmlFor: `verdocs-multi-select-option-${i}` }, option.label)))))))), this.auth_methods.includes('passcode') && (h("div", { key: '
|
|
175
|
+
} }), h("label", { htmlFor: `verdocs-multi-select-option-${i}` }, option.label)))))))), this.auth_methods.includes('passcode') && (h("div", { key: '79feab0e29cbfbbb825f285a995d21576732bb8a', class: "row pin-code" }, h("label", { key: '7fd8dd8c3f254e9d6eba0e657f3a02f0fd47b05e', htmlFor: this.phoneFieldId }, "Passcode:"), h("input", { key: 'a9d0055ca2669776bc465ed4d7a1ce414bb628a4', 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) })))), h("div", { key: '71101e3ae9adab93ffde79f43431ab91657df8cd', class: "row pin-code" }, h("label", { key: '312a0dafe35171d1ebc61e62f868e2fdcd8a8e8d', style: { marginTop: '6px' } }, "Options:"), h("div", { key: '38341490838ffe88ee03800e886d46b163f1d21a' }, h("div", { key: '68fbb6b02029ba082da5db49687989e2d0228235', class: "option" }, h("verdocs-checkbox", { key: '57c933a6ebc171d8a0c86452ff26504270175463', size: "small", id: "verdocs-delegator", checked: this.delegator, disabled: this.name_locked, onInput: (e) => {
|
|
171
176
|
this.delegator = e.target.checked;
|
|
172
177
|
if (this.delegator)
|
|
173
178
|
this.name_locked = false;
|
|
174
|
-
} }), h("label", { key: '
|
|
179
|
+
} }), h("label", { key: '8d4bbaef0ca5cea8100777fa37d520f1bd5a1d1e', htmlFor: "verdocs-delegator" }, "May delegate signing")), h("div", { key: 'd1278133af51917475ae1778c28da315072ca4a6', class: "option" }, h("verdocs-checkbox", { key: '32f6401902c5f850f52c58fb06def2d16fc65e99', size: "small", id: "verdocs-name-locked", checked: this.name_locked, disabled: this.delegator, onInput: (e) => {
|
|
175
180
|
this.name_locked = e.target.checked;
|
|
176
181
|
if (this.name_locked)
|
|
177
182
|
this.delegator = false;
|
|
178
|
-
} }), h("label", { key: '
|
|
183
|
+
} }), h("label", { key: '82d3cb3a2c48c66e8dd4bf917e35ed85327d994d', htmlFor: "verdocs-name-locked" }, "Name locked")))), h("div", { key: '01f4e93445daee8493eb67f41640865753db54bb', class: "row message" }, h("label", { key: '499b65b9368abe5f355ece31825fdd6b92905b55', htmlFor: "verdocs-contact-picker-message" }, "Message:"), h("textarea", { key: '817c16d982edb9af18f8ebee829ed77068d431b5', 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)), h("div", { key: '044a45c3a9ba57334c6e10f12e0b1f19ce5c3403', class: "buttons" }, h("div", { key: '6aa3536c73eef3852f7d483deee3773413167f5d', class: "flex-fill" }), h("verdocs-button", { key: '7dc65ba7bcb927c9822cc19d00b3a74278db8688', variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { key: '7f3434aa2547d87ad2a54610374bec0511aa7940', label: "OK", size: "small", disabled: !canSubmit, onClick: !canSubmit ? () => { } : e => this.handleSubmit(e) }))));
|
|
179
184
|
}
|
|
180
185
|
static get is() { return "verdocs-contact-picker"; }
|
|
181
186
|
static get originalStyleUrls() {
|
package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdocs-contact-picker.js","sourceRoot":"","sources":["../../../../src/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAgB,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AACvF,OAAO,EAAC,cAAc,EAAE,qBAAqB,EAAsC,YAAY,EAAsC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAC7K,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,MAAM,YAAY,GAAG,mUAAmU,CAAC;AAsBzV;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,OAAO,oBAAoB;IALjC;QAME;;WAEG;QACK,aAAQ,GAAoB,eAAe,CAAC,UAAU,EAAE,CAAC;QAEjE;;WAEG;QACK,iBAAY,GAA+B,IAAI,CAAC;QAExD;;;WAGG;QACK,uBAAkB,GAAqB,EAAE,CAAC;QAyBzC,oBAAe,GAAY,KAAK,CAAC;QACjC,gBAAW,GAAY,KAAK,CAAC;QAC7B,cAAS,GAAY,KAAK,CAAC;QAC3B,gBAAW,GAAY,KAAK,CAAC;QAC7B,iBAAY,GAA2B,EAAE,CAAC;QAC1C,aAAQ,GAAW,EAAE,CAAC;QAEtB,qBAAgB,GAAG,oCAAoC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACrG,oBAAe,GAAG,mCAAmC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACnG,iBAAY,GAAG,gCAAgC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7F,iBAAY,GAAG,gCAAgC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAE7F,uBAAkB,GAAgD,EAAE,CAAC;QACrE,uBAAkB,GAAY,IAAI,CAAA;KA+T5C;IA7TC,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/E,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAE1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,uGAAuG;YACvG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,KAAK,CAAC;YACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;QAC/B,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9E,CAAC;IAED,qBAAqB,CAAC,CAAM;;QAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,MAAA,IAAI,CAAC,cAAc,0CAAE,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC,CAAC;IACtD,CAAC;IAED,oBAAoB,CAAC,CAAM;;QACzB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAA,IAAI,CAAC,cAAc,0CAAE,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,CAAM;;QACjB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,CAAM;;QACjB,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAC;YACd,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,CAAM,EAAE,UAA0B;QACvD,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,qIAAqI;IACrI,8DAA8D;IAC9D,MAAM;QACJ,iHAAiH;QACjH,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,mBAAmB,GACvB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YACzB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5E,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACrD,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,SAAS,IAAI,mBAAmB,CAAC;QACnD,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAA;QAErD,MAAM,mBAAmB,GAAG,EAAE,CAAC;QAE/B,mBAAmB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAC,CAAC,CAAC;QACjE,mBAAmB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;QAE3D,IAAI,UAAU,EAAE,CAAC;YACf,mBAAmB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACvC,mBAAmB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;YACtC,mBAAmB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,CACL,6DACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;YACjC,qCAAqC;YACrC,YAAY,EAAC,KAAK;YAElB,4DAAK,KAAK,EAAC,KAAK;gBACd,8DAAO,OAAO,EAAE,IAAI,CAAC,gBAAgB,YAAe;gBACpD,4DAAK,KAAK,EAAC,WAAW;oBACpB,8DACE,EAAE,EAAE,IAAI,CAAC,gBAAgB,EACzB,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAC3B,IAAI,EAAC,MAAM,mBACG,MAAM,EACpB,YAAY,EAAC,SAAS,uBACJ,MAAM,EACxB,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,WAAW,EAAC,UAAU,EACtB,OAAO,EAAE,GAAG,EAAE;4BACZ,4EAA4E;4BAC5E,UAAU,CAAC,GAAG,EAAE;;gCACd,IAAI,CAAC,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,IAAG,CAAC,CAAC;4BAC7D,CAAC,EAAE,GAAG,CAAC,CAAC;wBACV,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAC3C;oBACF,8DACE,EAAE,EAAE,IAAI,CAAC,eAAe,EACxB,IAAI,EAAE,IAAI,CAAC,eAAe,EAC1B,IAAI,EAAC,MAAM,mBACG,MAAM,EACpB,YAAY,EAAC,SAAS,uBACJ,MAAM,EACxB,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,WAAW,EAAC,SAAS,EACrB,OAAO,EAAE,GAAG,EAAE;4BACZ,4EAA4E;4BAC5E,UAAU,CAAC,GAAG,EAAE;;gCACd,IAAI,CAAC,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,IAAG,CAAC,CAAC;4BAC7D,CAAC,EAAE,GAAG,CAAC,CAAC;wBACV,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAC1C,CACE;gBAEL,IAAI,CAAC,eAAe,IAAI,CACvB,uEACE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAC7B,WAAW,EAAE,GAAG,EAAE;wBAChB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;wBAC7B,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClF,CAAC,EACD,EAAE,EAAC,oCAAoC;oBAEvC,4DAAK,KAAK,EAAC,UAAU,IAClB,IAAI,CAAC,kBAAkB;yBACrB,MAAM,CAAC,UAAU,CAAC,EAAE,WAAC,OAAA,CAAC,IAAI,CAAC,UAAU,KAAI,MAAA,UAAU,CAAC,UAAU,0CAAE,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA,CAAA,EAAA,CAAC;yBACtH,GAAG,CAAC,UAAU,CAAC,EAAE;;wBAAC,OAAA,CACjB,WAAK,GAAG,EAAE,MAAA,UAAU,CAAC,EAAE,mCAAI,UAAU,CAAC,KAAK,EAAE,KAAK,EAAC,YAAY,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,UAAU,CAAC;4BACrH,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,WAAK,GAAG,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,UAAU,CAAC,OAAO,GAAI,CAAC,CAAC,CAAC,WAAK,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAE,YAAY,GAAI;4BACpI,WAAK,KAAK,EAAC,SAAS;gCAClB,WAAK,KAAK,EAAC,MAAM,IAAE,cAAc,CAAC,UAAU,CAAC,CAAO;gCACnD,UAAU,CAAC,KAAK,IAAI,WAAK,KAAK,EAAC,aAAa,IAAE,UAAU,CAAC,KAAK,CAAO;gCACrE,UAAU,CAAC,KAAK,IAAI,WAAK,KAAK,EAAC,aAAa,IAAE,UAAU,CAAC,KAAK,CAAO,CAClE,CACF,CACP,CAAA;qBAAA,CAAC,CACA,CACS,CAClB,CACG;YAEN,4DAAK,KAAK,EAAC,KAAK;gBACd,8DAAO,OAAO,EAAE,IAAI,CAAC,YAAY,aAAgB;gBACjD,8DACE,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,IAAI,EAAE,IAAI,CAAC,YAAY,EACvB,IAAI,EAAC,MAAM,mBACG,MAAM,EACpB,YAAY,EAAC,SAAS,uBACJ,MAAM,EACxB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAC,4BAA4B,EACxC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,EAC7C,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAClD,CACE;YAEL,UAAU,IAAI,CACb,4DAAK,KAAK,EAAC,KAAK;gBACd,8DAAO,OAAO,EAAE,IAAI,CAAC,YAAY,aAAgB;gBACjD,8DACE,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,IAAI,EAAE,IAAI,CAAC,YAAY,EACvB,IAAI,EAAC,MAAM,mBACG,MAAM,EACpB,YAAY,EAAC,SAAS,uBACJ,MAAM,EACxB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAC,0BAA0B,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,EAC7C,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;wBAClB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,CAAC,GACD,CACE,CACP;YAED,EAAC,QAAQ;gBACN,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CACjC,4DAAK,KAAK,EAAC,cAAc;oBACvB,wFAAoC;oBACnC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACzB,uBAAiB,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,GAAI,CACnE,CAAC,CAAC,CAAC,CACF,eACC,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CACtC,WAAK,KAAK,EAAC,QAAQ;wBACjB,wBACE,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,4BAA4B,CAAC,EAAE,EACnC,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;gCAClB,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oCACrB,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gCAC3D,CAAC;qCAAM,CAAC;oCACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;gCACtF,CAAC;4BACH,CAAC,GACD;wBACF,aAAO,OAAO,EAAE,+BAA+B,CAAC,EAAE,IAAG,MAAM,CAAC,KAAK,CAAS,CACtE,CACP,CAAC,CACE,CACL,CACG,CACP;gBAEA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CACzC,4DAAK,KAAK,EAAC,cAAc;oBACvB,8DAAO,OAAO,EAAE,IAAI,CAAC,YAAY,gBAAmB;oBACpD,8DACE,EAAE,EAAC,kBAAkB,EACrB,IAAI,EAAC,kBAAkB,EACvB,IAAI,EAAC,MAAM,mBACG,MAAM,EACpB,YAAY,EAAC,SAAS,uBACJ,MAAM,EACxB,KAAK,EAAE,IAAI,CAAC,QAAQ,EACpB,WAAW,EAAC,2BAA2B,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,EAC7C,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GACrD,CACE,CACP,CACQ;YAEX,4DAAK,KAAK,EAAC,cAAc;gBACvB,8DAAO,KAAK,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,eAAkB;gBAClD;oBACE,4DAAK,KAAK,EAAC,QAAQ;wBACjB,yEACE,IAAI,EAAC,OAAO,EACZ,EAAE,EAAC,mBAAmB,EACtB,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAC1B,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;gCAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gCAClC,IAAI,IAAI,CAAC,SAAS;oCAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;4BAC/C,CAAC,GACD;wBACF,8DAAO,OAAO,EAAC,mBAAmB,2BAA6B,CAC3D;oBACN,4DAAK,KAAK,EAAC,QAAQ;wBACjB,yEACE,IAAI,EAAC,OAAO,EACZ,EAAE,EAAC,qBAAqB,EACxB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;gCAClB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gCACpC,IAAI,IAAI,CAAC,WAAW;oCAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BAC/C,CAAC,GACD;wBACF,8DAAO,OAAO,EAAC,qBAAqB,kBAAoB,CACpD,CACF,CACF;YAEN,4DAAK,KAAK,EAAC,aAAa;gBACtB,8DAAO,OAAO,EAAC,gCAAgC,eAAiB;gBAChE,iEACE,EAAE,EAAC,gCAAgC,EACnC,IAAI,EAAC,gCAAgC,mBACvB,MAAM,EACpB,YAAY,EAAC,SAAS,EACtB,WAAW,EAAC,8CAA8C,EAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,EAC7C,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAEnD,IAAI,CAAC,OAAO,CACJ,CACP;YAEN,4DAAK,KAAK,EAAC,SAAS;gBAClB,4DAAK,KAAK,EAAC,WAAW,GAAG;gBAEzB,uEAAgB,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAI;gBACpG,uEAAgB,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAI,CACxH,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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 this.activeEntitlements = await getActiveEntitlements(this.endpoint)\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"]}
|
|
1
|
+
{"version":3,"file":"verdocs-contact-picker.js","sourceRoot":"","sources":["../../../../src/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["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 optional methods like KBA. We need error handling here in case the getActiveEntitlements\n // call fails or we stay loading forever.\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\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"]}
|
|
@@ -2,5 +2,9 @@ import { VerdocsEndpoint } from "@verdocs/js-sdk";
|
|
|
2
2
|
export const BETA_ORIGINS = ['https://beta.verdocs.com', 'https://stage.verdocs.com', 'http://localhost:6006', 'http://localhost:5173'];
|
|
3
3
|
export const IS_BETA = BETA_ORIGINS.includes(window.location.origin);
|
|
4
4
|
export const API_URL = IS_BETA ? 'https://stage-api.verdocs.com' : 'https://api.verdocs.com';
|
|
5
|
-
|
|
5
|
+
// NOTE: Do not call setBaseURL(). The constructor already does, but more important, in most environments
|
|
6
|
+
// this particular code block is lazily loaded and gets run on a component render. That creates a race
|
|
7
|
+
// condition that silently overwrites a host-app preference and is hard to track down. (Definitely breaks
|
|
8
|
+
// the Teams app, among other things.)
|
|
9
|
+
export const DefaultEndpoint = VerdocsEndpoint.getDefault();
|
|
6
10
|
//# sourceMappingURL=Environment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../src/utils/Environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,0BAA0B,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;AAExI,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,yBAAyB,CAAC;AAE7F,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../src/utils/Environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,0BAA0B,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;AAExI,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,yBAAyB,CAAC;AAE7F,yGAAyG;AACzG,sGAAsG;AACtG,yGAAyG;AACzG,sCAAsC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC","sourcesContent":["import {VerdocsEndpoint} from '@verdocs/js-sdk';\n\nexport const BETA_ORIGINS = ['https://beta.verdocs.com', 'https://stage.verdocs.com', 'http://localhost:6006', 'http://localhost:5173'];\n\nexport const IS_BETA = BETA_ORIGINS.includes(window.location.origin);\n\nexport const API_URL = IS_BETA ? 'https://stage-api.verdocs.com' : 'https://api.verdocs.com';\n\n// NOTE: Do not call setBaseURL(). The constructor already does, but more important, in most environments\n// this particular code block is lazily loaded and gets run on a component render. That creates a race\n// condition that silently overwrites a host-app preference and is hard to track down. (Definitely breaks\n// the Teams app, among other things.)\nexport const DefaultEndpoint = VerdocsEndpoint.getDefault();\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as e,H as s,c as t,h as o,F as a,t as i}from"./p-yZBlG3YQ.js";import{VerdocsEndpoint as c,formatFullName as d,getActiveEntitlements as r,isValidEmail as l}from"@verdocs/js-sdk";import{c as n}from"./p-BCwFpXpV.js";import{d as f}from"./p-C0SHIuoK.js";import{d as p}from"./p-DVx4efoX.js";import{d as h}from"./p-D9yawpPk.js";import{d as m}from"./p-CIgqf7hj.js";import{d as b}from"./p-CoeB7U-_.js";const u=()=>`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 v=`<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 x=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.searchContacts=t(this,"searchContacts");this.exit=t(this,"exit");this.next=t(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-${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=d(this.templateRole);const s=e.split(" ");const t=this.templateRole.first_name||s.shift()||"";const o=this.templateRole.last_name||s.join(" ")||"";this.first_name=t;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||""}this.activeEntitlements=await r(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&&l(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 t=e&&s;const i=!!this.activeEntitlements.sms_auth;const c=[];c.push({label:"Passcode",value:"passcode"});c.push({label:"Email",value:"email"});if(i){c.push({label:"SMS (One-Time Code)",value:"sms"})}if(!!this.activeEntitlements.kba_auth){c.push({label:"Knowledge-Based (KBA)",value:"kba"})}if(!!this.activeEntitlements.id_auth){c.push({label:"ID Check",value:"id"})}return o("form",{key:"6709871235915b9c57af981cb4ab8560c040c29f",onSubmit:e=>e.preventDefault(),autocomplete:"off"},o("div",{key:"b4792f8bf7a38bd1eca0a684da63e06607b29d4a",class:"row"},o("label",{key:"75f1386774dcf2dba1ae074e2ef86b9d04525763",htmlFor:this.firstNameFieldId},"Name:"),o("div",{key:"36916fdd64584ef209620a6311c4db381e55ea82",class:"names-row"},o("input",{key:"8ab3867864dad6e2726a09666e8c3334f6bbc713",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)}),o("input",{key:"000acb6f26cfa8a78105b211df519ef3851dc474",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&&o("verdocs-portal",{key:"4e9c8ee57f464fcf09578430e1fe09981e87bafc",anchor:this.firstNameFieldId,onClickAway:()=>{this.showSuggestions=false;document.querySelectorAll(`.verdocs-portal-wrapper`).forEach((e=>e.remove()))},id:"verdocs-contact-picker-suggestions"},o("div",{key:"5cbf60f0f1186f318f686ef6bdc8d791072e4d41",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 o("div",{key:(s=e.id)!==null&&s!==void 0?s:e.email,class:"suggestion",onClick:s=>this.handleSelectSuggestion(s,e)},e.picture?o("img",{alt:"Avatar",class:"avatar",src:e.picture}):o("div",{class:"avatar",innerHTML:v}),o("div",{class:"details"},o("div",{class:"name"},d(e)),e.email&&o("div",{class:"destination"},e.email),e.phone&&o("div",{class:"destination"},e.phone)))}))))),o("div",{key:"3d6aaa5e5bd3f0bc5681c4b788f222b6dfb45584",class:"row"},o("label",{key:"67e9b6d47602d8c455a46e47b94bf008d2ac3a4e",htmlFor:this.emailFieldId},"Email:"),o("input",{key:"b65569322f9a9864fe82ac3371ffcf4e769b69f1",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})),i&&o("div",{key:"defed17223c457db6eea0aff5c13598a70882157",class:"row"},o("label",{key:"7a06bd13e92cd70c51f23228bbe4ed5be59919bb",htmlFor:this.phoneFieldId},"Phone:"),o("input",{key:"770012fd3d838449afa88309f7b003c600e10a1c",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=n(e.target.value)}})),o(a,{key:"e0071e7e2fb5521685c8863dab279f31089bf20e"},c.length>0&&o("div",{key:"7f769fdb13d206c769b813eef2c68e810bc635f3",class:"row pin-code"},o("label",{key:"4ebf33f0821f3b1f2a63ac918d3d2923b8f38e38"},"Verification Methods:"),this.authMethodsLoading?o("verdocs-spinner",{size:10,mode:"dark",style:{margin:"auto"}}):o("div",null,c.map(((e,s)=>o("div",{class:"option"},o("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))}}}),o("label",{htmlFor:`verdocs-multi-select-option-${s}`},e.label)))))),this.auth_methods.includes("passcode")&&o("div",{key:"79feab0e29cbfbbb825f285a995d21576732bb8a",class:"row pin-code"},o("label",{key:"7fd8dd8c3f254e9d6eba0e657f3a02f0fd47b05e",htmlFor:this.phoneFieldId},"Passcode:"),o("input",{key:"a9d0055ca2669776bc465ed4d7a1ce414bb628a4",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}))),o("div",{key:"71101e3ae9adab93ffde79f43431ab91657df8cd",class:"row pin-code"},o("label",{key:"312a0dafe35171d1ebc61e62f868e2fdcd8a8e8d",style:{marginTop:"6px"}},"Options:"),o("div",{key:"38341490838ffe88ee03800e886d46b163f1d21a"},o("div",{key:"68fbb6b02029ba082da5db49687989e2d0228235",class:"option"},o("verdocs-checkbox",{key:"57c933a6ebc171d8a0c86452ff26504270175463",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}}),o("label",{key:"8d4bbaef0ca5cea8100777fa37d520f1bd5a1d1e",htmlFor:"verdocs-delegator"},"May delegate signing")),o("div",{key:"d1278133af51917475ae1778c28da315072ca4a6",class:"option"},o("verdocs-checkbox",{key:"32f6401902c5f850f52c58fb06def2d16fc65e99",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}}),o("label",{key:"82d3cb3a2c48c66e8dd4bf917e35ed85327d994d",htmlFor:"verdocs-name-locked"},"Name locked")))),o("div",{key:"01f4e93445daee8493eb67f41640865753db54bb",class:"row message"},o("label",{key:"499b65b9368abe5f355ece31825fdd6b92905b55",htmlFor:"verdocs-contact-picker-message"},"Message:"),o("textarea",{key:"817c16d982edb9af18f8ebee829ed77068d431b5",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)),o("div",{key:"044a45c3a9ba57334c6e10f12e0b1f19ce5c3403",class:"buttons"},o("div",{key:"6aa3536c73eef3852f7d483deee3773413167f5d",class:"flex-fill"}),o("verdocs-button",{key:"7dc65ba7bcb927c9822cc19d00b3a74278db8688",variant:"outline",label:"Cancel",size:"small",onClick:e=>this.handleCancel(e)}),o("verdocs-button",{key:"7f3434aa2547d87ad2a54610374bec0511aa7940",label:"OK",size:"small",disabled:!t,onClick:!t?()=>{}:e=>this.handleSubmit(e)})))}static get style(){return u()}},[0,"verdocs-contact-picker",{endpoint:[16],templateRole:[16],contactSuggestions:[16],first_name:[32],last_name:[32],email:[32],phone:[32],zip:[32],address:[32],message:[32],showSuggestions:[32],showMessage:[32],delegator:[32],name_locked:[32],auth_methods:[32],passcode:[32],firstNameFieldId:[32],lastNameFieldId:[32],emailFieldId:[32],phoneFieldId:[32],activeEntitlements:[32],authMethodsLoading:[32]}]);function k(){if(typeof customElements==="undefined"){return}const e=["verdocs-contact-picker","verdocs-button","verdocs-checkbox","verdocs-flag","verdocs-portal","verdocs-spinner"];e.forEach((e=>{switch(e){case"verdocs-contact-picker":if(!customElements.get(i(e))){customElements.define(i(e),x)}break;case"verdocs-button":if(!customElements.get(i(e))){f()}break;case"verdocs-checkbox":if(!customElements.get(i(e))){p()}break;case"verdocs-flag":if(!customElements.get(i(e))){h()}break;case"verdocs-portal":if(!customElements.get(i(e))){m()}break;case"verdocs-spinner":if(!customElements.get(i(e))){b()}break}}))}export{x as V,k as d};
|
|
2
|
+
//# sourceMappingURL=p-6RWROB9R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["verdocsContactPickerCss","addrBookIcon","VerdocsContactPicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","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 optional methods like KBA. We need error handling here in case the getActiveEntitlements\n // call fails or we stay loading forever.\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\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":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,c as o,h as t,d as a,t as d}from"./p-yZBlG3YQ.js";import{verifySigner as i}from"@verdocs/js-sdk";import{D as c}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as s,c as o,h as t,d as a,t as d}from"./p-yZBlG3YQ.js";import{verifySigner as i}from"@verdocs/js-sdk";import{D as c}from"./p-b2u0_wDk.js";import{V as l}from"./p-D97GxsI-.js";import{d as n}from"./p-C0SHIuoK.js";import{d as r}from"./p-JGWMBIGy.js";import{d as f}from"./p-CxIhMndz.js";import{d as p}from"./p-BMGs9CCD.js";const b=()=>`verdocs-passcode-dialog{font-family:"Inter", "Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-passcode-dialog div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-passcode-dialog .heading{width:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}verdocs-passcode-dialog .heading .title{font-size:20px;font-weight:500}verdocs-passcode-dialog .step{color:#666;margin-left:6px}verdocs-passcode-dialog .help-box{padding:0;color:black;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;margin-bottom:20px}verdocs-passcode-dialog .help-details{gap:5px;display:-ms-flexbox;display:flex;margin-left:0;font-size:14px;-ms-flex-direction:column;flex-direction:column}verdocs-passcode-dialog .help-title{font-weight:600;margin-bottom:4px}verdocs-passcode-dialog .help-text{font-weight:400}verdocs-passcode-dialog .buttons{width:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-passcode-dialog .buttons verdocs-button{margin-left:16px}`;const m=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.exit=o(this,"exit");this.next=o(this,"next");this.endpoint=c;this.response=""}handleCancel(){this.exit.emit()}handleSubmit(){i(this.endpoint,{auth_method:"passcode",code:this.response}).then((e=>{console.log("Verification completed",e);this.next.emit({response:e})})).catch((e=>{l("Invalid passcode. Please try again.");console.log("Invalid code",e)}));this.response=""}render(){return t(a,{key:"3b129d56369777ca4b6a7fbb5a98f937aafae0aa"},t("verdocs-dialog",{key:"26573497a36f1036e0b317ae6b7f289ce19a8f06",persistent:true,onExit:()=>this.handleCancel()},t("div",{key:"e403d2050639b3796350917a9cd04fcb734bb5ab",slot:"heading",class:"heading"},t("div",{key:"e24ca397c7e47a6a0d492a84e0b9f4f50639f8c5",class:"title"},"Passcode Required")),t("div",{key:"a67188270a2d984579f0704083c9162c5619ae22",slot:"content",class:"content"},t("div",{key:"5582495c434ff9dc96740670765071cdb776aa0b",class:"help-box"},t("div",{key:"6d6ce967f4c6b13ba727135c0f4471e444777ef8",class:"help-details"},t("div",{key:"5a79e2ad94e747e0ca02316cd92baec3258c61d4",class:"help-text"},"This document is protected by a passcode. Please enter it below to proceed. If you do not have one, please contact the sender."))),t("verdocs-text-input",{key:"6fdd12c6f98e48c04958733b067db509afadb357",id:"verdocs-passcode-input",value:this.response,onClick:e=>e.stopPropagation(),placeholder:"Enter passcode...",onInput:e=>this.response=e.target.value})),t("div",{key:"74615d4a6d0edf18cbe03ae73ff8eb8d692e65c0",slot:"footer",class:"buttons footer"},t("verdocs-button",{key:"c0e8a8509c626ed817e6560dcc77ece31abf2f87",label:"Cancel",variant:"outline",onClick:()=>this.handleCancel()}),t("verdocs-button",{key:"dc1da5e42cda0871236aadbfe24b5aa3b8660e59",label:"Submit",onClick:()=>this.handleSubmit(),disabled:!this.response}))))}static get style(){return b()}},[0,"verdocs-passcode-dialog",{endpoint:[1040],response:[32]}]);function x(){if(typeof customElements==="undefined"){return}const e=["verdocs-passcode-dialog","verdocs-button","verdocs-dialog","verdocs-help-icon","verdocs-text-input"];e.forEach((e=>{switch(e){case"verdocs-passcode-dialog":if(!customElements.get(d(e))){customElements.define(d(e),m)}break;case"verdocs-button":if(!customElements.get(d(e))){n()}break;case"verdocs-dialog":if(!customElements.get(d(e))){r()}break;case"verdocs-help-icon":if(!customElements.get(d(e))){f()}break;case"verdocs-text-input":if(!customElements.get(d(e))){p()}break}}))}export{m as V,x as d};
|
|
2
|
+
//# sourceMappingURL=p-B1UVXqFA.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,c as t,h as o,d as r,F as i,t as a}from"./p-yZBlG3YQ.js";import{i as d}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as s,c as t,h as o,d as r,F as i,t as a}from"./p-yZBlG3YQ.js";import{i as d}from"./p-COaijEV0.js";import{VerdocsEndpoint as c,getTemplate as l,integerSequence as m}from"@verdocs/js-sdk";import{a as n}from"./p-BCwFpXpV.js";import{S as p}from"./p-C1sRVZWv.js";import{S as f}from"./p-C7hFgM52.js";import{d as v}from"./p-C0SHIuoK.js";import{d as u}from"./p-DVx4efoX.js";import{d as h}from"./p--jRXEN0c.js";import{d as b}from"./p-JGWMBIGy.js";import{d as g}from"./p-D1cSgqut.js";import{d as E}from"./p-K_PKw6bs.js";import{d as k}from"./p-DiYuPnJJ.js";import{d as x}from"./p-DKKsPZnz.js";import{d as j}from"./p-D-TexkaT.js";import{d as w}from"./p-D7oMWhqM.js";import{d as I}from"./p-BQUZjuoP.js";import{d as y}from"./p-DfIxVX8-.js";import{d as D}from"./p-BELGzhZw.js";import{d as C}from"./p-bPe0_Dsn.js";import{d as P}from"./p-D9yawpPk.js";import{d as B}from"./p-CxIhMndz.js";import{d as R}from"./p-vimrvRye.js";import{d as T}from"./p-Dc3BDcaU.js";import{d as V}from"./p-CIgqf7hj.js";import{d as W}from"./p-u9H54zUE.js";import{d as z}from"./p-CYvB5bYX.js";import{d as M}from"./p-BWrwPDuU.js";import{d as U}from"./p-BMGs9CCD.js";import{d as q}from"./p-LYpUmpqf.js";const G=()=>`verdocs-preview{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-preview div,verdocs-preview canvas{-webkit-box-sizing:border-box;box-sizing:border-box}`;const K=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.sdkError=t(this,"sdkError");this.templateListenerId=null;this.renderedPages={};this.endpoint=c.getDefault();this.templateId=null;this.loading=true;this.template=null}disconnectedCallback(){this.unlistenToTemplate()}async listenToTemplate(){this.unlistenToTemplate();f.subscribe("templates",this.templateId,(()=>l(this.endpoint,this.templateId)),false,(e=>{this.template=e;this.loading=false}))}unlistenToTemplate(){if(this.templateListenerId){f.store.delListener(this.templateListenerId);this.templateListenerId=null}}onTemplateIdChanged(e){console.log("[PREVIEW] Template ID changed",e);this.listenToTemplate()}async componentWillLoad(){var e,s,t;try{this.endpoint.loadSession();if(!this.endpoint.session){console.log("[PREVIEW] Unable to start builder session, must be authenticated");return}if(!this.templateId){console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);return}this.listenToTemplate()}catch(o){console.log("[PREVIEW] Error with preview session",o);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new p(o.message,(s=o.response)===null||s===void 0?void 0:s.status,(t=o.response)===null||t===void 0?void 0:t.data))}}componentDidRender(){var e;(e=this.hostEl)===null||e===void 0?void 0:e.querySelectorAll(".verdocs-field").forEach((e=>{d(e).unset()}))}handlePageRendered(e){var s;const t=e.detail;this.renderedPages[`${t.documentId}:${t.pageNumber}`]=t;const o=(((s=this.template)===null||s===void 0?void 0:s.fields)||[]).filter((e=>{if(e["document_id"]){return e["document_id"]===t.documentId&&e.page===t.pageNumber}return e.page===t.pageNumber}));o.forEach((e=>n("template",e,t,{disabled:true,editable:false,draggable:false})))}render(){var e;if(this.loading){return o(r,null,o("verdocs-loader",null))}return o(r,null,(((e=this.template)===null||e===void 0?void 0:e.documents)||[]).map((e=>{const s=m(1,e.pages);return o(i,null,s.map((s=>{var t;const r=((t=e.page_sizes)===null||t===void 0?void 0:t[s])||{width:612,height:792};return o("verdocs-template-document-page",{templateId:e.template_id,documentId:e.id,pageNumber:s,disabled:true,editable:false,done:false,virtualWidth:r.width,virtualHeight:r.height,onPageRendered:e=>this.handlePageRendered(e),layers:[{name:"page",type:"canvas"},{name:"controls",type:"div"}]})})))})))}get hostEl(){return this}static get watchers(){return{templateId:[{onTemplateIdChanged:0}]}}static get style(){return G()}},[0,"verdocs-preview",{endpoint:[16],templateId:[1,"template-id"],loading:[32],template:[32]},undefined,{templateId:[{onTemplateIdChanged:0}]}]);function X(){if(typeof customElements==="undefined"){return}const e=["verdocs-preview","verdocs-button","verdocs-checkbox","verdocs-component-error","verdocs-dialog","verdocs-field-attachment","verdocs-field-checkbox","verdocs-field-date","verdocs-field-dropdown","verdocs-field-initial","verdocs-field-radio","verdocs-field-signature","verdocs-field-textarea","verdocs-field-textbox","verdocs-field-timestamp","verdocs-flag","verdocs-help-icon","verdocs-loader","verdocs-ok-dialog","verdocs-portal","verdocs-select-input","verdocs-template-document-page","verdocs-template-field-properties","verdocs-text-input","verdocs-upload-dialog"];e.forEach((e=>{switch(e){case"verdocs-preview":if(!customElements.get(a(e))){customElements.define(a(e),K)}break;case"verdocs-button":if(!customElements.get(a(e))){v()}break;case"verdocs-checkbox":if(!customElements.get(a(e))){u()}break;case"verdocs-component-error":if(!customElements.get(a(e))){h()}break;case"verdocs-dialog":if(!customElements.get(a(e))){b()}break;case"verdocs-field-attachment":if(!customElements.get(a(e))){g()}break;case"verdocs-field-checkbox":if(!customElements.get(a(e))){E()}break;case"verdocs-field-date":if(!customElements.get(a(e))){k()}break;case"verdocs-field-dropdown":if(!customElements.get(a(e))){x()}break;case"verdocs-field-initial":if(!customElements.get(a(e))){j()}break;case"verdocs-field-radio":if(!customElements.get(a(e))){w()}break;case"verdocs-field-signature":if(!customElements.get(a(e))){I()}break;case"verdocs-field-textarea":if(!customElements.get(a(e))){y()}break;case"verdocs-field-textbox":if(!customElements.get(a(e))){D()}break;case"verdocs-field-timestamp":if(!customElements.get(a(e))){C()}break;case"verdocs-flag":if(!customElements.get(a(e))){P()}break;case"verdocs-help-icon":if(!customElements.get(a(e))){B()}break;case"verdocs-loader":if(!customElements.get(a(e))){R()}break;case"verdocs-ok-dialog":if(!customElements.get(a(e))){T()}break;case"verdocs-portal":if(!customElements.get(a(e))){V()}break;case"verdocs-select-input":if(!customElements.get(a(e))){W()}break;case"verdocs-template-document-page":if(!customElements.get(a(e))){z()}break;case"verdocs-template-field-properties":if(!customElements.get(a(e))){M()}break;case"verdocs-text-input":if(!customElements.get(a(e))){U()}break;case"verdocs-upload-dialog":if(!customElements.get(a(e))){q()}break}}))}export{K as V,X as d};
|
|
2
|
+
//# sourceMappingURL=p-B6aUlIQe.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as t,c as o,h as s,F as i,d as r,t as d}from"./p-yZBlG3YQ.js";import{i as l}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as t,c as o,h as s,F as i,d as r,t as d}from"./p-yZBlG3YQ.js";import{i as l}from"./p-COaijEV0.js";import{VerdocsEndpoint as a,updateField as n}from"@verdocs/js-sdk";import{S as c}from"./p-BDv5kBUR.js";import{S as p}from"./p-C7hFgM52.js";import{d as f}from"./p-C0SHIuoK.js";import{d as h}from"./p-DVx4efoX.js";import{d as b}from"./p--jRXEN0c.js";import{d as x}from"./p-CxIhMndz.js";import{d as u}from"./p-vimrvRye.js";import{d as v}from"./p-CIgqf7hj.js";import{d as m}from"./p-u9H54zUE.js";import{d as g}from"./p-BWrwPDuU.js";import{d as w}from"./p-BMGs9CCD.js";const k=()=>`verdocs-field-textbox{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);-webkit-box-sizing:border-box;box-sizing:border-box;width:150px;height:15px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;letter-spacing:-0.2px;background-color:var(--verdocs-field-background, transparent);-webkit-transform-origin:bottom left;transform-origin:bottom left;border:var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));border-radius:var(--verdocs-field-radius)}verdocs-field-textbox.small input,verdocs-field-textbox.small textarea{font-size:8px}verdocs-field-textbox .edge-top,verdocs-field-textbox .edge-right,verdocs-field-textbox .edge-left,verdocs-field-textbox .edge-bottom{position:absolute;z-index:10}verdocs-field-textbox .edge-top{top:-2px;left:0;right:0;height:5px}verdocs-field-textbox .edge-right{top:0;bottom:0;right:-2px;width:5px}verdocs-field-textbox .edge-left{top:0;left:-2px;bottom:0;width:5px}verdocs-field-textbox .edge-bottom{bottom:-2px;left:0;right:0;height:5px}verdocs-field-textbox input{cursor:inherit;width:100%;height:100%;border:none;outline:none;padding:0 3px;font-size:11px;background:none;font-weight:500;position:absolute;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87))}verdocs-field-textbox input.hide{display:none}verdocs-field-textbox.disabled input{opacity:0.5}verdocs-field-textbox textarea{cursor:inherit;width:100%;height:100%;resize:none;border:none;outline:none;padding:0 3px;font-size:11px;background:none;font-weight:500;line-height:13px;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87))}verdocs-field-textbox textarea.hide{display:none}verdocs-field-textbox.disabled textarea{opacity:0.5}verdocs-field-textbox label{top:-14px;left:-1px;height:14px;color:white;padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-textbox.required.required{border:1px solid var(--verdocs-required-field-border)}verdocs-field-textbox verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-textbox verdocs-button-panel[data-active],verdocs-field-textbox verdocs-button-panel:hover{opacity:1}verdocs-field-textbox verdocs-button-panel .icon svg{fill:#333333}verdocs-field-textbox verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-textbox [data-lastpass-icon-root]{display:none !important}verdocs-field-textbox .settings-icon{position:absolute;top:-4px;left:-18px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-textbox .settings-icon svg{fill:#707ae5}verdocs-field-textbox .settings-icon:hover{opacity:1}`;const y=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.settingsChanged=o(this,"settingsChanged");this.deleted=o(this,"deleted");this.source="template";this.sourceid="";this.fieldname="";this.field=null;this.disabled=false;this.multiline=false;this.editable=false;this.moveable=false;this.done=false;this.xscale=1;this.yscale=1;this.pagenumber=1;this.showingProperties=false;this.focused=false}handleBlur(){this.focused=false}async focusField(){this.inputEl.focus();this.focused=true}async showSettingsPanel(){const e=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(e&&e.showPanel){e.showPanel()}}async hideSettingsPanel(){const e=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(e&&e.hidePanel){e.hidePanel()}this.showingProperties=false}onEditableChanged(e,t){if(t&&!e){l(this.el).unset()}}disconnectedCallback(){l(this.el).unset()}componentDidRender(){l.dynamicDrop(true);if(this.editable){l(this.el).resizable({edges:{top:".edge-top",left:".edge-left",bottom:".edge-bottom",right:".edge-right"},modifiers:[l.modifiers.restrictSize({min:{width:30,height:10}})],listeners:{start:this.handleResizeStart.bind(this),move:this.handleResize.bind(this),end:this.handleResizeEnd.bind(this)}})}}handleResizeStart(e){e.preventDefault();e.stopPropagation();e.target.dataset.originalBottom=e.target.style.bottom}handleResize(e){let{width:t,height:o}=e.rect;const s=e.deltaRect.left;const i=e.deltaRect.bottom;const r=parseFloat(e.target.style.left);const d=parseFloat(e.target.style.bottom);t/=this.xscale;o/=this.yscale;Object.assign(e.target.style,{width:`${t}px`,height:`${o}px`,left:`${r+s}px`,bottom:`${d-i}px`})}async handleResizeEnd(e){const{sourceid:t,fieldname:o}=this;const s=Math.round(parseFloat(e.target.style.width));let i=Math.round(parseFloat(e.target.style.height));if(i<10){i=10}const r=i>15;const d=parseFloat(e.target.style.bottom);const l=parseFloat(e.target.dataset.originalBottom);const c=await p.getTemplate(a.getDefault(),this.sourceid);const f=c.fields.find((e=>e.name===o));const h=d!==l?d/this.yscale:f===null||f===void 0?void 0:f.y;n(a.getDefault(),t,o,{width:s,height:i,y:h,multiline:r}).then((async t=>{var s;const i=await p.getTemplate(a.getDefault(),this.sourceid);const r=JSON.parse(JSON.stringify(i));const d=r.fields.findIndex((e=>e.name===o));if(d>-1){r.fields[d]=t}p.updateTemplate(this.sourceid,r);(s=this.settingsChanged)===null||s===void 0?void 0:s.emit({fieldName:o,field:t});Object.assign(e.target.dataset,{x:0,y:0,h:0})})).catch((e=>console.log("Field update failed",e)))}render(){const{source:e,sourceid:t,fieldname:o,editable:d=false,done:l=false,disabled:a=false,focused:n,xscale:f=1,yscale:h=1}=this;const{index:b,field:x}=p.getField(e,t,o,this.field);let{required:u=false,placeholder:v="",label:m="",width:g=150,height:w=15,readonly:k=false,default:y="",multiline:j=false}=x||{};const z=`signer-${b%10+1}`;const E=w<15;if(x===null||x===void 0?void 0:x.value){y=x===null||x===void 0?void 0:x.value}const C=g/5;if(l){return s(r,{class:{"verdocs-field":true,done:l}},y)}return s(r,{class:{"verdocs-field":true,required:u,disabled:a,done:l,focused:n,small:E,[z]:true}},d&&s("div",{class:"edge-top"}),d&&s("div",{class:"edge-right"}),d&&s("div",{class:"edge-left"}),d&&s("div",{class:"edge-bottom"}),m&&s("label",null,m),j?s("textarea",{name:o,required:u,placeholder:v,disabled:k||a,ref:e=>this.inputEl=e,onFocus:()=>this.focused=true,onBlur:()=>this.focused=false},y):s("input",{type:"text",value:y,name:o,required:u,maxlength:C,placeholder:v,disabled:k||a,ref:e=>this.inputEl=e,onFocus:()=>this.focused=true,onBlur:()=>this.focused=false}),d&&s(i,null,s("div",{id:`verdocs-settings-panel-trigger-${o}`,style:{transform:`scale(${Math.floor(1/f*1e3)/1e3}, ${Math.floor(1/h*1e3)/1e3})`},class:"settings-icon",innerHTML:c,onClick:e=>{e.stopPropagation();this.showingProperties=!this.showingProperties}}),this.showingProperties&&s("verdocs-portal",{anchor:`verdocs-settings-panel-trigger-${o}`,onClickAway:()=>this.showingProperties=false},s("verdocs-template-field-properties",{templateId:t,fieldName:o,onClose:()=>this.hideSettingsPanel(),onDelete:()=>{var e;(e=this.deleted)===null||e===void 0?void 0:e.emit({fieldName:o});return this.hideSettingsPanel()},onSettingsChanged:e=>{var t;(t=this.settingsChanged)===null||t===void 0?void 0:t.emit(e.detail);return this.hideSettingsPanel()},helpText:'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the "name" field.<br /><br />If marked required, the participant must complete the field before proceeding.'}))))}get el(){return this}static get watchers(){return{editable:[{onEditableChanged:0}]}}static get style(){return k()}},[0,"verdocs-field-textbox",{source:[513],sourceid:[513],fieldname:[513],field:[16],isPreview:[516,"is-preview"],disabled:[516],multiline:[516],editable:[516],moveable:[516],done:[516],xscale:[514],yscale:[514],pagenumber:[514],showingProperties:[32],focused:[32],focusField:[64],showSettingsPanel:[64],hideSettingsPanel:[64]},[[2,"blur","handleBlur"]],{editable:[{onEditableChanged:0}]}]);function j(){if(typeof customElements==="undefined"){return}const e=["verdocs-field-textbox","verdocs-button","verdocs-checkbox","verdocs-component-error","verdocs-help-icon","verdocs-loader","verdocs-portal","verdocs-select-input","verdocs-template-field-properties","verdocs-text-input"];e.forEach((e=>{switch(e){case"verdocs-field-textbox":if(!customElements.get(d(e))){customElements.define(d(e),y)}break;case"verdocs-button":if(!customElements.get(d(e))){f()}break;case"verdocs-checkbox":if(!customElements.get(d(e))){h()}break;case"verdocs-component-error":if(!customElements.get(d(e))){b()}break;case"verdocs-help-icon":if(!customElements.get(d(e))){x()}break;case"verdocs-loader":if(!customElements.get(d(e))){u()}break;case"verdocs-portal":if(!customElements.get(d(e))){v()}break;case"verdocs-select-input":if(!customElements.get(d(e))){m()}break;case"verdocs-template-field-properties":if(!customElements.get(d(e))){g()}break;case"verdocs-text-input":if(!customElements.get(d(e))){w()}break}}))}export{y as V,j as d};
|
|
2
|
+
//# sourceMappingURL=p-BELGzhZw.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as t,c as i,h as s,d as o,F as r,t as n}from"./p-yZBlG3YQ.js";import{i as a}from"./p-C4ygd3v_.js";import{VerdocsEndpoint as d,updateField as l}from"@verdocs/js-sdk";import{S as c}from"./p-BDv5kBUR.js";import{S as h}from"./p-C7hFgM52.js";import{d as u}from"./p-C0SHIuoK.js";import{d as f}from"./p-DVx4efoX.js";import{d as p}from"./p--jRXEN0c.js";import{d as g}from"./p-CxIhMndz.js";import{d as m}from"./p-vimrvRye.js";import{d as v}from"./p-CIgqf7hj.js";import{d as b}from"./p-u9H54zUE.js";import{d as x}from"./p-BWrwPDuU.js";import{d as w}from"./p-BMGs9CCD.js";const k=()=>`verdocs-field-signature{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);width:83px;height:36px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;letter-spacing:0.3px;background-color:var(--verdocs-field-background, transparent);-webkit-transform-origin:bottom left;transform-origin:bottom left;border:var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));border-radius:var(--verdocs-field-radius);cursor:pointer;caret-color:transparent}verdocs-field-signature label{top:-14px;left:-1px;height:14px;color:var(--verdocs-field-text-color, white);padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-signature.done{border:none;opacity:1}verdocs-field-signature.menu-open{z-index:50}verdocs-field-signature .signature-container{width:100%;height:100%;position:relative}verdocs-field-signature .signature-container img{display:block;height:100%;width:auto;max-width:none;max-height:none}verdocs-field-signature .signature-container .action-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:90px;background:#ffffff;border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;-webkit-box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;font-size:12px;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-field-signature .signature-container .action-menu .menu-item{background:#ffffff;border:none;padding:8px 12px;color:#333333;cursor:pointer;text-align:left;width:100%;font-size:12px;line-height:1.2;height:auto;font-family:inherit}verdocs-field-signature .signature-container .action-menu .menu-item:hover{background-color:#f0f0f0;color:#000000}verdocs-field-signature .signature-container .action-menu .menu-item:not(:last-child){border-bottom:1px solid rgba(0, 0, 0, 0.08)}verdocs-field-signature.disabled .signature-container{opacity:0.5;pointer-events:none}verdocs-field-signature button{cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px}verdocs-field-signature button.hide{display:none}verdocs-field-signature.required{border:1px solid var(--verdocs-required-field-border)}verdocs-field-signature.filled{border:none !important;background-color:transparent !important}verdocs-field-signature verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-signature verdocs-button-panel[data-active],verdocs-field-signature verdocs-button-panel:hover{opacity:1}verdocs-field-signature verdocs-button-panel .icon svg{fill:#333333}verdocs-field-signature verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-signature .settings-icon{position:absolute;top:-3px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-signature .settings-icon svg{fill:#707ae5}verdocs-field-signature .settings-icon:hover{opacity:1}verdocs-field-signature .edge-top,verdocs-field-signature .edge-right,verdocs-field-signature .edge-left,verdocs-field-signature .edge-bottom{position:absolute;z-index:10}verdocs-field-signature .edge-top{top:-2px;left:0;right:0;height:5px}verdocs-field-signature .edge-right{top:0;bottom:0;right:-2px;width:5px}verdocs-field-signature .edge-left{top:0;left:-2px;bottom:0;width:5px}verdocs-field-signature .edge-bottom{bottom:-2px;left:0;right:0;height:5px}`;const y=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.fieldChange=i(this,"fieldChange");this.settingsPress=i(this,"settingsPress");this.settingsChanged=i(this,"settingsChanged");this.deleted=i(this,"deleted");this.adopt=i(this,"adopt");this.source="template";this.sourceid="";this.fieldname="";this.field=null;this.name="";this.disabled=false;this.editable=false;this.moveable=false;this.done=false;this.xscale=1;this.yscale=1;this.pagenumber=1;this.showingProperties=false;this.focused=false;this.menuOpen=false;this.closeMenuTimer=null;this.outsideMenuHandler=null;this.tempSignature="";this.openMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}this.menuOpen=true};this.scheduleCloseMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer)}this.closeMenuTimer=setTimeout((()=>{this.menuOpen=false;this.closeMenuTimer=null}),150)};this.closeMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}this.menuOpen=false}}handleBlur(){this.focused=false}async focusField(){this.el.focus();this.focused=true}componentDidLoad(){this.outsideMenuHandler=e=>{if(this.menuOpen&&!this.el.contains(e.target)){this.closeMenu()}};document.addEventListener("pointerdown",this.outsideMenuHandler)}disconnectedCallback(){if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}if(this.outsideMenuHandler){document.removeEventListener("pointerdown",this.outsideMenuHandler);this.outsideMenuHandler=null}a(this.el).unset()}onEditableChanged(e,t){if(t&&!e){a(this.el).unset()}}componentDidRender(){a.dynamicDrop(true);if(this.editable){a(this.el).resizable({edges:{top:".edge-top",left:".edge-left",bottom:".edge-bottom",right:".edge-right"},modifiers:[a.modifiers.restrictSize({min:{width:71,height:36}})],listeners:{start:this.handleResizeStart.bind(this),move:this.handleResize.bind(this),end:this.handleResizeEnd.bind(this)}})}}onBlur(){this.focused=false}handleResizeStart(e){e.preventDefault();e.stopPropagation();e.target.dataset.originalBottom=e.target.style.bottom}handleResize(e){let{width:t,height:i}=e.rect;const s=e.deltaRect.left;const o=e.deltaRect.bottom;const r=parseFloat(e.target.style.left);const n=parseFloat(e.target.style.bottom);t/=this.xscale;i/=this.yscale;Object.assign(e.target.style,{width:`${t}px`,height:`${i}px`,left:`${r+s}px`,bottom:`${n-o}px`})}async handleResizeEnd(e){const{sourceid:t,fieldname:i}=this;const s=Math.round(parseFloat(e.target.style.width));let o=Math.round(parseFloat(e.target.style.height));if(o<20){o=15}const r=parseFloat(e.target.style.bottom);const n=parseFloat(e.target.dataset.originalBottom);const a=await h.getTemplate(d.getDefault(),this.sourceid);const c=a.fields.find((e=>e.name===i));const u=r!==n?r/this.yscale:c===null||c===void 0?void 0:c.y;l(d.getDefault(),t,i,{width:s,height:o,y:u}).then((async t=>{var s;const o=await h.getTemplate(d.getDefault(),this.sourceid);const r=JSON.parse(JSON.stringify(o));const n=r.fields.findIndex((e=>e.name===i));if(n>-1){r.fields[n]=t}h.updateTemplate(this.sourceid,r);(s=this.settingsChanged)===null||s===void 0?void 0:s.emit({fieldName:i,field:t});Object.assign(e.target.dataset,{x:0,y:0,h:0})})).catch((e=>console.log("Field update failed",e)))}async showSettingsPanel(){const e=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(e&&e.showPanel){e.showPanel()}}async hideSettingsPanel(){const e=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(e&&e.hidePanel){e.hidePanel()}this.showingProperties=false}render(){const{source:e,sourceid:t,fieldname:i,editable:n=false,done:a=false,disabled:d=false,focused:l,xscale:u=1,yscale:f=1}=this;const{index:p,field:g}=h.getField(e,t,i,this.field);const{required:m=false,value:v="",label:b="",settings:x={}}=g||{};const{base64:w}=x;const k=`signer-${p%10+1}`;if(a){return s(o,{class:{"verdocs-field":true,done:a}},v&&s("img",{src:w,alt:""}))}return s(o,{class:{"verdocs-field":true,required:m,disabled:d,done:a,focused:l,filled:!!w,"menu-open":this.menuOpen,[k]:true}},n&&s("div",{class:"edge-right"}),n&&s("div",{class:"edge-left"}),n&&s("div",{class:"edge-top"}),n&&s("div",{class:"edge-bottom"}),b&&s("label",null,b),w?s("div",{class:{"signature-container":true,"menu-open":this.menuOpen},onMouseEnter:()=>!d&&this.openMenu(),onMouseLeave:()=>this.scheduleCloseMenu(),onClick:e=>{e.stopPropagation();if(d)return;this.menuOpen?this.closeMenu():this.openMenu()}},s("img",{src:w,alt:"Signature"}),this.menuOpen&&s("div",{class:"action-menu",onMouseEnter:()=>this.openMenu(),onMouseLeave:()=>this.scheduleCloseMenu()},s("button",{type:"button",class:"menu-item",onClick:e=>{e.stopPropagation();if(d)return;console.log("[SIGNATURE] Editing signature");this.closeMenu();this.adopt.emit()}},"Edit"),s("button",{type:"button",class:"menu-item",onClick:e=>{var t;e.stopPropagation();if(d)return;console.log("[SIGNATURE] Clearing signature");this.closeMenu();(t=this.fieldChange)===null||t===void 0?void 0:t.emit(null)}},"Clear"))):s("button",{onClick:()=>{var e;if(d)return;if(this.signatureid){console.log("[SIGNATURE] Reusing existing signature",this.signatureid);(e=this.fieldChange)===null||e===void 0?void 0:e.emit(this.signatureid)}else{this.adopt.emit()}}},"Signature"),n&&s(r,null,s("div",{id:`verdocs-settings-panel-trigger-${i}`,style:{transform:`scale(${Math.floor(1/u*1e3)/1e3}, ${Math.floor(1/f*1e3)/1e3})`},class:"settings-icon",innerHTML:c,onClick:e=>{e.stopPropagation();this.showingProperties=!this.showingProperties}}),this.showingProperties&&s("verdocs-portal",{anchor:`verdocs-settings-panel-trigger-${i}`,onClickAway:()=>this.showingProperties=false},s("verdocs-template-field-properties",{templateId:t,fieldName:i,onClose:()=>this.hideSettingsPanel(),onDelete:()=>{var e;(e=this.deleted)===null||e===void 0?void 0:e.emit({fieldName:i});return this.hideSettingsPanel()},onSettingsChanged:e=>{var t;(t=this.settingsChanged)===null||t===void 0?void 0:t.emit(e.detail);return this.hideSettingsPanel()},helpText:"Signature fields capture a recipient's signature on a document."}))))}get el(){return this}static get watchers(){return{editable:[{onEditableChanged:0}]}}static get style(){return k()}},[0,"verdocs-field-signature",{source:[513],sourceid:[513],fieldname:[513],field:[16],name:[513],disabled:[516],editable:[516],moveable:[516],done:[516],xscale:[514],yscale:[514],pagenumber:[514],signatureid:[513],isPreview:[516,"is-preview"],showingProperties:[32],focused:[32],menuOpen:[32],tempSignature:[32],focusField:[64],showSettingsPanel:[64],hideSettingsPanel:[64]},[[0,"blur","handleBlur"],[0,"blur","onBlur"]],{editable:[{onEditableChanged:0}]}]);function E(){if(typeof customElements==="undefined"){return}const e=["verdocs-field-signature","verdocs-button","verdocs-checkbox","verdocs-component-error","verdocs-help-icon","verdocs-loader","verdocs-portal","verdocs-select-input","verdocs-template-field-properties","verdocs-text-input"];e.forEach((e=>{switch(e){case"verdocs-field-signature":if(!customElements.get(n(e))){customElements.define(n(e),y)}break;case"verdocs-button":if(!customElements.get(n(e))){u()}break;case"verdocs-checkbox":if(!customElements.get(n(e))){f()}break;case"verdocs-component-error":if(!customElements.get(n(e))){p()}break;case"verdocs-help-icon":if(!customElements.get(n(e))){g()}break;case"verdocs-loader":if(!customElements.get(n(e))){m()}break;case"verdocs-portal":if(!customElements.get(n(e))){v()}break;case"verdocs-select-input":if(!customElements.get(n(e))){b()}break;case"verdocs-template-field-properties":if(!customElements.get(n(e))){x()}break;case"verdocs-text-input":if(!customElements.get(n(e))){w()}break}}))}export{y as V,E as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as t,c as i,h as s,d as o,F as r,t as n}from"./p-yZBlG3YQ.js";import{i as a}from"./p-COaijEV0.js";import{VerdocsEndpoint as d,updateField as l}from"@verdocs/js-sdk";import{S as c}from"./p-BDv5kBUR.js";import{S as h}from"./p-C7hFgM52.js";import{d as u}from"./p-C0SHIuoK.js";import{d as f}from"./p-DVx4efoX.js";import{d as p}from"./p--jRXEN0c.js";import{d as g}from"./p-CxIhMndz.js";import{d as m}from"./p-vimrvRye.js";import{d as v}from"./p-CIgqf7hj.js";import{d as b}from"./p-u9H54zUE.js";import{d as x}from"./p-BWrwPDuU.js";import{d as w}from"./p-BMGs9CCD.js";const k=()=>`verdocs-field-signature{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);width:83px;height:36px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;letter-spacing:0.3px;background-color:var(--verdocs-field-background, transparent);-webkit-transform-origin:bottom left;transform-origin:bottom left;border:var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));border-radius:var(--verdocs-field-radius);cursor:pointer;caret-color:transparent}verdocs-field-signature label{top:-14px;left:-1px;height:14px;color:var(--verdocs-field-text-color, white);padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-signature.done{border:none;opacity:1}verdocs-field-signature.menu-open{z-index:50}verdocs-field-signature .signature-container{width:100%;height:100%;position:relative}verdocs-field-signature .signature-container img{display:block;height:100%;width:auto;max-width:none;max-height:none}verdocs-field-signature .signature-container .action-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:90px;background:#ffffff;border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;-webkit-box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;font-size:12px;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-field-signature .signature-container .action-menu .menu-item{background:#ffffff;border:none;padding:8px 12px;color:#333333;cursor:pointer;text-align:left;width:100%;font-size:12px;line-height:1.2;height:auto;font-family:inherit}verdocs-field-signature .signature-container .action-menu .menu-item:hover{background-color:#f0f0f0;color:#000000}verdocs-field-signature .signature-container .action-menu .menu-item:not(:last-child){border-bottom:1px solid rgba(0, 0, 0, 0.08)}verdocs-field-signature.disabled .signature-container{opacity:0.5;pointer-events:none}verdocs-field-signature button{cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px}verdocs-field-signature button.hide{display:none}verdocs-field-signature.required{border:1px solid var(--verdocs-required-field-border)}verdocs-field-signature.filled{border:none !important;background-color:transparent !important}verdocs-field-signature verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-signature verdocs-button-panel[data-active],verdocs-field-signature verdocs-button-panel:hover{opacity:1}verdocs-field-signature verdocs-button-panel .icon svg{fill:#333333}verdocs-field-signature verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-signature .settings-icon{position:absolute;top:-3px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-signature .settings-icon svg{fill:#707ae5}verdocs-field-signature .settings-icon:hover{opacity:1}verdocs-field-signature .edge-top,verdocs-field-signature .edge-right,verdocs-field-signature .edge-left,verdocs-field-signature .edge-bottom{position:absolute;z-index:10}verdocs-field-signature .edge-top{top:-2px;left:0;right:0;height:5px}verdocs-field-signature .edge-right{top:0;bottom:0;right:-2px;width:5px}verdocs-field-signature .edge-left{top:0;left:-2px;bottom:0;width:5px}verdocs-field-signature .edge-bottom{bottom:-2px;left:0;right:0;height:5px}`;const y=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.fieldChange=i(this,"fieldChange");this.settingsPress=i(this,"settingsPress");this.settingsChanged=i(this,"settingsChanged");this.deleted=i(this,"deleted");this.adopt=i(this,"adopt");this.source="template";this.sourceid="";this.fieldname="";this.field=null;this.name="";this.disabled=false;this.editable=false;this.moveable=false;this.done=false;this.xscale=1;this.yscale=1;this.pagenumber=1;this.showingProperties=false;this.focused=false;this.menuOpen=false;this.closeMenuTimer=null;this.outsideMenuHandler=null;this.tempSignature="";this.openMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}this.menuOpen=true};this.scheduleCloseMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer)}this.closeMenuTimer=setTimeout((()=>{this.menuOpen=false;this.closeMenuTimer=null}),150)};this.closeMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}this.menuOpen=false}}handleBlur(){this.focused=false}async focusField(){this.el.focus();this.focused=true}componentDidLoad(){this.outsideMenuHandler=e=>{if(this.menuOpen&&!this.el.contains(e.target)){this.closeMenu()}};document.addEventListener("pointerdown",this.outsideMenuHandler)}disconnectedCallback(){if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}if(this.outsideMenuHandler){document.removeEventListener("pointerdown",this.outsideMenuHandler);this.outsideMenuHandler=null}a(this.el).unset()}onEditableChanged(e,t){if(t&&!e){a(this.el).unset()}}componentDidRender(){a.dynamicDrop(true);if(this.editable){a(this.el).resizable({edges:{top:".edge-top",left:".edge-left",bottom:".edge-bottom",right:".edge-right"},modifiers:[a.modifiers.restrictSize({min:{width:71,height:36}})],listeners:{start:this.handleResizeStart.bind(this),move:this.handleResize.bind(this),end:this.handleResizeEnd.bind(this)}})}}onBlur(){this.focused=false}handleResizeStart(e){e.preventDefault();e.stopPropagation();e.target.dataset.originalBottom=e.target.style.bottom}handleResize(e){let{width:t,height:i}=e.rect;const s=e.deltaRect.left;const o=e.deltaRect.bottom;const r=parseFloat(e.target.style.left);const n=parseFloat(e.target.style.bottom);t/=this.xscale;i/=this.yscale;Object.assign(e.target.style,{width:`${t}px`,height:`${i}px`,left:`${r+s}px`,bottom:`${n-o}px`})}async handleResizeEnd(e){const{sourceid:t,fieldname:i}=this;const s=Math.round(parseFloat(e.target.style.width));let o=Math.round(parseFloat(e.target.style.height));if(o<20){o=15}const r=parseFloat(e.target.style.bottom);const n=parseFloat(e.target.dataset.originalBottom);const a=await h.getTemplate(d.getDefault(),this.sourceid);const c=a.fields.find((e=>e.name===i));const u=r!==n?r/this.yscale:c===null||c===void 0?void 0:c.y;l(d.getDefault(),t,i,{width:s,height:o,y:u}).then((async t=>{var s;const o=await h.getTemplate(d.getDefault(),this.sourceid);const r=JSON.parse(JSON.stringify(o));const n=r.fields.findIndex((e=>e.name===i));if(n>-1){r.fields[n]=t}h.updateTemplate(this.sourceid,r);(s=this.settingsChanged)===null||s===void 0?void 0:s.emit({fieldName:i,field:t});Object.assign(e.target.dataset,{x:0,y:0,h:0})})).catch((e=>console.log("Field update failed",e)))}async showSettingsPanel(){const e=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(e&&e.showPanel){e.showPanel()}}async hideSettingsPanel(){const e=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(e&&e.hidePanel){e.hidePanel()}this.showingProperties=false}render(){const{source:e,sourceid:t,fieldname:i,editable:n=false,done:a=false,disabled:d=false,focused:l,xscale:u=1,yscale:f=1}=this;const{index:p,field:g}=h.getField(e,t,i,this.field);const{required:m=false,value:v="",label:b="",settings:x={}}=g||{};const{base64:w}=x;const k=`signer-${p%10+1}`;if(a){return s(o,{class:{"verdocs-field":true,done:a}},v&&s("img",{src:w,alt:""}))}return s(o,{class:{"verdocs-field":true,required:m,disabled:d,done:a,focused:l,filled:!!w,"menu-open":this.menuOpen,[k]:true}},n&&s("div",{class:"edge-right"}),n&&s("div",{class:"edge-left"}),n&&s("div",{class:"edge-top"}),n&&s("div",{class:"edge-bottom"}),b&&s("label",null,b),w?s("div",{class:{"signature-container":true,"menu-open":this.menuOpen},onMouseEnter:()=>!d&&this.openMenu(),onMouseLeave:()=>this.scheduleCloseMenu(),onClick:e=>{e.stopPropagation();if(d)return;this.menuOpen?this.closeMenu():this.openMenu()}},s("img",{src:w,alt:"Signature"}),this.menuOpen&&s("div",{class:"action-menu",onMouseEnter:()=>this.openMenu(),onMouseLeave:()=>this.scheduleCloseMenu()},s("button",{type:"button",class:"menu-item",onClick:e=>{e.stopPropagation();if(d)return;console.log("[SIGNATURE] Editing signature");this.closeMenu();this.adopt.emit()}},"Edit"),s("button",{type:"button",class:"menu-item",onClick:e=>{var t;e.stopPropagation();if(d)return;console.log("[SIGNATURE] Clearing signature");this.closeMenu();(t=this.fieldChange)===null||t===void 0?void 0:t.emit(null)}},"Clear"))):s("button",{onClick:()=>{var e;if(d)return;if(this.signatureid){console.log("[SIGNATURE] Reusing existing signature",this.signatureid);(e=this.fieldChange)===null||e===void 0?void 0:e.emit(this.signatureid)}else{this.adopt.emit()}}},"Signature"),n&&s(r,null,s("div",{id:`verdocs-settings-panel-trigger-${i}`,style:{transform:`scale(${Math.floor(1/u*1e3)/1e3}, ${Math.floor(1/f*1e3)/1e3})`},class:"settings-icon",innerHTML:c,onClick:e=>{e.stopPropagation();this.showingProperties=!this.showingProperties}}),this.showingProperties&&s("verdocs-portal",{anchor:`verdocs-settings-panel-trigger-${i}`,onClickAway:()=>this.showingProperties=false},s("verdocs-template-field-properties",{templateId:t,fieldName:i,onClose:()=>this.hideSettingsPanel(),onDelete:()=>{var e;(e=this.deleted)===null||e===void 0?void 0:e.emit({fieldName:i});return this.hideSettingsPanel()},onSettingsChanged:e=>{var t;(t=this.settingsChanged)===null||t===void 0?void 0:t.emit(e.detail);return this.hideSettingsPanel()},helpText:"Signature fields capture a recipient's signature on a document."}))))}get el(){return this}static get watchers(){return{editable:[{onEditableChanged:0}]}}static get style(){return k()}},[0,"verdocs-field-signature",{source:[513],sourceid:[513],fieldname:[513],field:[16],name:[513],disabled:[516],editable:[516],moveable:[516],done:[516],xscale:[514],yscale:[514],pagenumber:[514],signatureid:[513],isPreview:[516,"is-preview"],showingProperties:[32],focused:[32],menuOpen:[32],tempSignature:[32],focusField:[64],showSettingsPanel:[64],hideSettingsPanel:[64]},[[0,"blur","handleBlur"],[0,"blur","onBlur"]],{editable:[{onEditableChanged:0}]}]);function E(){if(typeof customElements==="undefined"){return}const e=["verdocs-field-signature","verdocs-button","verdocs-checkbox","verdocs-component-error","verdocs-help-icon","verdocs-loader","verdocs-portal","verdocs-select-input","verdocs-template-field-properties","verdocs-text-input"];e.forEach((e=>{switch(e){case"verdocs-field-signature":if(!customElements.get(n(e))){customElements.define(n(e),y)}break;case"verdocs-button":if(!customElements.get(n(e))){u()}break;case"verdocs-checkbox":if(!customElements.get(n(e))){f()}break;case"verdocs-component-error":if(!customElements.get(n(e))){p()}break;case"verdocs-help-icon":if(!customElements.get(n(e))){g()}break;case"verdocs-loader":if(!customElements.get(n(e))){m()}break;case"verdocs-portal":if(!customElements.get(n(e))){v()}break;case"verdocs-select-input":if(!customElements.get(n(e))){b()}break;case"verdocs-template-field-properties":if(!customElements.get(n(e))){x()}break;case"verdocs-text-input":if(!customElements.get(n(e))){w()}break}}))}export{y as V,E as d};
|
|
2
|
+
//# sourceMappingURL=p-BQUZjuoP.js.map
|