@verdocs/web-sdk 1.9.15 → 1.9.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{Envelopes-eacee000.js → Envelopes-ea5bf3fc.js} +16 -4
- package/dist/cjs/Envelopes-ea5bf3fc.js.map +1 -0
- package/dist/cjs/{Templates-acde16f2.js → Templates-01d520ad.js} +3 -3
- package/dist/cjs/Templates-01d520ad.js.map +1 -0
- package/dist/cjs/{Templates-eb100ab3.js → Templates-8ef16e3d.js} +3 -3
- package/dist/cjs/Templates-8ef16e3d.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +3 -3
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-preview.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-send.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +76 -80
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +3 -3
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +66 -82
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/utils/Envelopes.js +1 -1
- package/dist/collection/utils/Envelopes.js.map +1 -1
- package/dist/collection/utils/Templates.js +1 -1
- package/dist/collection/utils/Templates.js.map +1 -1
- package/dist/components/Envelopes.js +15 -4
- package/dist/components/Envelopes.js.map +1 -1
- package/dist/components/Templates.js +1 -1
- package/dist/components/Templates.js.map +1 -1
- package/dist/components/Templates2.js +2 -2
- package/dist/components/Templates2.js.map +1 -1
- package/dist/components/verdocs-sign.js +77 -80
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-signature-dialog2.js +3 -3
- package/dist/components/verdocs-signature-dialog2.js.map +1 -1
- package/dist/docs.json +1 -1
- package/dist/esm/{Envelopes-19ca610d.js → Envelopes-8038ca25.js} +16 -5
- package/dist/esm/Envelopes-8038ca25.js.map +1 -0
- package/dist/esm/{Templates-f7c590c0.js → Templates-0638b1e4.js} +3 -3
- package/dist/esm/Templates-0638b1e4.js.map +1 -0
- package/dist/esm/{Templates-7a534fd1.js → Templates-e77fb578.js} +3 -3
- package/dist/esm/Templates-e77fb578.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/verdocs-build.entry.js +2 -2
- package/dist/esm/verdocs-field-signature_3.entry.js +3 -3
- package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm/verdocs-preview.entry.js +2 -2
- package/dist/esm/verdocs-quick-functions_3.entry.js +1 -1
- package/dist/esm/verdocs-send.entry.js +1 -1
- package/dist/esm/verdocs-sign.entry.js +76 -80
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-template-create_4.entry.js +2 -2
- package/dist/esm/verdocs-view.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/{Envelopes-19ca610d.js → Envelopes-8038ca25.js} +2 -2
- package/dist/esm-es5/Envelopes-8038ca25.js.map +1 -0
- package/dist/esm-es5/Templates-0638b1e4.js +2 -0
- package/dist/esm-es5/Templates-0638b1e4.js.map +1 -0
- package/dist/esm-es5/{Templates-7a534fd1.js → Templates-e77fb578.js} +2 -2
- package/dist/esm-es5/Templates-e77fb578.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js +1 -1
- package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
- package/dist/types/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.d.ts +1 -1
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +2 -0
- package/dist/verdocs-web-sdk/{p-ed55daf4.system.entry.js → p-04f84127.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ed55daf4.system.entry.js.map → p-04f84127.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-68ffd4bf.entry.js → p-12a82c8b.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-68ffd4bf.entry.js.map → p-12a82c8b.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-2870fa81.js +2 -0
- package/dist/verdocs-web-sdk/p-2870fa81.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-4a2a1525.entry.js → p-2b44d1b3.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-4a2a1525.entry.js.map → p-2b44d1b3.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-aa2d9932.system.entry.js → p-3629c585.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-aa2d9932.system.entry.js.map → p-3629c585.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-430df46a.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-430df46a.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-529a754e.system.entry.js → p-690ade87.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-529a754e.system.entry.js.map → p-690ade87.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-6c7a70c0.system.entry.js → p-6f7e9e81.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-6c7a70c0.system.entry.js.map → p-6f7e9e81.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-baa985a4.entry.js → p-751e0c80.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-baa985a4.entry.js.map → p-751e0c80.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-76fd7afd.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-620ac97f.entry.js.map → p-76fd7afd.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-c6ef13bd.system.entry.js → p-79c160f4.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-c6ef13bd.system.entry.js.map → p-79c160f4.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-f8526821.system.entry.js → p-8bd71fb6.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-f8526821.system.entry.js.map → p-8bd71fb6.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-9650cab5.system.js → p-90d7da87.system.js} +2 -2
- package/dist/verdocs-web-sdk/p-90d7da87.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-9cecb5df.system.js +2 -0
- package/dist/verdocs-web-sdk/p-9cecb5df.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-b57effa2.system.entry.js → p-a6fca8c0.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-b57effa2.system.entry.js.map → p-a6fca8c0.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-c5794e33.entry.js → p-aad63275.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-c5794e33.entry.js.map → p-aad63275.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-4318e931.entry.js → p-c0875b7d.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-4318e931.entry.js.map → p-c0875b7d.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
- package/dist/verdocs-web-sdk/p-c2cc4492.js +2 -0
- package/dist/verdocs-web-sdk/p-c2cc4492.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-d7c712e8.system.js → p-c803da60.system.js} +2 -2
- package/dist/verdocs-web-sdk/p-c803da60.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d1256888.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-fd99a113.entry.js.map → p-d1256888.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e920fbe1.js +2 -0
- package/dist/verdocs-web-sdk/p-e920fbe1.js.map +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/Envelopes-eacee000.js.map +0 -1
- package/dist/cjs/Templates-acde16f2.js.map +0 -1
- package/dist/cjs/Templates-eb100ab3.js.map +0 -1
- package/dist/esm/Envelopes-19ca610d.js.map +0 -1
- package/dist/esm/Templates-7a534fd1.js.map +0 -1
- package/dist/esm/Templates-f7c590c0.js.map +0 -1
- package/dist/esm-es5/Envelopes-19ca610d.js.map +0 -1
- package/dist/esm-es5/Templates-7a534fd1.js.map +0 -1
- package/dist/esm-es5/Templates-f7c590c0.js +0 -2
- package/dist/esm-es5/Templates-f7c590c0.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2a153dae.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-2a153dae.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-620ac97f.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-81343fb3.js +0 -2
- package/dist/verdocs-web-sdk/p-81343fb3.js.map +0 -1
- package/dist/verdocs-web-sdk/p-9650cab5.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b4de55c1.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-b4de55c1.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b87bda66.js +0 -2
- package/dist/verdocs-web-sdk/p-b87bda66.js.map +0 -1
- package/dist/verdocs-web-sdk/p-d534fffb.js +0 -2
- package/dist/verdocs-web-sdk/p-d534fffb.js.map +0 -1
- package/dist/verdocs-web-sdk/p-d7c712e8.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-df878df9.system.js +0 -2
- package/dist/verdocs-web-sdk/p-df878df9.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-fd99a113.entry.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["node_modules/@verdocs/js-sdk/Envelopes/Recipients.js","node_modules/@verdocs/js-sdk/Envelopes/Signatures.js","src/components/embeds/verdocs-sign/verdocs-sign.scss?tag=verdocs-sign","src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":["__assign","this","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","updateRecipientStatus","endpoint","envelopeId","roleName","action","params","_a","api","put","concat","role_name","r","data","createSignature","name","signature","FormData","append","post","verdocsSignCss","VerdocsSign","recipientIndex","fields","class_1","componentWillLoad","VerdocsEndpoint","sessionType","componentDidLoad","sdkError","emit","SDKError","roleId","_b","inviteCode","_c","console","log","Envelopes.getSigningSession","_o","_p","session","recipient","signerToken","email","profile_id","setToken","agreed","nextButtonLabel","getEnvelopeById","EnvelopeStore","envelope","recipients","findIndex","_this","e_1","_d","message","_e","response","status","_f","handleClickAgree","catch","savePDF","fileName","updated_at","split","Envelopes.getEnvelopeFile","envelope_document_id","xhr","XMLHttpRequest","responseType","onload","a","document","createElement","href","window","URL","createObjectURL","download","style","display","appendChild","click","remove","open","send","handleOptionSelected","detail","id","finishLater","showFinishLater","handleFieldChange","field","optionId","target","checked","type","Envelopes.updateEnvelopeField","prepared","error","options","settings","map","option","selected","newSignature","_q","updateEnvelopeFieldSignature","attachResult","iso","getAttribute","isFieldValid","validator","isValidEmail","isValidPhone","_h","_g","filter","_j","minimum_checked","_k","maximum_checked","_m","_l","handleNext","requiredFields","required","focusedIndex","focusedField","nextFocusedIndex","nextRequiredField","getFieldId","el","getElementById","focusField","handlePageRendered","pageInfo","roleIndex","getRoleIndex","roleNames","recipientFields","page","pageNumber","forEach","renderDocumentField","disabled","editable","draggable","addEventListener","setAttribute","xScale","yScale","fullNameToInitials","full_name","otherRecipient","otherRoleIndex","render","loading","h","Host","menuOptions","class","onOptionSelected","onInput","flex","size","onClick","documents","envelopeDocument","pages","__spreadArray","sort","b","sequence","Fragment","pageImageUri","display_uri","virtualWidth","virtualHeight","onPageRendered","layers","heading","onNext"],"mappings":"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","sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/**\n * Update a recipient's status block\n */\nexport var updateRecipientStatus = function (endpoint, envelopeId, roleName, action, params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(roleName), __assign({ role_name: roleName, action: action }, (params || {})))\n .then(function (r) { return r.data; })];\n });\n}); };\nexport var getSignerToken = function (endpoint, envelopeId, roleName) {\n return endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(encodeURIComponent(roleName), \"/signer-token\"))\n .then(function (r) { return r.data; });\n};\nexport var getInPersonLink = function (endpoint, envelopeId, roleName) {\n return endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(encodeURIComponent(roleName), \"?in_person_link=true\"))\n .then(function (r) { return r.data; });\n};\n","/**\n * Create a signature block. In a typical signing workflow, the user is asked at the beginning of the process to \"adopt\"\n * a signature block to be used for all signature fields in the document. Thus, this is typically called one time to\n * create and store a signature block. Thereafter, the ID of the signature block may be re-used for each signature field\n * to be \"stamped\" by the user.\n */\nexport var createSignature = function (endpoint, name, signature) {\n var data = new FormData();\n data.append('signature', signature, name);\n return endpoint.api //\n .post(\"/signatures\", data)\n .then(function (r) { return r.data; });\n};\n/**\n * Get the availbable signatures for a user.\n */\nexport var getSignatures = function (endpoint) {\n return endpoint.api //\n .get('/signatures')\n .then(function (r) { return r.data; });\n};\n/**\n * Get a user's signature by ID.\n */\nexport var getSignature = function (endpoint, signatureId) {\n return endpoint.api //\n .get(\"/signatures/\".concat(signatureId))\n .then(function (r) { return r.data; });\n};\n/**\n * Delete a user's signature.\n */\nexport var deleteSignature = function (endpoint, signatureId) {\n return endpoint.api //\n .delete(\"/signatures/\".concat(signatureId))\n .then(function (r) { return r.data; });\n};\n","@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 box-sizing: border-box;\n }\n\n .header {\n flex: 0;\n display: flex;\n z-index: 1000;\n align-items: center;\n transition: all 0.25s;\n justify-content: center;\n background-color: $medium-bg;\n box-shadow: 0 4px 4px 0 rgb(0 0 0 / 24%), 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .intro {\n width: 100%;\n height: 60px;\n display: flex;\n background: #ffffff;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n .inner {\n width: 100%;\n color: #111111;\n padding: 0 14px;\n font-size: 20px;\n font-weight: 500;\n line-height: 28px;\n max-width: 1024px;\n }\n }\n\n &.agreed {\n .intro {\n //display: none;\n }\n }\n\n .toolbar {\n width: 100%;\n margin: 0 auto;\n padding: 0 14px;\n position: relative;\n }\n\n .tools {\n width: 100%;\n color: #fff;\n height: 56px;\n display: flex;\n font-size: 12px;\n align-items: center;\n flex-direction: row;\n background-color: $medium-bg;\n }\n\n .cover {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n position: absolute;\n background: rgba(0, 0, 0, 0.5);\n }\n\n .document {\n flex: 1;\n height: 100%;\n display: flex;\n padding: 15px;\n row-gap: 15px;\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 .agree {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 15px;\n\n .intro {\n display: none;\n }\n\n .header {\n flex: 0 0 56px;\n }\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField} from '../../../utils/utils';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\nimport {createSignature} from '@verdocs/js-sdk/Envelopes/Signatures';\nimport {updateEnvelopeFieldSignature} from '@verdocs/js-sdk/Envelopes/Envelopes';\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 endpoint: VerdocsEndpoint = null;\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop() envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop() roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop() inviteCode: 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 any field is updated. Note that the current active endpoint is\n * provided as a parameter as a convenience for callers when this coimponent\n */\n @Event({composed: true}) fieldUpdated: EventEmitter<{endpoint: VerdocsEndpoint}>;\n\n @State() recipient: IRecipient | null = null;\n @State() signerToken = null;\n // @State() envelope: IEnvelope | null = null;\n // @State() fields: IDocumentField[] = [];\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() focusedField = '';\n\n @State() finishLater = false;\n @State() showFinishLater = false;\n\n recipientIndex: number = -1;\n fields: IDocumentField[] = [];\n\n componentWillLoad() {\n this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\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 const {session, recipient, signerToken} = await Envelopes.getSigningSession(this.endpoint, {\n envelopeId: this.envelopeId,\n roleId: this.roleId,\n inviteCode: this.inviteCode,\n });\n\n console.log(`[SIGN] Loaded signing session ${session.email} / ${session.profile_id}`);\n\n this.recipient = recipient;\n this.signerToken = signerToken;\n this.endpoint.setToken(signerToken);\n\n if (this.recipient.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n await getEnvelopeById(this.endpoint, this.envelopeId);\n // const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n // this.envelope = envelope;\n // console.log('[SIGN] Loaded envelope', envelope);\n\n this.recipientIndex = EnvelopeStore.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];\n this.fields = this.recipient.fields;\n }\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n } catch (e) {\n console.log('Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleClickAgree() {\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n })\n .catch(e => {\n console.log('Update failure', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async savePDF() {\n const fileName = `${EnvelopeStore.envelope.name} - ${EnvelopeStore.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, EnvelopeStore.envelope.envelope_document_id);\n\n // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique\n // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'blob';\n xhr.onload = function () {\n let a = document.createElement('a');\n a.href = window.URL.createObjectURL(xhr.response);\n a.download = fileName;\n a.style.display = 'none';\n document.body.appendChild(a);\n a.click();\n a.remove();\n };\n\n xhr.open('GET', `data:application/pdf;base64,${data}`);\n xhr.send();\n }\n\n async handleOptionSelected(e) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n // if (!window?.['STORYBOOK_ENV']) {\n // window.alert('User intends to sign later.');\n // }\n break;\n case 'claim':\n break;\n case 'decline':\n break;\n case 'print':\n break;\n case 'download':\n this.savePDF().catch(() => {});\n break;\n }\n }\n\n async handleFieldChange(field: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e);\n const {value, checked} = e.target;\n\n switch (field.type) {\n case 'textbox':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n case 'checkbox_group':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options: [{id: optionId, checked}]}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'dropdown':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'initial':\n console.log('Got initial', e.detail);\n break;\n\n case 'signature':\n console.log('Got signature', e.detail);\n\n const newSignature = await createSignature(this.endpoint, 'signature', e.detail);\n console.log('Created signature', newSignature);\n\n // --data-raw '{\"ip_address\":\"ip_unavailable\"}' \\\n const attachResult = await updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n console.log('Attach result', attachResult);\n break;\n\n case 'date':\n const iso = e.target.getAttribute('iso');\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: iso})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n default:\n console.log('Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldValid(field: IDocumentField) {\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(field.settings?.result || '');\n case 'phone':\n return isValidPhone(field.settings?.result || '');\n default:\n return !!field.settings?.result;\n }\n\n case 'signature':\n case 'initial':\n case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n case 'dropdown':\n return !!field.settings?.value;\n case 'checkbox_group':\n const checked = (field.settings?.options?.filter(option => option.checked) || []).length;\n return checked >= (field.settings?.minimum_checked || 0) && checked <= (field.settings?.maximum_checked || 999);\n case 'radio_button_group':\n return (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n // (async () => {\n // await customElements.whenDefined('verdocs-field-signature');\n // const els = document.getElementById('verdocs-field-signature');\n // await els.focusField();\n // })();\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n console.log('required Fields', requiredFields);\n\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n console.log('focused Index', focusedIndex);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n const nextRequiredField = requiredFields[nextFocusedIndex];\n console.log('next required field', nextRequiredField);\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n console.log('focusing', id, el);\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n console.log('[SIGN] Page rendered', pageInfo);\n\n const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);\n console.log('rendering fields for recipient', roleIndex);\n const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', recipientFields);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, roleIndex, {disabled: false, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.addEventListener('input', e => {\n this.handleFieldChange(field, e);\n });\n\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e);\n });\n\n el.setAttribute('roleindex', roleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');\n el.setAttribute('name', this.recipient?.full_name || '');\n\n // interact(el).draggable({\n // listeners: {\n // start(event) {\n // console.log('[FIELDS] Drag started', event.type, event.target);\n // },\n // move(event) {\n // const oldX = +(event.target.getAttribute('posX') || 0);\n // const oldY = +(event.target.getAttribute('posY') || 0);\n // const xScale = +(event.target.getAttribute('xScale') || 1);\n // const yScale = +(event.target.getAttribute('yScale') || 1);\n // const newX = event.dx / xScale + oldX;\n // const newY = event.dy / yScale + oldY;\n // event.target.setAttribute('posX', newX);\n // event.target.setAttribute('posy', newY);\n // updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);\n // },\n // end(event) {\n // console.log('[FIELDS] Drag ended', event);\n // // event.target.setAttribute('posX', 0);\n // // event.target.setAttribute('posy', 0);\n // // updateCssTransform(event.target, 'translate', `${0}px, ${0}px`);\n // },\n // },\n // });\n });\n\n EnvelopeStore.envelope.recipients\n .filter(recipient => recipient.role_name !== this.recipient.role_name)\n .map(otherRecipient => {\n const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);\n console.log('Rendering fields for other recipient', otherRoleIndex, otherRecipient);\n const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', recipientFields);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, otherRoleIndex, {disabled: true, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.setAttribute('roleindex', otherRoleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n });\n });\n }\n\n render() {\n if (EnvelopeStore.loading || !EnvelopeStore.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n const menuOptions = [\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\n return (\n <Host class={{agreed: this.recipient?.agreed}}>\n {!this.finishLater && (\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n )}\n\n <div class=\"header\">\n <div class=\"inner\">\n {!this.finishLater && (\n <div class=\"toolbar\">\n <div class=\"tools\">\n <verdocs-dropdown options={menuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n\n {!this.recipient?.agreed ? (\n <div class=\"agree\">\n <verdocs-checkbox name=\"agree\" label=\"I agree to use electronic records and signatures.\" onInput={() => this.handleClickAgree()} />\n </div>\n ) : (\n <div style={{flex: '1'}} />\n )}\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n </div>\n </div>\n )}\n </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n {(EnvelopeStore.envelope.documents || []).map(envelopeDocument => {\n const pages = [...(envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n return (\n <Fragment>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n pageNumber={page.sequence}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\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 document, use the link in the original email notification inviting you to review and finish the document.\"\n onNext={() => (this.showFinishLater = false)}\n />\n )}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["node_modules/@verdocs/js-sdk/Envelopes/Recipients.js","node_modules/@verdocs/js-sdk/Envelopes/Signatures.js","node_modules/@verdocs/js-sdk/Envelopes/Initials.js","src/components/embeds/verdocs-sign/verdocs-sign.scss?tag=verdocs-sign","src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":["__assign","this","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","updateRecipientStatus","endpoint","envelopeId","roleName","action","params","_a","api","put","concat","role_name","r","data","createSignature","name","signature","FormData","append","post","createInitials","initials","verdocsSignCss","VerdocsSign","recipientIndex","fields","class_1","componentWillLoad","VerdocsEndpoint","sessionType","componentDidLoad","sdkError","emit","SDKError","roleId","_b","inviteCode","_c","console","log","Envelopes.getSigningSession","_p","_q","session","recipient","signerToken","email","profile_id","setToken","agreed","nextButtonLabel","getEnvelopeById","EnvelopeStore","envelope","recipients","findIndex","_this","e_1","_d","message","_e","response","status","_f","handleClickAgree","catch","savePDF","fileName","updated_at","split","Envelopes.getEnvelopeFile","envelope_document_id","xhr","XMLHttpRequest","responseType","onload","a","document","createElement","href","window","URL","createObjectURL","download","style","display","appendChild","click","remove","open","send","handleOptionSelected","detail","id","finishLater","showFinishLater","saveFieldChange","fieldName","Envelopes.updateEnvelopeField","error","errorMessage","handleFieldChange","field","optionId","target","checked","type","prepared","options","settings","map","option","selected","fetch","_r","blob","initialsBlob","newInitials","updateEnvelopeFieldInitials","signatureBlob","newSignature","updateEnvelopeFieldSignature","iso","getAttribute","isFieldValid","validator","isValidEmail","isValidPhone","base64","_g","_j","_h","filter","_k","minimum_checked","_l","maximum_checked","_o","_m","handleNext","requiredFields","required","focusedIndex","focusedField","nextFocusedIndex","nextRequiredField","skips","includes","getFieldId","el","getElementById","focusField","handlePageRendered","pageInfo","roleIndex","getRoleIndex","roleNames","recipientFields","page","pageNumber","forEach","renderDocumentField","disabled","editable","draggable","addEventListener","setAttribute","xScale","yScale","fullNameToInitials","full_name","otherRecipient","otherRoleIndex","render","loading","h","Host","menuOptions","class","onOptionSelected","onInput","flex","size","onClick","documents","envelopeDocument","pages","__spreadArray","sort","b","sequence","Fragment","pageImageUri","display_uri","virtualWidth","virtualHeight","onPageRendered","layers","heading","onNext"],"mappings":"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","sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/**\n * Update a recipient's status block\n */\nexport var updateRecipientStatus = function (endpoint, envelopeId, roleName, action, params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(roleName), __assign({ role_name: roleName, action: action }, (params || {})))\n .then(function (r) { return r.data; })];\n });\n}); };\nexport var getSignerToken = function (endpoint, envelopeId, roleName) {\n return endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(encodeURIComponent(roleName), \"/signer-token\"))\n .then(function (r) { return r.data; });\n};\nexport var getInPersonLink = function (endpoint, envelopeId, roleName) {\n return endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(encodeURIComponent(roleName), \"?in_person_link=true\"))\n .then(function (r) { return r.data; });\n};\n","/**\n * Create a signature block. In a typical signing workflow, the user is asked at the beginning of the process to \"adopt\"\n * a signature block to be used for all signature fields in the document. Thus, this is typically called one time to\n * create and store a signature block. Thereafter, the ID of the signature block may be re-used for each signature field\n * to be \"stamped\" by the user.\n */\nexport var createSignature = function (endpoint, name, signature) {\n var data = new FormData();\n data.append('signature', signature, name);\n return endpoint.api //\n .post(\"/signatures\", data)\n .then(function (r) { return r.data; });\n};\n/**\n * Get the availbable signatures for a user.\n */\nexport var getSignatures = function (endpoint) {\n return endpoint.api //\n .get('/signatures')\n .then(function (r) { return r.data; });\n};\n/**\n * Get a user's signature by ID.\n */\nexport var getSignature = function (endpoint, signatureId) {\n return endpoint.api //\n .get(\"/signatures/\".concat(signatureId))\n .then(function (r) { return r.data; });\n};\n/**\n * Delete a user's signature.\n */\nexport var deleteSignature = function (endpoint, signatureId) {\n return endpoint.api //\n .delete(\"/signatures/\".concat(signatureId))\n .then(function (r) { return r.data; });\n};\n","/**\n * Create an initials block. In a typical signing workflow, the user is asked at the beginning of the process to \"adopt\"\n * an initials block to be used for all initials fields in the document. Thus, this is typically called one time to\n * create and store an initials block. Thereafter, the ID of the initials block may be re-used for each initials field\n * to be \"stamped\" by the user.\n */\nexport var createInitials = function (endpoint, name, initials) {\n var data = new FormData();\n data.append('initial', initials, name);\n return endpoint.api //\n .post(\"/initials\", data)\n .then(function (r) { return r.data; });\n};\n","@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 box-sizing: border-box;\n }\n\n .header {\n flex: 0;\n display: flex;\n z-index: 1000;\n align-items: center;\n transition: all 0.25s;\n justify-content: center;\n background-color: $medium-bg;\n box-shadow: 0 4px 4px 0 rgb(0 0 0 / 24%), 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .intro {\n width: 100%;\n height: 60px;\n display: flex;\n background: #ffffff;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n .inner {\n width: 100%;\n color: #111111;\n padding: 0 14px;\n font-size: 20px;\n font-weight: 500;\n line-height: 28px;\n max-width: 1024px;\n }\n }\n\n &.agreed {\n .intro {\n //display: none;\n }\n }\n\n .toolbar {\n width: 100%;\n margin: 0 auto;\n padding: 0 14px;\n position: relative;\n }\n\n .tools {\n width: 100%;\n color: #fff;\n height: 56px;\n display: flex;\n font-size: 12px;\n align-items: center;\n flex-direction: row;\n background-color: $medium-bg;\n }\n\n .cover {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n position: absolute;\n background: rgba(0, 0, 0, 0.5);\n }\n\n .document {\n flex: 1;\n height: 100%;\n display: flex;\n padding: 15px;\n row-gap: 15px;\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 .agree {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 15px;\n\n .intro {\n display: none;\n }\n\n .header {\n flex: 0 0 56px;\n }\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {createInitials} from '@verdocs/js-sdk/Envelopes/Initials';\nimport {createSignature} from '@verdocs/js-sdk/Envelopes/Signatures';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {updateEnvelopeFieldInitials, updateEnvelopeFieldSignature} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField} from '../../../utils/utils';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\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 endpoint: VerdocsEndpoint = null;\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop() envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop() roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop() inviteCode: 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 any field is updated. Note that the current active endpoint is\n * provided as a parameter as a convenience for callers when this coimponent\n */\n @Event({composed: true}) fieldUpdated: EventEmitter<{endpoint: VerdocsEndpoint}>;\n\n @State() recipient: IRecipient | null = null;\n @State() signerToken = null;\n // @State() envelope: IEnvelope | null = null;\n // @State() fields: IDocumentField[] = [];\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() errorMessage = '';\n @State() focusedField = '';\n\n @State() finishLater = false;\n @State() showFinishLater = false;\n\n recipientIndex: number = -1;\n fields: IDocumentField[] = [];\n\n componentWillLoad() {\n this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\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 const {session, recipient, signerToken} = await Envelopes.getSigningSession(this.endpoint, {\n envelopeId: this.envelopeId,\n roleId: this.roleId,\n inviteCode: this.inviteCode,\n });\n\n console.log(`[SIGN] Loaded signing session ${session.email} / ${session.profile_id}`);\n\n this.recipient = recipient;\n this.signerToken = signerToken;\n this.endpoint.setToken(signerToken);\n\n if (this.recipient.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n await getEnvelopeById(this.endpoint, this.envelopeId);\n // const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n // this.envelope = envelope;\n // console.log('[SIGN] Loaded envelope', envelope);\n\n this.recipientIndex = EnvelopeStore.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];\n this.fields = this.recipient.fields;\n }\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n } catch (e) {\n console.log('Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleClickAgree() {\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n })\n .catch(e => {\n console.log('Update failure', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async savePDF() {\n const fileName = `${EnvelopeStore.envelope.name} - ${EnvelopeStore.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, EnvelopeStore.envelope.envelope_document_id);\n\n // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique\n // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'blob';\n xhr.onload = function () {\n let a = document.createElement('a');\n a.href = window.URL.createObjectURL(xhr.response);\n a.download = fileName;\n a.style.display = 'none';\n document.body.appendChild(a);\n a.click();\n a.remove();\n };\n\n xhr.open('GET', `data:application/pdf;base64,${data}`);\n xhr.send();\n }\n\n async handleOptionSelected(e) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n // if (!window?.['STORYBOOK_ENV']) {\n // window.alert('User intends to sign later.');\n // }\n break;\n case 'claim':\n break;\n case 'decline':\n break;\n case 'print':\n break;\n case 'download':\n this.savePDF().catch(() => {});\n break;\n }\n }\n\n saveFieldChange(fieldName: string, fields: Record<string, any>) {\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, fieldName, fields) //\n .catch(e => {\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n // TODO: Do we want to improve the instructions here?\n console.log('[SIGN] Signing session expired');\n this.errorMessage = 'Signing session expired.';\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: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e);\n const {value, checked} = e.target;\n\n switch (field.type) {\n case 'textbox':\n return this.saveFieldChange(field.name, {prepared: false, value});\n\n case 'checkbox_group':\n return this.saveFieldChange(field.name, {prepared: false, value: {options: [{id: optionId, checked}]}});\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n return this.saveFieldChange(field.name, {prepared: false, value: {options}});\n\n case 'dropdown':\n return this.saveFieldChange(field.name, {prepared: false, value: e.detail});\n\n case 'initial':\n const initialsBlob = await (await fetch(e.detail)).blob();\n return createInitials(this.endpoint, 'initial', initialsBlob) //\n .then(newInitials => {\n console.log('New initials', field.name, newInitials);\n updateEnvelopeFieldInitials(this.endpoint, this.envelopeId, field.name, newInitials.id);\n });\n\n case 'signature':\n const signatureBlob = await (await fetch(e.detail)).blob();\n return createSignature(this.endpoint, 'signature', signatureBlob) //\n .then(newSignature => {\n console.log('New sign', field.name, newSignature);\n updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n });\n\n case 'date':\n const iso = e.target.getAttribute('iso');\n return this.saveFieldChange(field.name, {prepared: false, value: iso});\n\n default:\n console.log('Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldValid(field: IDocumentField) {\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(field.settings?.result || '');\n case 'phone':\n return isValidPhone(field.settings?.result || '');\n default:\n return !!field.settings?.result;\n }\n\n case 'signature':\n case 'initial':\n return !!field.settings?.base64;\n\n case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n\n case 'dropdown':\n return !!field.settings?.value;\n\n case 'checkbox_group':\n const checked = (field.settings?.options?.filter(option => option.checked) || []).length;\n return checked >= (field.settings?.minimum_checked || 0) && checked <= (field.settings?.maximum_checked || 999);\n\n case 'radio_button_group':\n return (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n let nextRequiredField = requiredFields[nextFocusedIndex];\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 < requiredFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && nextRequiredField.settings?.result === 'signed') {\n skips++;\n nextFocusedIndex++;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n nextRequiredField = requiredFields[nextFocusedIndex];\n }\n\n if (skips >= requiredFields.length) {\n nextRequiredField = null;\n }\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n console.log('[SIGN] Page rendered, adding fields', pageInfo);\n\n const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);\n const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, roleIndex, {disabled: false, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.addEventListener('input', e => {\n this.handleFieldChange(field, e).catch(() => {});\n });\n\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e).catch(() => {});\n });\n\n el.setAttribute('roleindex', roleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');\n el.setAttribute('name', this.recipient?.full_name || '');\n\n // interact(el).draggable({\n // listeners: {\n // start(event) {\n // console.log('[FIELDS] Drag started', event.type, event.target);\n // },\n // move(event) {\n // const oldX = +(event.target.getAttribute('posX') || 0);\n // const oldY = +(event.target.getAttribute('posY') || 0);\n // const xScale = +(event.target.getAttribute('xScale') || 1);\n // const yScale = +(event.target.getAttribute('yScale') || 1);\n // const newX = event.dx / xScale + oldX;\n // const newY = event.dy / yScale + oldY;\n // event.target.setAttribute('posX', newX);\n // event.target.setAttribute('posy', newY);\n // updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);\n // },\n // end(event) {\n // console.log('[FIELDS] Drag ended', event);\n // // event.target.setAttribute('posX', 0);\n // // event.target.setAttribute('posy', 0);\n // // updateCssTransform(event.target, 'translate', `${0}px, ${0}px`);\n // },\n // },\n // });\n });\n\n EnvelopeStore.envelope.recipients\n .filter(recipient => recipient.role_name !== this.recipient.role_name)\n .map(otherRecipient => {\n const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);\n console.log('Rendering fields for other recipient', otherRoleIndex, otherRecipient);\n const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', recipientFields);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, otherRoleIndex, {disabled: true, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.setAttribute('roleindex', otherRoleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n });\n });\n }\n\n render() {\n if (EnvelopeStore.loading || !EnvelopeStore.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n const menuOptions = [\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', disabled: true},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{agreed: this.recipient?.agreed}}>\n {!this.finishLater && (\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n )}\n\n <div class=\"header\">\n <div class=\"inner\">\n {!this.finishLater && (\n <div class=\"toolbar\">\n <div class=\"tools\">\n <verdocs-dropdown options={menuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n\n {!this.recipient?.agreed ? (\n <div class=\"agree\">\n <verdocs-checkbox name=\"agree\" label=\"I agree to use electronic records and signatures.\" onInput={() => this.handleClickAgree()} />\n </div>\n ) : (\n <div style={{flex: '1'}} />\n )}\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n </div>\n </div>\n )}\n </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n {(EnvelopeStore.envelope.documents || []).map(envelopeDocument => {\n const pages = [...(envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n console.log('p', envelopeDocument, pages);\n\n return (\n <Fragment>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n pageNumber={page.sequence}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\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 document, 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.errorMessage && <verdocs-ok-dialog heading=\"Network Error\" message={this.errorMessage} onNext={() => (this.errorMessage = '')} />}\n </Host>\n );\n }\n}\n"]}
|