@verdocs/web-sdk 1.9.16 → 1.9.21
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-2277461f.js +65 -0
- package/dist/cjs/Envelopes-2277461f.js.map +1 -0
- package/dist/cjs/{Templates-01d520ad.js → Templates-3404a881.js} +2 -2
- package/dist/cjs/{Templates-01d520ad.js.map → Templates-3404a881.js.map} +1 -1
- package/dist/cjs/Token-576f0e8a.js +73 -0
- package/dist/cjs/Token-576f0e8a.js.map +1 -0
- package/dist/cjs/{VerdocsEndpoint-8c408e5b.js → VerdocsEndpoint-a9bf9d59.js} +3 -70
- package/dist/cjs/VerdocsEndpoint-a9bf9d59.js.map +1 -0
- package/dist/cjs/index-6528b430.js +2348 -0
- package/dist/cjs/index-6528b430.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{templateStore-42a49905.js → templateStore-3c43f83c.js} +2 -2
- package/dist/cjs/{templateStore-42a49905.js.map → templateStore-3c43f83c.js.map} +1 -1
- package/dist/cjs/utils-9b27a65b.js +350 -0
- package/dist/cjs/utils-9b27a65b.js.map +1 -0
- package/dist/cjs/verdocs-auth.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +5 -4
- package/dist/cjs/verdocs-build.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +7 -2
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-date.cjs.entry.js +9 -1
- package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +7 -2
- package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +12 -8
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +7 -2
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +6 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +9 -3
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +16 -4
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-organization-card.cjs.entry.js +2 -2344
- package/dist/cjs/verdocs-organization-card.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-preview.cjs.entry.js +5 -4
- package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-search.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-search.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-send.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-send.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +135 -84
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js +5 -4
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-view.cjs.entry.js +26 -63
- package/dist/cjs/verdocs-view.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js.map +1 -1
- package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.css +0 -0
- package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.js +23 -1
- package/dist/collection/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.js.map +1 -0
- package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.stories.js +0 -0
- package/dist/collection/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +25 -0
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.css +4 -0
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +22 -0
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.css +15 -6
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +27 -23
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.css +4 -0
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js +22 -0
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +22 -0
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +24 -1
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.css +4 -3
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js +32 -3
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +17 -0
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +142 -69
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +3 -5
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.css +60 -3
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +22 -61
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js.map +1 -1
- package/dist/collection/utils/Envelopes.js +5 -2
- package/dist/collection/utils/Envelopes.js.map +1 -1
- package/dist/collection/utils/utils.js +45 -15
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/Envelopes.js +8 -115
- package/dist/components/Envelopes.js.map +1 -1
- package/dist/components/Token.js +71 -0
- package/dist/components/Token.js.map +1 -0
- package/dist/components/VerdocsEndpoint.js +2 -68
- package/dist/components/VerdocsEndpoint.js.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index2.js +2328 -178
- package/dist/components/index2.js.map +1 -1
- package/dist/components/index3.js +196 -0
- package/dist/components/index3.js.map +1 -0
- package/dist/components/templateStore.js +1 -1
- package/dist/components/utils.js +157 -16
- package/dist/components/utils.js.map +1 -1
- package/dist/components/verdocs-field-checkbox.js +6 -1
- package/dist/components/verdocs-field-checkbox.js.map +1 -1
- package/dist/components/verdocs-field-date.js +8 -0
- package/dist/components/verdocs-field-date.js.map +1 -1
- package/dist/components/verdocs-field-initial.js +6 -1
- package/dist/components/verdocs-field-initial.js.map +1 -1
- package/dist/components/verdocs-field-radio-button.js +12 -8
- package/dist/components/verdocs-field-radio-button.js.map +1 -1
- package/dist/components/verdocs-field-signature2.js +6 -1
- package/dist/components/verdocs-field-signature2.js.map +1 -1
- package/dist/components/verdocs-field-textarea.js +5 -0
- package/dist/components/verdocs-field-textarea.js.map +1 -1
- package/dist/components/verdocs-field-textbox.js +7 -1
- package/dist/components/verdocs-field-textbox.js.map +1 -1
- package/dist/components/verdocs-field-timestamp.js +16 -4
- package/dist/components/verdocs-field-timestamp.js.map +1 -1
- package/dist/components/verdocs-ok-dialog2.js +1 -1
- package/dist/components/verdocs-ok-dialog2.js.map +1 -1
- package/dist/components/verdocs-organization-card.js +1 -2343
- package/dist/components/verdocs-organization-card.js.map +1 -1
- package/dist/components/verdocs-sign.js +132 -79
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-template-fields2.js +1 -1
- package/dist/components/verdocs-view.js +24 -62
- package/dist/components/verdocs-view.js.map +1 -1
- package/dist/docs.json +151 -16
- package/dist/esm/Envelopes-c80609e5.js +62 -0
- package/dist/esm/Envelopes-c80609e5.js.map +1 -0
- package/dist/esm/{Templates-e77fb578.js → Templates-7ae1294e.js} +2 -2
- package/dist/esm/{Templates-e77fb578.js.map → Templates-7ae1294e.js.map} +1 -1
- package/dist/esm/Token-54690789.js +71 -0
- package/dist/esm/Token-54690789.js.map +1 -0
- package/dist/esm/{VerdocsEndpoint-dac04424.js → VerdocsEndpoint-76dbf9b9.js} +3 -69
- package/dist/esm/VerdocsEndpoint-76dbf9b9.js.map +1 -0
- package/dist/esm/index-d264c496.js +2346 -0
- package/dist/esm/index-d264c496.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{templateStore-b8512d36.js → templateStore-a6dfb726.js} +2 -2
- package/dist/esm/{templateStore-b8512d36.js.map → templateStore-a6dfb726.js.map} +1 -1
- package/dist/esm/utils-53001d87.js +336 -0
- package/dist/esm/utils-53001d87.js.map +1 -0
- package/dist/esm/verdocs-auth.entry.js +2 -1
- package/dist/esm/verdocs-auth.entry.js.map +1 -1
- package/dist/esm/verdocs-build.entry.js +5 -4
- package/dist/esm/verdocs-build.entry.js.map +1 -1
- package/dist/esm/verdocs-contact-picker.entry.js +2 -1
- package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm/verdocs-field-checkbox.entry.js +7 -2
- package/dist/esm/verdocs-field-checkbox.entry.js.map +1 -1
- package/dist/esm/verdocs-field-date.entry.js +9 -1
- package/dist/esm/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
- package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
- package/dist/esm/verdocs-field-initial.entry.js +7 -2
- package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
- package/dist/esm/verdocs-field-payment.entry.js +2 -1
- package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm/verdocs-field-radio-button.entry.js +13 -9
- package/dist/esm/verdocs-field-radio-button.entry.js.map +1 -1
- package/dist/esm/verdocs-field-signature_3.entry.js +7 -2
- package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textarea.entry.js +6 -1
- package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textbox.entry.js +9 -3
- package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm/verdocs-field-timestamp.entry.js +16 -4
- package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
- package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
- package/dist/esm/verdocs-organization-card.entry.js +1 -2343
- package/dist/esm/verdocs-organization-card.entry.js.map +1 -1
- package/dist/esm/verdocs-preview.entry.js +5 -4
- package/dist/esm/verdocs-preview.entry.js.map +1 -1
- package/dist/esm/verdocs-quick-functions_3.entry.js +2 -1
- package/dist/esm/verdocs-quick-functions_3.entry.js.map +1 -1
- package/dist/esm/verdocs-search.entry.js +2 -1
- package/dist/esm/verdocs-search.entry.js.map +1 -1
- package/dist/esm/verdocs-send.entry.js +3 -2
- package/dist/esm/verdocs-send.entry.js.map +1 -1
- package/dist/esm/verdocs-sign.entry.js +131 -80
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-template-create_4.entry.js +5 -4
- package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
- package/dist/esm/verdocs-view.entry.js +26 -63
- package/dist/esm/verdocs-view.entry.js.map +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/Envelopes-c80609e5.js +2 -0
- package/dist/esm-es5/Envelopes-c80609e5.js.map +1 -0
- package/dist/esm-es5/{Templates-e77fb578.js → Templates-7ae1294e.js} +2 -2
- package/dist/esm-es5/{Templates-e77fb578.js.map → Templates-7ae1294e.js.map} +0 -0
- package/dist/esm-es5/Token-54690789.js +2 -0
- package/dist/esm-es5/Token-54690789.js.map +1 -0
- package/dist/esm-es5/VerdocsEndpoint-76dbf9b9.js +2 -0
- package/dist/esm-es5/VerdocsEndpoint-76dbf9b9.js.map +1 -0
- package/dist/esm-es5/index-d264c496.js +2 -0
- package/dist/esm-es5/index-d264c496.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/{templateStore-b8512d36.js → templateStore-a6dfb726.js} +2 -2
- package/dist/esm-es5/{templateStore-b8512d36.js.map → templateStore-a6dfb726.js.map} +0 -0
- package/dist/esm-es5/utils-53001d87.js +2 -0
- package/dist/esm-es5/utils-53001d87.js.map +1 -0
- package/dist/esm-es5/verdocs-auth.entry.js +1 -1
- package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-radio-button.entry.js.map +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-field-textarea.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-timestamp.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-organization-card.entry.js +1 -1
- package/dist/esm-es5/verdocs-organization-card.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-quick-functions_3.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-search.entry.js +1 -1
- package/dist/esm-es5/verdocs-search.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-send.entry.js.map +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-template-create_4.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/esm-es5/verdocs-view.entry.js.map +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/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.d.ts +4 -0
- package/dist/types/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.stories.d.ts +0 -0
- package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-initial/verdocs-field-initial.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +4 -11
- package/dist/types/components/elements/verdocs-field-signature/verdocs-field-signature.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-textarea/verdocs-field-textarea.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +4 -0
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +19 -7
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +1 -2
- package/dist/types/components.d.ts +70 -10
- package/dist/types/utils/utils.d.ts +4 -1
- package/dist/verdocs-web-sdk/p-00cc11c3.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-00cc11c3.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-0e7a7666.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-c0875b7d.entry.js.map → p-0e7a7666.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-0eee7f43.system.js +2 -0
- package/dist/verdocs-web-sdk/p-0eee7f43.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-150a172e.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-150a172e.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-1f1127dd.js +2 -0
- package/dist/verdocs-web-sdk/p-1f1127dd.js.map +1 -0
- package/dist/verdocs-web-sdk/p-208a3320.js +2 -0
- package/dist/verdocs-web-sdk/p-208a3320.js.map +1 -0
- package/dist/verdocs-web-sdk/p-21603661.js +2 -0
- package/dist/verdocs-web-sdk/p-21603661.js.map +1 -0
- package/dist/verdocs-web-sdk/p-27f3e394.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-751e0c80.entry.js.map → p-27f3e394.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-2b7f196e.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2b7f196e.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-2c0f9340.system.js +2 -0
- package/dist/verdocs-web-sdk/p-2c0f9340.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-3175c6f2.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-3175c6f2.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-35333c3b.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-35333c3b.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-359129d0.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-76fd7afd.entry.js.map → p-359129d0.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-00dec610.system.js → p-4437603c.system.js} +2 -2
- package/dist/verdocs-web-sdk/{p-00dec610.system.js.map → p-4437603c.system.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-48285c26.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-48285c26.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-4943d790.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-4943d790.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-4ef84b54.js +2 -0
- package/dist/verdocs-web-sdk/{p-d1f922c2.js.map → p-4ef84b54.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-4f321d05.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-4f321d05.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-51a3ea62.system.js +2 -0
- package/dist/verdocs-web-sdk/p-51a3ea62.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5bbbf36a.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-5bbbf36a.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5c3fce00.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-5c3fce00.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-64cad758.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-64cad758.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-66eacdf0.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-66eacdf0.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-6c2273ee.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-6c2273ee.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-71de4718.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-fac05414.entry.js.map → p-71de4718.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-77a77df6.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-d1256888.entry.js.map → p-77a77df6.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-8251b9eb.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-2fe5b678.entry.js.map → p-8251b9eb.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-888cf244.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-a6fca8c0.system.entry.js.map → p-888cf244.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-90fe342a.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-2b44d1b3.entry.js.map → p-90fe342a.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-93ada77f.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-3629c585.system.entry.js.map → p-93ada77f.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-99144a0a.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-6a8ac53e.system.entry.js.map → p-99144a0a.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-9a763c04.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-a59f1f82.entry.js.map → p-9a763c04.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-a580d69a.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-690ade87.system.entry.js.map → p-a580d69a.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-a9429014.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a9429014.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a9d20e4b.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-79c160f4.system.entry.js.map → p-a9d20e4b.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-ab01f71e.js +2 -0
- package/dist/verdocs-web-sdk/p-ab01f71e.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ace31857.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-ace31857.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-af2c2f79.system.js +2 -0
- package/dist/verdocs-web-sdk/p-af2c2f79.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-b10f26f2.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b10f26f2.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ba8727f3.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-6f7e9e81.system.entry.js.map → p-ba8727f3.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-bdff66f3.js +2 -0
- package/dist/verdocs-web-sdk/p-bdff66f3.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c0804682.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c0804682.entry.js.map +1 -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-8cce81ff.system.entry.js → p-c314c231.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-c314c231.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c475a969.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-d52297bc.system.entry.js.map → p-c475a969.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-cf1ed6b8.system.js +2 -0
- package/dist/verdocs-web-sdk/p-cf1ed6b8.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d0a360d6.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d0a360d6.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d2c1dcf9.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-b5882803.system.entry.js.map → p-d2c1dcf9.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-d65f5bf7.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d65f5bf7.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-11fbd83d.entry.js → p-d774ad24.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-d774ad24.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d9b9a354.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-78ec7db1.system.entry.js.map → p-d9b9a354.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-dadccc57.js +2 -0
- package/dist/verdocs-web-sdk/{p-e920fbe1.js.map → p-dadccc57.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-e014f9a6.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-e014f9a6.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ecdd15bf.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-a15b9bc8.entry.js.map → p-ecdd15bf.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-f05afb1f.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-edc2802d.system.entry.js.map → p-f05afb1f.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-90d7da87.system.js → p-f2137361.system.js} +2 -2
- package/dist/verdocs-web-sdk/{p-90d7da87.system.js.map → p-f2137361.system.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-f2f60dc9.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f2f60dc9.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f632dbd8.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f632dbd8.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-fa722164.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-524017b8.entry.js.map → p-fa722164.entry.js.map} +1 -1
- 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 +12 -12
- package/dist/cjs/Envelopes-ea5bf3fc.js +0 -177
- package/dist/cjs/Envelopes-ea5bf3fc.js.map +0 -1
- package/dist/cjs/VerdocsEndpoint-8c408e5b.js.map +0 -1
- package/dist/cjs/utils-beee79a1.js +0 -203
- package/dist/cjs/utils-beee79a1.js.map +0 -1
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +0 -1
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.stories.js.map +0 -1
- package/dist/esm/Envelopes-8038ca25.js +0 -169
- package/dist/esm/Envelopes-8038ca25.js.map +0 -1
- package/dist/esm/VerdocsEndpoint-dac04424.js.map +0 -1
- package/dist/esm/utils-2e6beff8.js +0 -195
- package/dist/esm/utils-2e6beff8.js.map +0 -1
- package/dist/esm-es5/Envelopes-8038ca25.js +0 -2
- package/dist/esm-es5/Envelopes-8038ca25.js.map +0 -1
- package/dist/esm-es5/VerdocsEndpoint-dac04424.js +0 -2
- package/dist/esm-es5/VerdocsEndpoint-dac04424.js.map +0 -1
- package/dist/esm-es5/utils-2e6beff8.js +0 -2
- package/dist/esm-es5/utils-2e6beff8.js.map +0 -1
- package/dist/verdocs-web-sdk/p-04f84127.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-04f84127.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-11fbd83d.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-12a82c8b.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-12a82c8b.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js +0 -2
- package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2467a244.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-2467a244.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-26dc355e.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-26dc355e.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2870fa81.js +0 -2
- package/dist/verdocs-web-sdk/p-2870fa81.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2b44d1b3.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-2fe5b678.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-339c7685.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-339c7685.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-3629c585.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-40565c66.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-40565c66.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-430df46a.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-430df46a.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-4a332358.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-4a332358.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-524017b8.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-5a323cf3.system.js +0 -2
- package/dist/verdocs-web-sdk/p-5a323cf3.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-690ade87.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6a8ac53e.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6f7e9e81.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-751e0c80.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-76fd7afd.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-78ec7db1.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-79c160f4.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-83135a56.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-83135a56.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8bd71fb6.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-8bd71fb6.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8cce81ff.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a59f1f82.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a6fca8c0.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-aad63275.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-aad63275.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b5882803.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-becd8d7e.js +0 -2
- package/dist/verdocs-web-sdk/p-becd8d7e.js.map +0 -1
- package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c0875b7d.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-c803da60.system.js +0 -2
- package/dist/verdocs-web-sdk/p-c803da60.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-d1256888.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-d1f922c2.js +0 -2
- package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-deb5b86b.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-deb5b86b.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-df877830.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-df877830.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-e6f928eb.js +0 -2
- package/dist/verdocs-web-sdk/p-e6f928eb.js.map +0 -1
- package/dist/verdocs-web-sdk/p-e918e13e.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-e918e13e.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-e920fbe1.js +0 -2
- package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fac05414.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fb391ca5.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fb391ca5.entry.js.map +0 -1
|
@@ -58,6 +58,17 @@ verdocs-sign .tools {
|
|
|
58
58
|
flex-direction: row;
|
|
59
59
|
background-color: #33354c;
|
|
60
60
|
}
|
|
61
|
+
verdocs-sign .tools .logo {
|
|
62
|
+
width: 77.5px;
|
|
63
|
+
margin: -6px 0 0 5px;
|
|
64
|
+
}
|
|
65
|
+
verdocs-sign .tools .title {
|
|
66
|
+
padding-left: 16px;
|
|
67
|
+
font-size: 18px;
|
|
68
|
+
font-weight: 500;
|
|
69
|
+
text-overflow: ellipsis;
|
|
70
|
+
white-space: nowrap;
|
|
71
|
+
}
|
|
61
72
|
verdocs-sign .cover {
|
|
62
73
|
top: 0;
|
|
63
74
|
left: 0;
|
|
@@ -97,4 +108,10 @@ verdocs-sign .agree .intro {
|
|
|
97
108
|
}
|
|
98
109
|
verdocs-sign .agree .header {
|
|
99
110
|
flex: 0 0 56px;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@media print {
|
|
114
|
+
verdocs-sign .header {
|
|
115
|
+
display: none;
|
|
116
|
+
}
|
|
100
117
|
}
|
|
@@ -2,14 +2,16 @@ import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
|
2
2
|
import { Envelopes } from '@verdocs/js-sdk/Envelopes';
|
|
3
3
|
import { createInitials } from '@verdocs/js-sdk/Envelopes/Initials';
|
|
4
4
|
import { createSignature } from '@verdocs/js-sdk/Envelopes/Signatures';
|
|
5
|
-
import {
|
|
5
|
+
import { envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit } from '@verdocs/js-sdk/Envelopes/Recipients';
|
|
6
6
|
import { isValidEmail, isValidPhone } from '@verdocs/js-sdk/Templates/Validators';
|
|
7
7
|
import { Host, Fragment, h } from '@stencil/core';
|
|
8
8
|
import { updateEnvelopeFieldInitials, updateEnvelopeFieldSignature } from '@verdocs/js-sdk/Envelopes/Envelopes';
|
|
9
|
-
import { fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField } from '../../../utils/utils';
|
|
9
|
+
import { fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField, savePDF } from '../../../utils/utils';
|
|
10
10
|
import { getEnvelopeById } from '../../../utils/Envelopes';
|
|
11
11
|
import EnvelopeStore from '../../../utils/envelopeStore';
|
|
12
12
|
import { SDKError } from '../../../utils/errors';
|
|
13
|
+
const PrintIcon = `<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"></path></svg>`;
|
|
14
|
+
const DownloadIcon = `<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z"></path></svg>`;
|
|
13
15
|
/**
|
|
14
16
|
* Display an envelope signing experience. This will display the envelope's attached
|
|
15
17
|
* documents with signing fields overlaid on each page.
|
|
@@ -39,8 +41,11 @@ export class VerdocsSign {
|
|
|
39
41
|
this.signerToken = null;
|
|
40
42
|
this.hasSignature = false;
|
|
41
43
|
this.nextButtonLabel = 'Start';
|
|
44
|
+
this.nextSubmits = false;
|
|
42
45
|
this.errorMessage = '';
|
|
43
46
|
this.focusedField = '';
|
|
47
|
+
this.isDone = false;
|
|
48
|
+
this.showDone = false;
|
|
44
49
|
this.finishLater = false;
|
|
45
50
|
this.showFinishLater = false;
|
|
46
51
|
}
|
|
@@ -48,7 +53,7 @@ export class VerdocsSign {
|
|
|
48
53
|
this.endpoint = new VerdocsEndpoint({ sessionType: 'signing' });
|
|
49
54
|
}
|
|
50
55
|
async componentDidLoad() {
|
|
51
|
-
var _a, _b, _c, _d, _e, _f;
|
|
56
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
52
57
|
if (!this.envelopeId) {
|
|
53
58
|
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError('[SIGN] Missing required envelopId', 500, ''));
|
|
54
59
|
return;
|
|
@@ -84,20 +89,25 @@ export class VerdocsSign {
|
|
|
84
89
|
this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];
|
|
85
90
|
this.fields = this.recipient.fields;
|
|
86
91
|
}
|
|
92
|
+
this.isDone = ['submitted', 'canceled', 'declined'].includes(this.recipient.status);
|
|
93
|
+
console.log('Done', this.isDone);
|
|
87
94
|
// TODO: Fix service to allow this?
|
|
88
95
|
// const sigs = await getSignatures();
|
|
89
96
|
// console.log('sigs', sigs);
|
|
97
|
+
(_d = this.envelopeLoaded) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope });
|
|
90
98
|
}
|
|
91
99
|
catch (e) {
|
|
92
100
|
console.log('Error with signing session', e);
|
|
93
|
-
(
|
|
101
|
+
(_e = this.sdkError) === null || _e === void 0 ? void 0 : _e.emit(new SDKError(e.message, (_f = e.response) === null || _f === void 0 ? void 0 : _f.status, (_g = e.response) === null || _g === void 0 ? void 0 : _g.data));
|
|
94
102
|
}
|
|
95
103
|
}
|
|
96
104
|
handleClickAgree() {
|
|
97
|
-
|
|
105
|
+
envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, true)
|
|
98
106
|
.then(r => {
|
|
107
|
+
var _a;
|
|
99
108
|
this.nextButtonLabel = 'Next';
|
|
100
109
|
this.recipient = r;
|
|
110
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'agreed' });
|
|
101
111
|
})
|
|
102
112
|
.catch(e => {
|
|
103
113
|
var _a, _b, _c;
|
|
@@ -105,25 +115,6 @@ export class VerdocsSign {
|
|
|
105
115
|
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
|
106
116
|
});
|
|
107
117
|
}
|
|
108
|
-
async savePDF() {
|
|
109
|
-
const fileName = `${EnvelopeStore.envelope.name} - ${EnvelopeStore.envelope.updated_at.split('T')[0]}.pdf`;
|
|
110
|
-
const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, EnvelopeStore.envelope.envelope_document_id);
|
|
111
|
-
// This is better in React than doing window.href= or similar to trigger a download. For a description of the technique
|
|
112
|
-
// see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image
|
|
113
|
-
let xhr = new XMLHttpRequest();
|
|
114
|
-
xhr.responseType = 'blob';
|
|
115
|
-
xhr.onload = function () {
|
|
116
|
-
let a = document.createElement('a');
|
|
117
|
-
a.href = window.URL.createObjectURL(xhr.response);
|
|
118
|
-
a.download = fileName;
|
|
119
|
-
a.style.display = 'none';
|
|
120
|
-
document.body.appendChild(a);
|
|
121
|
-
a.click();
|
|
122
|
-
a.remove();
|
|
123
|
-
};
|
|
124
|
-
xhr.open('GET', `data:application/pdf;base64,${data}`);
|
|
125
|
-
xhr.send();
|
|
126
|
-
}
|
|
127
118
|
async handleOptionSelected(e) {
|
|
128
119
|
switch (e.detail.id) {
|
|
129
120
|
case 'later':
|
|
@@ -137,11 +128,17 @@ export class VerdocsSign {
|
|
|
137
128
|
case 'claim':
|
|
138
129
|
break;
|
|
139
130
|
case 'decline':
|
|
131
|
+
{
|
|
132
|
+
const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);
|
|
133
|
+
console.log('Decline result', declineResult);
|
|
134
|
+
this.isDone = true;
|
|
135
|
+
}
|
|
140
136
|
break;
|
|
141
137
|
case 'print':
|
|
138
|
+
window.print();
|
|
142
139
|
break;
|
|
143
140
|
case 'download':
|
|
144
|
-
this.
|
|
141
|
+
savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => { });
|
|
145
142
|
break;
|
|
146
143
|
}
|
|
147
144
|
}
|
|
@@ -160,17 +157,20 @@ export class VerdocsSign {
|
|
|
160
157
|
(_d = this.sdkError) === null || _d === void 0 ? void 0 : _d.emit(new SDKError(e.message, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status, (_f = e.response) === null || _f === void 0 ? void 0 : _f.data));
|
|
161
158
|
});
|
|
162
159
|
}
|
|
163
|
-
async handleFieldChange(field, e
|
|
164
|
-
console.log('fieldChange', field, e);
|
|
160
|
+
async handleFieldChange(field, e) {
|
|
161
|
+
console.log('fieldChange', field, e, e.target.value);
|
|
165
162
|
const { value, checked } = e.target;
|
|
166
163
|
switch (field.type) {
|
|
167
164
|
case 'textbox':
|
|
168
165
|
return this.saveFieldChange(field.name, { prepared: false, value });
|
|
169
|
-
case 'checkbox_group':
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
166
|
+
case 'checkbox_group': {
|
|
167
|
+
const options = field.settings.options.map(option => ({ id: option.id, checked: e.target.checked }));
|
|
168
|
+
return this.saveFieldChange(field.name, { prepared: false, value: { options } });
|
|
169
|
+
}
|
|
170
|
+
case 'radio_button_group': {
|
|
171
|
+
const options = field.settings.options.map(option => ({ id: option.id, selected: e.target.value === option.id }));
|
|
173
172
|
return this.saveFieldChange(field.name, { prepared: false, value: { options } });
|
|
173
|
+
}
|
|
174
174
|
case 'dropdown':
|
|
175
175
|
return this.saveFieldChange(field.name, { prepared: false, value: e.detail });
|
|
176
176
|
case 'initial':
|
|
@@ -190,38 +190,45 @@ export class VerdocsSign {
|
|
|
190
190
|
case 'date':
|
|
191
191
|
const iso = e.target.getAttribute('iso');
|
|
192
192
|
return this.saveFieldChange(field.name, { prepared: false, value: iso });
|
|
193
|
+
case 'timestamp':
|
|
194
|
+
console.log('Updating timestamp', { value, ts: e.target.getAttribute('timestamp') });
|
|
195
|
+
break;
|
|
193
196
|
default:
|
|
194
197
|
console.log('Unhandled field update', { value, checked }, field);
|
|
195
198
|
break;
|
|
196
199
|
}
|
|
197
200
|
}
|
|
198
201
|
isFieldValid(field) {
|
|
199
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
202
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
203
|
+
const { required = false } = field;
|
|
204
|
+
const { result = '', value = '', base64 = '' } = field.settings || {};
|
|
200
205
|
switch (field.type) {
|
|
201
206
|
case 'textbox':
|
|
202
207
|
switch (((_a = field.settings) === null || _a === void 0 ? void 0 : _a.validator) || '') {
|
|
203
208
|
case 'email':
|
|
204
|
-
return isValidEmail(
|
|
209
|
+
return isValidEmail(result);
|
|
205
210
|
case 'phone':
|
|
206
|
-
return isValidPhone(
|
|
211
|
+
return isValidPhone(result);
|
|
207
212
|
default:
|
|
208
|
-
return
|
|
213
|
+
return !required || result !== '';
|
|
209
214
|
}
|
|
210
215
|
case 'signature':
|
|
211
216
|
case 'initial':
|
|
212
|
-
return
|
|
217
|
+
return !required || base64 !== '';
|
|
218
|
+
// Timestamp fields get automatically filled when the envelope is submitted.
|
|
219
|
+
case 'timestamp':
|
|
220
|
+
return true;
|
|
213
221
|
case 'textarea':
|
|
214
222
|
case 'date':
|
|
215
|
-
case 'timestamp':
|
|
216
223
|
case 'attachment':
|
|
217
|
-
return
|
|
224
|
+
return !required || result !== '';
|
|
218
225
|
case 'dropdown':
|
|
219
|
-
return
|
|
226
|
+
return !required || value !== '';
|
|
220
227
|
case 'checkbox_group':
|
|
221
|
-
const
|
|
222
|
-
return
|
|
228
|
+
const checkedCount = (((_c = (_b = field.settings) === null || _b === void 0 ? void 0 : _b.options) === null || _c === void 0 ? void 0 : _c.filter(option => option.checked)) || []).length;
|
|
229
|
+
return !required || (checkedCount >= (((_d = field.settings) === null || _d === void 0 ? void 0 : _d.minimum_checked) || 0) && checkedCount <= (((_e = field.settings) === null || _e === void 0 ? void 0 : _e.maximum_checked) || 999));
|
|
223
230
|
case 'radio_button_group':
|
|
224
|
-
return (((
|
|
231
|
+
return !required || (((_g = (_f = field.settings) === null || _f === void 0 ? void 0 : _f.options) === null || _g === void 0 ? void 0 : _g.filter(option => option.selected)) || []).length > 0;
|
|
225
232
|
// TODO
|
|
226
233
|
// case 'checkbox':
|
|
227
234
|
// return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;
|
|
@@ -231,8 +238,28 @@ export class VerdocsSign {
|
|
|
231
238
|
return false;
|
|
232
239
|
}
|
|
233
240
|
}
|
|
234
|
-
handleNext() {
|
|
241
|
+
async handleNext() {
|
|
235
242
|
var _a;
|
|
243
|
+
if (this.nextSubmits) {
|
|
244
|
+
try {
|
|
245
|
+
const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);
|
|
246
|
+
console.log('[SIGN] Submitted successfully', result);
|
|
247
|
+
this.showDone = true;
|
|
248
|
+
this.isDone = true;
|
|
249
|
+
// updateRecipientStatus()
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
console.log('Error submitting', e);
|
|
253
|
+
}
|
|
254
|
+
return;
|
|
255
|
+
// You're done.
|
|
256
|
+
// You can access the Verdoc at any time by clicking on the link from invitation email.
|
|
257
|
+
//
|
|
258
|
+
// After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.
|
|
259
|
+
//
|
|
260
|
+
// Thank you for using Verdocs.
|
|
261
|
+
// Got it, thanks
|
|
262
|
+
}
|
|
236
263
|
// Find and focus the next incomplete required field
|
|
237
264
|
const requiredFields = this.fields.filter(field => field.required);
|
|
238
265
|
const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);
|
|
@@ -261,28 +288,44 @@ export class VerdocsSign {
|
|
|
261
288
|
this.focusedField = nextRequiredField.name;
|
|
262
289
|
}
|
|
263
290
|
}
|
|
291
|
+
// See if everything that "needs to be" filled in is, and all "fillable fields" are valid
|
|
292
|
+
checkRecipientFields() {
|
|
293
|
+
const someFieldsInvalid = this.recipient.fields.map(field => this.isFieldValid(field)).some(fieldValid => !fieldValid);
|
|
294
|
+
console.log({ someFieldsInvalid });
|
|
295
|
+
if (!someFieldsInvalid) {
|
|
296
|
+
this.nextButtonLabel = 'Finish';
|
|
297
|
+
this.nextSubmits = true;
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
this.nextSubmits = false;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
attachFieldAttributes(pageInfo, field, roleIndex, el) {
|
|
304
|
+
var _a;
|
|
305
|
+
el.addEventListener('input', e => this.handleFieldChange(field, e).finally(() => this.checkRecipientFields()));
|
|
306
|
+
el.addEventListener('fieldChange', e => this.handleFieldChange(field, e).finally(() => this.checkRecipientFields()));
|
|
307
|
+
el.setAttribute('roleindex', roleIndex);
|
|
308
|
+
el.setAttribute('xScale', pageInfo.xScale);
|
|
309
|
+
el.setAttribute('yScale', pageInfo.yScale);
|
|
310
|
+
el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');
|
|
311
|
+
el.setAttribute('name', ((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.full_name) || '');
|
|
312
|
+
}
|
|
264
313
|
handlePageRendered(e) {
|
|
265
314
|
const pageInfo = e.detail;
|
|
266
|
-
console.log('[SIGN] Page rendered, adding fields', pageInfo);
|
|
267
315
|
const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);
|
|
268
316
|
const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);
|
|
317
|
+
console.log('[SIGN] Page rendered, adding fields', { pageInfo, roleIndex, recipientFields });
|
|
269
318
|
recipientFields.forEach(field => {
|
|
270
|
-
|
|
271
|
-
const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: false, editable: false, draggable: false });
|
|
319
|
+
const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: false, editable: false, draggable: false, done: this.isDone });
|
|
272
320
|
if (!el) {
|
|
273
321
|
return;
|
|
274
322
|
}
|
|
275
|
-
|
|
276
|
-
this.
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
this.
|
|
280
|
-
}
|
|
281
|
-
el.setAttribute('roleindex', roleIndex);
|
|
282
|
-
el.setAttribute('xScale', pageInfo.xScale);
|
|
283
|
-
el.setAttribute('yScale', pageInfo.yScale);
|
|
284
|
-
el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');
|
|
285
|
-
el.setAttribute('name', ((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.full_name) || '');
|
|
323
|
+
if (Array.isArray(el)) {
|
|
324
|
+
el.map(e => this.attachFieldAttributes(pageInfo, field, roleIndex, e));
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
this.attachFieldAttributes(pageInfo, field, roleIndex, el);
|
|
328
|
+
}
|
|
286
329
|
// interact(el).draggable({
|
|
287
330
|
// listeners: {
|
|
288
331
|
// start(event) {
|
|
@@ -308,16 +351,15 @@ export class VerdocsSign {
|
|
|
308
351
|
// },
|
|
309
352
|
// });
|
|
310
353
|
});
|
|
354
|
+
// Render fields for "the other" recipients
|
|
311
355
|
EnvelopeStore.envelope.recipients
|
|
312
356
|
.filter(recipient => recipient.role_name !== this.recipient.role_name)
|
|
313
357
|
.map(otherRecipient => {
|
|
314
358
|
const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);
|
|
315
|
-
console.log('Rendering fields for other recipient', otherRoleIndex, otherRecipient);
|
|
316
359
|
const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);
|
|
317
360
|
// const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
|
|
318
|
-
console.log('[SIGN] Fields on page', recipientFields);
|
|
319
361
|
recipientFields.forEach(field => {
|
|
320
|
-
const el = renderDocumentField(field, pageInfo, otherRoleIndex, { disabled: true, editable: false, draggable: false });
|
|
362
|
+
const el = renderDocumentField(field, pageInfo, otherRoleIndex, { disabled: true, editable: false, draggable: false, done: this.isDone });
|
|
321
363
|
if (!el) {
|
|
322
364
|
return;
|
|
323
365
|
}
|
|
@@ -326,6 +368,7 @@ export class VerdocsSign {
|
|
|
326
368
|
el.setAttribute('yScale', pageInfo.yScale);
|
|
327
369
|
});
|
|
328
370
|
});
|
|
371
|
+
this.checkRecipientFields();
|
|
329
372
|
}
|
|
330
373
|
render() {
|
|
331
374
|
var _a, _b, _c, _d;
|
|
@@ -334,20 +377,19 @@ export class VerdocsSign {
|
|
|
334
377
|
}
|
|
335
378
|
const menuOptions = [
|
|
336
379
|
{ id: 'later', label: 'Finish Later' },
|
|
337
|
-
{
|
|
380
|
+
// {id: 'claim', label: 'Claim the Document', disabled: true},
|
|
338
381
|
{ id: 'decline', label: 'Decline to Sign' },
|
|
339
382
|
{ id: 'print', label: 'Print Without Signing', disabled: true },
|
|
340
383
|
{ id: 'download', label: 'Download' },
|
|
341
384
|
];
|
|
342
|
-
return (h(Host, { class: { agreed: (_a = this.recipient) === null || _a === void 0 ? void 0 : _a.agreed } }, !this.finishLater && (h("div", { class: "intro" }, h("div", { class: "inner" }, "Please review and act on these documents."))), h("div", { class: "header" }, h("div", { class: "inner" },
|
|
385
|
+
return (h(Host, { class: { agreed: (_a = this.recipient) === null || _a === void 0 ? void 0 : _a.agreed } }, !this.isDone && !this.finishLater && (h("div", { class: "intro" }, h("div", { class: "inner" }, "Please review and act on these documents."))), h("div", { class: "header" }, h("div", { class: "inner" }, h("div", { class: "toolbar" }, h("div", { class: "tools" }, !this.isDone && !this.finishLater && h("verdocs-dropdown", { options: menuOptions, onOptionSelected: e => this.handleOptionSelected(e) }), !((_b = this.recipient) === null || _b === void 0 ? void 0 : _b.agreed) ? (h("div", { class: "agree" }, h("verdocs-checkbox", { name: "agree", label: "I agree to use electronic records and signatures.", onInput: () => this.handleClickAgree() }))) : (h(Fragment, null, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, EnvelopeStore.envelope.name), h("div", { style: { flex: '1' } }), h("div", { innerHTML: PrintIcon, style: { width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer' }, onClick: () => window.print() }), h("div", { innerHTML: DownloadIcon, style: { width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer', marginLeft: '16px', maginRight: '30px' }, onClick: () => savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => { }) }))), !this.isDone && !this.finishLater && (h("verdocs-button", { size: "small", label: this.nextButtonLabel, disabled: !((_c = this.recipient) === null || _c === void 0 ? void 0 : _c.agreed), onClick: () => this.handleNext() })))))), !this.isDone && !((_d = this.recipient) === null || _d === void 0 ? void 0 : _d.agreed) ? h("div", { class: "cover" }) : h("div", { style: { display: 'none' } }), h("div", { class: "document" }, (EnvelopeStore.envelope.documents || []).map(envelopeDocument => {
|
|
343
386
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
|
344
387
|
pages.sort((a, b) => a.sequence - b.sequence);
|
|
345
|
-
console.log('p', envelopeDocument, pages);
|
|
346
388
|
return (h(Fragment, null, pages.map(page => (h("verdocs-document-page", { pageImageUri: page.display_uri, virtualWidth: 612, virtualHeight: 792, pageNumber: page.sequence, onPageRendered: e => this.handlePageRendered(e), layers: [
|
|
347
389
|
{ name: 'page', type: 'canvas' },
|
|
348
390
|
{ name: 'controls', type: 'div' },
|
|
349
391
|
] })))));
|
|
350
|
-
})), this.showFinishLater && (h("verdocs-ok-dialog", { heading: "You've saved your document to finish later.", message: "To complete the document, use the link in the original email notification inviting you to review and finish the document.", onNext: () => (this.showFinishLater = false) })), this.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') })));
|
|
392
|
+
})), this.showFinishLater && (h("verdocs-ok-dialog", { heading: "You've saved your document to finish later.", message: "To complete the document, use the link in the original email notification inviting you to review and finish the document.", onNext: () => (this.showFinishLater = false) })), this.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') }), this.showDone && (h("verdocs-ok-dialog", { heading: "You're Done!", message: "You can access the Verdoc at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.", onNext: () => (this.showDone = false) }))));
|
|
351
393
|
}
|
|
352
394
|
static get is() { return "verdocs-sign"; }
|
|
353
395
|
static get originalStyleUrls() {
|
|
@@ -424,8 +466,11 @@ export class VerdocsSign {
|
|
|
424
466
|
"signerToken": {},
|
|
425
467
|
"hasSignature": {},
|
|
426
468
|
"nextButtonLabel": {},
|
|
469
|
+
"nextSubmits": {},
|
|
427
470
|
"errorMessage": {},
|
|
428
471
|
"focusedField": {},
|
|
472
|
+
"isDone": {},
|
|
473
|
+
"showDone": {},
|
|
429
474
|
"finishLater": {},
|
|
430
475
|
"showFinishLater": {}
|
|
431
476
|
};
|
|
@@ -452,22 +497,50 @@ export class VerdocsSign {
|
|
|
452
497
|
}
|
|
453
498
|
}
|
|
454
499
|
}, {
|
|
455
|
-
"method": "
|
|
456
|
-
"name": "
|
|
500
|
+
"method": "envelopeLoaded",
|
|
501
|
+
"name": "envelopeLoaded",
|
|
457
502
|
"bubbles": true,
|
|
458
503
|
"cancelable": true,
|
|
459
504
|
"composed": true,
|
|
460
505
|
"docs": {
|
|
461
506
|
"tags": [],
|
|
462
|
-
"text": "Event fired when
|
|
507
|
+
"text": "Event fired when the envelope is updated in any way."
|
|
463
508
|
},
|
|
464
509
|
"complexType": {
|
|
465
|
-
"original": "{endpoint: VerdocsEndpoint}",
|
|
466
|
-
"resolved": "{ endpoint: VerdocsEndpoint; }",
|
|
510
|
+
"original": "{endpoint: VerdocsEndpoint; envelope: IEnvelope}",
|
|
511
|
+
"resolved": "{ endpoint: VerdocsEndpoint; envelope: IEnvelope; }",
|
|
467
512
|
"references": {
|
|
468
513
|
"VerdocsEndpoint": {
|
|
469
514
|
"location": "import",
|
|
470
515
|
"path": "@verdocs/js-sdk"
|
|
516
|
+
},
|
|
517
|
+
"IEnvelope": {
|
|
518
|
+
"location": "import",
|
|
519
|
+
"path": "@verdocs/js-sdk/Envelopes/Types"
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
}, {
|
|
524
|
+
"method": "envelopeUpdated",
|
|
525
|
+
"name": "envelopeUpdated",
|
|
526
|
+
"bubbles": true,
|
|
527
|
+
"cancelable": true,
|
|
528
|
+
"composed": true,
|
|
529
|
+
"docs": {
|
|
530
|
+
"tags": [],
|
|
531
|
+
"text": "Event fired when the envelope is updated in any way."
|
|
532
|
+
},
|
|
533
|
+
"complexType": {
|
|
534
|
+
"original": "{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}",
|
|
535
|
+
"resolved": "{ endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string; }",
|
|
536
|
+
"references": {
|
|
537
|
+
"VerdocsEndpoint": {
|
|
538
|
+
"location": "import",
|
|
539
|
+
"path": "@verdocs/js-sdk"
|
|
540
|
+
},
|
|
541
|
+
"IEnvelope": {
|
|
542
|
+
"location": "import",
|
|
543
|
+
"path": "@verdocs/js-sdk/Envelopes/Types"
|
|
471
544
|
}
|
|
472
545
|
}
|
|
473
546
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdocs-sign.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AAErE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAC,KAAK,EAAgB,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAC,2BAA2B,EAAE,4BAA4B,EAAC,MAAM,qCAAqC,CAAC;AAC9G,OAAO,EAAC,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AACzD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAE/C;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,OAAO,WAAW;;IACtB,aAAQ,GAAoB,IAAI,CAAC;IAyCjC,mBAAc,GAAW,CAAC,CAAC,CAAC;IAC5B,WAAM,GAAqB,EAAE,CAAC;sBArCM,IAAI;kBAKR,IAAI;sBAKA,IAAI;qBAcA,IAAI;uBACrB,IAAI;wBAGH,KAAK;2BACF,OAAO;wBACV,EAAE;wBACF,EAAE;uBAEH,KAAK;2BACD,KAAK;;EAKhC,iBAAiB;IACf,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;EAChE,CAAC;EAED,KAAK,CAAC,gBAAgB;;IACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;MACpB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;MAChF,OAAO;KACR;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;MAChB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;MAC7E,OAAO;KACR;IAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;MACpB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;MACjF,OAAO;KACR;IAED,IAAI;MACF,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;MACrF,MAAM,EAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAC,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE;QACzF,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;OAC5B,CAAC,CAAC;MAEH,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;MAEtF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;MAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;MAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;MAEpC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACzB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;OAC/B;MAED,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;MACtD,gFAAgF;MAChF,4BAA4B;MAC5B,mDAAmD;MAEnD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;MACnH,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;QAC5B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;OACrC;MAED,mCAAmC;MACnC,sCAAsC;MACtC,6BAA6B;KAC9B;IAAC,OAAO,CAAC,EAAE;MACV,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;MAC7C,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;KACpF;EACH,CAAC;EAED,gBAAgB;IACd,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;OACzF,IAAI,CAAC,CAAC,CAAC,EAAE;MACR,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;MAC9B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;OACD,KAAK,CAAC,CAAC,CAAC,EAAE;;MACT,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;MACjC,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;IACrF,CAAC,CAAC,CAAC;EACP,CAAC;EAED,KAAK,CAAC,OAAO;IACX,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3G,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAE1H,uHAAuH;IACvH,yFAAyF;IACzF,IAAI,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IAC/B,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,MAAM,GAAG;MACX,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;MACpC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;MAClD,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;MACtB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;MACzB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;MAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;MACV,CAAC,CAAC,MAAM,EAAE,CAAC;IACb,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACvD,GAAG,CAAC,IAAI,EAAE,CAAC;EACb,CAAC;EAED,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE;MACnB,KAAK,OAAO;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,sFAAsF;QACtF,oCAAoC;QACpC,iDAAiD;QACjD,IAAI;QACJ,MAAM;MACR,KAAK,OAAO;QACV,MAAM;MACR,KAAK,SAAS;QACZ,MAAM;MACR,KAAK,OAAO;QACV,MAAM;MACR,KAAK,UAAU;QACb,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/B,MAAM;KACT;EACH,CAAC;EAED,eAAe,CAAC,SAAiB,EAAE,MAA2B;IAC5D,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE;OAChF,KAAK,CAAC,CAAC,CAAC,EAAE;;MACT,IAAI,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,CAAA,MAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,MAAK,aAAa,EAAE;QAC3E,qDAAqD;QACrD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,0BAA0B,CAAC;OAChD;WAAM;QACL,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;OACvC;MAED,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;IACrF,CAAC,CAAC,CAAC;EACP,CAAC;EAED,KAAK,CAAC,iBAAiB,CAAC,KAAqB,EAAE,CAAM,EAAE,QAAiB;IACtE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAElC,QAAQ,KAAK,CAAC,IAAI,EAAE;MAClB,KAAK,SAAS;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;MAEpE,KAAK,gBAAgB;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,EAAC,EAAC,CAAC,CAAC;MAE1G,KAAK,oBAAoB;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAC,OAAO,EAAC,EAAC,CAAC,CAAC;MAE/E,KAAK,UAAU;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAC,CAAC,CAAC;MAE9E,KAAK,SAAS;QACZ,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE;WAC7D,IAAI,CAAC,WAAW,CAAC,EAAE;UAClB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;UACrD,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;MAEP,KAAK,WAAW;QACd,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE;WACjE,IAAI,CAAC,YAAY,CAAC,EAAE;UACnB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;UAClD,4BAA4B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;MAEP,KAAK,MAAM;QACT,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;MAEzE;QACE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM;KACT;EACH,CAAC;EAED,YAAY,CAAC,KAAqB;;IAChC,QAAQ,KAAK,CAAC,IAAI,EAAE;MAClB,KAAK,SAAS;QACZ,QAAQ,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,SAAS,KAAI,EAAE,EAAE;UACvC,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,KAAI,EAAE,CAAC,CAAC;UACpD,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,KAAI,EAAE,CAAC,CAAC;UACpD;YACE,OAAO,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAA,CAAC;SACnC;MAEH,KAAK,WAAW,CAAC;MACjB,KAAK,SAAS;QACZ,OAAO,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAA,CAAC;MAElC,KAAK,UAAU,CAAC;MAChB,KAAK,MAAM,CAAC;MACZ,KAAK,WAAW,CAAC;MACjB,KAAK,YAAY;QACf,OAAO,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAA,CAAC;MAElC,KAAK,UAAU;QACb,OAAO,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,KAAK,CAAA,CAAC;MAEjC,KAAK,gBAAgB;QACnB,MAAM,OAAO,GAAG,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,OAAO,0CAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACzF,OAAO,OAAO,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,eAAe,KAAI,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,eAAe,KAAI,GAAG,CAAC,CAAC;MAElH,KAAK,oBAAoB;QACvB,OAAO,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,OAAO,0CAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;MACvF,OAAO;MACP,mBAAmB;MACnB,kFAAkF;MAClF,kBAAkB;MAClB,0EAA0E;MAC1E;QACE,OAAO,KAAK,CAAC;KAChB;EACH,CAAC;EAED,UAAU;;IACR,oDAAoD;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzF,IAAI,gBAAgB,GAAG,YAAY,GAAG,CAAC,CAAC;IACxC,IAAI,gBAAgB,IAAI,cAAc,CAAC,MAAM,EAAE;MAC7C,gBAAgB,GAAG,CAAC,CAAC;KACtB;IAED,IAAI,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAEzD,oIAAoI;IACpI,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,cAAc,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAA,MAAA,iBAAiB,CAAC,QAAQ,0CAAE,MAAM,MAAK,QAAQ,EAAE;MACjJ,KAAK,EAAE,CAAC;MACR,gBAAgB,EAAE,CAAC;MACnB,IAAI,gBAAgB,IAAI,cAAc,CAAC,MAAM,EAAE;QAC7C,gBAAgB,GAAG,CAAC,CAAC;OACtB;MACD,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;KACtD;IAED,IAAI,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE;MAClC,iBAAiB,GAAG,IAAI,CAAC;KAC1B;IAED,IAAI,iBAAiB,EAAE;MACrB,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;MACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAQ,CAAC;MAC9C,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,EAAE,CAAC;MACjB,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;KAC5C;EACH,CAAC;EAED,kBAAkB,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAA2B,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;MAC9B,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;MACjH,IAAI,CAAC,EAAE,EAAE;QACP,OAAO;OACR;MAED,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QAC/B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;MACnD,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;QACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;MACnD,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;MACxC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;MAC3C,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;MAC3C,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MAChG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,SAAS,KAAI,EAAE,CAAC,CAAC;MAEzD,2BAA2B;MAC3B,iBAAiB;MACjB,qBAAqB;MACrB,wEAAwE;MACxE,SAAS;MACT,oBAAoB;MACpB,gEAAgE;MAChE,gEAAgE;MAChE,oEAAoE;MACpE,oEAAoE;MACpE,+CAA+C;MAC/C,+CAA+C;MAC/C,iDAAiD;MACjD,iDAAiD;MACjD,+EAA+E;MAC/E,SAAS;MACT,mBAAmB;MACnB,mDAAmD;MACnD,iDAAiD;MACjD,iDAAiD;MACjD,4EAA4E;MAC5E,SAAS;MACT,OAAO;MACP,MAAM;IACR,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,QAAQ,CAAC,UAAU;OAC9B,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;OACrE,GAAG,CAAC,cAAc,CAAC,EAAE;MACpB,MAAM,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;MACvF,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;MACpF,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;MAClG,wGAAwG;MACxG,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;MACtD,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC9B,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;QACrH,IAAI,CAAC,EAAE,EAAE;UACP,OAAO;SACR;QAED,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,cAAc,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;MAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;EACP,CAAC;EAED,MAAM;;IACJ,IAAI,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;MACpD,OAAO,CACL,EAAC,IAAI;QACH,yBAAkB,CACb,CACR,CAAC;KACH;IAED,MAAM,WAAW,GAAG;MAClB,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAC;MACpC,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAC;MAC1D,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAC;MACzC,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAC;MAC7D,EAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAC;KACpC,CAAC;IAEF,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAE,EAAC,MAAM,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,EAAC;MAC1C,CAAC,IAAI,CAAC,WAAW,IAAI,CACpB,WAAK,KAAK,EAAC,OAAO;QAChB,WAAK,KAAK,EAAC,OAAO,gDAAgD,CAC9D,CACP;MAED,WAAK,KAAK,EAAC,QAAQ;QACjB,WAAK,KAAK,EAAC,OAAO,IACf,CAAC,IAAI,CAAC,WAAW,IAAI,CACpB,WAAK,KAAK,EAAC,SAAS;UAClB,WAAK,KAAK,EAAC,OAAO;YAChB,wBAAkB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAI;YAE9F,CAAC,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAA,CAAC,CAAC,CAAC,CACzB,WAAK,KAAK,EAAC,OAAO;cAChB,wBAAkB,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,mDAAmD,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAI,CAC/H,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,GAAI,CAC5B;YACD,sBAAgB,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAA,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAI,CAC7H,CACF,CACP,CACG,CACF;MAEL,CAAC,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAA,CAAC,CAAC,CAAC,WAAK,KAAK,EAAC,OAAO,GAAG,CAAC,CAAC,CAAC,WAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,GAAI;MAEpF,WAAK,KAAK,EAAC,UAAU,IAClB,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;QAC/D,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAE1C,OAAO,CACL,EAAC,QAAQ,QACN,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACjB,6BACE,YAAY,EAAE,IAAI,CAAC,WAAW,EAC9B,YAAY,EAAE,GAAG,EACjB,aAAa,EAAE,GAAG,EAClB,UAAU,EAAE,IAAI,CAAC,QAAQ,EACzB,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAC/C,MAAM,EAAE;YACN,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC;YAC9B,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAC;WAChC,GACD,CACH,CAAC,CACO,CACZ,CAAC;MACJ,CAAC,CAAC,CACE;MAEL,IAAI,CAAC,eAAe,IAAI,CACvB,yBACE,OAAO,EAAC,6CAA6C,EACrD,OAAO,EAAC,2HAA2H,EACnI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,GAC5C,CACH;MAEA,IAAI,CAAC,YAAY,IAAI,yBAAmB,OAAO,EAAC,eAAe,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,GAAI,CAClI,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
|
|
1
|
+
{"version":3,"file":"verdocs-sign.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":[],"mappings":"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","sourcesContent":["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, IEnvelope, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit} 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, savePDF} from '../../../utils/utils';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nconst PrintIcon = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z\"></path></svg>`;\n\nconst DownloadIcon = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z\"></path></svg>`;\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 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.\n */\n @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\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() nextSubmits = false;\n @State() errorMessage = '';\n @State() focusedField = '';\n @State() isDone = false;\n @State() showDone = false;\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 this.isDone = ['submitted', 'canceled', 'declined'].includes(this.recipient.status);\n console.log('Done', this.isDone);\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n\n this.envelopeLoaded?.emit({endpoint: this.endpoint, envelope: EnvelopeStore.envelope});\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 envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, true)\n .then(r => {\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'agreed'});\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 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 {\n const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);\n console.log('Decline result', declineResult);\n this.isDone = true;\n }\n break;\n case 'print':\n window.print();\n break;\n case 'download':\n savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).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) {\n console.log('fieldChange', field, e, e.target.value);\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 const options = field.settings.options.map(option => ({id: option.id, checked: e.target.checked}));\n return this.saveFieldChange(field.name, {prepared: false, value: {options}});\n }\n\n case 'radio_button_group': {\n const options = field.settings.options.map(option => ({id: option.id, selected: e.target.value === option.id}));\n return this.saveFieldChange(field.name, {prepared: false, value: {options}});\n }\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 case 'timestamp':\n console.log('Updating timestamp', {value, ts: e.target.getAttribute('timestamp')});\n break;\n\n default:\n console.log('Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldValid(field: IDocumentField) {\n const {required = false} = field;\n const {result = '', value = '', base64 = ''} = field.settings || {};\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(result);\n case 'phone':\n return isValidPhone(result);\n default:\n return !required || result !== '';\n }\n\n case 'signature':\n case 'initial':\n return !required || base64 !== '';\n\n // Timestamp fields get automatically filled when the envelope is submitted.\n case 'timestamp':\n return true;\n\n case 'textarea':\n case 'date':\n case 'attachment':\n return !required || result !== '';\n\n case 'dropdown':\n return !required || value !== '';\n\n case 'checkbox_group':\n const checkedCount = (field.settings?.options?.filter(option => option.checked) || []).length;\n return !required || (checkedCount >= (field.settings?.minimum_checked || 0) && checkedCount <= (field.settings?.maximum_checked || 999));\n\n case 'radio_button_group':\n return !required || (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 handleNext() {\n if (this.nextSubmits) {\n try {\n const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Submitted successfully', result);\n this.showDone = true;\n this.isDone = true;\n // updateRecipientStatus()\n } catch (e) {\n console.log('Error submitting', e);\n }\n return;\n // You're done.\n // You can access the Verdoc at any time by clicking on the link from invitation email.\n //\n // After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.\n //\n // Thank you for using Verdocs.\n // Got it, thanks\n }\n\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 // See if everything that \"needs to be\" filled in is, and all \"fillable fields\" are valid\n checkRecipientFields() {\n const someFieldsInvalid = this.recipient.fields.map(field => this.isFieldValid(field)).some(fieldValid => !fieldValid);\n console.log({someFieldsInvalid});\n if (!someFieldsInvalid) {\n this.nextButtonLabel = 'Finish';\n this.nextSubmits = true;\n } else {\n this.nextSubmits = false;\n }\n }\n\n attachFieldAttributes(pageInfo, field, roleIndex, el) {\n el.addEventListener('input', e => this.handleFieldChange(field, e).finally(() => this.checkRecipientFields()));\n el.addEventListener('fieldChange', e => this.handleFieldChange(field, e).finally(() => this.checkRecipientFields()));\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\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);\n const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);\n console.log('[SIGN] Page rendered, adding fields', {pageInfo, roleIndex, recipientFields});\n\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, roleIndex, {disabled: false, 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, roleIndex, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, roleIndex, el);\n }\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 // Render fields for \"the other\" recipients\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 const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, otherRoleIndex, {disabled: true, editable: false, draggable: false, done: this.isDone});\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 this.checkRecipientFields();\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.isDone && !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 <div class=\"toolbar\">\n <div class=\"tools\">\n {!this.isDone && !this.finishLater && <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 <Fragment>\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{EnvelopeStore.envelope.name}</div>\n <div style={{flex: '1'}} />\n <div innerHTML={PrintIcon} style={{width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer'}} onClick={() => window.print()} />\n <div\n innerHTML={DownloadIcon}\n style={{width: '24px', height: '24px', fill: '#ffffff', cursor: 'pointer', marginLeft: '16px', maginRight: '30px'}}\n onClick={() => savePDF(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(() => {})}\n />\n </Fragment>\n )}\n\n {!this.isDone && !this.finishLater && (\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n )}\n </div>\n </div>\n </div>\n </div>\n\n {!this.isDone && !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\n {this.errorMessage && <verdocs-ok-dialog heading=\"Network Error\" message={this.errorMessage} onNext={() => (this.errorMessage = '')} />}\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message=\"You can access the Verdoc 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={() => (this.showDone = false)}\n />\n )}\n </Host>\n );\n }\n}\n"]}
|