@verdocs/web-sdk 5.0.28 → 5.0.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +16 -0
  3. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js.map +1 -1
  4. package/dist/cjs/verdocs-preview_6.cjs.entry.js +27 -8
  5. package/dist/cjs/verdocs-preview_6.cjs.entry.js.map +1 -1
  6. package/dist/cjs/verdocs-sign.cjs.entry.js +9 -2
  7. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  8. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  9. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +13 -3
  10. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  11. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +9 -2
  12. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  13. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +17 -0
  14. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js.map +1 -1
  15. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +14 -5
  16. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js.map +1 -1
  17. package/dist/components/{p-27a8eef0.js → p-c4368d04.js} +14 -4
  18. package/dist/components/p-c4368d04.js.map +1 -0
  19. package/dist/components/{p-90e3fae6.js → p-cecfbe2f.js} +15 -6
  20. package/dist/components/{p-90e3fae6.js.map → p-cecfbe2f.js.map} +1 -1
  21. package/dist/components/verdocs-build.js +2 -2
  22. package/dist/components/verdocs-envelope-sidebar.js +17 -0
  23. package/dist/components/verdocs-envelope-sidebar.js.map +1 -1
  24. package/dist/components/verdocs-send.js +1 -1
  25. package/dist/components/verdocs-sign.js +9 -2
  26. package/dist/components/verdocs-sign.js.map +1 -1
  27. package/dist/components/verdocs-template-roles.js +1 -1
  28. package/dist/esm/loader.js +1 -1
  29. package/dist/esm/verdocs-envelope-sidebar.entry.js +16 -0
  30. package/dist/esm/verdocs-envelope-sidebar.entry.js.map +1 -1
  31. package/dist/esm/verdocs-preview_6.entry.js +27 -8
  32. package/dist/esm/verdocs-preview_6.entry.js.map +1 -1
  33. package/dist/esm/verdocs-sign.entry.js +9 -2
  34. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  35. package/dist/esm/verdocs-web-sdk.js +1 -1
  36. package/dist/esm-es5/loader.js +1 -1
  37. package/dist/esm-es5/loader.js.map +1 -1
  38. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  39. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js.map +1 -1
  40. package/dist/esm-es5/verdocs-preview_6.entry.js +2 -2
  41. package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
  42. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  43. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  44. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  45. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  46. package/dist/types/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +1 -0
  47. package/dist/verdocs-web-sdk/{p-a41e6f04.system.entry.js → p-022110a8.system.entry.js} +3 -3
  48. package/dist/verdocs-web-sdk/p-022110a8.system.entry.js.map +1 -0
  49. package/dist/verdocs-web-sdk/{p-a285560f.entry.js → p-2d0bd50f.entry.js} +2 -2
  50. package/dist/verdocs-web-sdk/{p-a285560f.entry.js.map → p-2d0bd50f.entry.js.map} +1 -1
  51. package/dist/verdocs-web-sdk/{p-1f2c019d.system.entry.js → p-3d7d95b0.system.entry.js} +2 -2
  52. package/dist/verdocs-web-sdk/p-3d7d95b0.system.entry.js.map +1 -0
  53. package/dist/verdocs-web-sdk/{p-b7799ec0.entry.js → p-6ff5cab7.entry.js} +2 -2
  54. package/dist/verdocs-web-sdk/p-6ff5cab7.entry.js.map +1 -0
  55. package/dist/verdocs-web-sdk/{p-70247599.system.entry.js → p-9d538cb1.system.entry.js} +2 -2
  56. package/dist/verdocs-web-sdk/{p-70247599.system.entry.js.map → p-9d538cb1.system.entry.js.map} +1 -1
  57. package/dist/verdocs-web-sdk/p-e2b70dfb.system.js +1 -1
  58. package/dist/verdocs-web-sdk/p-e2b70dfb.system.js.map +1 -1
  59. package/dist/verdocs-web-sdk/{p-0a745e87.entry.js → p-e5470d18.entry.js} +3 -3
  60. package/dist/verdocs-web-sdk/p-e5470d18.entry.js.map +1 -0
  61. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  62. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  63. package/package.json +1 -1
  64. package/dist/components/p-27a8eef0.js.map +0 -1
  65. package/dist/verdocs-web-sdk/p-0a745e87.entry.js.map +0 -1
  66. package/dist/verdocs-web-sdk/p-1f2c019d.system.entry.js.map +0 -1
  67. package/dist/verdocs-web-sdk/p-a41e6f04.system.entry.js.map +0 -1
  68. package/dist/verdocs-web-sdk/p-b7799ec0.entry.js.map +0 -1
@@ -592,9 +592,16 @@ const VerdocsSign = class {
592
592
  }
593
593
  })
594
594
  .catch(e => {
595
- var _a, _b;
595
+ var _a, _b, _c, _d;
596
596
  console.log('[SIGN] Error submitting PIN', e);
597
- VerdocsToast(((_b = (_a = e.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) || 'Unable to verify PIN code. Please try again.', { style: 'error' });
597
+ if (((_b = (_a = e.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === 'Rejecting PIN submission, too many attempts') {
598
+ this.fatalErrorHeader = 'PIN Verification Failed';
599
+ this.fatalErrorMessage = 'Too many failed attempts. The sender has been notified.';
600
+ this.isDone = true;
601
+ }
602
+ else {
603
+ VerdocsToast(((_d = (_c = e.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.error) || 'Unable to verify PIN code. Please try again.', { style: 'error' });
604
+ }
598
605
  });
599
606
  } })))));
600
607
  }
@@ -1 +1 @@
1
- {"file":"verdocs-sign.entry.js","mappings":"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","names":[],"sources":["src/components/embeds/verdocs-sign/verdocs-sign.scss?tag=verdocs-sign","src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-sign {\n display: flex;\n overflow: hidden;\n position: relative;\n min-height: 600px;\n flex-direction: column;\n box-sizing: border-box;\n font-family: $verdocs-primary-font;\n\n div {\n display: block;\n box-sizing: border-box;\n }\n\n input {\n vertical-align: top;\n }\n\n //.intro {\n // width: 100%;\n // display: flex;\n // flex: 0 0 60px;\n // color: #111111;\n // font-size: 18px;\n // font-weight: 500;\n // line-height: 28px;\n // flex-direction: row;\n // background: #ffffff;\n //\n // .inner {\n // width: 100%;\n // display: flex;\n // margin: 0 auto;\n // padding: 0 20px;\n // max-width: 1200px;\n // flex-direction: row;\n // align-items: center;\n // }\n //}\n\n > .document {\n flex: 1;\n width: 100%;\n height: 100%;\n align-self: center;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n max-width: 1200px;\n min-height: 200px;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n //justify-content: center;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .cover {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 5000;\n position: absolute;\n padding-top: 100px;\n align-items: center;\n flex-direction: column;\n background: rgba(0, 0, 0, 0.5);\n }\n\n .agree {\n flex: 0;\n width: 600px;\n display: flex;\n max-width: 90%;\n padding: 30px 15px;\n flex-direction: column;\n background-color: #ffffff;\n\n .header {\n flex: 0 0 56px;\n }\n\n li {\n margin: 0.5em 0;\n }\n }\n\n verdocs-ok-dialog .background-overlay {\n align-items: flex-start;\n padding-top: 100px;\n }\n\n .loading-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n background-color: rgba(0, 0, 0, 0.7);\n }\n\n .fatal-error {\n position: absolute;\n z-index: 100;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #4a4a4a;\n display: flex;\n align-items: center;\n justify-content: center;\n\n .placeholder {\n position: absolute;\n opacity: 0.1;\n z-index: -1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 612px;\n height: 792px;\n box-shadow: 0 0 10px 5px #0000000f;\n margin-top: 15px;\n }\n\n .message {\n max-width: 50%;\n width: 50%;\n font-size: 16px;\n background: white;\n border-radius: 5px;\n box-shadow: 3px 3px 9px -1px #0000003f;\n }\n\n .header {\n color: white;\n font-size: 18px;\n font-weight: 500;\n padding: 5px 10px;\n margin: 0 0 10px 0;\n background: $verdocs-purple-shade;\n }\n\n p {\n margin: 1rem;\n font-size: 14px;\n font-weight: 400;\n padding: 0 10px;\n }\n }\n}\n\n@media print {\n verdocs-sign .header {\n display: none;\n }\n}\n\n#verdocs-sign-header {\n color: #fff;\n width: 100%;\n display: flex;\n z-index: 1000;\n flex: 0 0 46px;\n font-size: 12px;\n column-gap: 15px;\n align-items: center;\n flex-direction: row;\n transition: all 0.25s;\n background-color: $medium-bg;\n box-shadow:\n 0 4px 4px 0 rgb(0 0 0 / 24%),\n 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n display: flex;\n margin: 0 auto;\n padding: 0 12px;\n max-width: 1200px;\n align-items: center;\n flex-direction: row;\n }\n\n .logo {\n width: 80px;\n display: none;\n margin: -6px 0 0 0;\n }\n\n .title {\n font-size: 18px;\n font-weight: 500;\n overflow: hidden;\n white-space: nowrap;\n padding: 0 10px 0 0;\n text-overflow: ellipsis;\n }\n}\n\n.spinner-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n}\n","import type {IEnvelope, IEnvelopeField, IRecipient} from '@verdocs/js-sdk';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {updateEnvelopeFieldSignature, uploadEnvelopeFieldAttachment, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {updateEnvelopeField, sortFields, submitKbaIdentity, submitKbaChallengeResponse} from '@verdocs/js-sdk';\nimport {fullNameToInitials, startSigningSession, deleteEnvelopeFieldAttachment, getKbaStep} from '@verdocs/js-sdk';\nimport {getEnvelope, integerSequence, isValidEmail, isValidPhone, submitKbaPin, updateEnvelopeFieldInitials} from '@verdocs/js-sdk';\nimport {createInitials, createSignature, envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit, formatFullName} from '@verdocs/js-sdk';\nimport {getFieldId, renderDocumentField, saveAttachment, updateDocumentFieldValue} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst inProgressMenuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n // {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n];\n\nconst doneMenuOptions = [\n {id: 'print', label: 'Print'},\n {id: 'download', label: 'Download'},\n];\n\n/**\n * Display an envelope signing experience. This will display the envelope's attached\n * documents with signing fields overlaid on each page.\n *\n * The component will attempt to initiate a signing session and load the specified\n * envelope. If successful, the recipient's fields will be enabled and the user will\n * be able to sign the envelope's attached documents. If not, an `sdkError` will be\n * thrown and the component will be blank/empty. To provide the best user experience,\n * applications should capture and handle this error to provide the user with\n * instructions/options for next steps based on the application's design and workflow.\n *\n * Unlike other components, this will always create its own endpoint to manage the\n * session session. This endpoint will be included in event callbacks for the\n * convenience of host applications that may wish to make server calls using the\n * signer's credentials once signing is complete (e.g. to obtain copies of\n * the signed attachments.)\n */\n@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop({mutable: true}) endpoint: VerdocsEndpoint = null;\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop({reflect: true}) envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop({reflect: true}) roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop({reflect: true}) inviteCode: string | null = null;\n\n /**\n * If set, (recommended), the host application should create a <DIV> element with a unique ID. When this\n * component renders, the header will be removed from its default location and placed in the target element.\n * This allows the parent application to more easily control its placement and scroll effects (e.g. \"fixed\").\n *\n * The movement of the header to the target container is not dynamic - it is performed only on the initial\n * render. Host applications should not conditionally render this container. If the header's visibility must\n * be externally controlled, use CSS display options to hide/show it instead.\n */\n @Prop() headerTargetId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the envelope is updated in any way.\n */\n @Event({composed: true}) envelopeLoaded: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope}>;\n\n /**\n * Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n @State() roleNames: string[] = [];\n @State() sortedRecipients: IRecipient[] = [];\n @State() recipient: IRecipient | null = null;\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() nextSubmits = false;\n @State() fatalErrorHeader = '';\n @State() fatalErrorMessage = '';\n @State() focusedField = '';\n @State() submitting = false;\n @State() submitted = false;\n @State() isDone = false;\n @State() showDone = false;\n @State() showLoadError = false;\n @State() finishLater = false;\n @State() showFinishLater = false;\n @State() agreed = false;\n @State() documentsSingularPlural = 'document';\n @State() kbaStep = '';\n @State() kbaQuestions: any[] = [];\n @State() showSpinner = false;\n @State() kbaChoices = [];\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n\n recipientIndex: number = -1;\n\n componentWillLoad() {\n if (!this.endpoint) {\n console.log('[SIGN] Creating signing endpoint');\n this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\n }\n }\n\n async componentDidLoad() {\n if (!this.envelopeId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required envelopId', 500, ''));\n return;\n }\n\n if (!this.roleId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required roleId', 500, ''));\n return;\n }\n\n if (!this.inviteCode) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required inviteCode', 500, ''));\n return;\n }\n\n try {\n console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);\n\n // NOTE: We don't listen to the store here because we are often an independent\n // session and might have a different \"view\" of the envelope.\n const {envelope, recipient} = await startSigningSession(this.endpoint, this.envelopeId, this.roleId, this.inviteCode);\n console.log(`[SIGN] Loaded signing session`, envelope, recipient);\n this.recipient = recipient;\n this.envelope = envelope;\n\n Store.updateEnvelope(this.envelopeId, envelope);\n\n // TODO: Can be cleaned up shortly.\n this.sortedRecipients = [...this.envelope.recipients];\n this.sortedRecipients.sort((a, b) => {\n return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;\n });\n\n this.roleNames = this.sortedRecipients.map(r => r.role_name);\n\n if (this.envelope.documents.length > 0) {\n this.documentsSingularPlural = 'document(s)';\n }\n\n this.recipientIndex = this.roleNames.findIndex(roleName => roleName == this.roleId);\n if (this.recipientIndex > -1) {\n this.recipient = this.sortedRecipients[this.recipientIndex];\n this.agreed = this.recipient.agreed;\n } else {\n console.warn('[SIGN] Could not find our recipient record', this.roleId, this.sortedRecipients);\n }\n\n // TODO: Envelope \"complete\" | \"declined\" | \"canceled\"\n // TODO: Recipient \"canceled\"\n this.submitted = this.recipient.status === 'submitted';\n this.isDone = this.submitted;\n this.showDone = this.submitted;\n\n if (this.envelope.status === 'canceled') {\n this.fatalErrorHeader = 'Unable to Start Signing Session';\n this.fatalErrorMessage = 'This envelope has been canceled. The sender has been notified.';\n } else if (this.recipient.status === 'declined') {\n this.fatalErrorHeader = 'Unable to Start Signing Session';\n this.fatalErrorMessage = 'You have declined to sign this envelope. The sender has been notified.';\n } else if (this.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n this.checkRecipientFields();\n this.envelopeLoaded?.emit({endpoint: this.endpoint, envelope: this.envelope});\n\n if (!this.isDone) {\n getKbaStep(this.endpoint, this.envelopeId, this.roleId)\n .then(r => {\n console.log('[SIGN] KBA Step', r);\n this.kbaStep = r.kba_step;\n if (this.kbaStep === 'failed') {\n this.fatalErrorHeader = 'Identity Verification Failed';\n this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';\n this.isDone = true;\n } else {\n this.kbaQuestions = (r as any).questions?.question || [];\n this.kbaChoices = [];\n }\n })\n .catch(e => console.log('Error getting KBA step', e));\n }\n } catch (e) {\n console.log('[SIGN] Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n this.showLoadError = true;\n }\n }\n\n componentDidRender() {\n const headerTarget = this.headerTargetId ? document.getElementById(this.headerTargetId) : null;\n const headerEl = document.getElementById('verdocs-sign-header');\n if (headerTarget && headerEl) {\n console.log('[SIGN] Moving header');\n headerEl.remove();\n headerTarget.append(headerEl);\n }\n }\n\n handleClickAgree() {\n this.submitting = true;\n envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, true)\n .then(() => {\n this.nextButtonLabel = 'Next';\n this.recipient.agreed = true;\n this.submitting = false;\n this.agreed = true; // The server returns a recipient object but it's not \"deep\" so we track this locally\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'agreed'});\n })\n .catch(e => {\n console.log('[SIGN] Update failure', e);\n this.submitting = false;\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async handleOptionSelected(e: any) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'later'});\n break;\n\n case 'claim':\n VerdocsToast('This feature will be available in an upcoming release.');\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'claimed'});\n break;\n\n case 'decline':\n {\n this.submitting = true;\n const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Decline result', declineResult);\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'declined'});\n this.submitting = false;\n this.fatalErrorHeader = 'Declined';\n this.fatalErrorMessage = 'You have declined to sign this envelope. The sender has been notified.';\n }\n break;\n\n case 'print':\n window.print();\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'printed'});\n break;\n\n case 'download':\n {\n const firstDoc = this.envelope.documents.find(doc => doc.type === 'attachment');\n if (firstDoc) {\n saveAttachment(this.endpoint, this.envelope, firstDoc.id).catch(e => {\n console.log('[SIGN] Error downloading PDF', e);\n });\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded'});\n }\n }\n break;\n }\n }\n\n updateRecipientFieldValue(fieldName: string, updateResult: any) {\n console.log('[SIGN] updateRecipientFieldValue', fieldName, updateResult);\n this.getRecipientFields().forEach(oldField => {\n if (oldField.name === fieldName) {\n oldField.value = updateResult.value;\n // TODO: Keeping this while attachments still rely on it\n oldField.settings = updateResult.settings;\n updateDocumentFieldValue(oldField);\n this.checkRecipientFields();\n }\n });\n }\n\n saveFieldChange(fieldName: string, fields: Record<string, any>) {\n console.log('[SIGN] saveFieldChange', fieldName, fields);\n updateEnvelopeField(this.endpoint, this.envelopeId, fieldName, fields) //\n .then(updateResult => this.updateRecipientFieldValue(fieldName, updateResult))\n .catch(e => {\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('[SIGN] Signing session expired');\n this.fatalErrorHeader = 'Signing Session Expired';\n this.fatalErrorMessage = 'Please reload your browser to continue.';\n } else {\n console.log('[SIGN] Server error', e);\n }\n\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async handleFieldChange(field: IEnvelopeField, e: any) {\n const {value, checked} = e.target;\n\n switch (field.type as any) {\n // TODO: Remove legacy type when no longer needed\n case 'textarea':\n case 'textbox':\n return this.saveFieldChange(field.name, {prepared: false, value});\n\n case 'checkbox': {\n return this.saveFieldChange(field.name, {prepared: false, value: String(e.target.checked)});\n }\n\n case 'radio': {\n return this.saveFieldChange(field.name, {prepared: false, value: String(e.target.checked)});\n }\n\n case 'dropdown':\n // TODO: Set prepared to false server-side.\n console.log('Saving dropdown', field.name, e.detail);\n return this.saveFieldChange(field.name, {prepared: false, value: e.detail});\n\n case 'initial':\n // This can be caused by a focus-out event if the user clicks the field\n // after it's already filled in, then clicks something else like a textbox.\n // We don't visually indicate the focus, but it's still there.\n if (!e.detail) {\n return;\n }\n\n this.showSpinner = true;\n const initialsBlob = await (await fetch(e.detail)).blob();\n return createInitials(this.endpoint, 'initial', initialsBlob) //\n .then(async newInitials => {\n const updateResult = await updateEnvelopeFieldInitials(this.endpoint, this.envelopeId, field.name, newInitials.id);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.showSpinner = false;\n })\n .catch(e => {\n console.log('Error updating initials', e);\n this.showSpinner = false;\n });\n\n case 'signature':\n // This can be caused by a focus-out event if the user clicks the field\n // after it's already filled in, then clicks something else like a textbox.\n // We don't visually indicate the focus, but it's still there.\n if (!e.detail) {\n return;\n }\n\n this.showSpinner = true;\n const signatureBlob = await (await fetch(e.detail)).blob();\n return createSignature(this.endpoint, 'signature', signatureBlob) //\n .then(async newSignature => {\n console.log('Signature update result', newSignature);\n const updateResult = await updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.showSpinner = false;\n })\n .catch(e => {\n console.warn('[SIGN] Error updating signature', e);\n this.showSpinner = false;\n });\n\n case 'date':\n const {formattedDate} = e.detail;\n if (formattedDate) {\n return this.saveFieldChange(field.name, {prepared: false, value: formattedDate});\n }\n break;\n\n case 'timestamp':\n console.log('[SIGN] Updating timestamp', {value, ts: e.target.getAttribute('timestamp')});\n break;\n\n default:\n console.log('[SIGN] Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldFilled(field: IEnvelopeField) {\n const {value = ''} = field;\n switch (field.type as any) {\n case 'textarea':\n case 'textbox':\n switch (field.validator || '') {\n case 'email':\n return isValidEmail(value);\n case 'phone':\n return isValidPhone(value);\n default:\n return (value || '').trim() !== '';\n }\n\n case 'signature':\n return value === 'signed';\n\n case 'initial':\n return value === 'initialed';\n\n // Timestamp fields get automatically filled when the envelope is submitted.\n case 'timestamp':\n return true;\n\n case 'date':\n return !!value;\n\n case 'attachment':\n return value === 'attached';\n\n case 'dropdown':\n return value !== '';\n\n case 'checkbox':\n return value === 'true';\n\n case 'radio':\n if (!!field.group) {\n return this.getRecipientFields()\n .filter(f => f.group === field.group)\n .some(field => field.value === 'true');\n }\n\n return field.value === 'true';\n\n default:\n return false;\n }\n }\n\n isFieldValid(field: IEnvelopeField) {\n return !field.required || this.isFieldFilled(field);\n }\n\n getSortedFillableFields() {\n const recipientFields = this.getRecipientFields().filter(field => field.type !== 'timestamp');\n sortFields(recipientFields);\n return recipientFields;\n }\n\n async handleNext() {\n if (this.nextSubmits) {\n try {\n // Patches the date picker to be forcibly removed if still showing during submission\n document.getElementById('air-datepicker-global-container')?.remove();\n\n this.submitting = true;\n const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Submitted successfully', result);\n this.recipient.status = 'submitted';\n this.showDone = true;\n console.log('[SIGN] Reloading envelope');\n getEnvelope(this.endpoint, this.envelopeId)\n .then(envelope => {\n this.envelope = envelope;\n // The show-done dialog does this\n // this.isDone = true;\n this.submitting = false;\n })\n .catch(e => {\n // this.isDone = true;\n console.log('[SIGN] Error reloading envelope', e);\n this.submitting = false;\n });\n } catch (e) {\n console.log('[SIGN] Error submitting', e);\n }\n\n return;\n }\n\n // Find and focus the next incomplete field (that is fillable)\n const emptyFields = this.getSortedFillableFields().filter(field => field.required && !this.isFieldFilled(field));\n sortFields(emptyFields);\n\n const focusedIndex = emptyFields.findIndex(field => field.name === this.focusedField);\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n\n let nextRequiredField = emptyFields[nextFocusedIndex];\n // console.log('Next field', nextRequiredField, emptyFields);\n\n // Skip signature and initial fields that are already filled in. We have to count our \"skips\" just in case, to avoid infinite loops.\n let skips = 0;\n if (skips < emptyFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && ['initialed', 'signed'].includes(nextRequiredField.value)) {\n skips++;\n nextFocusedIndex++;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n nextRequiredField = emptyFields[nextFocusedIndex];\n }\n\n if (skips >= emptyFields.length) {\n nextRequiredField = null;\n }\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n el?.scrollIntoView({behavior: 'smooth'});\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n getRecipientFields() {\n return this.envelope.fields.filter(field => field.role_name === this.recipient.role_name);\n }\n\n // See if everything that \"needs to be\" filled in is, and all \"fillable fields\" are valid\n checkRecipientFields() {\n const invalidFields = this.getRecipientFields().filter(field => !this.isFieldValid(field));\n if (invalidFields.length < 1) {\n this.nextButtonLabel = 'Finish';\n if (!this.nextSubmits) {\n this.nextSubmits = true;\n }\n } else {\n console.log(\n '[SIGN] Invalid fields remaining',\n invalidFields.map(field => field.name),\n );\n this.nextButtonLabel = 'Next';\n this.nextSubmits = false;\n }\n }\n\n attachFieldAttributes(pageInfo, field, el) {\n // We can get called multiple times as rendering completes and it's hard to avoid that\n // because it's a ton of work for the callers to know it's been done already. But we\n // don't want to attach multiple event listeners or we get dupe event handling, like\n // calling the server twice on every field update. Since JS has no removeAllEventListeners()\n // option, using removeEventListener() isn't reliable the way Stencil binds local function\n // contexts, and cloneNode messes up the rest of the rendering, we just track it with a flag.\n if (el.getAttribute('attached') === '1') {\n return;\n }\n el.setAttribute('attached', '1');\n\n el.addEventListener('input', (e: any) => {\n // console.log('[SIGN] onfieldInput', e.detail, e.target.value);\n // These field types don't emit fieldChange. Should we standardize on that? We don't tap \"input\" for fields like\n // text boxes because we'd be updating the field on every keystroke. We do those on blur which fires fieldChange.\n if (e.target.type === 'radio' || e.target.type === 'checkbox') {\n // if (e.target.type === 'radio' || e.target.name.includes('date') || e.target.name.includes('checkbox')) {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n } else {\n this.checkRecipientFields();\n }\n });\n el.addEventListener('attached', async (e: any) => {\n console.log('[SIGN] onAttached', e.detail, e.target.value);\n this.showSpinner = true;\n try {\n const updateResult = await uploadEnvelopeFieldAttachment(this.endpoint, this.envelopeId, field.name, e.detail);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.checkRecipientFields();\n\n const newEl = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone});\n this.attachFieldAttributes(pageInfo, field, newEl);\n\n this.showSpinner = false;\n } catch (e) {\n console.log('Error uploading attachment', e);\n VerdocsToast('Unable to upload attachment, please try again later', {style: 'error'});\n this.showSpinner = false;\n }\n });\n el.addEventListener('deleted', async (e: any) => {\n console.log('[SIGN] onDeleted', e.detail, e.target.value);\n this.showSpinner = true;\n try {\n const updateResult = await deleteEnvelopeFieldAttachment(this.endpoint, this.envelopeId, field.name);\n console.log('[SIGN] Deleted attachment', updateResult);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.checkRecipientFields();\n\n const newEl = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone});\n this.attachFieldAttributes(pageInfo, field, newEl);\n\n this.showSpinner = false;\n } catch (e) {\n console.log('Error uploading attachment', e);\n VerdocsToast('Unable to upload attachment, please try again later', {style: 'error'});\n this.showSpinner = false;\n }\n });\n el.addEventListener('focusout', e => {\n // These field types trigger focusout as they're used, even without a value change\n if (field.type !== 'dropdown' && field.type !== 'attachment') {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n }\n });\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n });\n\n el.setAttribute('templateid', this.envelope.template_id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('page', pageInfo.pageNumber);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n\n const fullName = formatFullName(this.recipient);\n el.setAttribute('initials', fullNameToInitials(fullName));\n el.setAttribute('name', fullName);\n }\n\n handlePageRendered(e: any) {\n const pageInfo = e.detail as IDocumentPageInfo;\n\n // NOTE: We don't filter on pageNumber here because we need the position in the\n // entire list to set the tabIndex.\n const recipientFields = this.getSortedFillableFields();\n console.log('[SIGN] Rendering fields for page', pageInfo.pageNumber, recipientFields);\n\n // First render the fields for the signer\n recipientFields.forEach((field, tabIndex) => {\n if (field.page !== pageInfo.pageNumber) {\n return;\n }\n\n const el = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone}, tabIndex);\n if (!el) {\n return;\n }\n\n if (Array.isArray(el)) {\n el.map(e => this.attachFieldAttributes(pageInfo, field, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, el);\n }\n });\n\n // Now render the fields for other signers who have yet to act\n this.sortedRecipients\n .filter(r => r.role_name !== this.recipient.role_name && (r.status === 'invited' || r.status === 'opened' || r.status === 'pending'))\n .forEach(() => {\n this.getRecipientFields()\n .filter(field => field.page === pageInfo.pageNumber)\n .forEach(field => {\n const el = renderDocumentField('envelope', field, pageInfo, {disabled: true, editable: false, draggable: false, done: this.isDone});\n if (!el) {\n return;\n }\n\n if (Array.isArray(el)) {\n el.map(e => this.attachFieldAttributes(pageInfo, field, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, el);\n }\n });\n });\n\n this.checkRecipientFields();\n }\n\n render() {\n if (this.showLoadError) {\n return (\n <Host>\n <verdocs-ok-dialog\n heading=\"Unable to Start Signing\"\n message={`Sorry, your invite code is invalid or has expired. Please check your email for an updated invitation, or contact the sender.`}\n buttonLabel=\"OK\"\n onNext={() => {\n window.location.reload();\n }}\n />\n </Host>\n );\n }\n\n if (!this.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (this.fatalErrorMessage) {\n return (\n <Host class={{agreed: this.agreed}}>\n <div class=\"fatal-error\">\n <div class=\"message\">\n <div class=\"header\">{this.fatalErrorHeader}</div>\n <p>{this.fatalErrorMessage}</p>\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.isDone) {\n return (\n <Host class={{agreed: this.agreed}}>\n <verdocs-view endpoint={this.endpoint} envelopeId={this.envelopeId} onSdkError={e => this.sdkError?.emit(e.detail)} />\n\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message={`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`}\n onNext={(e: any) => {\n e.preventDefault();\n e.stopPropagation();\n this.showDone = false;\n this.isDone = true;\n }}\n />\n )}\n\n {this.submitting && (\n <div class=\"loading-indicator\">\n <verdocs-loader />\n </div>\n )}\n </Host>\n );\n }\n\n if (!this.agreed) {\n return (\n <Host class=\"agreed\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"agree\">\n <verdocs-checkbox name=\"agree\" label=\"By checking this box, you:\" onInput={() => this.handleClickAgree()} />\n <ul>\n <li>\n Agree to use electronic records and signatures, and confirm you have read the{' '}\n <a href=\"https://verdocs.com/en/electronic-record-signature-disclosure/\" target=\"_blank\">\n Electronic Record and Signatures Disclosure\n </a>\n .\n </li>\n <li>\n Agree to Verdocs'{' '}\n <a href=\"https://verdocs.com/en/eula\" target=\"_blank\">\n End User License Agreement\n </a>{' '}\n and confirm you have read Verdocs'{' '}\n <a href=\"https://verdocs.com/en/privacy-policy/\" target=\"_blank\">\n Privacy Policy\n </a>\n .\n </li>\n </ul>\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.kbaStep === 'pin') {\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n <verdocs-kba-dialog\n mode=\"text\"\n step={1}\n steps={1}\n helptitle=\"Document is protected by a PIN code\"\n helptext=\"Please enter your PIN code to proceed. If you do not have one, please contact the sender.\"\n label=\"PIN Code\"\n onNext={async e => {\n submitKbaPin(this.endpoint, this.envelopeId, this.roleId, e.detail as string)\n .then(r => {\n console.log('[SIGN] PIN code submission result', r);\n if (r.kba_step === 'complete') {\n this.kbaStep = '';\n }\n })\n .catch(e => {\n console.log('[SIGN] Error submitting PIN', e);\n VerdocsToast(e.response?.data?.error || 'Unable to verify PIN code. Please try again.', {style: 'error'});\n });\n }}\n />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.kbaStep === 'identity') {\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n <verdocs-kba-dialog\n mode=\"identity\"\n helptitle=\"Document requires identity verification\"\n helptext=\"Please complete your contact details to proceed.\"\n recipient={this.recipient}\n onNext={async e => {\n const recipDetails = e.detail as IRecipient;\n submitKbaIdentity(this.endpoint, this.envelopeId, this.roleId, {\n firstName: recipDetails.first_name,\n lastName: recipDetails.last_name,\n address: recipDetails.address,\n city: recipDetails.city,\n state: recipDetails.state,\n zip: recipDetails.zip,\n ssnLast4: recipDetails.ssn_last_4,\n })\n .then(r => {\n console.log('[SIGN] Identity submission result', r);\n this.kbaStep = r.kba_step;\n })\n .catch(e => {\n console.log('[SIGN] Error submitting identity', e);\n VerdocsToast(e.response?.data?.error || 'Unable to verify identity.', {style: 'error'});\n });\n }}\n />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.kbaStep === 'challenge') {\n const questionNumber = this.kbaChoices.length;\n const kbaQuestion = this.kbaQuestions[questionNumber];\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n {this.kbaChoices.length >= this.kbaQuestions.length ? (\n <verdocs-spinner />\n ) : (\n <verdocs-kba-dialog\n mode=\"choice\"\n helptitle=\"Your identity requires additional verification\"\n helptext={kbaQuestion?.prompt || 'Please select one of the options below.'}\n choices={kbaQuestion?.answer || ['Skip Question']}\n step={questionNumber + 1}\n steps={this.kbaQuestions.length}\n onNext={async (e: any) => {\n const answer = e.detail as string;\n this.kbaChoices = [...this.kbaChoices, answer];\n if (this.kbaChoices.length >= this.kbaQuestions.length) {\n const responses = this.kbaQuestions.map((q, i) => ({type: q.type, answer: this.kbaChoices[i]}));\n console.log('Submitting KBA responses', this.kbaChoices, responses);\n try {\n const response = await submitKbaChallengeResponse(this.endpoint, this.envelopeId, this.roleId, responses);\n console.log('KBA challenge response', response);\n this.kbaStep = response.kba_step;\n if (this.kbaStep === 'failed') {\n this.fatalErrorHeader = 'Identity Verification Failed';\n this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';\n this.isDone = true;\n } else {\n this.kbaQuestions = (response as any).questions?.question || [];\n this.kbaChoices = [];\n }\n } catch (e) {\n console.log('Error submitting KBA challenge', e);\n this.kbaStep = '';\n this.fatalErrorHeader = 'Unable to Verify Identity';\n this.fatalErrorMessage = e.response?.data?.error || 'Please try again later.';\n this.isDone = true;\n }\n }\n }}\n />\n )}\n </div>\n </div>\n </Host>\n );\n }\n\n return (\n <Host>\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n <div style={{flex: '1'}} />\n\n {!this.finishLater && <verdocs-button size=\"xsmall\" label={this.nextButtonLabel} disabled={!this.agreed} onClick={() => this.handleNext()} />}\n\n <div style={{marginLeft: '10px'}} />\n <verdocs-dropdown options={!this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n {(this.envelope.documents || []).map(envelopeDocument => {\n const pageNumbers = integerSequence(1, envelopeDocument.pages);\n\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = envelopeDocument.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n // In signing mode we show the original template page with all the recipient fields so we can show source formatting and\n // where everything went. This is also a visual indicator when optional fields weren't filled in by previous actors, or\n // future signers still need to act. Once we're \"done\" we flip to showing the envelope's documents which have the final\n // field vales (so far) stamped into them.\n // TODO: Confirm that a pure page-number match is good enough to find the matching template page. We need to make sure\n // we either don't reset our page numbers for additional attachments, or add match-on identifiers to work around that.\n // console.log('tp', templatePage, page);\n return (\n <verdocs-envelope-document-page\n envelopeId={this.envelopeId}\n documentId={envelopeDocument.id}\n endpoint={this.endpoint}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n pageNumber={pageNumber}\n onPageRendered={e => this.handlePageRendered(e)}\n type=\"filled\"\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </div>\n\n {this.showFinishLater && (\n <verdocs-ok-dialog\n heading=\"You've saved your document to finish later.\"\n message={`To complete the ${this.documentsSingularPlural}, use the link in the original email notification inviting you to review and finish the document.`}\n onNext={() => (this.showFinishLater = false)}\n />\n )}\n\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message={`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`}\n onNext={() => {\n this.showDone = false;\n this.isDone = true;\n }}\n />\n )}\n\n {this.submitting ||\n (this.showSpinner && (\n <verdocs-portal>\n <div class=\"spinner-overlay\">\n <verdocs-spinner />\n </div>\n </verdocs-portal>\n ))}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"verdocs-sign.entry.js","mappings":";;;;;;;;;;AAAA,MAAM,cAAc,GAAG,6gIAA6gI,CAAC;AACriI,0BAAe,cAAc;;ACY7B,MAAM,qBAAqB,GAAG;IAC5B,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAC;;IAEpC,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAC;IACzC,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAC;IAC7C,EAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAC;CACpC,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAC;IAC7B,EAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAC;CACpC,CAAC;MAwBW,WAAW;;;;;;QA0EtB,mBAAc,GAAW,CAAC,CAAC,CAAC;wBAtEuB,IAAI;0BAKJ,IAAI;sBAKR,IAAI;0BAKA,IAAI;8BAWf,IAAI;yBAkBb,EAAE;gCACS,EAAE;yBACJ,IAAI;4BACpB,KAAK;+BACF,OAAO;2BACX,KAAK;gCACA,EAAE;iCACD,EAAE;4BACP,EAAE;0BACJ,KAAK;yBACN,KAAK;sBACR,KAAK;wBACH,KAAK;6BACA,KAAK;2BACP,KAAK;+BACD,KAAK;sBACd,KAAK;uCACY,UAAU;uBAC1B,EAAE;4BACU,EAAE;2BACV,KAAK;0BACN,EAAE;uBAEL,IAAI;wBACe,IAAI;;IAI1C,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;SAC/D;KACF;IAED,MAAM,gBAAgB;;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAChF,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7E,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACjF,OAAO;SACR;QAED,IAAI;YACF,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;;;YAIrF,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACtH,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;;YAGhD,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;aAChF,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,IAAI,CAAC,uBAAuB,GAAG,aAAa,CAAC;aAC9C;YAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;gBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aACrC;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAChG;;;YAID,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC;YACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAE/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE;gBACvC,IAAI,CAAC,gBAAgB,GAAG,iCAAiC,CAAC;gBAC1D,IAAI,CAAC,iBAAiB,GAAG,gEAAgE,CAAC;aAC3F;iBAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC/C,IAAI,CAAC,gBAAgB,GAAG,iCAAiC,CAAC;gBAC1D,IAAI,CAAC,iBAAiB,GAAG,wEAAwE,CAAC;aACnG;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;aAC/B;YAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAA,IAAI,CAAC,cAAc,0CAAE,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,CAAC;YAE9E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;qBACpD,IAAI,CAAC,CAAC;;oBACL,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBAClC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC;oBAC1B,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;wBAC7B,IAAI,CAAC,gBAAgB,GAAG,8BAA8B,CAAC;wBACvD,IAAI,CAAC,iBAAiB,GAAG,uEAAuE,CAAC;wBACjG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;qBACpB;yBAAM;wBACL,IAAI,CAAC,YAAY,GAAG,CAAA,MAAC,CAAS,CAAC,SAAS,0CAAE,QAAQ,KAAI,EAAE,CAAC;wBACzD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;qBACtB;iBACF,CAAC;qBACD,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;aACzD;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;YACpD,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,EAAE,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;KACF;IAED,kBAAkB;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QAC/F,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAChE,IAAI,YAAY,IAAI,QAAQ,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC/B;KACF;IAED,gBAAgB;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;aACtE,IAAI,CAAC;;YACJ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;SACjG,CAAC;aACD,KAAK,CAAC,CAAC;;YACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,EAAE,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC;SACpF,CAAC,CAAC;KACN;IAED,MAAM,oBAAoB,CAAC,CAAM;;QAC/B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;YACjB,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;gBAC/F,MAAM;YAER,KAAK,OAAO;gBACV,YAAY,CAAC,wDAAwD,CAAC,CAAC;gBACvE,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;gBACjG,MAAM;YAER,KAAK,SAAS;gBACZ;oBACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClG,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;oBACpD,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAC,CAAC,CAAC;oBAClG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;oBACnC,IAAI,CAAC,iBAAiB,GAAG,wEAAwE,CAAC;iBACnG;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;gBACjG,MAAM;YAER,KAAK,UAAU;gBACb;oBACE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;oBAChF,IAAI,QAAQ,EAAE;wBACZ,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;4BAC/D,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;yBAChD,CAAC,CAAC;wBACH,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;qBACrG;iBACF;gBACD,MAAM;SACT;KACF;IAED,yBAAyB,CAAC,SAAiB,EAAE,YAAiB;QAC5D,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,QAAQ;YACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC/B,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;;gBAEpC,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;gBAC1C,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;SACF,CAAC,CAAC;KACJ;IAED,eAAe,CAAC,SAAiB,EAAE,MAA2B;QAC5D,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACzD,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;aACnE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;aAC7E,KAAK,CAAC,CAAC;;YACN,IAAI,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,CAAA,MAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,MAAK,aAAa,EAAE;gBAC3E,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,IAAI,CAAC,gBAAgB,GAAG,yBAAyB,CAAC;gBAClD,IAAI,CAAC,iBAAiB,GAAG,yCAAyC,CAAC;aACpE;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;aACvC;YAED,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,EAAE,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC;SACpF,CAAC,CAAC;KACN;IAED,MAAM,iBAAiB,CAAC,KAAqB,EAAE,CAAM;QACnD,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAElC,QAAQ,KAAK,CAAC,IAAW;;YAEvB,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAEpE,KAAK,UAAU,EAAE;gBACf,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC;aAC7F;YAED,KAAK,OAAO,EAAE;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC;aAC7F;YAED,KAAK,UAAU;;gBAEb,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAC,CAAC,CAAC;YAE9E,KAAK,SAAS;;;;gBAIZ,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;oBACb,OAAO;iBACR;gBAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;gBAC1D,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC;qBAC1D,IAAI,CAAC,OAAM,WAAW;oBACrB,MAAM,YAAY,GAAG,MAAM,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;oBACnH,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACzD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;iBAC1B,CAAC;qBACD,KAAK,CAAC,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;oBAC1C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;iBAC1B,CAAC,CAAC;YAEP,KAAK,WAAW;;;;gBAId,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;oBACb,OAAO;iBACR;gBAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;gBAC3D,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC;qBAC9D,IAAI,CAAC,OAAM,YAAY;oBACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;oBACrD,MAAM,YAAY,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;oBACrH,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACzD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;iBAC1B,CAAC;qBACD,KAAK,CAAC,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;oBACnD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;iBAC1B,CAAC,CAAC;YAEP,KAAK,MAAM;gBACT,MAAM,EAAC,aAAa,EAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACjC,IAAI,aAAa,EAAE;oBACjB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC,CAAC;iBAClF;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC;gBAC1F,MAAM;YAER;gBACE,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,KAAK,CAAC,CAAC;gBACtE,MAAM;SACT;KACF;IAED,aAAa,CAAC,KAAqB;QACjC,MAAM,EAAC,KAAK,GAAG,EAAE,EAAC,GAAG,KAAK,CAAC;QAC3B,QAAQ,KAAK,CAAC,IAAW;YACvB,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS;gBACZ,QAAQ,KAAK,CAAC,SAAS,IAAI,EAAE;oBAC3B,KAAK,OAAO;wBACV,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC7B,KAAK,OAAO;wBACV,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC7B;wBACE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBACtC;YAEH,KAAK,WAAW;gBACd,OAAO,KAAK,KAAK,QAAQ,CAAC;YAE5B,KAAK,SAAS;gBACZ,OAAO,KAAK,KAAK,WAAW,CAAC;;YAG/B,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC;YAEd,KAAK,MAAM;gBACT,OAAO,CAAC,CAAC,KAAK,CAAC;YAEjB,KAAK,YAAY;gBACf,OAAO,KAAK,KAAK,UAAU,CAAC;YAE9B,KAAK,UAAU;gBACb,OAAO,KAAK,KAAK,EAAE,CAAC;YAEtB,KAAK,UAAU;gBACb,OAAO,KAAK,KAAK,MAAM,CAAC;YAE1B,KAAK,OAAO;gBACV,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;oBACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE;yBAC7B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;yBACpC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;iBAC1C;gBAED,OAAO,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC;YAEhC;gBACE,OAAO,KAAK,CAAC;SAChB;KACF;IAED,YAAY,CAAC,KAAqB;QAChC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KACrD;IAED,uBAAuB;QACrB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAC9F,UAAU,CAAC,eAAe,CAAC,CAAC;QAC5B,OAAO,eAAe,CAAC;KACxB;IAED,MAAM,UAAU;;QACd,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI;;gBAEF,MAAA,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,0CAAE,MAAM,EAAE,CAAC;gBAErE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1F,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;gBACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;qBACxC,IAAI,CAAC,QAAQ;oBACZ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;;;oBAGzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB,CAAC;qBACD,KAAK,CAAC,CAAC;;oBAEN,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB,CAAC,CAAC;aACN;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;aAC3C;YAED,OAAO;SACR;;QAGD,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACjH,UAAU,CAAC,WAAW,CAAC,CAAC;QAExB,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;QACtF,IAAI,gBAAgB,GAAG,YAAY,GAAG,CAAC,CAAC;QACxC,IAAI,gBAAgB,IAAI,WAAW,CAAC,MAAM,EAAE;YAC1C,gBAAgB,GAAG,CAAC,CAAC;SACtB;QAED,IAAI,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;;;QAItD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;YACxJ,KAAK,EAAE,CAAC;YACR,gBAAgB,EAAE,CAAC;YACnB,IAAI,gBAAgB,IAAI,WAAW,CAAC,MAAM,EAAE;gBAC1C,gBAAgB,GAAG,CAAC,CAAC;aACtB;YACD,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;SACnD;QAED,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE;YAC/B,iBAAiB,GAAG,IAAI,CAAC;SAC1B;QAED,IAAI,iBAAiB,EAAE;YACrB,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAQ,CAAC;YAC9C,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,cAAc,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;YACzC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;SAC5C;KACF;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAC3F;;IAGD,oBAAoB;QAClB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3F,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;aAAM;YACL,OAAO,CAAC,GAAG,CACT,iCAAiC,EACjC,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CACvC,CAAC;YACF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;KACF;IAED,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;;;;;;;QAOvC,IAAI,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE;YACvC,OAAO;SACR;QACD,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAEjC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAM;;;;YAIlC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;;gBAE7D,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;aAC7E;iBAAM;gBACL,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;SACF,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAM;YAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI;gBACF,MAAM,YAAY,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC/G,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACzD,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAE5B,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;gBACxI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAEnD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;gBAC7C,YAAY,CAAC,qDAAqD,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;gBACtF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAM;YAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI;gBACF,MAAM,YAAY,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;gBACvD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACzD,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAE5B,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;gBACxI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAEnD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;gBAC7C,YAAY,CAAC,qDAAqD,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;gBACtF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;;YAE/B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC5D,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;aAC7E;SACF,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;SAC7E,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzD,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACnC;IAED,kBAAkB,CAAC,CAAM;QACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAA2B,CAAC;;;QAI/C,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;;QAGtF,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,EAAE;gBACtC,OAAO;aACR;YAED,MAAM,EAAE,GAAG,mBAAmB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAC,EAAE,QAAQ,CAAC,CAAC;YAC/I,IAAI,CAAC,EAAE,EAAE;gBACP,OAAO;aACR;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACrB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;aAC7D;iBAAM;gBACL,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;aACjD;SACF,CAAC,CAAC;;QAGH,IAAI,CAAC,gBAAgB;aAClB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;aACpI,OAAO,CAAC;YACP,IAAI,CAAC,kBAAkB,EAAE;iBACtB,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC;iBACnD,OAAO,CAAC,KAAK;gBACZ,MAAM,EAAE,GAAG,mBAAmB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;gBACpI,IAAI,CAAC,EAAE,EAAE;oBACP,OAAO;iBACR;gBAED,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBACrB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;iBAC7D;qBAAM;oBACL,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;iBACjD;aACF,CAAC,CAAC;SACN,CAAC,CAAC;QAEL,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,QACE,EAAC,IAAI,QACH,yBACE,OAAO,EAAC,yBAAyB,EACjC,OAAO,EAAE,8HAA8H,EACvI,WAAW,EAAC,IAAI,EAChB,MAAM,EAAE;oBACN,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBAC1B,GACD,CACG,EACP;SACH;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,QACE,EAAC,IAAI,QACH,yBAAkB,CACb,EACP;SACH;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,IAChC,WAAK,KAAK,EAAC,aAAa,IACtB,WAAK,KAAK,EAAC,SAAS,IAClB,WAAK,KAAK,EAAC,QAAQ,IAAE,IAAI,CAAC,gBAAgB,CAAO,EACjD,aAAI,IAAI,CAAC,iBAAiB,CAAK,CAC3B,CACF,CACD,EACP;SACH;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,IAChC,oBAAc,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,cAAI,OAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA,EAAA,GAAI,EAErH,IAAI,CAAC,QAAQ,KACZ,yBACE,OAAO,EAAC,cAAc,EACtB,OAAO,EAAE,sBAAsB,IAAI,CAAC,uBAAuB,8MAA8M,EACzQ,MAAM,EAAE,CAAC,CAAM;oBACb,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACpB,GACD,CACH,EAEA,IAAI,CAAC,UAAU,KACd,WAAK,KAAK,EAAC,mBAAmB,IAC5B,yBAAkB,CACd,CACP,CACI,EACP;SACH;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAClB,WAAK,EAAE,EAAC,qBAAqB,IAC3B,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,GAAG,EAAC,2CAA2C,EAAC,GAAG,EAAC,cAAc,EAAC,KAAK,EAAC,MAAM,GAAG,EACvF,WAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAO,CACzC,CACF,EAEN,WAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,IAC/C,WACE,GAAG,EAAC,2DAA2D,EAC/D,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,EAAC,EAChG,GAAG,EAAC,kBAAkB,GACtB,CACE,EAEN,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,KAAK,EAAC,OAAO,IAChB,wBAAkB,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,GAAI,EAC5G,cACE,+FACgF,GAAG,EACjF,SAAG,IAAI,EAAC,gEAAgE,EAAC,MAAM,EAAC,QAAQ,kDAEpF,MAED,EACL,mCACoB,GAAG,EACrB,SAAG,IAAI,EAAC,6BAA6B,EAAC,MAAM,EAAC,QAAQ,iCAEjD,EAAC,GAAG,wCAC2B,GAAG,EACtC,SAAG,IAAI,EAAC,wCAAwC,EAAC,MAAM,EAAC,QAAQ,qBAE5D,MAED,CACF,CACD,CACF,CACD,EACP;SACH;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC1B,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,KAAK,IACf,WAAK,EAAE,EAAC,qBAAqB,IAC3B,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,GAAG,EAAC,2CAA2C,EAAC,GAAG,EAAC,cAAc,EAAC,KAAK,EAAC,MAAM,GAAG,EACvF,WAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAO,CACzC,CACF,EAEN,WAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,IAC/C,WACE,GAAG,EAAC,2DAA2D,EAC/D,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,EAAC,EAChG,GAAG,EAAC,kBAAkB,GACtB,CACE,EAEN,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,KAAK,EAAC,KAAK,IACd,0BACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,SAAS,EAAC,qCAAqC,EAC/C,QAAQ,EAAC,2FAA2F,EACpG,KAAK,EAAC,UAAU,EAChB,MAAM,EAAE,OAAM,CAAC;oBACb,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAgB,CAAC;yBAC1E,IAAI,CAAC,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;wBACpD,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;4BAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;yBACnB;qBACF,CAAC;yBACD,KAAK,CAAC,CAAC;;wBACN,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;wBAC9C,IAAI,CAAA,MAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,MAAK,6CAA6C,EAAE;4BAC7E,IAAI,CAAC,gBAAgB,GAAG,yBAAyB,CAAC;4BAClD,IAAI,CAAC,iBAAiB,GAAG,yDAAyD,CAAC;4BACnF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;yBACpB;6BAAM;4BACL,YAAY,CAAC,CAAA,MAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,KAAI,8CAA8C,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;yBAC3G;qBACF,CAAC,CAAC;iBACN,GACD,CACE,CACF,CACD,EACP;SACH;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;YAC/B,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,KAAK,IACf,WAAK,EAAE,EAAC,qBAAqB,IAC3B,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,GAAG,EAAC,2CAA2C,EAAC,GAAG,EAAC,cAAc,EAAC,KAAK,EAAC,MAAM,GAAG,EACvF,WAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAO,CACzC,CACF,EAEN,WAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,IAC/C,WACE,GAAG,EAAC,2DAA2D,EAC/D,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,EAAC,EAChG,GAAG,EAAC,kBAAkB,GACtB,CACE,EAEN,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,KAAK,EAAC,KAAK,IACd,0BACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,yCAAyC,EACnD,QAAQ,EAAC,kDAAkD,EAC3D,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,MAAM,EAAE,OAAM,CAAC;oBACb,MAAM,YAAY,GAAG,CAAC,CAAC,MAAoB,CAAC;oBAC5C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;wBAC7D,SAAS,EAAE,YAAY,CAAC,UAAU;wBAClC,QAAQ,EAAE,YAAY,CAAC,SAAS;wBAChC,OAAO,EAAE,YAAY,CAAC,OAAO;wBAC7B,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,KAAK,EAAE,YAAY,CAAC,KAAK;wBACzB,GAAG,EAAE,YAAY,CAAC,GAAG;wBACrB,QAAQ,EAAE,YAAY,CAAC,UAAU;qBAClC,CAAC;yBACC,IAAI,CAAC,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;wBACpD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC;qBAC3B,CAAC;yBACD,KAAK,CAAC,CAAC;;wBACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;wBACnD,YAAY,CAAC,CAAA,MAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,KAAI,4BAA4B,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;qBACzF,CAAC,CAAC;iBACN,GACD,CACE,CACF,CACD,EACP;SACH;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAChC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YACtD,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,KAAK,IACf,WAAK,EAAE,EAAC,qBAAqB,IAC3B,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,GAAG,EAAC,2CAA2C,EAAC,GAAG,EAAC,cAAc,EAAC,KAAK,EAAC,MAAM,GAAG,EACvF,WAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAO,CACzC,CACF,EAEN,WAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,IAC/C,WACE,GAAG,EAAC,2DAA2D,EAC/D,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,EAAC,EAChG,GAAG,EAAC,kBAAkB,GACtB,CACE,EAEN,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,KAAK,EAAC,KAAK,IACb,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IACjD,0BAAmB,KAEnB,0BACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gDAAgD,EAC1D,QAAQ,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,yCAAyC,EAC1E,OAAO,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,CAAC,eAAe,CAAC,EACjD,IAAI,EAAE,cAAc,GAAG,CAAC,EACxB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAC/B,MAAM,EAAE,OAAO,CAAM;;oBACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAgB,CAAC;oBAClC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;wBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;wBAChG,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;wBACpE,IAAI;4BACF,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;4BAC1G,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;4BAChD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;4BACjC,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;gCAC7B,IAAI,CAAC,gBAAgB,GAAG,8BAA8B,CAAC;gCACvD,IAAI,CAAC,iBAAiB,GAAG,uEAAuE,CAAC;gCACjG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;6BACpB;iCAAM;gCACL,IAAI,CAAC,YAAY,GAAG,CAAA,MAAC,QAAgB,CAAC,SAAS,0CAAE,QAAQ,KAAI,EAAE,CAAC;gCAChE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;6BACtB;yBACF;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;4BACjD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;4BAClB,IAAI,CAAC,gBAAgB,GAAG,2BAA2B,CAAC;4BACpD,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,KAAI,yBAAyB,CAAC;4BAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;yBACpB;qBACF;iBACF,GACD,CACH,CACG,CACF,CACD,EACP;SACH;QAED,QACE,EAAC,IAAI,QACH,WAAK,EAAE,EAAC,qBAAqB,IAC3B,WAAK,KAAK,EAAC,OAAO,IAChB,WAAK,GAAG,EAAC,2CAA2C,EAAC,GAAG,EAAC,cAAc,EAAC,KAAK,EAAC,MAAM,GAAG,EACvF,WAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAO,EAC7C,WAAK,KAAK,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,GAAI,EAE1B,CAAC,IAAI,CAAC,WAAW,IAAI,sBAAgB,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,GAAI,EAE7I,WAAK,KAAK,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,GAAI,EACpC,wBAAkB,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,qBAAqB,GAAG,eAAe,EAAE,gBAAgB,EAAE,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAI,CAC3J,CACF,EAEN,WAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,IAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,gBAAgB;YACnD,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE/D,QACE,EAAC,QAAQ,QACN,WAAW,CAAC,GAAG,CAAC,UAAU;;gBACzB,MAAM,QAAQ,GAAG,CAAA,MAAA,gBAAgB,CAAC,UAAU,0CAAG,UAAU,CAAC,KAAI,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAC,CAAC;;;;;;;;gBASxF,QACE,sCACE,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,YAAY,EAAE,QAAQ,CAAC,KAAK,EAC5B,aAAa,EAAE,QAAQ,CAAC,MAAM,EAC9B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAC/C,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE;wBACN,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC;wBAC9B,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAC;qBAChC,GACD,EACF;aACH,CAAC,CACO,EACX;SACH,CAAC,CACE,EAEL,IAAI,CAAC,eAAe,KACnB,yBACE,OAAO,EAAC,6CAA6C,EACrD,OAAO,EAAE,mBAAmB,IAAI,CAAC,uBAAuB,mGAAmG,EAC3J,MAAM,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,GAC5C,CACH,EAEA,IAAI,CAAC,QAAQ,KACZ,yBACE,OAAO,EAAC,cAAc,EACtB,OAAO,EAAE,sBAAsB,IAAI,CAAC,uBAAuB,8MAA8M,EACzQ,MAAM,EAAE;gBACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB,GACD,CACH,EAEA,IAAI,CAAC,UAAU;aACb,IAAI,CAAC,WAAW,KACf,0BACE,WAAK,KAAK,EAAC,iBAAiB,IAC1B,0BAAmB,CACf,CACS,CAClB,CAAC,CACC,EACP;KACH;;;;;;","names":[],"sources":["src/components/embeds/verdocs-sign/verdocs-sign.scss?tag=verdocs-sign","src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-sign {\n display: flex;\n overflow: hidden;\n position: relative;\n min-height: 600px;\n flex-direction: column;\n box-sizing: border-box;\n font-family: $verdocs-primary-font;\n\n div {\n display: block;\n box-sizing: border-box;\n }\n\n input {\n vertical-align: top;\n }\n\n //.intro {\n // width: 100%;\n // display: flex;\n // flex: 0 0 60px;\n // color: #111111;\n // font-size: 18px;\n // font-weight: 500;\n // line-height: 28px;\n // flex-direction: row;\n // background: #ffffff;\n //\n // .inner {\n // width: 100%;\n // display: flex;\n // margin: 0 auto;\n // padding: 0 20px;\n // max-width: 1200px;\n // flex-direction: row;\n // align-items: center;\n // }\n //}\n\n > .document {\n flex: 1;\n width: 100%;\n height: 100%;\n align-self: center;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n max-width: 1200px;\n min-height: 200px;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n //justify-content: center;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .cover {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 5000;\n position: absolute;\n padding-top: 100px;\n align-items: center;\n flex-direction: column;\n background: rgba(0, 0, 0, 0.5);\n }\n\n .agree {\n flex: 0;\n width: 600px;\n display: flex;\n max-width: 90%;\n padding: 30px 15px;\n flex-direction: column;\n background-color: #ffffff;\n\n .header {\n flex: 0 0 56px;\n }\n\n li {\n margin: 0.5em 0;\n }\n }\n\n verdocs-ok-dialog .background-overlay {\n align-items: flex-start;\n padding-top: 100px;\n }\n\n .loading-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n background-color: rgba(0, 0, 0, 0.7);\n }\n\n .fatal-error {\n position: absolute;\n z-index: 100;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #4a4a4a;\n display: flex;\n align-items: center;\n justify-content: center;\n\n .placeholder {\n position: absolute;\n opacity: 0.1;\n z-index: -1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 612px;\n height: 792px;\n box-shadow: 0 0 10px 5px #0000000f;\n margin-top: 15px;\n }\n\n .message {\n max-width: 50%;\n width: 50%;\n font-size: 16px;\n background: white;\n border-radius: 5px;\n box-shadow: 3px 3px 9px -1px #0000003f;\n }\n\n .header {\n color: white;\n font-size: 18px;\n font-weight: 500;\n padding: 5px 10px;\n margin: 0 0 10px 0;\n background: $verdocs-purple-shade;\n }\n\n p {\n margin: 1rem;\n font-size: 14px;\n font-weight: 400;\n padding: 0 10px;\n }\n }\n}\n\n@media print {\n verdocs-sign .header {\n display: none;\n }\n}\n\n#verdocs-sign-header {\n color: #fff;\n width: 100%;\n display: flex;\n z-index: 1000;\n flex: 0 0 46px;\n font-size: 12px;\n column-gap: 15px;\n align-items: center;\n flex-direction: row;\n transition: all 0.25s;\n background-color: $medium-bg;\n box-shadow:\n 0 4px 4px 0 rgb(0 0 0 / 24%),\n 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n display: flex;\n margin: 0 auto;\n padding: 0 12px;\n max-width: 1200px;\n align-items: center;\n flex-direction: row;\n }\n\n .logo {\n width: 80px;\n display: none;\n margin: -6px 0 0 0;\n }\n\n .title {\n font-size: 18px;\n font-weight: 500;\n overflow: hidden;\n white-space: nowrap;\n padding: 0 10px 0 0;\n text-overflow: ellipsis;\n }\n}\n\n.spinner-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n}\n","import type {IEnvelope, IEnvelopeField, IRecipient} from '@verdocs/js-sdk';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {updateEnvelopeFieldSignature, uploadEnvelopeFieldAttachment, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {updateEnvelopeField, sortFields, submitKbaIdentity, submitKbaChallengeResponse} from '@verdocs/js-sdk';\nimport {fullNameToInitials, startSigningSession, deleteEnvelopeFieldAttachment, getKbaStep} from '@verdocs/js-sdk';\nimport {getEnvelope, integerSequence, isValidEmail, isValidPhone, submitKbaPin, updateEnvelopeFieldInitials} from '@verdocs/js-sdk';\nimport {createInitials, createSignature, envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit, formatFullName} from '@verdocs/js-sdk';\nimport {getFieldId, renderDocumentField, saveAttachment, updateDocumentFieldValue} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst inProgressMenuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n // {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n];\n\nconst doneMenuOptions = [\n {id: 'print', label: 'Print'},\n {id: 'download', label: 'Download'},\n];\n\n/**\n * Display an envelope signing experience. This will display the envelope's attached\n * documents with signing fields overlaid on each page.\n *\n * The component will attempt to initiate a signing session and load the specified\n * envelope. If successful, the recipient's fields will be enabled and the user will\n * be able to sign the envelope's attached documents. If not, an `sdkError` will be\n * thrown and the component will be blank/empty. To provide the best user experience,\n * applications should capture and handle this error to provide the user with\n * instructions/options for next steps based on the application's design and workflow.\n *\n * Unlike other components, this will always create its own endpoint to manage the\n * session session. This endpoint will be included in event callbacks for the\n * convenience of host applications that may wish to make server calls using the\n * signer's credentials once signing is complete (e.g. to obtain copies of\n * the signed attachments.)\n */\n@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop({mutable: true}) endpoint: VerdocsEndpoint = null;\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop({reflect: true}) envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop({reflect: true}) roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop({reflect: true}) inviteCode: string | null = null;\n\n /**\n * If set, (recommended), the host application should create a <DIV> element with a unique ID. When this\n * component renders, the header will be removed from its default location and placed in the target element.\n * This allows the parent application to more easily control its placement and scroll effects (e.g. \"fixed\").\n *\n * The movement of the header to the target container is not dynamic - it is performed only on the initial\n * render. Host applications should not conditionally render this container. If the header's visibility must\n * be externally controlled, use CSS display options to hide/show it instead.\n */\n @Prop() headerTargetId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the envelope is updated in any way.\n */\n @Event({composed: true}) envelopeLoaded: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope}>;\n\n /**\n * Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n @State() roleNames: string[] = [];\n @State() sortedRecipients: IRecipient[] = [];\n @State() recipient: IRecipient | null = null;\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() nextSubmits = false;\n @State() fatalErrorHeader = '';\n @State() fatalErrorMessage = '';\n @State() focusedField = '';\n @State() submitting = false;\n @State() submitted = false;\n @State() isDone = false;\n @State() showDone = false;\n @State() showLoadError = false;\n @State() finishLater = false;\n @State() showFinishLater = false;\n @State() agreed = false;\n @State() documentsSingularPlural = 'document';\n @State() kbaStep = '';\n @State() kbaQuestions: any[] = [];\n @State() showSpinner = false;\n @State() kbaChoices = [];\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n\n recipientIndex: number = -1;\n\n componentWillLoad() {\n if (!this.endpoint) {\n console.log('[SIGN] Creating signing endpoint');\n this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\n }\n }\n\n async componentDidLoad() {\n if (!this.envelopeId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required envelopId', 500, ''));\n return;\n }\n\n if (!this.roleId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required roleId', 500, ''));\n return;\n }\n\n if (!this.inviteCode) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required inviteCode', 500, ''));\n return;\n }\n\n try {\n console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);\n\n // NOTE: We don't listen to the store here because we are often an independent\n // session and might have a different \"view\" of the envelope.\n const {envelope, recipient} = await startSigningSession(this.endpoint, this.envelopeId, this.roleId, this.inviteCode);\n console.log(`[SIGN] Loaded signing session`, envelope, recipient);\n this.recipient = recipient;\n this.envelope = envelope;\n\n Store.updateEnvelope(this.envelopeId, envelope);\n\n // TODO: Can be cleaned up shortly.\n this.sortedRecipients = [...this.envelope.recipients];\n this.sortedRecipients.sort((a, b) => {\n return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;\n });\n\n this.roleNames = this.sortedRecipients.map(r => r.role_name);\n\n if (this.envelope.documents.length > 0) {\n this.documentsSingularPlural = 'document(s)';\n }\n\n this.recipientIndex = this.roleNames.findIndex(roleName => roleName == this.roleId);\n if (this.recipientIndex > -1) {\n this.recipient = this.sortedRecipients[this.recipientIndex];\n this.agreed = this.recipient.agreed;\n } else {\n console.warn('[SIGN] Could not find our recipient record', this.roleId, this.sortedRecipients);\n }\n\n // TODO: Envelope \"complete\" | \"declined\" | \"canceled\"\n // TODO: Recipient \"canceled\"\n this.submitted = this.recipient.status === 'submitted';\n this.isDone = this.submitted;\n this.showDone = this.submitted;\n\n if (this.envelope.status === 'canceled') {\n this.fatalErrorHeader = 'Unable to Start Signing Session';\n this.fatalErrorMessage = 'This envelope has been canceled. The sender has been notified.';\n } else if (this.recipient.status === 'declined') {\n this.fatalErrorHeader = 'Unable to Start Signing Session';\n this.fatalErrorMessage = 'You have declined to sign this envelope. The sender has been notified.';\n } else if (this.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n this.checkRecipientFields();\n this.envelopeLoaded?.emit({endpoint: this.endpoint, envelope: this.envelope});\n\n if (!this.isDone) {\n getKbaStep(this.endpoint, this.envelopeId, this.roleId)\n .then(r => {\n console.log('[SIGN] KBA Step', r);\n this.kbaStep = r.kba_step;\n if (this.kbaStep === 'failed') {\n this.fatalErrorHeader = 'Identity Verification Failed';\n this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';\n this.isDone = true;\n } else {\n this.kbaQuestions = (r as any).questions?.question || [];\n this.kbaChoices = [];\n }\n })\n .catch(e => console.log('Error getting KBA step', e));\n }\n } catch (e) {\n console.log('[SIGN] Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n this.showLoadError = true;\n }\n }\n\n componentDidRender() {\n const headerTarget = this.headerTargetId ? document.getElementById(this.headerTargetId) : null;\n const headerEl = document.getElementById('verdocs-sign-header');\n if (headerTarget && headerEl) {\n console.log('[SIGN] Moving header');\n headerEl.remove();\n headerTarget.append(headerEl);\n }\n }\n\n handleClickAgree() {\n this.submitting = true;\n envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, true)\n .then(() => {\n this.nextButtonLabel = 'Next';\n this.recipient.agreed = true;\n this.submitting = false;\n this.agreed = true; // The server returns a recipient object but it's not \"deep\" so we track this locally\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'agreed'});\n })\n .catch(e => {\n console.log('[SIGN] Update failure', e);\n this.submitting = false;\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async handleOptionSelected(e: any) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'later'});\n break;\n\n case 'claim':\n VerdocsToast('This feature will be available in an upcoming release.');\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'claimed'});\n break;\n\n case 'decline':\n {\n this.submitting = true;\n const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Decline result', declineResult);\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'declined'});\n this.submitting = false;\n this.fatalErrorHeader = 'Declined';\n this.fatalErrorMessage = 'You have declined to sign this envelope. The sender has been notified.';\n }\n break;\n\n case 'print':\n window.print();\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'printed'});\n break;\n\n case 'download':\n {\n const firstDoc = this.envelope.documents.find(doc => doc.type === 'attachment');\n if (firstDoc) {\n saveAttachment(this.endpoint, this.envelope, firstDoc.id).catch(e => {\n console.log('[SIGN] Error downloading PDF', e);\n });\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded'});\n }\n }\n break;\n }\n }\n\n updateRecipientFieldValue(fieldName: string, updateResult: any) {\n console.log('[SIGN] updateRecipientFieldValue', fieldName, updateResult);\n this.getRecipientFields().forEach(oldField => {\n if (oldField.name === fieldName) {\n oldField.value = updateResult.value;\n // TODO: Keeping this while attachments still rely on it\n oldField.settings = updateResult.settings;\n updateDocumentFieldValue(oldField);\n this.checkRecipientFields();\n }\n });\n }\n\n saveFieldChange(fieldName: string, fields: Record<string, any>) {\n console.log('[SIGN] saveFieldChange', fieldName, fields);\n updateEnvelopeField(this.endpoint, this.envelopeId, fieldName, fields) //\n .then(updateResult => this.updateRecipientFieldValue(fieldName, updateResult))\n .catch(e => {\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('[SIGN] Signing session expired');\n this.fatalErrorHeader = 'Signing Session Expired';\n this.fatalErrorMessage = 'Please reload your browser to continue.';\n } else {\n console.log('[SIGN] Server error', e);\n }\n\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async handleFieldChange(field: IEnvelopeField, e: any) {\n const {value, checked} = e.target;\n\n switch (field.type as any) {\n // TODO: Remove legacy type when no longer needed\n case 'textarea':\n case 'textbox':\n return this.saveFieldChange(field.name, {prepared: false, value});\n\n case 'checkbox': {\n return this.saveFieldChange(field.name, {prepared: false, value: String(e.target.checked)});\n }\n\n case 'radio': {\n return this.saveFieldChange(field.name, {prepared: false, value: String(e.target.checked)});\n }\n\n case 'dropdown':\n // TODO: Set prepared to false server-side.\n console.log('Saving dropdown', field.name, e.detail);\n return this.saveFieldChange(field.name, {prepared: false, value: e.detail});\n\n case 'initial':\n // This can be caused by a focus-out event if the user clicks the field\n // after it's already filled in, then clicks something else like a textbox.\n // We don't visually indicate the focus, but it's still there.\n if (!e.detail) {\n return;\n }\n\n this.showSpinner = true;\n const initialsBlob = await (await fetch(e.detail)).blob();\n return createInitials(this.endpoint, 'initial', initialsBlob) //\n .then(async newInitials => {\n const updateResult = await updateEnvelopeFieldInitials(this.endpoint, this.envelopeId, field.name, newInitials.id);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.showSpinner = false;\n })\n .catch(e => {\n console.log('Error updating initials', e);\n this.showSpinner = false;\n });\n\n case 'signature':\n // This can be caused by a focus-out event if the user clicks the field\n // after it's already filled in, then clicks something else like a textbox.\n // We don't visually indicate the focus, but it's still there.\n if (!e.detail) {\n return;\n }\n\n this.showSpinner = true;\n const signatureBlob = await (await fetch(e.detail)).blob();\n return createSignature(this.endpoint, 'signature', signatureBlob) //\n .then(async newSignature => {\n console.log('Signature update result', newSignature);\n const updateResult = await updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.showSpinner = false;\n })\n .catch(e => {\n console.warn('[SIGN] Error updating signature', e);\n this.showSpinner = false;\n });\n\n case 'date':\n const {formattedDate} = e.detail;\n if (formattedDate) {\n return this.saveFieldChange(field.name, {prepared: false, value: formattedDate});\n }\n break;\n\n case 'timestamp':\n console.log('[SIGN] Updating timestamp', {value, ts: e.target.getAttribute('timestamp')});\n break;\n\n default:\n console.log('[SIGN] Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldFilled(field: IEnvelopeField) {\n const {value = ''} = field;\n switch (field.type as any) {\n case 'textarea':\n case 'textbox':\n switch (field.validator || '') {\n case 'email':\n return isValidEmail(value);\n case 'phone':\n return isValidPhone(value);\n default:\n return (value || '').trim() !== '';\n }\n\n case 'signature':\n return value === 'signed';\n\n case 'initial':\n return value === 'initialed';\n\n // Timestamp fields get automatically filled when the envelope is submitted.\n case 'timestamp':\n return true;\n\n case 'date':\n return !!value;\n\n case 'attachment':\n return value === 'attached';\n\n case 'dropdown':\n return value !== '';\n\n case 'checkbox':\n return value === 'true';\n\n case 'radio':\n if (!!field.group) {\n return this.getRecipientFields()\n .filter(f => f.group === field.group)\n .some(field => field.value === 'true');\n }\n\n return field.value === 'true';\n\n default:\n return false;\n }\n }\n\n isFieldValid(field: IEnvelopeField) {\n return !field.required || this.isFieldFilled(field);\n }\n\n getSortedFillableFields() {\n const recipientFields = this.getRecipientFields().filter(field => field.type !== 'timestamp');\n sortFields(recipientFields);\n return recipientFields;\n }\n\n async handleNext() {\n if (this.nextSubmits) {\n try {\n // Patches the date picker to be forcibly removed if still showing during submission\n document.getElementById('air-datepicker-global-container')?.remove();\n\n this.submitting = true;\n const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Submitted successfully', result);\n this.recipient.status = 'submitted';\n this.showDone = true;\n console.log('[SIGN] Reloading envelope');\n getEnvelope(this.endpoint, this.envelopeId)\n .then(envelope => {\n this.envelope = envelope;\n // The show-done dialog does this\n // this.isDone = true;\n this.submitting = false;\n })\n .catch(e => {\n // this.isDone = true;\n console.log('[SIGN] Error reloading envelope', e);\n this.submitting = false;\n });\n } catch (e) {\n console.log('[SIGN] Error submitting', e);\n }\n\n return;\n }\n\n // Find and focus the next incomplete field (that is fillable)\n const emptyFields = this.getSortedFillableFields().filter(field => field.required && !this.isFieldFilled(field));\n sortFields(emptyFields);\n\n const focusedIndex = emptyFields.findIndex(field => field.name === this.focusedField);\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n\n let nextRequiredField = emptyFields[nextFocusedIndex];\n // console.log('Next field', nextRequiredField, emptyFields);\n\n // Skip signature and initial fields that are already filled in. We have to count our \"skips\" just in case, to avoid infinite loops.\n let skips = 0;\n if (skips < emptyFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && ['initialed', 'signed'].includes(nextRequiredField.value)) {\n skips++;\n nextFocusedIndex++;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n nextRequiredField = emptyFields[nextFocusedIndex];\n }\n\n if (skips >= emptyFields.length) {\n nextRequiredField = null;\n }\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n el?.scrollIntoView({behavior: 'smooth'});\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n getRecipientFields() {\n return this.envelope.fields.filter(field => field.role_name === this.recipient.role_name);\n }\n\n // See if everything that \"needs to be\" filled in is, and all \"fillable fields\" are valid\n checkRecipientFields() {\n const invalidFields = this.getRecipientFields().filter(field => !this.isFieldValid(field));\n if (invalidFields.length < 1) {\n this.nextButtonLabel = 'Finish';\n if (!this.nextSubmits) {\n this.nextSubmits = true;\n }\n } else {\n console.log(\n '[SIGN] Invalid fields remaining',\n invalidFields.map(field => field.name),\n );\n this.nextButtonLabel = 'Next';\n this.nextSubmits = false;\n }\n }\n\n attachFieldAttributes(pageInfo, field, el) {\n // We can get called multiple times as rendering completes and it's hard to avoid that\n // because it's a ton of work for the callers to know it's been done already. But we\n // don't want to attach multiple event listeners or we get dupe event handling, like\n // calling the server twice on every field update. Since JS has no removeAllEventListeners()\n // option, using removeEventListener() isn't reliable the way Stencil binds local function\n // contexts, and cloneNode messes up the rest of the rendering, we just track it with a flag.\n if (el.getAttribute('attached') === '1') {\n return;\n }\n el.setAttribute('attached', '1');\n\n el.addEventListener('input', (e: any) => {\n // console.log('[SIGN] onfieldInput', e.detail, e.target.value);\n // These field types don't emit fieldChange. Should we standardize on that? We don't tap \"input\" for fields like\n // text boxes because we'd be updating the field on every keystroke. We do those on blur which fires fieldChange.\n if (e.target.type === 'radio' || e.target.type === 'checkbox') {\n // if (e.target.type === 'radio' || e.target.name.includes('date') || e.target.name.includes('checkbox')) {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n } else {\n this.checkRecipientFields();\n }\n });\n el.addEventListener('attached', async (e: any) => {\n console.log('[SIGN] onAttached', e.detail, e.target.value);\n this.showSpinner = true;\n try {\n const updateResult = await uploadEnvelopeFieldAttachment(this.endpoint, this.envelopeId, field.name, e.detail);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.checkRecipientFields();\n\n const newEl = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone});\n this.attachFieldAttributes(pageInfo, field, newEl);\n\n this.showSpinner = false;\n } catch (e) {\n console.log('Error uploading attachment', e);\n VerdocsToast('Unable to upload attachment, please try again later', {style: 'error'});\n this.showSpinner = false;\n }\n });\n el.addEventListener('deleted', async (e: any) => {\n console.log('[SIGN] onDeleted', e.detail, e.target.value);\n this.showSpinner = true;\n try {\n const updateResult = await deleteEnvelopeFieldAttachment(this.endpoint, this.envelopeId, field.name);\n console.log('[SIGN] Deleted attachment', updateResult);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.checkRecipientFields();\n\n const newEl = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone});\n this.attachFieldAttributes(pageInfo, field, newEl);\n\n this.showSpinner = false;\n } catch (e) {\n console.log('Error uploading attachment', e);\n VerdocsToast('Unable to upload attachment, please try again later', {style: 'error'});\n this.showSpinner = false;\n }\n });\n el.addEventListener('focusout', e => {\n // These field types trigger focusout as they're used, even without a value change\n if (field.type !== 'dropdown' && field.type !== 'attachment') {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n }\n });\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n });\n\n el.setAttribute('templateid', this.envelope.template_id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('page', pageInfo.pageNumber);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n\n const fullName = formatFullName(this.recipient);\n el.setAttribute('initials', fullNameToInitials(fullName));\n el.setAttribute('name', fullName);\n }\n\n handlePageRendered(e: any) {\n const pageInfo = e.detail as IDocumentPageInfo;\n\n // NOTE: We don't filter on pageNumber here because we need the position in the\n // entire list to set the tabIndex.\n const recipientFields = this.getSortedFillableFields();\n console.log('[SIGN] Rendering fields for page', pageInfo.pageNumber, recipientFields);\n\n // First render the fields for the signer\n recipientFields.forEach((field, tabIndex) => {\n if (field.page !== pageInfo.pageNumber) {\n return;\n }\n\n const el = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone}, tabIndex);\n if (!el) {\n return;\n }\n\n if (Array.isArray(el)) {\n el.map(e => this.attachFieldAttributes(pageInfo, field, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, el);\n }\n });\n\n // Now render the fields for other signers who have yet to act\n this.sortedRecipients\n .filter(r => r.role_name !== this.recipient.role_name && (r.status === 'invited' || r.status === 'opened' || r.status === 'pending'))\n .forEach(() => {\n this.getRecipientFields()\n .filter(field => field.page === pageInfo.pageNumber)\n .forEach(field => {\n const el = renderDocumentField('envelope', field, pageInfo, {disabled: true, editable: false, draggable: false, done: this.isDone});\n if (!el) {\n return;\n }\n\n if (Array.isArray(el)) {\n el.map(e => this.attachFieldAttributes(pageInfo, field, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, el);\n }\n });\n });\n\n this.checkRecipientFields();\n }\n\n render() {\n if (this.showLoadError) {\n return (\n <Host>\n <verdocs-ok-dialog\n heading=\"Unable to Start Signing\"\n message={`Sorry, your invite code is invalid or has expired. Please check your email for an updated invitation, or contact the sender.`}\n buttonLabel=\"OK\"\n onNext={() => {\n window.location.reload();\n }}\n />\n </Host>\n );\n }\n\n if (!this.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (this.fatalErrorMessage) {\n return (\n <Host class={{agreed: this.agreed}}>\n <div class=\"fatal-error\">\n <div class=\"message\">\n <div class=\"header\">{this.fatalErrorHeader}</div>\n <p>{this.fatalErrorMessage}</p>\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.isDone) {\n return (\n <Host class={{agreed: this.agreed}}>\n <verdocs-view endpoint={this.endpoint} envelopeId={this.envelopeId} onSdkError={e => this.sdkError?.emit(e.detail)} />\n\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message={`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`}\n onNext={(e: any) => {\n e.preventDefault();\n e.stopPropagation();\n this.showDone = false;\n this.isDone = true;\n }}\n />\n )}\n\n {this.submitting && (\n <div class=\"loading-indicator\">\n <verdocs-loader />\n </div>\n )}\n </Host>\n );\n }\n\n if (!this.agreed) {\n return (\n <Host class=\"agreed\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"agree\">\n <verdocs-checkbox name=\"agree\" label=\"By checking this box, you:\" onInput={() => this.handleClickAgree()} />\n <ul>\n <li>\n Agree to use electronic records and signatures, and confirm you have read the{' '}\n <a href=\"https://verdocs.com/en/electronic-record-signature-disclosure/\" target=\"_blank\">\n Electronic Record and Signatures Disclosure\n </a>\n .\n </li>\n <li>\n Agree to Verdocs'{' '}\n <a href=\"https://verdocs.com/en/eula\" target=\"_blank\">\n End User License Agreement\n </a>{' '}\n and confirm you have read Verdocs'{' '}\n <a href=\"https://verdocs.com/en/privacy-policy/\" target=\"_blank\">\n Privacy Policy\n </a>\n .\n </li>\n </ul>\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.kbaStep === 'pin') {\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n <verdocs-kba-dialog\n mode=\"text\"\n step={1}\n steps={1}\n helptitle=\"Document is protected by a PIN code\"\n helptext=\"Please enter your PIN code to proceed. If you do not have one, please contact the sender.\"\n label=\"PIN Code\"\n onNext={async e => {\n submitKbaPin(this.endpoint, this.envelopeId, this.roleId, e.detail as string)\n .then(r => {\n console.log('[SIGN] PIN code submission result', r);\n if (r.kba_step === 'complete') {\n this.kbaStep = '';\n }\n })\n .catch(e => {\n console.log('[SIGN] Error submitting PIN', e);\n if (e.response?.data?.error === 'Rejecting PIN submission, too many attempts') {\n this.fatalErrorHeader = 'PIN Verification Failed';\n this.fatalErrorMessage = 'Too many failed attempts. The sender has been notified.';\n this.isDone = true;\n } else {\n VerdocsToast(e.response?.data?.error || 'Unable to verify PIN code. Please try again.', {style: 'error'});\n }\n });\n }}\n />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.kbaStep === 'identity') {\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n <verdocs-kba-dialog\n mode=\"identity\"\n helptitle=\"Document requires identity verification\"\n helptext=\"Please complete your contact details to proceed.\"\n recipient={this.recipient}\n onNext={async e => {\n const recipDetails = e.detail as IRecipient;\n submitKbaIdentity(this.endpoint, this.envelopeId, this.roleId, {\n firstName: recipDetails.first_name,\n lastName: recipDetails.last_name,\n address: recipDetails.address,\n city: recipDetails.city,\n state: recipDetails.state,\n zip: recipDetails.zip,\n ssnLast4: recipDetails.ssn_last_4,\n })\n .then(r => {\n console.log('[SIGN] Identity submission result', r);\n this.kbaStep = r.kba_step;\n })\n .catch(e => {\n console.log('[SIGN] Error submitting identity', e);\n VerdocsToast(e.response?.data?.error || 'Unable to verify identity.', {style: 'error'});\n });\n }}\n />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.kbaStep === 'challenge') {\n const questionNumber = this.kbaChoices.length;\n const kbaQuestion = this.kbaQuestions[questionNumber];\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n {this.kbaChoices.length >= this.kbaQuestions.length ? (\n <verdocs-spinner />\n ) : (\n <verdocs-kba-dialog\n mode=\"choice\"\n helptitle=\"Your identity requires additional verification\"\n helptext={kbaQuestion?.prompt || 'Please select one of the options below.'}\n choices={kbaQuestion?.answer || ['Skip Question']}\n step={questionNumber + 1}\n steps={this.kbaQuestions.length}\n onNext={async (e: any) => {\n const answer = e.detail as string;\n this.kbaChoices = [...this.kbaChoices, answer];\n if (this.kbaChoices.length >= this.kbaQuestions.length) {\n const responses = this.kbaQuestions.map((q, i) => ({type: q.type, answer: this.kbaChoices[i]}));\n console.log('Submitting KBA responses', this.kbaChoices, responses);\n try {\n const response = await submitKbaChallengeResponse(this.endpoint, this.envelopeId, this.roleId, responses);\n console.log('KBA challenge response', response);\n this.kbaStep = response.kba_step;\n if (this.kbaStep === 'failed') {\n this.fatalErrorHeader = 'Identity Verification Failed';\n this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';\n this.isDone = true;\n } else {\n this.kbaQuestions = (response as any).questions?.question || [];\n this.kbaChoices = [];\n }\n } catch (e) {\n console.log('Error submitting KBA challenge', e);\n this.kbaStep = '';\n this.fatalErrorHeader = 'Unable to Verify Identity';\n this.fatalErrorMessage = e.response?.data?.error || 'Please try again later.';\n this.isDone = true;\n }\n }\n }}\n />\n )}\n </div>\n </div>\n </Host>\n );\n }\n\n return (\n <Host>\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n <div style={{flex: '1'}} />\n\n {!this.finishLater && <verdocs-button size=\"xsmall\" label={this.nextButtonLabel} disabled={!this.agreed} onClick={() => this.handleNext()} />}\n\n <div style={{marginLeft: '10px'}} />\n <verdocs-dropdown options={!this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n {(this.envelope.documents || []).map(envelopeDocument => {\n const pageNumbers = integerSequence(1, envelopeDocument.pages);\n\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = envelopeDocument.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n // In signing mode we show the original template page with all the recipient fields so we can show source formatting and\n // where everything went. This is also a visual indicator when optional fields weren't filled in by previous actors, or\n // future signers still need to act. Once we're \"done\" we flip to showing the envelope's documents which have the final\n // field vales (so far) stamped into them.\n // TODO: Confirm that a pure page-number match is good enough to find the matching template page. We need to make sure\n // we either don't reset our page numbers for additional attachments, or add match-on identifiers to work around that.\n // console.log('tp', templatePage, page);\n return (\n <verdocs-envelope-document-page\n envelopeId={this.envelopeId}\n documentId={envelopeDocument.id}\n endpoint={this.endpoint}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n pageNumber={pageNumber}\n onPageRendered={e => this.handlePageRendered(e)}\n type=\"filled\"\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </div>\n\n {this.showFinishLater && (\n <verdocs-ok-dialog\n heading=\"You've saved your document to finish later.\"\n message={`To complete the ${this.documentsSingularPlural}, use the link in the original email notification inviting you to review and finish the document.`}\n onNext={() => (this.showFinishLater = false)}\n />\n )}\n\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message={`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`}\n onNext={() => {\n this.showDone = false;\n this.isDone = true;\n }}\n />\n )}\n\n {this.submitting ||\n (this.showSpinner && (\n <verdocs-portal>\n <div class=\"spinner-overlay\">\n <verdocs-spinner />\n </div>\n </verdocs-portal>\n ))}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -16,7 +16,7 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy(JSON.parse("[[\"verdocs-build\",[[0,\"verdocs-build\",{\"endpoint\":[16],\"templateId\":[1537,\"template-id\"],\"step\":[1537],\"loading\":[32],\"template\":[32]},null,{\"templateId\":[\"onTemplateIdChanged\"],\"step\":[\"onStepChanged\"]}]]],[\"verdocs-envelopes-list\",[[0,\"verdocs-envelopes-list\",{\"endpoint\":[16],\"view\":[1537],\"status\":[1537],\"sort\":[1537],\"match\":[1537],\"showPagination\":[4,\"show-pagination\"],\"rowsPerPage\":[2,\"rows-per-page\"],\"selectedPage\":[2,\"selected-page\"],\"count\":[32],\"initiallyLoaded\":[32],\"loading\":[32],\"selectedEnvelopes\":[32],\"envelopes\":[32]},null,{\"view\":[\"handleViewUpdated\"],\"status\":[\"handleStatusUpdated\"],\"sort\":[\"handleSortUpdated\"],\"match\":[\"handleMatchUpdated\"],\"selectedPage\":[\"handlePageUpdated\"]}]]],[\"verdocs-sign\",[[0,\"verdocs-sign\",{\"endpoint\":[1040],\"envelopeId\":[513,\"envelope-id\"],\"roleId\":[513,\"role-id\"],\"inviteCode\":[513,\"invite-code\"],\"headerTargetId\":[1,\"header-target-id\"],\"roleNames\":[32],\"sortedRecipients\":[32],\"recipient\":[32],\"hasSignature\":[32],\"nextButtonLabel\":[32],\"nextSubmits\":[32],\"fatalErrorHeader\":[32],\"fatalErrorMessage\":[32],\"focusedField\":[32],\"submitting\":[32],\"submitted\":[32],\"isDone\":[32],\"showDone\":[32],\"showLoadError\":[32],\"finishLater\":[32],\"showFinishLater\":[32],\"agreed\":[32],\"documentsSingularPlural\":[32],\"kbaStep\":[32],\"kbaQuestions\":[32],\"showSpinner\":[32],\"kbaChoices\":[32],\"loading\":[32],\"envelope\":[32]}]]],[\"verdocs-templates-list\",[[0,\"verdocs-templates-list\",{\"endpoint\":[16],\"visibility\":[1537],\"starred\":[1537],\"sort\":[1537],\"name\":[1537],\"allowedActions\":[1040],\"showPagination\":[4,\"show-pagination\"],\"rowsPerPage\":[2,\"rows-per-page\"],\"selectedPage\":[2,\"selected-page\"],\"count\":[32],\"initiallyLoaded\":[32],\"loading\":[32],\"confirmDelete\":[32],\"templates\":[32],\"localNameFilter\":[32]},null,{\"sharing\":[\"handleSharingUpdated\"],\"starred\":[\"handleStarredUpdated\"],\"sort\":[\"handleSortUpdated\"],\"name\":[\"handleNameUpdated\"],\"selectedPage\":[\"handlePageUpdated\"]}]]],[\"verdocs-field-payment\",[[0,\"verdocs-field-payment\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"done\":[516],\"editable\":[516],\"moveable\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"fields\":[16],\"pageNum\":[2,\"page-num\"],\"roleName\":[1,\"role-name\"],\"fieldId\":[1,\"field-id\"],\"recipients\":[8],\"selectedRoleName\":[1,\"selected-role-name\"],\"pdfPages\":[16],\"currentSignature\":[1,\"current-signature\"],\"currentSignatureId\":[1,\"current-signature-id\"],\"currentInitial\":[1,\"current-initial\"],\"currentInitialId\":[1,\"current-initial-id\"],\"signed\":[4],\"roleindex\":[2],\"showingProperties\":[32],\"focused\":[32],\"preparedMessage\":[32],\"signatureUrl\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}]]],[\"verdocs-envelope-sidebar\",[[0,\"verdocs-envelope-sidebar\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"activeTab\":[32],\"panelOpen\":[32],\"showRecipientDialog\":[32],\"showCancelDialog\":[32],\"remindersEnabled\":[32],\"updatingReminders\":[32],\"initialReminder\":[32],\"followupReminders\":[32],\"loading\":[32],\"envelope\":[32]}]]],[\"verdocs-template-create\",[[0,\"verdocs-template-create\",{\"endpoint\":[16],\"maxSize\":[1026,\"max-size\"],\"file\":[32],\"creating\":[32],\"progressLabel\":[32],\"progressPercent\":[32],\"errorMessage\":[32]}]]],[\"verdocs-auth\",[[0,\"verdocs-auth\",{\"endpoint\":[16],\"visible\":[4],\"logo\":[1],\"displayMode\":[1025,\"display-mode\"],\"org_name\":[32],\"first_name\":[32],\"last_name\":[32],\"email\":[32],\"verificationCode\":[32],\"newPassword\":[32],\"password\":[32],\"confirmpass\":[32],\"submitting\":[32],\"resendDisabled\":[32],\"session\":[32],\"profile\":[32]}]]],[\"verdocs-envelope-recipient-summary\",[[0,\"verdocs-envelope-recipient-summary\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"canSendAnother\":[4,\"can-send-another\"],\"canView\":[4,\"can-view\"],\"canDone\":[4,\"can-done\"],\"isOpen\":[32],\"recipientStatusIcons\":[32],\"containerId\":[32],\"gettingLinks\":[32],\"links\":[32],\"loading\":[32],\"envelope\":[32]}]]],[\"verdocs-dialog\",[[4,\"verdocs-dialog\"]]],[\"verdocs-quick-functions\",[[0,\"verdocs-quick-functions\",{\"endpoint\":[16]}]]],[\"verdocs-radio-button\",[[0,\"verdocs-radio-button\",{\"checked\":[4],\"name\":[1],\"value\":[1],\"disabled\":[4]}]]],[\"verdocs-search-box\",[[0,\"verdocs-search-box\",{\"endpoint\":[16],\"placeholder\":[1],\"type\":[1],\"query\":[1],\"grabsFocus\":[4,\"grabs-focus\"],\"focusField\":[64]}]]],[\"verdocs-search-tabs\",[[0,\"verdocs-search-tabs\",{\"selected\":[32]}]]],[\"verdocs-table\",[[0,\"verdocs-table\",{\"columns\":[16],\"data\":[16]}]]],[\"verdocs-template-card\",[[0,\"verdocs-template-card\",{\"template\":[16]}]]],[\"verdocs-template-tags\",[[0,\"verdocs-template-tags\",{\"tags\":[16]}]]],[\"verdocs-toggle\",[[0,\"verdocs-toggle\",{\"options\":[16],\"theme\":[1],\"selectedOption\":[32]}]]],[\"verdocs-status-indicator\",[[0,\"verdocs-status-indicator\",{\"size\":[1],\"theme\":[1],\"status\":[1],\"envelope\":[16],\"isOpen\":[32],\"containerId\":[32]}]]],[\"verdocs-template-star\",[[0,\"verdocs-template-star\",{\"endpoint\":[16],\"template\":[1040],\"updating\":[32]}]]],[\"verdocs-envelope-document-page\",[[0,\"verdocs-envelope-document-page\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"documentId\":[1,\"document-id\"],\"pageNumber\":[2,\"page-number\"],\"virtualWidth\":[2,\"virtual-width\"],\"virtualHeight\":[1026,\"virtual-height\"],\"layers\":[16],\"type\":[1],\"containerId\":[32],\"renderedWidth\":[32],\"renderedHeight\":[32],\"naturalWidth\":[32],\"naturalHeight\":[32],\"aspectRatio\":[32],\"skipFirstNotification\":[32],\"pageDisplayUri\":[32]}]]],[\"verdocs-button_2\",[[0,\"verdocs-help-icon\",{\"text\":[1],\"icon\":[1],\"containerId\":[32]}],[0,\"verdocs-button\",{\"label\":[1],\"startIcon\":[1,\"start-icon\"],\"endIcon\":[1,\"end-icon\"],\"size\":[1],\"type\":[1],\"variant\":[1],\"disabled\":[4]}]]],[\"verdocs-kba-dialog_2\",[[0,\"verdocs-view\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"headerTargetId\":[1,\"header-target-id\"],\"canceling\":[32],\"showCancelDone\":[32],\"showLoadError\":[32],\"loading\":[32],\"envelope\":[32]}],[0,\"verdocs-kba-dialog\",{\"step\":[2],\"steps\":[2],\"helptitle\":[1],\"helptext\":[1],\"mode\":[1],\"label\":[1],\"placeholder\":[1],\"recipient\":[16],\"choices\":[16],\"response\":[32],\"updatedRecipient\":[32]}]]],[\"verdocs-envelope-recipient-link_2\",[[0,\"verdocs-envelope-recipient-link\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"roleName\":[1,\"role-name\"],\"isOpen\":[32],\"gettingLink\":[32],\"link\":[32],\"loading\":[32],\"envelope\":[32],\"recipient\":[32]}],[0,\"verdocs-switch\",{\"checked\":[1028],\"theme\":[1],\"disabled\":[4]}]]],[\"verdocs-menu-panel_2\",[[0,\"verdocs-template-role-properties\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"roleName\":[1,\"role-name\"],\"dirty\":[32],\"saving\":[32],\"name\":[32],\"type\":[32],\"first_name\":[32],\"last_name\":[32],\"email\":[32],\"phone\":[32],\"delegator\":[32],\"loading\":[32],\"template\":[32]}],[4,\"verdocs-menu-panel\",{\"side\":[1],\"overlay\":[4],\"width\":[2]},[[4,\"click\",\"handleClick\"]]]]],[\"verdocs-button-panel_2\",[[4,\"verdocs-button-panel\",{\"icon\":[1],\"showPanel\":[64],\"hidePanel\":[64],\"toggle\":[64]}],[4,\"verdocs-tabs\",{\"tabs\":[16],\"selectedTab\":[2,\"selected-tab\"]}]]],[\"verdocs-pagination_2\",[[0,\"verdocs-pagination\",{\"selectedPage\":[1538,\"selected-page\"],\"itemCount\":[2,\"item-count\"],\"perPage\":[2,\"per-page\"]}],[0,\"verdocs-quick-filter\",{\"options\":[16],\"label\":[1],\"value\":[1537],\"placeholder\":[1],\"open\":[32]}]]],[\"verdocs-ok-dialog\",[[0,\"verdocs-ok-dialog\",{\"heading\":[1],\"message\":[1],\"buttonLabel\":[1,\"button-label\"],\"showCancel\":[4,\"show-cancel\"],\"closed\":[32]}]]],[\"verdocs-template-document-page_2\",[[0,\"verdocs-toolbar-icon\",{\"text\":[1],\"icon\":[1],\"placement\":[1],\"containerId\":[32]}],[0,\"verdocs-template-document-page\",{\"endpoint\":[16],\"editable\":[4],\"disabled\":[4],\"done\":[4],\"templateId\":[1,\"template-id\"],\"documentId\":[1,\"document-id\"],\"pageNumber\":[2,\"page-number\"],\"virtualWidth\":[2,\"virtual-width\"],\"virtualHeight\":[1026,\"virtual-height\"],\"layers\":[16],\"containerId\":[32],\"renderedWidth\":[32],\"renderedHeight\":[32],\"naturalWidth\":[32],\"naturalHeight\":[32],\"aspectRatio\":[32],\"skipFirstNotification\":[32],\"pageDisplayUri\":[32],\"xScale\":[32],\"yScale\":[32],\"loading\":[32],\"template\":[32]}]]],[\"verdocs-contact-picker_2\",[[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],\"showKba\":[32],\"kba_method\":[32],\"kba_pin\":[32],\"nameFieldId\":[32],\"firstNameFieldId\":[32],\"lastNameFieldId\":[32],\"emailFieldId\":[32],\"phoneFieldId\":[32]}],[0,\"verdocs-toggle-button\",{\"active\":[4],\"icon\":[1],\"label\":[1],\"size\":[1],\"_active\":[32]}]]],[\"verdocs-file-chooser_2\",[[0,\"verdocs-file-chooser\",{\"endpoint\":[16],\"file\":[32]}],[0,\"verdocs-progress-bar\",{\"label\":[1],\"showPercent\":[4,\"show-percent\"],\"percent\":[2]}]]],[\"verdocs-spinner\",[[0,\"verdocs-spinner\",{\"size\":[2],\"mode\":[1]}]]],[\"verdocs-organization-card_2\",[[0,\"verdocs-organization-card\",{\"organization\":[16],\"hovered\":[32]},[[1,\"mouseover\",\"onMouseOver\"],[1,\"mouseout\",\"onMouseOut\"]]],[4,\"verdocs-portal\",{\"anchor\":[1],\"voffset\":[2]},[[11,\"scroll\",\"handleScroll\"],[9,\"resize\",\"handleResize\"],[4,\"click\",\"handleClick\"]]]]],[\"verdocs-dropdown\",[[0,\"verdocs-dropdown\",{\"options\":[16],\"containerId\":[32],\"showPicker\":[32]}]]],[\"verdocs-checkbox_6\",[[0,\"verdocs-template-field-properties\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"fieldName\":[1025,\"field-name\"],\"helpText\":[1,\"help-text\"],\"dirty\":[32],\"label\":[32],\"type\":[32],\"name\":[32],\"required\":[32],\"roleName\":[32],\"group\":[32],\"fieldType\":[32],\"options\":[32],\"placeholder\":[32],\"defaultValue\":[32],\"showingHelp\":[32],\"loading\":[32],\"template\":[32]}],[0,\"verdocs-checkbox\",{\"checked\":[4],\"name\":[1],\"label\":[1],\"value\":[1],\"theme\":[1],\"disabled\":[4]}],[0,\"verdocs-select-input\",{\"value\":[1],\"label\":[1],\"options\":[16],\"disabled\":[4]}],[0,\"verdocs-component-error\",{\"message\":[1]}],[0,\"verdocs-loader\"],[0,\"verdocs-text-input\",{\"value\":[1537],\"label\":[1],\"placeholder\":[1],\"autocomplete\":[1],\"helpText\":[1,\"help-text\"],\"clearable\":[4],\"copyable\":[4],\"type\":[1],\"disabled\":[4],\"required\":[4],\"showingPw\":[32]}]]],[\"verdocs-field-attachment_13\",[[0,\"verdocs-field-attachment\",{\"endpoint\":[16],\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"dialogOpen\":[32],\"selectedFile\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-initial\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"initials\":[513],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"tempInitials\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[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],\"showingProperties\":[32],\"focused\":[32],\"tempSignature\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-checkbox\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"done\":[516],\"editable\":[516],\"moveable\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-date\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"field\":[16],\"containerId\":[32],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-dropdown\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-radio\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"required\":[516],\"done\":[516],\"editable\":[516],\"moveable\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-textarea\",{\"endpoint\":[16],\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-textbox\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"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]}],[0,\"verdocs-field-timestamp\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[2],\"showingProperties\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-initial-dialog\",{\"initials\":[1],\"fontLoaded\":[32],\"enteredInitials\":[32],\"mode\":[32]}],[0,\"verdocs-signature-dialog\",{\"name\":[1],\"fontLoaded\":[32],\"enteredName\":[32],\"mode\":[32]}],[0,\"verdocs-upload-dialog\",{\"maxSize\":[1026,\"max-size\"],\"existingFile\":[1032,\"existing-file\"],\"draggingOver\":[32],\"confirmDelete\":[32],\"selectedFiles\":[32],\"errorMessage\":[32]}]]],[\"verdocs-preview_6\",[[0,\"verdocs-template-fields\",{\"endpoint\":[16],\"templateId\":[1537,\"template-id\"],\"toolbarTargetId\":[1,\"toolbar-target-id\"],\"placing\":[32],\"showMustSelectRole\":[32],\"selectedRoleName\":[32],\"loading\":[32],\"template\":[32]},[[4,\"keydown\",\"handleKeyDown\"]],{\"templateId\":[\"onTemplateIdChanged\"]}],[0,\"verdocs-preview\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"loading\":[32],\"template\":[32]},null,{\"templateId\":[\"onTemplateIdChanged\"]}],[0,\"verdocs-send\",{\"endpoint\":[16],\"templateId\":[513,\"template-id\"],\"environment\":[1],\"containerId\":[32],\"showPickerForId\":[32],\"sessionContacts\":[32],\"sending\":[32],\"rolesCompleted\":[32],\"loading\":[32],\"template\":[32],\"reset\":[64]},null,{\"templateId\":[\"onTemplateIdChanged\"]}],[0,\"verdocs-template-roles\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"showingRoleDialog\":[32],\"sender\":[32],\"dragging\":[32],\"loading\":[32],\"template\":[32]}],[0,\"verdocs-template-attachments\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"uploading\":[32],\"progressLabel\":[32],\"progressPercent\":[32],\"showDeleteError\":[32],\"confirmDeleteDocument\":[32],\"loading\":[32],\"template\":[32]}],[0,\"verdocs-template-build-tabs\",{\"endpoint\":[16],\"templateId\":[1537,\"template-id\"],\"step\":[1537],\"loading\":[32],\"template\":[32]},null,{\"templateId\":[\"onTemplateIdChanged\"],\"step\":[\"onStepChanged\"]}]]]]"), options);
19
+ return bootstrapLazy(JSON.parse("[[\"verdocs-build\",[[0,\"verdocs-build\",{\"endpoint\":[16],\"templateId\":[1537,\"template-id\"],\"step\":[1537],\"loading\":[32],\"template\":[32]},null,{\"templateId\":[\"onTemplateIdChanged\"],\"step\":[\"onStepChanged\"]}]]],[\"verdocs-envelopes-list\",[[0,\"verdocs-envelopes-list\",{\"endpoint\":[16],\"view\":[1537],\"status\":[1537],\"sort\":[1537],\"match\":[1537],\"showPagination\":[4,\"show-pagination\"],\"rowsPerPage\":[2,\"rows-per-page\"],\"selectedPage\":[2,\"selected-page\"],\"count\":[32],\"initiallyLoaded\":[32],\"loading\":[32],\"selectedEnvelopes\":[32],\"envelopes\":[32]},null,{\"view\":[\"handleViewUpdated\"],\"status\":[\"handleStatusUpdated\"],\"sort\":[\"handleSortUpdated\"],\"match\":[\"handleMatchUpdated\"],\"selectedPage\":[\"handlePageUpdated\"]}]]],[\"verdocs-sign\",[[0,\"verdocs-sign\",{\"endpoint\":[1040],\"envelopeId\":[513,\"envelope-id\"],\"roleId\":[513,\"role-id\"],\"inviteCode\":[513,\"invite-code\"],\"headerTargetId\":[1,\"header-target-id\"],\"roleNames\":[32],\"sortedRecipients\":[32],\"recipient\":[32],\"hasSignature\":[32],\"nextButtonLabel\":[32],\"nextSubmits\":[32],\"fatalErrorHeader\":[32],\"fatalErrorMessage\":[32],\"focusedField\":[32],\"submitting\":[32],\"submitted\":[32],\"isDone\":[32],\"showDone\":[32],\"showLoadError\":[32],\"finishLater\":[32],\"showFinishLater\":[32],\"agreed\":[32],\"documentsSingularPlural\":[32],\"kbaStep\":[32],\"kbaQuestions\":[32],\"showSpinner\":[32],\"kbaChoices\":[32],\"loading\":[32],\"envelope\":[32]}]]],[\"verdocs-templates-list\",[[0,\"verdocs-templates-list\",{\"endpoint\":[16],\"visibility\":[1537],\"starred\":[1537],\"sort\":[1537],\"name\":[1537],\"allowedActions\":[1040],\"showPagination\":[4,\"show-pagination\"],\"rowsPerPage\":[2,\"rows-per-page\"],\"selectedPage\":[2,\"selected-page\"],\"count\":[32],\"initiallyLoaded\":[32],\"loading\":[32],\"confirmDelete\":[32],\"templates\":[32],\"localNameFilter\":[32]},null,{\"sharing\":[\"handleSharingUpdated\"],\"starred\":[\"handleStarredUpdated\"],\"sort\":[\"handleSortUpdated\"],\"name\":[\"handleNameUpdated\"],\"selectedPage\":[\"handlePageUpdated\"]}]]],[\"verdocs-field-payment\",[[0,\"verdocs-field-payment\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"done\":[516],\"editable\":[516],\"moveable\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"fields\":[16],\"pageNum\":[2,\"page-num\"],\"roleName\":[1,\"role-name\"],\"fieldId\":[1,\"field-id\"],\"recipients\":[8],\"selectedRoleName\":[1,\"selected-role-name\"],\"pdfPages\":[16],\"currentSignature\":[1,\"current-signature\"],\"currentSignatureId\":[1,\"current-signature-id\"],\"currentInitial\":[1,\"current-initial\"],\"currentInitialId\":[1,\"current-initial-id\"],\"signed\":[4],\"roleindex\":[2],\"showingProperties\":[32],\"focused\":[32],\"preparedMessage\":[32],\"signatureUrl\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}]]],[\"verdocs-envelope-sidebar\",[[0,\"verdocs-envelope-sidebar\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"activeTab\":[32],\"panelOpen\":[32],\"showRecipientDialog\":[32],\"showCancelDialog\":[32],\"showReinviteDialog\":[32],\"remindersEnabled\":[32],\"updatingReminders\":[32],\"initialReminder\":[32],\"followupReminders\":[32],\"loading\":[32],\"envelope\":[32]}]]],[\"verdocs-template-create\",[[0,\"verdocs-template-create\",{\"endpoint\":[16],\"maxSize\":[1026,\"max-size\"],\"file\":[32],\"creating\":[32],\"progressLabel\":[32],\"progressPercent\":[32],\"errorMessage\":[32]}]]],[\"verdocs-auth\",[[0,\"verdocs-auth\",{\"endpoint\":[16],\"visible\":[4],\"logo\":[1],\"displayMode\":[1025,\"display-mode\"],\"org_name\":[32],\"first_name\":[32],\"last_name\":[32],\"email\":[32],\"verificationCode\":[32],\"newPassword\":[32],\"password\":[32],\"confirmpass\":[32],\"submitting\":[32],\"resendDisabled\":[32],\"session\":[32],\"profile\":[32]}]]],[\"verdocs-envelope-recipient-summary\",[[0,\"verdocs-envelope-recipient-summary\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"canSendAnother\":[4,\"can-send-another\"],\"canView\":[4,\"can-view\"],\"canDone\":[4,\"can-done\"],\"isOpen\":[32],\"recipientStatusIcons\":[32],\"containerId\":[32],\"gettingLinks\":[32],\"links\":[32],\"loading\":[32],\"envelope\":[32]}]]],[\"verdocs-dialog\",[[4,\"verdocs-dialog\"]]],[\"verdocs-quick-functions\",[[0,\"verdocs-quick-functions\",{\"endpoint\":[16]}]]],[\"verdocs-radio-button\",[[0,\"verdocs-radio-button\",{\"checked\":[4],\"name\":[1],\"value\":[1],\"disabled\":[4]}]]],[\"verdocs-search-box\",[[0,\"verdocs-search-box\",{\"endpoint\":[16],\"placeholder\":[1],\"type\":[1],\"query\":[1],\"grabsFocus\":[4,\"grabs-focus\"],\"focusField\":[64]}]]],[\"verdocs-search-tabs\",[[0,\"verdocs-search-tabs\",{\"selected\":[32]}]]],[\"verdocs-table\",[[0,\"verdocs-table\",{\"columns\":[16],\"data\":[16]}]]],[\"verdocs-template-card\",[[0,\"verdocs-template-card\",{\"template\":[16]}]]],[\"verdocs-template-tags\",[[0,\"verdocs-template-tags\",{\"tags\":[16]}]]],[\"verdocs-toggle\",[[0,\"verdocs-toggle\",{\"options\":[16],\"theme\":[1],\"selectedOption\":[32]}]]],[\"verdocs-status-indicator\",[[0,\"verdocs-status-indicator\",{\"size\":[1],\"theme\":[1],\"status\":[1],\"envelope\":[16],\"isOpen\":[32],\"containerId\":[32]}]]],[\"verdocs-template-star\",[[0,\"verdocs-template-star\",{\"endpoint\":[16],\"template\":[1040],\"updating\":[32]}]]],[\"verdocs-envelope-document-page\",[[0,\"verdocs-envelope-document-page\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"documentId\":[1,\"document-id\"],\"pageNumber\":[2,\"page-number\"],\"virtualWidth\":[2,\"virtual-width\"],\"virtualHeight\":[1026,\"virtual-height\"],\"layers\":[16],\"type\":[1],\"containerId\":[32],\"renderedWidth\":[32],\"renderedHeight\":[32],\"naturalWidth\":[32],\"naturalHeight\":[32],\"aspectRatio\":[32],\"skipFirstNotification\":[32],\"pageDisplayUri\":[32]}]]],[\"verdocs-button_2\",[[0,\"verdocs-help-icon\",{\"text\":[1],\"icon\":[1],\"containerId\":[32]}],[0,\"verdocs-button\",{\"label\":[1],\"startIcon\":[1,\"start-icon\"],\"endIcon\":[1,\"end-icon\"],\"size\":[1],\"type\":[1],\"variant\":[1],\"disabled\":[4]}]]],[\"verdocs-kba-dialog_2\",[[0,\"verdocs-view\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"headerTargetId\":[1,\"header-target-id\"],\"canceling\":[32],\"showCancelDone\":[32],\"showLoadError\":[32],\"loading\":[32],\"envelope\":[32]}],[0,\"verdocs-kba-dialog\",{\"step\":[2],\"steps\":[2],\"helptitle\":[1],\"helptext\":[1],\"mode\":[1],\"label\":[1],\"placeholder\":[1],\"recipient\":[16],\"choices\":[16],\"response\":[32],\"updatedRecipient\":[32]}]]],[\"verdocs-envelope-recipient-link_2\",[[0,\"verdocs-envelope-recipient-link\",{\"endpoint\":[16],\"envelopeId\":[1,\"envelope-id\"],\"roleName\":[1,\"role-name\"],\"isOpen\":[32],\"gettingLink\":[32],\"link\":[32],\"loading\":[32],\"envelope\":[32],\"recipient\":[32]}],[0,\"verdocs-switch\",{\"checked\":[1028],\"theme\":[1],\"disabled\":[4]}]]],[\"verdocs-menu-panel_2\",[[0,\"verdocs-template-role-properties\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"roleName\":[1,\"role-name\"],\"dirty\":[32],\"saving\":[32],\"name\":[32],\"type\":[32],\"first_name\":[32],\"last_name\":[32],\"email\":[32],\"phone\":[32],\"delegator\":[32],\"loading\":[32],\"template\":[32]}],[4,\"verdocs-menu-panel\",{\"side\":[1],\"overlay\":[4],\"width\":[2]},[[4,\"click\",\"handleClick\"]]]]],[\"verdocs-button-panel_2\",[[4,\"verdocs-button-panel\",{\"icon\":[1],\"showPanel\":[64],\"hidePanel\":[64],\"toggle\":[64]}],[4,\"verdocs-tabs\",{\"tabs\":[16],\"selectedTab\":[2,\"selected-tab\"]}]]],[\"verdocs-pagination_2\",[[0,\"verdocs-pagination\",{\"selectedPage\":[1538,\"selected-page\"],\"itemCount\":[2,\"item-count\"],\"perPage\":[2,\"per-page\"]}],[0,\"verdocs-quick-filter\",{\"options\":[16],\"label\":[1],\"value\":[1537],\"placeholder\":[1],\"open\":[32]}]]],[\"verdocs-ok-dialog\",[[0,\"verdocs-ok-dialog\",{\"heading\":[1],\"message\":[1],\"buttonLabel\":[1,\"button-label\"],\"showCancel\":[4,\"show-cancel\"],\"closed\":[32]}]]],[\"verdocs-template-document-page_2\",[[0,\"verdocs-toolbar-icon\",{\"text\":[1],\"icon\":[1],\"placement\":[1],\"containerId\":[32]}],[0,\"verdocs-template-document-page\",{\"endpoint\":[16],\"editable\":[4],\"disabled\":[4],\"done\":[4],\"templateId\":[1,\"template-id\"],\"documentId\":[1,\"document-id\"],\"pageNumber\":[2,\"page-number\"],\"virtualWidth\":[2,\"virtual-width\"],\"virtualHeight\":[1026,\"virtual-height\"],\"layers\":[16],\"containerId\":[32],\"renderedWidth\":[32],\"renderedHeight\":[32],\"naturalWidth\":[32],\"naturalHeight\":[32],\"aspectRatio\":[32],\"skipFirstNotification\":[32],\"pageDisplayUri\":[32],\"xScale\":[32],\"yScale\":[32],\"loading\":[32],\"template\":[32]}]]],[\"verdocs-contact-picker_2\",[[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],\"showKba\":[32],\"kba_method\":[32],\"kba_pin\":[32],\"nameFieldId\":[32],\"firstNameFieldId\":[32],\"lastNameFieldId\":[32],\"emailFieldId\":[32],\"phoneFieldId\":[32]}],[0,\"verdocs-toggle-button\",{\"active\":[4],\"icon\":[1],\"label\":[1],\"size\":[1],\"_active\":[32]}]]],[\"verdocs-file-chooser_2\",[[0,\"verdocs-file-chooser\",{\"endpoint\":[16],\"file\":[32]}],[0,\"verdocs-progress-bar\",{\"label\":[1],\"showPercent\":[4,\"show-percent\"],\"percent\":[2]}]]],[\"verdocs-spinner\",[[0,\"verdocs-spinner\",{\"size\":[2],\"mode\":[1]}]]],[\"verdocs-organization-card_2\",[[0,\"verdocs-organization-card\",{\"organization\":[16],\"hovered\":[32]},[[1,\"mouseover\",\"onMouseOver\"],[1,\"mouseout\",\"onMouseOut\"]]],[4,\"verdocs-portal\",{\"anchor\":[1],\"voffset\":[2]},[[11,\"scroll\",\"handleScroll\"],[9,\"resize\",\"handleResize\"],[4,\"click\",\"handleClick\"]]]]],[\"verdocs-dropdown\",[[0,\"verdocs-dropdown\",{\"options\":[16],\"containerId\":[32],\"showPicker\":[32]}]]],[\"verdocs-checkbox_6\",[[0,\"verdocs-template-field-properties\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"fieldName\":[1025,\"field-name\"],\"helpText\":[1,\"help-text\"],\"dirty\":[32],\"label\":[32],\"type\":[32],\"name\":[32],\"required\":[32],\"roleName\":[32],\"group\":[32],\"fieldType\":[32],\"options\":[32],\"placeholder\":[32],\"defaultValue\":[32],\"showingHelp\":[32],\"loading\":[32],\"template\":[32]}],[0,\"verdocs-checkbox\",{\"checked\":[4],\"name\":[1],\"label\":[1],\"value\":[1],\"theme\":[1],\"disabled\":[4]}],[0,\"verdocs-select-input\",{\"value\":[1],\"label\":[1],\"options\":[16],\"disabled\":[4]}],[0,\"verdocs-component-error\",{\"message\":[1]}],[0,\"verdocs-loader\"],[0,\"verdocs-text-input\",{\"value\":[1537],\"label\":[1],\"placeholder\":[1],\"autocomplete\":[1],\"helpText\":[1,\"help-text\"],\"clearable\":[4],\"copyable\":[4],\"type\":[1],\"disabled\":[4],\"required\":[4],\"showingPw\":[32]}]]],[\"verdocs-field-attachment_13\",[[0,\"verdocs-field-attachment\",{\"endpoint\":[16],\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"dialogOpen\":[32],\"selectedFile\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-initial\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"initials\":[513],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"tempInitials\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[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],\"showingProperties\":[32],\"focused\":[32],\"tempSignature\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-checkbox\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"done\":[516],\"editable\":[516],\"moveable\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-date\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"field\":[16],\"containerId\":[32],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-dropdown\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-radio\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"required\":[516],\"done\":[516],\"editable\":[516],\"moveable\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-textarea\",{\"endpoint\":[16],\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[514],\"showingProperties\":[32],\"focused\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-field-textbox\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"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]}],[0,\"verdocs-field-timestamp\",{\"source\":[513],\"sourceid\":[513],\"fieldname\":[513],\"field\":[16],\"disabled\":[516],\"editable\":[516],\"moveable\":[516],\"done\":[516],\"xscale\":[514],\"yscale\":[514],\"pagenumber\":[2],\"showingProperties\":[32],\"focusField\":[64],\"showSettingsPanel\":[64],\"hideSettingsPanel\":[64]}],[0,\"verdocs-initial-dialog\",{\"initials\":[1],\"fontLoaded\":[32],\"enteredInitials\":[32],\"mode\":[32]}],[0,\"verdocs-signature-dialog\",{\"name\":[1],\"fontLoaded\":[32],\"enteredName\":[32],\"mode\":[32]}],[0,\"verdocs-upload-dialog\",{\"maxSize\":[1026,\"max-size\"],\"existingFile\":[1032,\"existing-file\"],\"draggingOver\":[32],\"confirmDelete\":[32],\"selectedFiles\":[32],\"errorMessage\":[32]}]]],[\"verdocs-preview_6\",[[0,\"verdocs-template-fields\",{\"endpoint\":[16],\"templateId\":[1537,\"template-id\"],\"toolbarTargetId\":[1,\"toolbar-target-id\"],\"placing\":[32],\"showMustSelectRole\":[32],\"selectedRoleName\":[32],\"loading\":[32],\"template\":[32]},[[4,\"keydown\",\"handleKeyDown\"]],{\"templateId\":[\"onTemplateIdChanged\"]}],[0,\"verdocs-preview\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"loading\":[32],\"template\":[32]},null,{\"templateId\":[\"onTemplateIdChanged\"]}],[0,\"verdocs-send\",{\"endpoint\":[16],\"templateId\":[513,\"template-id\"],\"environment\":[1],\"containerId\":[32],\"showPickerForId\":[32],\"sessionContacts\":[32],\"sending\":[32],\"rolesCompleted\":[32],\"loading\":[32],\"template\":[32],\"reset\":[64]},null,{\"templateId\":[\"onTemplateIdChanged\"]}],[0,\"verdocs-template-roles\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"showingRoleDialog\":[32],\"sender\":[32],\"dragging\":[32],\"loading\":[32],\"template\":[32]}],[0,\"verdocs-template-attachments\",{\"endpoint\":[16],\"templateId\":[1,\"template-id\"],\"uploading\":[32],\"progressLabel\":[32],\"progressPercent\":[32],\"showDeleteError\":[32],\"confirmDeleteDocument\":[32],\"loading\":[32],\"template\":[32]}],[0,\"verdocs-template-build-tabs\",{\"endpoint\":[16],\"templateId\":[1537,\"template-id\"],\"step\":[1537],\"loading\":[32],\"template\":[32]},null,{\"templateId\":[\"onTemplateIdChanged\"],\"step\":[\"onStepChanged\"]}]]]]"), options);
20
20
  });
21
21
 
22
22
  //# sourceMappingURL=verdocs-web-sdk.js.map