@verdocs/web-sdk 1.9.14 → 1.9.15
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-aec4ee3d.js → Envelopes-eacee000.js} +69 -2
- package/dist/cjs/Envelopes-eacee000.js.map +1 -0
- package/dist/cjs/{Templates-0051d647.js → Templates-acde16f2.js} +2 -2
- package/dist/cjs/{Templates-0051d647.js.map → Templates-acde16f2.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{templateStore-974781a8.js → templateStore-42a49905.js} +2 -2
- package/dist/cjs/{templateStore-974781a8.js.map → templateStore-42a49905.js.map} +1 -1
- package/dist/cjs/{utils-e0f38696.js → utils-beee79a1.js} +7 -11
- package/dist/cjs/utils-beee79a1.js.map +1 -0
- package/dist/cjs/verdocs-build.cjs.entry.js +3 -3
- package/dist/cjs/verdocs-checkbox.cjs.entry.js +4 -2
- package/dist/cjs/verdocs-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-dropdown.cjs.entry.js +91 -0
- package/dist/cjs/verdocs-dropdown.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js +4 -2
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +32 -0
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-field-date.cjs.entry.js +10 -13
- package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +5 -16
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +4 -5
- package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +5 -3
- package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +36 -0
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +5 -7
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -24
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +10 -28
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -25
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +10 -13
- package/dist/cjs/verdocs-initial-dialog.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-preview.cjs.entry.js +5 -5
- package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-send.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +103 -131
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js +6 -9
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-view.cjs.entry.js +20 -75
- 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 +2 -2
- package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js +3 -3
- package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +32 -18
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +40 -2
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js.map +1 -1
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.stories.js +6 -4
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +22 -12
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js.map +1 -1
- package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js +2 -2
- package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js +2 -2
- package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js +2 -2
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.css +1 -7
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +9 -12
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.css +1 -1
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.css +2 -2
- package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js +21 -21
- package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.css +0 -1
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js +22 -22
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +9 -33
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js +21 -67
- package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +5 -26
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js +22 -22
- package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.css +0 -1
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +22 -22
- 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.js +4 -26
- 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 +2 -108
- 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 +9 -108
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.js +7 -2
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js +1 -122
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +3 -6
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +2 -2
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +6 -45
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +94 -135
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +2 -2
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +4 -6
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
- package/dist/collection/utils/utils.js +6 -8
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/Envelopes.js +66 -1
- package/dist/components/Envelopes.js.map +1 -1
- package/dist/components/utils.js +7 -9
- package/dist/components/utils.js.map +1 -1
- package/dist/components/verdocs-checkbox2.js +6 -2
- package/dist/components/verdocs-checkbox2.js.map +1 -1
- package/dist/components/verdocs-dropdown2.js +21 -11
- package/dist/components/verdocs-dropdown2.js.map +1 -1
- package/dist/components/verdocs-field-attachment.js +5 -3
- package/dist/components/verdocs-field-attachment.js.map +1 -1
- package/dist/components/verdocs-field-checkbox.js +44 -1
- package/dist/components/verdocs-field-checkbox.js.map +1 -1
- package/dist/components/verdocs-field-date.js +9 -14
- package/dist/components/verdocs-field-date.js.map +1 -1
- package/dist/components/verdocs-field-dropdown.js +5 -17
- package/dist/components/verdocs-field-dropdown.js.map +1 -1
- package/dist/components/verdocs-field-initial.js +4 -6
- package/dist/components/verdocs-field-initial.js.map +1 -1
- package/dist/components/verdocs-field-payment.js +5 -3
- package/dist/components/verdocs-field-payment.js.map +1 -1
- package/dist/components/verdocs-field-radio-button.js +48 -1
- package/dist/components/verdocs-field-radio-button.js.map +1 -1
- package/dist/components/verdocs-field-signature2.js +4 -7
- package/dist/components/verdocs-field-signature2.js.map +1 -1
- package/dist/components/verdocs-field-textarea.js +3 -27
- package/dist/components/verdocs-field-textarea.js.map +1 -1
- package/dist/components/verdocs-field-textbox.js +9 -29
- package/dist/components/verdocs-field-textbox.js.map +1 -1
- package/dist/components/verdocs-field-timestamp.js +2 -27
- package/dist/components/verdocs-field-timestamp.js.map +1 -1
- package/dist/components/verdocs-initial-dialog2.js +10 -13
- package/dist/components/verdocs-initial-dialog2.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-preview.js +2 -2
- package/dist/components/verdocs-preview.js.map +1 -1
- package/dist/components/verdocs-sign.js +118 -141
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-signature-dialog2.js +1 -1
- package/dist/components/verdocs-signature-dialog2.js.map +1 -1
- package/dist/components/verdocs-template-fields2.js +3 -6
- package/dist/components/verdocs-template-fields2.js.map +1 -1
- package/dist/components/verdocs-view.js +5 -61
- package/dist/components/verdocs-view.js.map +1 -1
- package/dist/docs.json +113 -286
- package/dist/esm/{Envelopes-b031f847.js → Envelopes-19ca610d.js} +67 -2
- package/dist/esm/Envelopes-19ca610d.js.map +1 -0
- package/dist/esm/{Templates-1034fade.js → Templates-7a534fd1.js} +2 -2
- package/dist/esm/{Templates-1034fade.js.map → Templates-7a534fd1.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{templateStore-96a39844.js → templateStore-b8512d36.js} +2 -2
- package/dist/esm/{templateStore-96a39844.js.map → templateStore-b8512d36.js.map} +1 -1
- package/dist/esm/{utils-99a3c1f0.js → utils-2e6beff8.js} +8 -10
- package/dist/esm/utils-2e6beff8.js.map +1 -0
- package/dist/esm/verdocs-build.entry.js +3 -3
- package/dist/esm/verdocs-checkbox.entry.js +4 -2
- package/dist/esm/verdocs-checkbox.entry.js.map +1 -1
- package/dist/esm/verdocs-dropdown.entry.js +87 -0
- package/dist/esm/verdocs-dropdown.entry.js.map +1 -0
- package/dist/esm/verdocs-field-attachment.entry.js +4 -2
- package/dist/esm/verdocs-field-attachment.entry.js.map +1 -1
- package/dist/esm/verdocs-field-checkbox.entry.js +28 -0
- package/dist/esm/verdocs-field-checkbox.entry.js.map +1 -0
- package/dist/esm/verdocs-field-date.entry.js +10 -13
- package/dist/esm/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm/verdocs-field-dropdown.entry.js +5 -16
- package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
- package/dist/esm/verdocs-field-initial.entry.js +4 -5
- package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
- package/dist/esm/verdocs-field-payment.entry.js +5 -3
- package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm/verdocs-field-radio-button.entry.js +32 -0
- package/dist/esm/verdocs-field-radio-button.entry.js.map +1 -0
- package/dist/esm/verdocs-field-signature_3.entry.js +5 -7
- package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textarea.entry.js +3 -25
- package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textbox.entry.js +10 -28
- package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm/verdocs-field-timestamp.entry.js +3 -26
- package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
- package/dist/esm/verdocs-initial-dialog.entry.js +10 -13
- package/dist/esm/verdocs-initial-dialog.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-preview.entry.js +5 -5
- package/dist/esm/verdocs-preview.entry.js.map +1 -1
- package/dist/esm/verdocs-send.entry.js +1 -1
- package/dist/esm/verdocs-sign.entry.js +104 -132
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-template-create_4.entry.js +6 -9
- package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
- package/dist/esm/verdocs-view.entry.js +7 -62
- package/dist/esm/verdocs-view.entry.js.map +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/Envelopes-19ca610d.js +2 -0
- package/dist/{verdocs-web-sdk/p-c5a43bb3.js.map → esm-es5/Envelopes-19ca610d.js.map} +1 -1
- package/dist/esm-es5/{Templates-1034fade.js → Templates-7a534fd1.js} +2 -2
- package/dist/esm-es5/{Templates-1034fade.js.map → Templates-7a534fd1.js.map} +0 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/{templateStore-96a39844.js → templateStore-b8512d36.js} +2 -2
- package/dist/esm-es5/{templateStore-96a39844.js.map → templateStore-b8512d36.js.map} +0 -0
- package/dist/esm-es5/utils-2e6beff8.js +2 -0
- package/dist/esm-es5/utils-2e6beff8.js.map +1 -0
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-checkbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-dropdown.entry.js +2 -0
- package/dist/esm-es5/verdocs-dropdown.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-checkbox.entry.js +2 -0
- package/dist/esm-es5/verdocs-field-checkbox.entry.js.map +1 -0
- 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 +2 -0
- package/dist/esm-es5/verdocs-field-radio-button.entry.js.map +1 -0
- 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-initial-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-initial-dialog.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-preview.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-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/controls/verdocs-button/verdocs-button.stories.d.ts +2 -2
- package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +12 -1
- package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.stories.d.ts +4 -2
- package/dist/types/components/controls/verdocs-dropdown/verdocs-dropdown.d.ts +6 -9
- package/dist/types/components/controls/verdocs-radio-button/verdocs-radio-button.stories.d.ts +2 -2
- package/dist/types/components/controls/verdocs-select-input/verdocs-select-input.stories.d.ts +2 -2
- package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.stories.d.ts +2 -2
- package/dist/types/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.d.ts +2 -3
- package/dist/types/components/elements/verdocs-field-attachment/verdocs-field-attachment.d.ts +5 -5
- package/dist/types/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.d.ts +5 -5
- package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +1 -8
- package/dist/types/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +3 -14
- package/dist/types/components/elements/verdocs-field-initial/verdocs-field-initial.d.ts +1 -5
- package/dist/types/components/elements/verdocs-field-payment/verdocs-field-payment.d.ts +5 -5
- package/dist/types/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +5 -5
- package/dist/types/components/elements/verdocs-field-signature/verdocs-field-signature.d.ts +1 -5
- package/dist/types/components/elements/verdocs-field-textarea/verdocs-field-textarea.d.ts +1 -29
- package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -28
- package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.d.ts +2 -1
- package/dist/types/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +1 -33
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +6 -8
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +0 -10
- package/dist/types/components.d.ts +43 -143
- package/dist/types/utils/utils.d.ts +7 -1
- package/dist/verdocs-web-sdk/{p-d1a97a03.system.js → p-00dec610.system.js} +2 -2
- package/dist/verdocs-web-sdk/{p-d1a97a03.system.js.map → p-00dec610.system.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-05433ef8.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-05433ef8.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-b2dea632.entry.js → p-11fbd83d.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-11fbd83d.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-2467a244.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2467a244.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-26dc355e.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-26dc355e.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-27707de4.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-27707de4.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-2a153dae.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2a153dae.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-339c7685.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-339c7685.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-3bc9be49.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-3bc9be49.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-40565c66.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-40565c66.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-4125b8e7.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-4125b8e7.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-30424967.entry.js → p-4318e931.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-4318e931.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-9236d9df.entry.js → p-4a2a1525.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-9236d9df.entry.js.map → p-4a2a1525.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-4a332358.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-4a332358.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-524017b8.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-524017b8.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-a7ac4da8.system.entry.js → p-529a754e.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-529a754e.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5a323cf3.system.js +2 -0
- package/dist/verdocs-web-sdk/p-5a323cf3.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-620ac97f.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-620ac97f.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-68ffd4bf.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-68ffd4bf.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-dd864f36.system.entry.js → p-6c7a70c0.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-dd864f36.system.entry.js.map → p-6c7a70c0.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-81343fb3.js +2 -0
- package/dist/verdocs-web-sdk/p-81343fb3.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-0b2290c6.system.entry.js → p-8cce81ff.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-8cce81ff.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-32da34af.system.js → p-9650cab5.system.js} +2 -2
- package/dist/verdocs-web-sdk/{p-32da34af.system.js.map → p-9650cab5.system.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-a8c25a4a.system.entry.js → p-b3ee5dd5.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-b4de55c1.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b4de55c1.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f8c49765.system.entry.js → p-b57effa2.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-b57effa2.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-0a3d0ca9.js → p-b87bda66.js} +2 -2
- package/dist/verdocs-web-sdk/{p-0a3d0ca9.js.map → p-b87bda66.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c132d66e.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c132d66e.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-c5794e33.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c5794e33.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-5bb42252.system.entry.js → p-c6ef13bd.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-5bb42252.system.entry.js.map → p-c6ef13bd.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-cb7d9ff5.js → p-d1f922c2.js} +2 -2
- package/dist/verdocs-web-sdk/{p-cb7d9ff5.js.map → p-d1f922c2.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-d48d78a2.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d48d78a2.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d7c712e8.system.js +2 -0
- package/dist/verdocs-web-sdk/p-d7c712e8.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d8e182fb.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d8e182fb.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d942510c.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d942510c.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-4b4c610f.entry.js → p-deb5b86b.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-deb5b86b.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-df877830.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-df877830.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e6f928eb.js +2 -0
- package/dist/verdocs-web-sdk/p-e6f928eb.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e918e13e.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-e918e13e.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ed55daf4.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-ed55daf4.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f8526821.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f8526821.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-fb391ca5.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-fb391ca5.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f19e600e.entry.js → p-fd99a113.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-f19e600e.entry.js.map → p-fd99a113.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/Envelopes-aec4ee3d.js.map +0 -1
- package/dist/cjs/utils-e0f38696.js.map +0 -1
- package/dist/cjs/verdocs-dropdown_3.cjs.entry.js +0 -128
- package/dist/cjs/verdocs-dropdown_3.cjs.entry.js.map +0 -1
- package/dist/components/verdocs-field-checkbox2.js +0 -46
- package/dist/components/verdocs-field-checkbox2.js.map +0 -1
- package/dist/components/verdocs-field-radio-button2.js +0 -50
- package/dist/components/verdocs-field-radio-button2.js.map +0 -1
- package/dist/esm/Envelopes-b031f847.js.map +0 -1
- package/dist/esm/utils-99a3c1f0.js.map +0 -1
- package/dist/esm/verdocs-dropdown_3.entry.js +0 -122
- package/dist/esm/verdocs-dropdown_3.entry.js.map +0 -1
- package/dist/esm-es5/Envelopes-b031f847.js +0 -2
- package/dist/esm-es5/Envelopes-b031f847.js.map +0 -1
- package/dist/esm-es5/utils-99a3c1f0.js +0 -2
- package/dist/esm-es5/utils-99a3c1f0.js.map +0 -1
- package/dist/esm-es5/verdocs-dropdown_3.entry.js +0 -2
- package/dist/esm-es5/verdocs-dropdown_3.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-0a2efec0.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-0a2efec0.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-0b2290c6.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-112c8e05.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-112c8e05.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-15584ecb.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-15584ecb.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-21ec6ff0.system.js +0 -2
- package/dist/verdocs-web-sdk/p-21ec6ff0.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2cf3843a.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-2cf3843a.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-30424967.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-32e3a428.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-32e3a428.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-3585534a.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-3585534a.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-35fec075.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-35fec075.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-4b4c610f.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-5b636344.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-5b636344.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8095fab3.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-8095fab3.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-868f497f.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-868f497f.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-92b0fc42.js +0 -2
- package/dist/verdocs-web-sdk/p-92b0fc42.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a760546b.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a760546b.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a7ac4da8.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a8c25a4a.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a9068845.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a9068845.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-af1063e3.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-af1063e3.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b2dea632.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b6c24f97.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-b6c24f97.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-be8004c0.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-be8004c0.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c5a43bb3.js +0 -2
- package/dist/verdocs-web-sdk/p-cd7b475a.system.js +0 -2
- package/dist/verdocs-web-sdk/p-cd7b475a.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-e4fa4969.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-e4fa4969.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-e96a04c2.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-e96a04c2.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-ed71080a.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-ed71080a.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f8c49765.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f9a9b3a2.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-f9a9b3a2.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-ff0b44f9.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-ff0b44f9.system.entry.js.map +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
// import interact from 'interactjs';
|
|
2
1
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
3
2
|
import { Envelopes } from '@verdocs/js-sdk/Envelopes';
|
|
4
|
-
import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
|
|
5
|
-
import { rescale } from '@verdocs/js-sdk/Utils/Fields';
|
|
6
3
|
import { updateRecipientStatus } from '@verdocs/js-sdk/Envelopes/Recipients';
|
|
7
4
|
import { isValidEmail, isValidPhone } from '@verdocs/js-sdk/Templates/Validators';
|
|
8
5
|
import { Host, Fragment, h } from '@stencil/core';
|
|
9
|
-
import { getFieldId, getRoleIndex, renderDocumentField
|
|
10
|
-
import
|
|
6
|
+
import { fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField } from '../../../utils/utils';
|
|
7
|
+
import EnvelopeStore from '../../../utils/envelopeStore';
|
|
8
|
+
import { getEnvelopeById } from '../../../utils/Envelopes';
|
|
11
9
|
import { SDKError } from '../../../utils/errors';
|
|
10
|
+
import { createSignature } from '@verdocs/js-sdk/Envelopes/Signatures';
|
|
11
|
+
import { updateEnvelopeFieldSignature } from '@verdocs/js-sdk/Envelopes/Envelopes';
|
|
12
12
|
/**
|
|
13
13
|
* Display an envelope signing experience. This will display the envelope's attached
|
|
14
14
|
* documents with signing fields overlaid on each page.
|
|
@@ -29,17 +29,21 @@ import { SDKError } from '../../../utils/errors';
|
|
|
29
29
|
export class VerdocsSign {
|
|
30
30
|
constructor() {
|
|
31
31
|
this.endpoint = null;
|
|
32
|
+
this.recipientIndex = -1;
|
|
33
|
+
this.fields = [];
|
|
32
34
|
this.envelopeId = null;
|
|
33
35
|
this.roleId = null;
|
|
34
36
|
this.inviteCode = null;
|
|
35
37
|
this.recipient = null;
|
|
36
38
|
this.signerToken = null;
|
|
37
|
-
this.recipientIndex = -1;
|
|
38
|
-
this.envelope = null;
|
|
39
|
-
this.fields = [];
|
|
40
39
|
this.hasSignature = false;
|
|
41
40
|
this.nextButtonLabel = 'Start';
|
|
42
41
|
this.focusedField = '';
|
|
42
|
+
this.finishLater = false;
|
|
43
|
+
this.showFinishLater = false;
|
|
44
|
+
}
|
|
45
|
+
componentWillLoad() {
|
|
46
|
+
this.endpoint = new VerdocsEndpoint({ sessionType: 'signing' });
|
|
43
47
|
}
|
|
44
48
|
async componentDidLoad() {
|
|
45
49
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -56,7 +60,6 @@ export class VerdocsSign {
|
|
|
56
60
|
return;
|
|
57
61
|
}
|
|
58
62
|
try {
|
|
59
|
-
this.endpoint = new VerdocsEndpoint({ sessionType: 'signing' });
|
|
60
63
|
console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);
|
|
61
64
|
const { session, recipient, signerToken } = await Envelopes.getSigningSession(this.endpoint, {
|
|
62
65
|
envelopeId: this.envelopeId,
|
|
@@ -70,15 +73,15 @@ export class VerdocsSign {
|
|
|
70
73
|
if (this.recipient.agreed) {
|
|
71
74
|
this.nextButtonLabel = 'Next';
|
|
72
75
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
await getEnvelopeById(this.endpoint, this.envelopeId);
|
|
77
|
+
// const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);
|
|
78
|
+
// this.envelope = envelope;
|
|
79
|
+
// console.log('[SIGN] Loaded envelope', envelope);
|
|
80
|
+
this.recipientIndex = EnvelopeStore.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);
|
|
77
81
|
if (this.recipientIndex > -1) {
|
|
78
|
-
|
|
82
|
+
this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];
|
|
83
|
+
this.fields = this.recipient.fields;
|
|
79
84
|
}
|
|
80
|
-
this.fields = this.envelope.fields.filter(field => field.recipient_role === this.roleId);
|
|
81
|
-
console.log('Loaded fields', this.fields);
|
|
82
85
|
// TODO: Fix service to allow this?
|
|
83
86
|
// const sigs = await getSignatures();
|
|
84
87
|
// console.log('sigs', sigs);
|
|
@@ -89,22 +92,20 @@ export class VerdocsSign {
|
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
94
|
handleClickAgree() {
|
|
92
|
-
console.log('agree clicked');
|
|
93
95
|
updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', { agreed: true })
|
|
94
96
|
.then(r => {
|
|
95
|
-
console.log('update result', r);
|
|
96
97
|
this.nextButtonLabel = 'Next';
|
|
97
98
|
this.recipient = r;
|
|
98
99
|
})
|
|
99
100
|
.catch(e => {
|
|
100
101
|
var _a, _b, _c;
|
|
101
|
-
console.log('
|
|
102
|
+
console.log('Update failure', e);
|
|
102
103
|
(_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));
|
|
103
104
|
});
|
|
104
105
|
}
|
|
105
106
|
async savePDF() {
|
|
106
|
-
const fileName = `${
|
|
107
|
-
const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId,
|
|
107
|
+
const fileName = `${EnvelopeStore.envelope.name} - ${EnvelopeStore.envelope.updated_at.split('T')[0]}.pdf`;
|
|
108
|
+
const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, EnvelopeStore.envelope.envelope_document_id);
|
|
108
109
|
// This is better in React than doing window.href= or similar to trigger a download. For a description of the technique
|
|
109
110
|
// see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image
|
|
110
111
|
let xhr = new XMLHttpRequest();
|
|
@@ -118,18 +119,18 @@ export class VerdocsSign {
|
|
|
118
119
|
a.click();
|
|
119
120
|
a.remove();
|
|
120
121
|
};
|
|
121
|
-
const url = `data:application/pdf;base64,${data}`;
|
|
122
|
-
console.log('url', url.length, url);
|
|
123
122
|
xhr.open('GET', `data:application/pdf;base64,${data}`);
|
|
124
123
|
xhr.send();
|
|
125
124
|
}
|
|
126
125
|
async handleOptionSelected(e) {
|
|
127
126
|
switch (e.detail.id) {
|
|
128
127
|
case 'later':
|
|
128
|
+
this.finishLater = true;
|
|
129
|
+
this.showFinishLater = true;
|
|
129
130
|
// this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);
|
|
130
|
-
if (!
|
|
131
|
-
|
|
132
|
-
}
|
|
131
|
+
// if (!window?.['STORYBOOK_ENV']) {
|
|
132
|
+
// window.alert('User intends to sign later.');
|
|
133
|
+
// }
|
|
133
134
|
break;
|
|
134
135
|
case 'claim':
|
|
135
136
|
break;
|
|
@@ -144,9 +145,10 @@ export class VerdocsSign {
|
|
|
144
145
|
}
|
|
145
146
|
async handleFieldChange(field, e, optionId) {
|
|
146
147
|
console.log('fieldChange', field, e);
|
|
148
|
+
const { value, checked } = e.target;
|
|
147
149
|
switch (field.type) {
|
|
148
150
|
case 'textbox':
|
|
149
|
-
Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value
|
|
151
|
+
Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value })
|
|
150
152
|
.then(r => console.log('Update result', r))
|
|
151
153
|
.catch(e => {
|
|
152
154
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -158,7 +160,7 @@ export class VerdocsSign {
|
|
|
158
160
|
});
|
|
159
161
|
break;
|
|
160
162
|
case 'checkbox_group':
|
|
161
|
-
Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value: { options: [{ id: optionId, checked
|
|
163
|
+
Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value: { options: [{ id: optionId, checked }] } })
|
|
162
164
|
.then(r => console.log('Update result', r))
|
|
163
165
|
.catch(e => {
|
|
164
166
|
var _a, _b, _c;
|
|
@@ -190,33 +192,30 @@ export class VerdocsSign {
|
|
|
190
192
|
break;
|
|
191
193
|
case 'signature':
|
|
192
194
|
console.log('Got signature', e.detail);
|
|
195
|
+
const newSignature = await createSignature(this.endpoint, 'signature', e.detail);
|
|
196
|
+
console.log('Created signature', newSignature);
|
|
197
|
+
// --data-raw '{"ip_address":"ip_unavailable"}' \
|
|
198
|
+
const attachResult = await updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);
|
|
199
|
+
console.log('Attach result', attachResult);
|
|
200
|
+
break;
|
|
201
|
+
case 'date':
|
|
202
|
+
const iso = e.target.getAttribute('iso');
|
|
203
|
+
Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, { prepared: false, value: iso })
|
|
204
|
+
.then(r => console.log('Update result', r))
|
|
205
|
+
.catch(e => {
|
|
206
|
+
var _a, _b, _c, _d, _e, _f;
|
|
207
|
+
(_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));
|
|
208
|
+
if (((_d = e.response) === null || _d === void 0 ? void 0 : _d.status) === 401 && ((_f = (_e = e.response) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.error) === 'jwt expired') {
|
|
209
|
+
console.log('jwt expired');
|
|
210
|
+
}
|
|
211
|
+
console.log('Error updating', e);
|
|
212
|
+
});
|
|
213
|
+
break;
|
|
214
|
+
default:
|
|
215
|
+
console.log('Unhandled field update', { value, checked }, field);
|
|
193
216
|
break;
|
|
194
217
|
}
|
|
195
218
|
}
|
|
196
|
-
renderCheckboxGroupOption(page, field, option) {
|
|
197
|
-
const left = rescale(page.xScale, option.x);
|
|
198
|
-
const bottom = rescale(page.yScale, option.y);
|
|
199
|
-
const style = {
|
|
200
|
-
left: `${left}px`,
|
|
201
|
-
bottom: `${bottom}px`,
|
|
202
|
-
position: 'absolute',
|
|
203
|
-
transform: `scale(${page.xScale}, ${page.yScale})`,
|
|
204
|
-
backgroundColor: getRGBA(this.recipientIndex),
|
|
205
|
-
};
|
|
206
|
-
return h("verdocs-field-checkbox", { style: style, field: field, onChange: e => this.handleFieldChange(field, e, option.id) });
|
|
207
|
-
}
|
|
208
|
-
renderRadioGroupOption(page, field, option) {
|
|
209
|
-
const left = rescale(page.xScale, option.x);
|
|
210
|
-
const bottom = rescale(page.yScale, option.y);
|
|
211
|
-
const style = {
|
|
212
|
-
left: `${left}px`,
|
|
213
|
-
bottom: `${bottom}px`,
|
|
214
|
-
position: 'absolute',
|
|
215
|
-
transform: `scale(${page.xScale}, ${page.yScale})`,
|
|
216
|
-
backgroundColor: getRGBA(this.recipientIndex),
|
|
217
|
-
};
|
|
218
|
-
return h("verdocs-field-radio-button", { style: style, field: field, onFieldChange: e => this.handleFieldChange(field, e, option.id) });
|
|
219
|
-
}
|
|
220
219
|
isFieldValid(field) {
|
|
221
220
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
222
221
|
switch (field.type) {
|
|
@@ -277,78 +276,31 @@ export class VerdocsSign {
|
|
|
277
276
|
this.focusedField = nextRequiredField.name;
|
|
278
277
|
}
|
|
279
278
|
}
|
|
280
|
-
renderField(field, docPage /*, index: number*/) {
|
|
281
|
-
const controlsDiv = document.getElementById(docPage.containerId + '-controls');
|
|
282
|
-
if (!controlsDiv) {
|
|
283
|
-
return;
|
|
284
|
-
}
|
|
285
|
-
const id = getFieldId(field);
|
|
286
|
-
const existingField = document.getElementById(id);
|
|
287
|
-
console.log('field', id, existingField);
|
|
288
|
-
if (existingField) {
|
|
289
|
-
setControlStyles(existingField, field, docPage.xScale, docPage.yScale);
|
|
290
|
-
return;
|
|
291
|
-
}
|
|
292
|
-
let el;
|
|
293
|
-
switch (field.type) {
|
|
294
|
-
case 'attachment':
|
|
295
|
-
case 'checkbox_group':
|
|
296
|
-
case 'date':
|
|
297
|
-
case 'dropdown':
|
|
298
|
-
case 'initial':
|
|
299
|
-
case 'payment':
|
|
300
|
-
case 'signature':
|
|
301
|
-
case 'timestamp':
|
|
302
|
-
case 'textarea':
|
|
303
|
-
case 'textbox':
|
|
304
|
-
el = document.createElement(`verdocs-field-${field.type}`);
|
|
305
|
-
break;
|
|
306
|
-
// return field.settings.options.map((option: any, index) => this.renderCheckboxGroupOption(renderOnPage, field, option, index));
|
|
307
|
-
case 'radio_button_group':
|
|
308
|
-
// el = document.createElement('verdocs-field-signature');
|
|
309
|
-
// el.setAttribute('value', base64);
|
|
310
|
-
break;
|
|
311
|
-
// return field.settings.options.map((option: any, index) => this.renderRadioGroupOption(renderOnPage, field, option, index));
|
|
312
|
-
// case 'attachment':
|
|
313
|
-
// el = document.createElement('verdocs-field-attachment');
|
|
314
|
-
// el.setAttribute('value', result || '');
|
|
315
|
-
// break;
|
|
316
|
-
// case 'payment':
|
|
317
|
-
// el = document.createElement('verdocs-field-payment');
|
|
318
|
-
// break;
|
|
319
|
-
default:
|
|
320
|
-
console.log('[SIGN] Skipping unsupported field type', field);
|
|
321
|
-
}
|
|
322
|
-
console.log('created field', el);
|
|
323
|
-
if (el) {
|
|
324
|
-
el.field = field;
|
|
325
|
-
el.recipient = this.recipient;
|
|
326
|
-
el.setAttribute('id', id);
|
|
327
|
-
el.setAttribute('roleindex', this.recipientIndex);
|
|
328
|
-
el.addEventListener('fieldChange', e => this.handleFieldChange(field, e));
|
|
329
|
-
setControlStyles(el, field, docPage.xScale, docPage.yScale);
|
|
330
|
-
controlsDiv.appendChild(el);
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
279
|
handlePageRendered(e) {
|
|
334
280
|
const pageInfo = e.detail;
|
|
335
281
|
console.log('[SIGN] Page rendered', pageInfo);
|
|
336
|
-
const
|
|
282
|
+
const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);
|
|
283
|
+
console.log('rendering fields for recipient', roleIndex);
|
|
284
|
+
const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);
|
|
337
285
|
// const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
|
|
338
|
-
console.log('[SIGN] Fields on page',
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
// const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(this.roles, field.role_name), this.handleFieldChange, true, true, true);
|
|
286
|
+
console.log('[SIGN] Fields on page', recipientFields);
|
|
287
|
+
recipientFields.forEach(field => {
|
|
288
|
+
var _a;
|
|
289
|
+
const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: false, editable: false, draggable: false });
|
|
343
290
|
if (!el) {
|
|
344
291
|
return;
|
|
345
292
|
}
|
|
346
|
-
el.addEventListener('
|
|
347
|
-
|
|
348
|
-
|
|
293
|
+
el.addEventListener('input', e => {
|
|
294
|
+
this.handleFieldChange(field, e);
|
|
295
|
+
});
|
|
296
|
+
el.addEventListener('fieldChange', e => {
|
|
297
|
+
this.handleFieldChange(field, e);
|
|
349
298
|
});
|
|
350
|
-
el.setAttribute('
|
|
351
|
-
el.setAttribute('
|
|
299
|
+
el.setAttribute('roleindex', roleIndex);
|
|
300
|
+
el.setAttribute('xScale', pageInfo.xScale);
|
|
301
|
+
el.setAttribute('yScale', pageInfo.yScale);
|
|
302
|
+
el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');
|
|
303
|
+
el.setAttribute('name', ((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.full_name) || '');
|
|
352
304
|
// interact(el).draggable({
|
|
353
305
|
// listeners: {
|
|
354
306
|
// start(event) {
|
|
@@ -374,21 +326,29 @@ export class VerdocsSign {
|
|
|
374
326
|
// },
|
|
375
327
|
// });
|
|
376
328
|
});
|
|
329
|
+
EnvelopeStore.envelope.recipients
|
|
330
|
+
.filter(recipient => recipient.role_name !== this.recipient.role_name)
|
|
331
|
+
.map(otherRecipient => {
|
|
332
|
+
const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);
|
|
333
|
+
console.log('Rendering fields for other recipient', otherRoleIndex, otherRecipient);
|
|
334
|
+
const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);
|
|
335
|
+
// const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
|
|
336
|
+
console.log('[SIGN] Fields on page', recipientFields);
|
|
337
|
+
recipientFields.forEach(field => {
|
|
338
|
+
const el = renderDocumentField(field, pageInfo, otherRoleIndex, { disabled: true, editable: false, draggable: false });
|
|
339
|
+
if (!el) {
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
el.setAttribute('roleindex', otherRoleIndex);
|
|
343
|
+
el.setAttribute('xScale', pageInfo.xScale);
|
|
344
|
+
el.setAttribute('yScale', pageInfo.yScale);
|
|
345
|
+
});
|
|
346
|
+
});
|
|
377
347
|
}
|
|
378
|
-
// handlePageRendered(e) {
|
|
379
|
-
// const pageInfo = e.detail as IPageRenderEvent;
|
|
380
|
-
// console.log('[SIGN] Page rendered', pageInfo);
|
|
381
|
-
//
|
|
382
|
-
// const fields = this.fields.filter(field => field.page === pageInfo.renderedPage.pageNumber);
|
|
383
|
-
// console.log('[SIGN] Fields on page', fields);
|
|
384
|
-
// fields.forEach(field => this.renderField(field, pageInfo.renderedPage));
|
|
385
|
-
// // .map((field, index) => this.renderField(field, index));
|
|
386
|
-
// // this.pdfPageInfo = e.detail;
|
|
387
|
-
// }
|
|
388
348
|
render() {
|
|
389
|
-
var _a, _b, _c, _d
|
|
390
|
-
if (!
|
|
391
|
-
return h(Host, null);
|
|
349
|
+
var _a, _b, _c, _d;
|
|
350
|
+
if (EnvelopeStore.loading || !EnvelopeStore.envelope) {
|
|
351
|
+
return (h(Host, null, h("verdocs-loader", null)));
|
|
392
352
|
}
|
|
393
353
|
const menuOptions = [
|
|
394
354
|
{ id: 'later', label: 'Finish Later' },
|
|
@@ -397,14 +357,14 @@ export class VerdocsSign {
|
|
|
397
357
|
{ id: 'print', label: 'Print Without Signing' },
|
|
398
358
|
{ id: 'download', label: 'Download' },
|
|
399
359
|
];
|
|
400
|
-
return (h(Host, { class: { agreed: (_a = this.recipient) === null || _a === void 0 ? void 0 : _a.agreed } }, 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" }, 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("
|
|
360
|
+
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" }, !this.finishLater && (h("div", { class: "toolbar" }, h("div", { class: "tools" }, 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("div", { style: { flex: '1' } })), h("verdocs-button", { size: "small", label: this.nextButtonLabel, disabled: !((_c = this.recipient) === null || _c === void 0 ? void 0 : _c.agreed), onClick: () => this.handleNext() })))))), !((_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 => {
|
|
401
361
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
|
402
362
|
pages.sort((a, b) => a.sequence - b.sequence);
|
|
403
363
|
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: [
|
|
404
364
|
{ name: 'page', type: 'canvas' },
|
|
405
365
|
{ name: 'controls', type: 'div' },
|
|
406
366
|
] })))));
|
|
407
|
-
})))));
|
|
367
|
+
})), 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) }))));
|
|
408
368
|
}
|
|
409
369
|
static get is() { return "verdocs-sign"; }
|
|
410
370
|
static get originalStyleUrls() {
|
|
@@ -479,12 +439,11 @@ export class VerdocsSign {
|
|
|
479
439
|
return {
|
|
480
440
|
"recipient": {},
|
|
481
441
|
"signerToken": {},
|
|
482
|
-
"recipientIndex": {},
|
|
483
|
-
"envelope": {},
|
|
484
|
-
"fields": {},
|
|
485
442
|
"hasSignature": {},
|
|
486
443
|
"nextButtonLabel": {},
|
|
487
|
-
"focusedField": {}
|
|
444
|
+
"focusedField": {},
|
|
445
|
+
"finishLater": {},
|
|
446
|
+
"showFinishLater": {}
|
|
488
447
|
};
|
|
489
448
|
}
|
|
490
449
|
static get events() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdocs-sign.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAC,KAAK,EAAgB,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAGrG,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;sBAKG,IAAI;kBAKR,IAAI;sBAKA,IAAI;qBAcA,IAAI;uBACrB,IAAI;0BACO,CAAC,CAAC;oBACE,IAAI;kBACN,EAAE;wBACd,KAAK;2BACF,OAAO;wBACV,EAAE;;EAE1B,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,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;MAE9D,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,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;MAC7E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;MACzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;MAEhD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;MAC1G,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;OAC/E;MAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;MACzF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;MAE1C,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,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,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,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;MAChC,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,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAEjH,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,MAAM,GAAG,GAAG,+BAA+B,IAAI,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,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,sFAAsF;QACtF,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,eAAe,CAAC,CAAA,EAAE;UAC9B,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAC7C;QACD,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,KAAK,CAAC,iBAAiB,CAAC,KAAqB,EAAE,CAAM,EAAE,QAAiB;IACtE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,QAAQ,KAAK,CAAC,IAAI,EAAE;MAClB,KAAK,SAAS;QACZ,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAC,CAAC;WAC1G,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;WAC1C,KAAK,CAAC,CAAC,CAAC,EAAE;;UACT,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;UACnF,IAAI,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,CAAA,MAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,MAAK,aAAa,EAAE;YAC3E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;WAC5B;UACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACL,MAAM;MAER,KAAK,gBAAgB;QACnB,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAC,CAAC,EAAC,EAAC,CAAC;WAChJ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;WAC1C,KAAK,CAAC,CAAC,CAAC,EAAE;;UACT,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;UACnF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACL,MAAM;MAER,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,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAC,OAAO,EAAC,EAAC,CAAC;WAC3G,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;WAC1C,KAAK,CAAC,CAAC,CAAC,EAAE;;UACT,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;UACnF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACL,MAAM;MAER,KAAK,UAAU;QACb,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAC,CAAC;WAC1G,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;WAC1C,KAAK,CAAC,CAAC,CAAC,EAAE;;UACT,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;UACnF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACL,MAAM;MAER,KAAK,SAAS;QACZ,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM;MAER,KAAK,WAAW;QACd,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM;KACT;EACH,CAAC;EAED,yBAAyB,CAAC,IAAuB,EAAE,KAAqB,EAAE,MAAW;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG;MACZ,IAAI,EAAE,GAAG,IAAI,IAAI;MACjB,MAAM,EAAE,GAAG,MAAM,IAAI;MACrB,QAAQ,EAAE,UAAU;MACpB,SAAS,EAAE,SAAS,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,GAAG;MAClD,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KACvC,CAAC;IAET,OAAO,8BAAwB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAI,CAAC;EAC5H,CAAC;EAED,sBAAsB,CAAC,IAAuB,EAAE,KAAqB,EAAE,MAAW;IAChF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG;MACZ,IAAI,EAAE,GAAG,IAAI,IAAI;MACjB,MAAM,EAAE,GAAG,MAAM,IAAI;MACrB,QAAQ,EAAE,UAAU;MACpB,SAAS,EAAE,SAAS,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,GAAG;MAClD,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KACvC,CAAC;IAET,OAAO,kCAA4B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAI,CAAC;EACrI,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,CAAC;MACf,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;MAClC,KAAK,UAAU;QACb,OAAO,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,KAAK,CAAA,CAAC;MACjC,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;MAClH,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,iBAAiB;EACjB,iEAAiE;EACjE,oEAAoE;EACpE,4BAA4B;EAC5B,QAAQ;EAER,UAAU;IACR,oDAAoD;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAE3C,IAAI,gBAAgB,GAAG,YAAY,GAAG,CAAC,CAAC;IACxC,IAAI,gBAAgB,IAAI,cAAc,CAAC,MAAM,EAAE;MAC7C,gBAAgB,GAAG,CAAC,CAAC;KACtB;IAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IAEtD,IAAI,iBAAiB,EAAE;MACrB,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;MACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAQ,CAAC;MAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;MAChC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,EAAE,CAAC;MACjB,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;KAC5C;EACH,CAAC;EAED,WAAW,CAAC,KAAqB,EAAE,OAA0B,CAAC,mBAAmB;IAC/E,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;IAC/E,IAAI,CAAC,WAAW,EAAE;MAChB,OAAO;KACR;IAED,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACxC,IAAI,aAAa,EAAE;MACjB,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;MACvE,OAAO;KACR;IAED,IAAI,EAAE,CAAC;IACP,QAAQ,KAAK,CAAC,IAAI,EAAE;MAClB,KAAK,YAAY,CAAC;MAClB,KAAK,gBAAgB,CAAC;MACtB,KAAK,MAAM,CAAC;MACZ,KAAK,UAAU,CAAC;MAChB,KAAK,SAAS,CAAC;MACf,KAAK,SAAS,CAAC;MACf,KAAK,WAAW,CAAC;MACjB,KAAK,WAAW,CAAC;MACjB,KAAK,UAAU,CAAC;MAChB,KAAK,SAAS;QACZ,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM;MACR,mIAAmI;MACnI,KAAK,oBAAoB;QACvB,4DAA4D;QAC5D,sCAAsC;QACtC,MAAM;MACR,gIAAgI;MAChI,qBAAqB;MACrB,6DAA6D;MAC7D,4CAA4C;MAC5C,WAAW;MACX,kBAAkB;MAClB,0DAA0D;MAC1D,WAAW;MACX;QACE,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;KAChE;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEjC,IAAI,EAAE,EAAE;MACN,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;MACjB,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;MAC9B,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;MAC1B,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;MAClD,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC1E,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;MAC5D,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KAC7B;EACH,CAAC;EAED,kBAAkB,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAA0B,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9G,wGAAwG;IACxG,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;MACrB,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;MAC/J,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;MACpC,qJAAqJ;MACrJ,IAAI,CAAC,EAAE,EAAE;QACP,OAAO;OACR;MAED,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE;QAC1C,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,oEAAoE;MACtE,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;MACxD,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;MAExD,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;EACL,CAAC;EACD,0BAA0B;EAC1B,mDAAmD;EACnD,mDAAmD;EACnD,EAAE;EACF,iGAAiG;EACjG,kDAAkD;EAClD,6EAA6E;EAC7E,+DAA+D;EAC/D,oCAAoC;EACpC,IAAI;EAEJ,MAAM;;IACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;MAClB,OAAO,EAAC,IAAI,OAAG,CAAC;KACjB;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,EAAC;MAC7C,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;MAC3C,WAAK,KAAK,EAAC,OAAO;QAChB,WAAK,KAAK,EAAC,OAAO,gDAAgD,CAC9D;MAEN,WAAK,KAAK,EAAC,QAAQ;QACjB,WAAK,KAAK,EAAC,OAAO;UAChB,WAAK,KAAK,EAAC,SAAS;YAClB,WAAK,KAAK,EAAC,OAAO;cAChB,wBAAkB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAI;cAE9F,CAAC,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAA,CAAC,CAAC,CAAC,CACzB,WAAK,KAAK,EAAC,OAAO;gBAChB,WAAK,KAAK,EAAC,gBAAgB;kBACzB,aAAO,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,EAAC,EAAE,EAAC,wBAAwB,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAI;kBACxH,aAAO,OAAO,EAAC,wBAAwB,GAAG,CACtC;gBACN,oEAA8D,CAC1D,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,GAAI,CAC5B;cACD,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,CACF,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;QACnB,WAAK,KAAK,EAAC,OAAO,IACf,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,SAAS,KAAI,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;UACvD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC;UACnD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;UAE9C,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;cACN,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC;cAC9B,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAC;aAChC,GACD,CACH,CAAC,CACO,CACZ,CAAC;QACJ,CAAC,CAAC,CACE,CACF,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["// import interact from 'interactjs';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {rescale} from '@verdocs/js-sdk/Utils/Fields';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {IEnvelope, IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {getFieldId, getRoleIndex, renderDocumentField, setControlStyles} from '../../../utils/utils';\n// import {getFieldId, getRoleIndex, renderDocumentField, setControlStyles, updateCssTransform} from '../../../utils/utils';\nimport {IPageRenderEvent} from '../verdocs-view/verdocs-view';\nimport TemplateStore from '../../../utils/templateStore';\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() recipientIndex: number = -1;\n @State() envelope: IEnvelope | null = null;\n @State() fields: IDocumentField[] = [];\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() focusedField = '';\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 this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\n\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 const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n this.envelope = envelope;\n console.log('[SIGN] Loaded envelope', envelope);\n\n this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n console.log('Found recipient', this.envelope.recipients[this.recipientIndex]);\n }\n\n this.fields = this.envelope.fields.filter(field => field.recipient_role === this.roleId);\n console.log('Loaded fields', this.fields);\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 console.log('agree clicked');\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n console.log('update result', 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 = `${this.envelope.name} - ${this.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, this.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 const url = `data:application/pdf;base64,${data}`;\n console.log('url', url.length, url);\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.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n if (!window?.['STORYBOOK_ENV']) {\n window.alert('User intends to sign later.');\n }\n break;\n case 'claim':\n break;\n case 'decline':\n break;\n case 'print':\n break;\n case 'download':\n this.savePDF().catch(() => {});\n break;\n }\n }\n\n async handleFieldChange(field: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e);\n switch (field.type) {\n case 'textbox':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n case 'checkbox_group':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options: [{id: optionId, checked: e.detail}]}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'dropdown':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'initial':\n console.log('Got initial', e.detail);\n break;\n\n case 'signature':\n console.log('Got signature', e.detail);\n break;\n }\n }\n\n renderCheckboxGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-checkbox style={style} field={field} onChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n renderRadioGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-radio-button style={style} field={field} onFieldChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n isFieldValid(field: IDocumentField) {\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(field.settings?.result || '');\n case 'phone':\n return isValidPhone(field.settings?.result || '');\n default:\n return !!field.settings?.result;\n }\n\n case 'signature':\n case 'initial':\n case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n case 'dropdown':\n return !!field.settings?.value;\n case 'checkbox_group':\n const checked = (field.settings?.options?.filter(option => option.checked) || []).length;\n return checked >= (field.settings?.minimum_checked || 0) && checked <= (field.settings?.maximum_checked || 999);\n case 'radio_button_group':\n return (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n // (async () => {\n // await customElements.whenDefined('verdocs-field-signature');\n // const els = document.getElementById('verdocs-field-signature');\n // await els.focusField();\n // })();\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n console.log('required Fields', requiredFields);\n\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n console.log('focused Index', focusedIndex);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n const nextRequiredField = requiredFields[nextFocusedIndex];\n console.log('next required field', nextRequiredField);\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n console.log('focusing', id, el);\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n renderField(field: IDocumentField, docPage: IDocumentPageInfo /*, index: number*/) {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n console.log('field', id, existingField);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return;\n }\n\n let el;\n switch (field.type) {\n case 'attachment':\n case 'checkbox_group':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox':\n el = document.createElement(`verdocs-field-${field.type}`);\n break;\n // return field.settings.options.map((option: any, index) => this.renderCheckboxGroupOption(renderOnPage, field, option, index));\n case 'radio_button_group':\n // el = document.createElement('verdocs-field-signature');\n // el.setAttribute('value', base64);\n break;\n // return field.settings.options.map((option: any, index) => this.renderRadioGroupOption(renderOnPage, field, option, index));\n // case 'attachment':\n // el = document.createElement('verdocs-field-attachment');\n // el.setAttribute('value', result || '');\n // break;\n // case 'payment':\n // el = document.createElement('verdocs-field-payment');\n // break;\n default:\n console.log('[SIGN] Skipping unsupported field type', field);\n }\n console.log('created field', el);\n\n if (el) {\n el.field = field;\n el.recipient = this.recipient;\n el.setAttribute('id', id);\n el.setAttribute('roleindex', this.recipientIndex);\n el.addEventListener('fieldChange', e => this.handleFieldChange(field, e));\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IPageRenderEvent;\n console.log('[SIGN] Page rendered', pageInfo);\n\n const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', fields);\n fields.forEach(field => {\n const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(TemplateStore.roleNames, field.role_name), this.handleFieldChange, true, true, true);\n console.log('rendered element', el);\n // const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(this.roles, field.role_name), this.handleFieldChange, true, true, true);\n if (!el) {\n return;\n }\n\n el.addEventListener('recipientChanged', e => {\n el.setAttribute('roleindex', getRoleIndex(TemplateStore.roleNames, e.detail));\n // el.setAttribute('roleindex', getRoleIndex(this.roles, e.detail));\n });\n\n el.setAttribute('xScale', pageInfo.renderedPage.xScale);\n el.setAttribute('yScale', pageInfo.renderedPage.yScale);\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 // handlePageRendered(e) {\n // const pageInfo = e.detail as IPageRenderEvent;\n // console.log('[SIGN] Page rendered', pageInfo);\n //\n // const fields = this.fields.filter(field => field.page === pageInfo.renderedPage.pageNumber);\n // console.log('[SIGN] Fields on page', fields);\n // fields.forEach(field => this.renderField(field, pageInfo.renderedPage));\n // // .map((field, index) => this.renderField(field, index));\n // // this.pdfPageInfo = e.detail;\n // }\n\n render() {\n if (!this.envelope) {\n return <Host />;\n }\n\n const menuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{agreed: this.recipient?.agreed}}>\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n\n <div class=\"header\">\n <div class=\"inner\">\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 <div class=\"agree-checkbox\">\n <input type=\"checkbox\" value=\"None\" id=\"agree-checkbox-element\" name=\"agree\" onChange={() => this.handleClickAgree()} />\n <label htmlFor=\"agree-checkbox-element\" />\n </div>\n <span>I agree to use electronic records and signatures.</span>\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 </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n <div class=\"inner\">\n {(this.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 </div>\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 {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {fullNameToInitials, getFieldId, getRoleIndex, renderDocumentField} from '../../../utils/utils';\nimport EnvelopeStore from '../../../utils/envelopeStore';\nimport {getEnvelopeById} from '../../../utils/Envelopes';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\nimport {createSignature} from '@verdocs/js-sdk/Envelopes/Signatures';\nimport {updateEnvelopeFieldSignature} from '@verdocs/js-sdk/Envelopes/Envelopes';\n\n/**\n * Display an envelope signing experience. This will display the envelope's attached\n * documents with signing fields overlaid on each page.\n *\n * The component will attempt to initiate a signing session and load the specified\n * envelope. If successful, the recipient's fields will be enabled and the user will\n * be able to sign the envelope's attached documents. If not, an `sdkError` will be\n * thrown and the component will be blank/empty. To provide the best user experience,\n * applications should capture and handle this error to provide the user with\n * instructions/options for next steps based on the application's design and workflow.\n *\n * Unlike other components, this will always create its own endpoint to manage the\n * session session. This endpoint will be included in event callbacks for the\n * convenience of host applications that may wish to make server calls using the\n * signer's credentials once signing is complete (e.g. to obtain copies of\n * the signed attachments.)\n */\n@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n endpoint: VerdocsEndpoint = null;\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop() envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop() roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop() inviteCode: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when any field is updated. Note that the current active endpoint is\n * provided as a parameter as a convenience for callers when this coimponent\n */\n @Event({composed: true}) fieldUpdated: EventEmitter<{endpoint: VerdocsEndpoint}>;\n\n @State() recipient: IRecipient | null = null;\n @State() signerToken = null;\n // @State() envelope: IEnvelope | null = null;\n // @State() fields: IDocumentField[] = [];\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() focusedField = '';\n\n @State() finishLater = false;\n @State() showFinishLater = false;\n\n recipientIndex: number = -1;\n fields: IDocumentField[] = [];\n\n componentWillLoad() {\n this.endpoint = new VerdocsEndpoint({sessionType: 'signing'});\n }\n\n async componentDidLoad() {\n if (!this.envelopeId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required envelopId', 500, ''));\n return;\n }\n\n if (!this.roleId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required roleId', 500, ''));\n return;\n }\n\n if (!this.inviteCode) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required inviteCode', 500, ''));\n return;\n }\n\n try {\n console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);\n const {session, recipient, signerToken} = await Envelopes.getSigningSession(this.endpoint, {\n envelopeId: this.envelopeId,\n roleId: this.roleId,\n inviteCode: this.inviteCode,\n });\n\n console.log(`[SIGN] Loaded signing session ${session.email} / ${session.profile_id}`);\n\n this.recipient = recipient;\n this.signerToken = signerToken;\n this.endpoint.setToken(signerToken);\n\n if (this.recipient.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n await getEnvelopeById(this.endpoint, this.envelopeId);\n // const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n // this.envelope = envelope;\n // console.log('[SIGN] Loaded envelope', envelope);\n\n this.recipientIndex = EnvelopeStore.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n this.recipient = EnvelopeStore.envelope.recipients[this.recipientIndex];\n this.fields = this.recipient.fields;\n }\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n } catch (e) {\n console.log('Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleClickAgree() {\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n })\n .catch(e => {\n console.log('Update failure', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async savePDF() {\n const fileName = `${EnvelopeStore.envelope.name} - ${EnvelopeStore.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, EnvelopeStore.envelope.envelope_document_id);\n\n // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique\n // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'blob';\n xhr.onload = function () {\n let a = document.createElement('a');\n a.href = window.URL.createObjectURL(xhr.response);\n a.download = fileName;\n a.style.display = 'none';\n document.body.appendChild(a);\n a.click();\n a.remove();\n };\n\n xhr.open('GET', `data:application/pdf;base64,${data}`);\n xhr.send();\n }\n\n async handleOptionSelected(e) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n // if (!window?.['STORYBOOK_ENV']) {\n // window.alert('User intends to sign later.');\n // }\n break;\n case 'claim':\n break;\n case 'decline':\n break;\n case 'print':\n break;\n case 'download':\n this.savePDF().catch(() => {});\n break;\n }\n }\n\n async handleFieldChange(field: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e);\n const {value, checked} = e.target;\n\n switch (field.type) {\n case 'textbox':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n case 'checkbox_group':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options: [{id: optionId, checked}]}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'dropdown':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'initial':\n console.log('Got initial', e.detail);\n break;\n\n case 'signature':\n console.log('Got signature', e.detail);\n\n const newSignature = await createSignature(this.endpoint, 'signature', e.detail);\n console.log('Created signature', newSignature);\n\n // --data-raw '{\"ip_address\":\"ip_unavailable\"}' \\\n const attachResult = await updateEnvelopeFieldSignature(this.endpoint, this.envelopeId, field.name, newSignature.id);\n console.log('Attach result', attachResult);\n break;\n\n case 'date':\n const iso = e.target.getAttribute('iso');\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: iso})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n default:\n console.log('Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n isFieldValid(field: IDocumentField) {\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(field.settings?.result || '');\n case 'phone':\n return isValidPhone(field.settings?.result || '');\n default:\n return !!field.settings?.result;\n }\n\n case 'signature':\n case 'initial':\n case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n case 'dropdown':\n return !!field.settings?.value;\n case 'checkbox_group':\n const checked = (field.settings?.options?.filter(option => option.checked) || []).length;\n return checked >= (field.settings?.minimum_checked || 0) && checked <= (field.settings?.maximum_checked || 999);\n case 'radio_button_group':\n return (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n // (async () => {\n // await customElements.whenDefined('verdocs-field-signature');\n // const els = document.getElementById('verdocs-field-signature');\n // await els.focusField();\n // })();\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n console.log('required Fields', requiredFields);\n\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n console.log('focused Index', focusedIndex);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n const nextRequiredField = requiredFields[nextFocusedIndex];\n console.log('next required field', nextRequiredField);\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n console.log('focusing', id, el);\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IDocumentPageInfo;\n console.log('[SIGN] Page rendered', pageInfo);\n\n const roleIndex = getRoleIndex(EnvelopeStore.roleNames, this.recipient.role_name);\n console.log('rendering fields for recipient', roleIndex);\n const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', recipientFields);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, roleIndex, {disabled: false, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.addEventListener('input', e => {\n this.handleFieldChange(field, e);\n });\n\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e);\n });\n\n el.setAttribute('roleindex', roleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n el.setAttribute('initials', this.recipient ? fullNameToInitials(this.recipient.full_name) : '');\n el.setAttribute('name', this.recipient?.full_name || '');\n\n // interact(el).draggable({\n // listeners: {\n // start(event) {\n // console.log('[FIELDS] Drag started', event.type, event.target);\n // },\n // move(event) {\n // const oldX = +(event.target.getAttribute('posX') || 0);\n // const oldY = +(event.target.getAttribute('posY') || 0);\n // const xScale = +(event.target.getAttribute('xScale') || 1);\n // const yScale = +(event.target.getAttribute('yScale') || 1);\n // const newX = event.dx / xScale + oldX;\n // const newY = event.dy / yScale + oldY;\n // event.target.setAttribute('posX', newX);\n // event.target.setAttribute('posy', newY);\n // updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);\n // },\n // end(event) {\n // console.log('[FIELDS] Drag ended', event);\n // // event.target.setAttribute('posX', 0);\n // // event.target.setAttribute('posy', 0);\n // // updateCssTransform(event.target, 'translate', `${0}px, ${0}px`);\n // },\n // },\n // });\n });\n\n EnvelopeStore.envelope.recipients\n .filter(recipient => recipient.role_name !== this.recipient.role_name)\n .map(otherRecipient => {\n const otherRoleIndex = getRoleIndex(EnvelopeStore.roleNames, otherRecipient.role_name);\n console.log('Rendering fields for other recipient', otherRoleIndex, otherRecipient);\n const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);\n // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', recipientFields);\n recipientFields.forEach(field => {\n const el = renderDocumentField(field, pageInfo, otherRoleIndex, {disabled: true, editable: false, draggable: false});\n if (!el) {\n return;\n }\n\n el.setAttribute('roleindex', otherRoleIndex);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n });\n });\n }\n\n render() {\n if (EnvelopeStore.loading || !EnvelopeStore.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n const menuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{agreed: this.recipient?.agreed}}>\n {!this.finishLater && (\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n )}\n\n <div class=\"header\">\n <div class=\"inner\">\n {!this.finishLater && (\n <div class=\"toolbar\">\n <div class=\"tools\">\n <verdocs-dropdown options={menuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n\n {!this.recipient?.agreed ? (\n <div class=\"agree\">\n <verdocs-checkbox name=\"agree\" label=\"I agree to use electronic records and signatures.\" onInput={() => this.handleClickAgree()} />\n </div>\n ) : (\n <div style={{flex: '1'}} />\n )}\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n </div>\n </div>\n )}\n </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n {(EnvelopeStore.envelope.documents || []).map(envelopeDocument => {\n const pages = [...(envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n return (\n <Fragment>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n pageNumber={page.sequence}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n ))}\n </Fragment>\n );\n })}\n </div>\n\n {this.showFinishLater && (\n <verdocs-ok-dialog\n heading=\"You've saved your document to finish later.\"\n message=\"To complete the document, use the link in the original email notification inviting you to review and finish the document.\"\n onNext={() => (this.showFinishLater = false)}\n />\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -3,9 +3,9 @@ export default {
|
|
|
3
3
|
title: 'Embeds/Sign',
|
|
4
4
|
component: 'verdocs-sign',
|
|
5
5
|
args: {
|
|
6
|
-
envelopeId: '
|
|
6
|
+
envelopeId: '92f3dd1e-9ff2-44c3-8c96-32a5b650ed6d',
|
|
7
7
|
roleId: 'Seller',
|
|
8
|
-
inviteCode: '
|
|
8
|
+
inviteCode: '67aad4b04fbb83c03d238f7404113b6b',
|
|
9
9
|
},
|
|
10
10
|
argTypes: {
|
|
11
11
|
envelopeId: { control: { type: 'string' } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdocs-sign.stories.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,aAAa;EACpB,SAAS,EAAE,cAAc;EACzB,IAAI,EAAE;IACJ,UAAU,EAAE,sCAAsC;IAClD,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,kCAAkC;GAC/C;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;IACvC,MAAM,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;IACnC,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;GACxC;EACD,UAAU,EAAE;IACV,MAAM,EAAE,YAAY;GACrB;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC,EAAE,EAAE,CAAC,IAAI,CAAA,6BAA6B,UAAU,YAAY,MAAM,gBAAgB,UAAU,KAAK,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Embeds/Sign',\n component: 'verdocs-sign',\n args: {\n envelopeId: '
|
|
1
|
+
{"version":3,"file":"verdocs-sign.stories.js","sourceRoot":"","sources":["../../../../src/components/embeds/verdocs-sign/verdocs-sign.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAG9B,eAAe;EACb,KAAK,EAAE,aAAa;EACpB,SAAS,EAAE,cAAc;EACzB,IAAI,EAAE;IACJ,UAAU,EAAE,sCAAsC;IAClD,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,kCAAkC;GAC/C;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;IACvC,MAAM,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;IACnC,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC;GACxC;EACD,UAAU,EAAE;IACV,MAAM,EAAE,YAAY;GACrB;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC,EAAE,EAAE,CAAC,IAAI,CAAA,6BAA6B,UAAU,YAAY,MAAM,gBAAgB,UAAU,KAAK,CAAC","sourcesContent":["import {html} from 'lit-html';\nimport {Meta} from '@storybook/web-components';\n\nexport default {\n title: 'Embeds/Sign',\n component: 'verdocs-sign',\n args: {\n envelopeId: '92f3dd1e-9ff2-44c3-8c96-32a5b650ed6d',\n roleId: 'Seller',\n inviteCode: '67aad4b04fbb83c03d238f7404113b6b',\n },\n argTypes: {\n envelopeId: {control: {type: 'string'}},\n roleId: {control: {type: 'string'}},\n inviteCode: {control: {type: 'string'}},\n },\n parameters: {\n layout: 'fullscreen',\n },\n} as Meta;\n\nexport const Sign = ({envelopeId, roleId, inviteCode}) => html`<verdocs-sign .envelopeId=${envelopeId} .roleId=${roleId} .inviteCode=${inviteCode} />`;\n"]}
|
|
@@ -206,15 +206,13 @@ export class VerdocsView {
|
|
|
206
206
|
// const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
|
|
207
207
|
console.log('[SIGN] Fields on page', fields);
|
|
208
208
|
fields.forEach(field => {
|
|
209
|
-
const el = renderDocumentField(field, pageInfo, getRoleIndex(EnvelopeStore.roleNames, field.recipient_role),
|
|
210
|
-
console.log('rendered element', el);
|
|
211
|
-
// const el = renderDocumentField(field, pageInfo.renderedPage, getRoleIndex(this.roles, field.role_name), this.handleFieldChange, true, true, true);
|
|
209
|
+
const el = renderDocumentField(field, pageInfo, getRoleIndex(EnvelopeStore.roleNames, field.recipient_role), { disabled: true, editable: false, draggable: false });
|
|
212
210
|
if (!el) {
|
|
213
211
|
return;
|
|
214
212
|
}
|
|
215
|
-
el.addEventListener('
|
|
216
|
-
|
|
217
|
-
|
|
213
|
+
el.addEventListener('input', e => {
|
|
214
|
+
console.log('Field input', e.target.value, e.target);
|
|
215
|
+
this.handleFieldChange(field, e);
|
|
218
216
|
});
|
|
219
217
|
el.setAttribute('xScale', pageInfo.xScale);
|
|
220
218
|
el.setAttribute('yScale', pageInfo.yScale);
|