@verdocs/web-sdk 6.5.0-beta.14 → 6.5.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index-CQ5bTnED.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-LPO6l9nR.js → utils-BhOPnF8L.js} +2 -11
- package/dist/cjs/{utils-LPO6l9nR.js.map → utils-BhOPnF8L.js.map} +1 -1
- package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-download-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.cjs.js.map +1 -0
- package/dist/cjs/{verdocs-adopt-signature-dialog_8.cjs.entry.js → verdocs-adopt-signature-dialog_9.cjs.entry.js} +31 -6
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-dialog.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-dialog.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-envelope-document-page_3.cjs.entry.js +4 -4
- package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +7 -7
- package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +1 -2
- package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +7 -7
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-preview_7.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +139 -25
- package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-signature-dialog.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.css +18 -0
- package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-disclosure-dialog/verdocs-disclosure-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.css +66 -0
- package/dist/collection/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.js +58 -0
- package/dist/collection/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-passcode-dialog/verdocs-passcode-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-question-dialog/verdocs-question-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js +5 -2
- package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -1
- package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
- package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +43 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +142 -26
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
- package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
- package/dist/collection/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.js +1 -1
- package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +0 -1
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
- package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
- package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -7
- package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
- package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-AGJ6yQYA.js → p-5G9qfsgg.js} +2 -3
- package/dist/components/p-5G9qfsgg.js.map +1 -0
- package/dist/components/{p-C4IGMdkB.js → p-B-ZoFCli.js} +7 -4
- package/dist/components/p-B-ZoFCli.js.map +1 -0
- package/dist/components/{p-9B3lpJpS.js → p-B8w3BMgj.js} +4 -4
- package/dist/components/{p-9B3lpJpS.js.map → p-B8w3BMgj.js.map} +1 -1
- package/dist/components/{p-CVNQXtE_.js → p-BAwv4SNb.js} +5 -5
- package/dist/components/{p-CVNQXtE_.js.map → p-BAwv4SNb.js.map} +1 -1
- package/dist/components/p-BFdKkQl1.js +49 -0
- package/dist/components/p-BFdKkQl1.js.map +1 -0
- package/dist/components/{p-DUtw16Pw.js → p-BKKdT2Pm.js} +3 -3
- package/dist/components/{p-DUtw16Pw.js.map → p-BKKdT2Pm.js.map} +1 -1
- package/dist/components/{p-BZ-bfXyR.js → p-BeDjuReL.js} +4 -4
- package/dist/components/{p-BZ-bfXyR.js.map → p-BeDjuReL.js.map} +1 -1
- package/dist/components/{p-DNGq3wZS.js → p-BiLR1bo2.js} +3 -3
- package/dist/components/{p-DNGq3wZS.js.map → p-BiLR1bo2.js.map} +1 -1
- package/dist/components/{p-DAJ5vBkQ.js → p-BqX9pHlZ.js} +3 -3
- package/dist/components/{p-DAJ5vBkQ.js.map → p-BqX9pHlZ.js.map} +1 -1
- package/dist/components/{p-BWDPsXtq.js → p-ByT59bSa.js} +9 -9
- package/dist/components/{p-BWDPsXtq.js.map → p-ByT59bSa.js.map} +1 -1
- package/dist/components/{p-BKafdNur.js → p-C-gHAARh.js} +3 -3
- package/dist/components/{p-BKafdNur.js.map → p-C-gHAARh.js.map} +1 -1
- package/dist/components/{p-BetyIU8h.js → p-CFZQhAqt.js} +7 -7
- package/dist/components/{p-BetyIU8h.js.map → p-CFZQhAqt.js.map} +1 -1
- package/dist/components/{p-BF8wEwc6.js → p-CMpYlbLu.js} +5 -5
- package/dist/components/{p-BF8wEwc6.js.map → p-CMpYlbLu.js.map} +1 -1
- package/dist/components/{p-VWBgJs6D.js → p-CUrnqIyl.js} +4 -4
- package/dist/components/{p-VWBgJs6D.js.map → p-CUrnqIyl.js.map} +1 -1
- package/dist/components/{p-D7HnTWEz.js → p-CV0M8_uS.js} +5 -5
- package/dist/components/{p-D7HnTWEz.js.map → p-CV0M8_uS.js.map} +1 -1
- package/dist/components/{p-B41-gHzH.js → p-CYgAI8GQ.js} +4 -4
- package/dist/components/{p-B41-gHzH.js.map → p-CYgAI8GQ.js.map} +1 -1
- package/dist/components/{p-DkDHStPa.js → p-Cv72a8rJ.js} +4 -4
- package/dist/components/{p-DkDHStPa.js.map → p-Cv72a8rJ.js.map} +1 -1
- package/dist/components/p-CxLtKV1w.js +53 -0
- package/dist/components/p-CxLtKV1w.js.map +1 -0
- package/dist/components/{p-B3TbYvlU.js → p-DDA_lXX8.js} +4 -12
- package/dist/components/p-DDA_lXX8.js.map +1 -0
- package/dist/components/{p-CsQMKQ-U.js → p-DOuWiFKy.js} +4 -4
- package/dist/components/{p-CsQMKQ-U.js.map → p-DOuWiFKy.js.map} +1 -1
- package/dist/components/{p-ge5oE2oB.js → p-DQzBQ4JR.js} +9 -9
- package/dist/components/{p-ge5oE2oB.js.map → p-DQzBQ4JR.js.map} +1 -1
- package/dist/components/{p-Bj6E-AE5.js → p-Dbvt5kcw.js} +3 -3
- package/dist/components/{p-Bj6E-AE5.js.map → p-Dbvt5kcw.js.map} +1 -1
- package/dist/components/{p-CNjQH39R.js → p-Dy--t71Y.js} +4 -4
- package/dist/components/{p-CNjQH39R.js.map → p-Dy--t71Y.js.map} +1 -1
- package/dist/components/{p-Bi2Tttn5.js → p-MgQAzZE6.js} +9 -9
- package/dist/components/{p-Bi2Tttn5.js.map → p-MgQAzZE6.js.map} +1 -1
- package/dist/components/{p-vk97395M.js → p-O5qIkOV_.js} +3 -3
- package/dist/components/{p-vk97395M.js.map → p-O5qIkOV_.js.map} +1 -1
- package/dist/components/{p-CerPiVUe.js → p-RIeHu5V1.js} +4 -4
- package/dist/components/{p-CerPiVUe.js.map → p-RIeHu5V1.js.map} +1 -1
- package/dist/components/{p-C1pxd86W.js → p-VPVigkt1.js} +3 -3
- package/dist/components/{p-C1pxd86W.js.map → p-VPVigkt1.js.map} +1 -1
- package/dist/components/{p-CG2TbLMA.js → p-pPfQ3mVK.js} +8 -8
- package/dist/components/{p-CG2TbLMA.js.map → p-pPfQ3mVK.js.map} +1 -1
- package/dist/components/{p-Dj5imT43.js → p-qpe55Kwb.js} +3 -3
- package/dist/components/{p-Dj5imT43.js.map → p-qpe55Kwb.js.map} +1 -1
- package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
- package/dist/components/verdocs-build.js +13 -13
- package/dist/components/verdocs-contact-picker.js +1 -1
- package/dist/components/verdocs-delegate-dialog.js +1 -1
- package/dist/components/verdocs-dialog.js +1 -1
- package/dist/components/verdocs-disclosure-dialog.js +1 -1
- package/dist/components/verdocs-download-dialog.d.ts +11 -0
- package/dist/components/verdocs-download-dialog.js +9 -0
- package/dist/components/verdocs-download-dialog.js.map +1 -0
- package/dist/components/verdocs-envelope-document-page.js +1 -1
- package/dist/components/verdocs-envelope-sidebar.js +2 -2
- package/dist/components/verdocs-envelopes-list.js +9 -9
- package/dist/components/verdocs-field-attachment.js +1 -1
- package/dist/components/verdocs-field-signature.js +1 -1
- package/dist/components/verdocs-initial-dialog.js +1 -1
- package/dist/components/verdocs-kba-dialog.js +1 -1
- package/dist/components/verdocs-ok-dialog.js +1 -1
- package/dist/components/verdocs-otp-dialog.js +1 -1
- package/dist/components/verdocs-passcode-dialog.js +1 -1
- package/dist/components/verdocs-preview.js +1 -1
- package/dist/components/verdocs-question-dialog.js +1 -1
- package/dist/components/verdocs-quick-filter.js +1 -1
- package/dist/components/verdocs-quick-functions.js +1 -1
- package/dist/components/verdocs-search-tabs.js +1 -1
- package/dist/components/verdocs-send.js +1 -1
- package/dist/components/verdocs-sign-footer.js +1 -1
- package/dist/components/verdocs-sign.js +170 -48
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-signature-dialog.js +2 -2
- package/dist/components/verdocs-signing-progress.js +1 -1
- package/dist/components/verdocs-status-indicator.js +1 -1
- package/dist/components/verdocs-template-attachments.js +1 -1
- package/dist/components/verdocs-template-card.js +1 -1
- package/dist/components/verdocs-template-document-page.js +1 -1
- package/dist/components/verdocs-template-fields.js +1 -1
- package/dist/components/verdocs-template-role-properties.js +1 -1
- package/dist/components/verdocs-template-roles.js +1 -1
- package/dist/components/verdocs-template-star.js +1 -1
- package/dist/components/verdocs-template-tags.js +1 -1
- package/dist/components/verdocs-templates-list.js +4 -4
- package/dist/components/verdocs-upload-dialog.js +1 -1
- package/dist/components/verdocs-view.js +1 -1
- package/dist/custom-elements.json +2455 -0
- package/dist/esm/index-BIRwgFLv.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-UeubfAI_.js → utils-7DStM5zD.js} +4 -12
- package/dist/{esm-es5/utils-UeubfAI_.js.map → esm/utils-7DStM5zD.js.map} +1 -1
- package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-download-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -0
- package/dist/esm/{verdocs-adopt-signature-dialog_8.entry.js → verdocs-adopt-signature-dialog_9.entry.js} +31 -7
- package/dist/esm/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm/verdocs-dialog.entry.js +2 -2
- package/dist/esm/verdocs-dialog.entry.js.map +1 -1
- package/dist/esm/verdocs-envelope-document-page_3.entry.js +4 -4
- package/dist/esm/verdocs-envelopes-list.entry.js +7 -7
- package/dist/esm/verdocs-field-attachment_11.entry.js +1 -2
- package/dist/esm/verdocs-initial-dialog.entry.js +1 -1
- package/dist/esm/verdocs-menu-panel_2.entry.js +7 -7
- package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm/verdocs-preview_7.entry.js +1 -1
- package/dist/esm/verdocs-quick-functions.entry.js +1 -1
- package/dist/esm/verdocs-search-tabs.entry.js +1 -1
- package/dist/esm/verdocs-sign.entry.js +140 -26
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-signature-dialog.entry.js +1 -1
- package/dist/esm/verdocs-status-indicator.entry.js +2 -2
- package/dist/esm/verdocs-template-card.entry.js +1 -1
- package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm/verdocs-template-star.entry.js +1 -1
- package/dist/esm/verdocs-template-tags.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/index-BIRwgFLv.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/utils-7DStM5zD.js +2 -0
- package/dist/{esm/utils-UeubfAI_.js.map → esm-es5/utils-7DStM5zD.js.map} +1 -1
- package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-download-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-adopt-signature-dialog_9.entry.js +2 -0
- package/dist/esm-es5/verdocs-adopt-signature-dialog_9.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-dialog.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-envelope-document-page_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-initial-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
- package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
- package/dist/esm-es5/verdocs-search-tabs.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-signature-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.d.ts +15 -0
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +7 -0
- package/dist/types/components.d.ts +37 -0
- package/dist/verdocs-web-sdk/{p-8bce7217.system.entry.js → p-07205ca9.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-05aaa7ed.system.entry.js → p-07383f5b.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-05aaa7ed.system.entry.js.map → p-07383f5b.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-0ca193b4.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-0ca193b4.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-da83a992.entry.js → p-0f20c685.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-b088e156.system.entry.js → p-1083d8e2.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-114c52c9.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-114c52c9.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-5caf6125.system.entry.js → p-1467ab16.system.entry.js} +3 -3
- package/dist/verdocs-web-sdk/p-1467ab16.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-7b191400.system.entry.js → p-15f45ccd.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-318a07e5.entry.js → p-1aaa0981.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-39e95382.entry.js → p-1aad4dc6.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-4a1b9398.entry.js → p-20456951.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-bde15580.system.entry.js → p-20ca00e4.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-20ca00e4.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-8470ef05.entry.js → p-29822673.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-f36a6630.entry.js → p-2f88c31f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-f844ce09.entry.js → p-36950fda.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-753524d6.system.entry.js → p-3912f9cc.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ae0ec1d7.system.entry.js → p-3b248d05.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-3ea68331.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-3ea68331.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-445294c3.system.entry.js → p-5a3f7160.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-cd4f320d.entry.js → p-5b8dca55.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-8f98b783.entry.js → p-5bf8bb27.entry.js} +3 -3
- package/dist/verdocs-web-sdk/{p-8f98b783.entry.js.map → p-5bf8bb27.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-63d8a182.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-63d8a182.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-a9030363.entry.js → p-6b4e3068.entry.js} +3 -3
- package/dist/verdocs-web-sdk/{p-c22d3f5e.entry.js → p-6ce29e3f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-6e9c2d19.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-6e9c2d19.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-bcd87ddc.entry.js → p-8beed8b8.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
- package/dist/verdocs-web-sdk/{p-B3HJKjHD.system.js.map → p-BACQ3t2g.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-ZcTmgak2.system.js.map → p-BFIyp5DH.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-DGgfjQ_t.system.js.map → p-BIlzRpWg.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-BRVcSPz-.js +2 -0
- package/dist/verdocs-web-sdk/{p-CmnR51jO.js.map → p-BRVcSPz-.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-BS_uue9-.system.js +2 -0
- package/dist/verdocs-web-sdk/{p-BAU98X36.system.js.map → p-BS_uue9-.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-DmVXPF0k.system.js.map → p-BwDu3hdM.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-BzX3OCbM.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-CItBLxPE.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-Doi8TK8T.system.js.map → p-CUjnlf4u.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-DezspFxO.system.js.map → p-CbY0pr90.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-AsAT1G33.system.js.map → p-ChG34u1-.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-D5MJAI9R.system.js.map → p-CrAB6I_0.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-BT_KTRbF.system.js.map → p-D1WT1HgS.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-MrbETESd.system.js.map → p-D1hWlXNp.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-VrxIYnwk.system.js.map → p-D5pPB-5I.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-L4wJpGIe.system.js.map → p-DAdumYIk.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-BlhnYHRJ.system.js.map → p-DENysSNZ.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-DY-7DH4R.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-O_JBau3u.system.js.map → p-DZMQH9UR.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-Bm0VE30F.system.js.map → p-DjxAdkDZ.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-BQjkHwaZ.system.js.map → p-Dtmn_zf8.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-2ecec6ed.system.entry.js → p-a43055ec.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-a43055ec.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a5bc34fc.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a5bc34fc.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-40415af2.entry.js → p-a99b5b5a.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ffd5303f.system.entry.js → p-aa9d335d.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-57d9edf7.entry.js → p-b3a31d74.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-da6664e2.system.entry.js → p-b589a13f.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-a8b8c846.system.entry.js → p-b67d0434.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-387f49e3.system.entry.js → p-b7f6434d.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-3e9b4932.entry.js → p-c284aac4.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-5a5c379c.entry.js → p-c344c869.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-5a5c379c.entry.js.map → p-c344c869.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-464ef358.entry.js → p-dbcab6a2.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ff3668fa.system.entry.js → p-e22986c6.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-e22986c6.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-64ed2c1e.system.entry.js → p-e96569f6.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-43f5b924.system.entry.js → p-f551f8e0.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-CH_KOP0L.system.js.map → p-vDhZao2w.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-download-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.esm.js.map +1 -0
- package/dist/verdocs-web-sdk/verdocs-dialog.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.cjs.js.map +0 -1
- package/dist/components/p-AGJ6yQYA.js.map +0 -1
- package/dist/components/p-B3TbYvlU.js.map +0 -1
- package/dist/components/p-C4IGMdkB.js.map +0 -1
- package/dist/components/p-hkxIErJy.js +0 -53
- package/dist/components/p-hkxIErJy.js.map +0 -1
- package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +0 -1
- package/dist/esm-es5/utils-UeubfAI_.js +0 -2
- package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +0 -1
- package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js +0 -2
- package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2ecec6ed.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-34e3dcef.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-34e3dcef.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-38463205.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-38463205.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-5caf6125.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-BAU98X36.system.js +0 -2
- package/dist/verdocs-web-sdk/p-CGZmAdCp.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-CmnR51jO.js +0 -2
- package/dist/verdocs-web-sdk/p-DKoXteUW.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-N2JGIGf0.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-bde15580.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c4d9782a.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-c4d9782a.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-caa58160.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-caa58160.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-cdf6efa1.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-cdf6efa1.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f4436552.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-f4436552.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-ff3668fa.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.esm.js.map +0 -1
- /package/dist/verdocs-web-sdk/{p-8bce7217.system.entry.js.map → p-07205ca9.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-da83a992.entry.js.map → p-0f20c685.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-b088e156.system.entry.js.map → p-1083d8e2.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-7b191400.system.entry.js.map → p-15f45ccd.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-318a07e5.entry.js.map → p-1aaa0981.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-39e95382.entry.js.map → p-1aad4dc6.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-4a1b9398.entry.js.map → p-20456951.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-8470ef05.entry.js.map → p-29822673.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-f36a6630.entry.js.map → p-2f88c31f.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-f844ce09.entry.js.map → p-36950fda.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-753524d6.system.entry.js.map → p-3912f9cc.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-ae0ec1d7.system.entry.js.map → p-3b248d05.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-445294c3.system.entry.js.map → p-5a3f7160.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-cd4f320d.entry.js.map → p-5b8dca55.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-a9030363.entry.js.map → p-6b4e3068.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-c22d3f5e.entry.js.map → p-6ce29e3f.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-bcd87ddc.entry.js.map → p-8beed8b8.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-40415af2.entry.js.map → p-a99b5b5a.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-ffd5303f.system.entry.js.map → p-aa9d335d.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-57d9edf7.entry.js.map → p-b3a31d74.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-da6664e2.system.entry.js.map → p-b589a13f.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-a8b8c846.system.entry.js.map → p-b67d0434.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-387f49e3.system.entry.js.map → p-b7f6434d.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-3e9b4932.entry.js.map → p-c284aac4.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-464ef358.entry.js.map → p-dbcab6a2.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-64ed2c1e.system.entry.js.map → p-e96569f6.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-43f5b924.system.entry.js.map → p-f551f8e0.system.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-B3HJKjHD.system.js","sources":["src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.scss?tag=verdocs-envelope-document-page","src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.tsx","src/components/dialogs/verdocs-question-dialog/verdocs-question-dialog.scss?tag=verdocs-question-dialog","src/components/dialogs/verdocs-question-dialog/verdocs-question-dialog.tsx","src/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.scss?tag=verdocs-sign-footer","src/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-envelope-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getEnvelopeDocumentPageDisplayUri, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {throttle} from '../../../utils/utils';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-envelope-document-page',\n styleUrl: 'verdocs-envelope-document-page.scss',\n shadow: false,\n})\nexport class VerdocsEnvelopeDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the envelope the document is for.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop() documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9\">\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n @Prop() type: 'original' | 'filled' | 'certificate' = 'original';\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-envelope-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n @State() pageDisplayUri = 'https://verdocs-public-assets.s3.amazonaws.com/page-loading-placeholder.png';\n\n async componentWillLoad() {\n this.pageDisplayUri = await getEnvelopeDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber, this.type);\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n // container: this.container,\n containerId: this.containerId,\n documentId: this.documentId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale: this.renderedWidth / this.virtualWidth,\n yScale: this.renderedHeight / this.virtualHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height, flex: `0 0 ${height}`}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-envelope-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-envelope-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageDisplayUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n loading=\"lazy\"\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n this.renderedHeight = e.target.offsetWidth / this.aspectRatio;\n }}\n />\n ) : (\n <div></div>\n ),\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-question-dialog {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: fixed;\n box-sizing: border-box;\n font-family: $primary-font;\n\n &.closed {\n display: none;\n }\n\n textarea {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 14px;\n padding: 9px;\n outline: none;\n }\n\n .heading .title {\n font-size: 18px;\n }\n\n .buttons {\n gap: 20px;\n display: flex;\n margin-top: 24px;\n flex-direction: row;\n justify-content: center;\n\n button {\n flex: 1;\n border: 0;\n height: 38px;\n display: flex;\n color: #ffffff;\n font-size: 14px;\n cursor: pointer;\n border-radius: 6px;\n align-items: center;\n justify-content: center;\n\n &.cancel {\n background-color: $verdocs-button-purple;\n }\n\n &.ok {\n background-color: $verdocs-button-green;\n\n &.single {\n max-width: 150px;\n }\n }\n\n &:disabled {\n background-color: $verdocs-button-disabled;\n }\n }\n }\n}\n","import {Component, h, Event, EventEmitter, State, Prop} from '@stencil/core';\n\nconst QuestionIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.4809 13.8423H15.4C16.2962 13.8423 17 13.1288 17 12.2764V5.56582C17 4.71348 16.2962 4 15.4 4H4.6C3.70383 4 3 4.71348 3 5.56582V12.2764C3 13.1288 3.70383 13.8423 4.6 13.8423H6.19908L6.2 17L6.20346 16.9997L6.20502 16.9988L10.4809 13.8423ZM6.79895 17.8034C6.35668 18.1298 5.73 18.0406 5.39921 17.6042C5.26989 17.4335 5.2 17.2262 5.2 17.0133L5.19937 14.8423H4.6C3.16406 14.8423 2 13.6935 2 12.2764V5.56582C2 4.14876 3.16406 3 4.6 3H15.4C16.8359 3 18 4.14876 18 5.56582V12.2764C18 13.6935 16.8359 14.8423 15.4 14.8423H10.81L6.79895 17.8034Z\" fill=\"#ffffff\"/></svg>`;\n\n/**\n * Display a simple text dialog box with an Ok button. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-question-dialog',\n styleUrl: 'verdocs-question-dialog.scss',\n})\nexport class VerdocsQuestionDialog {\n @Prop({mutable: true}) question: string = '';\n\n /**\n * Event fired when the user clicks the OK button.\n */\n @Event({composed: true}) next: EventEmitter<{question: string}>;\n\n /**\n * Event fired when Cancel is pressed. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n @State() closed = false;\n\n handleOk() {\n this.next.emit({question: this.question});\n }\n\n handleCancel() {\n this.exit.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n this.closed = true;\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.exit.emit();\n }\n }\n\n render() {\n return (\n <verdocs-dialog onExit={e => this.handleDismiss(e)}>\n <div slot=\"heading\" class=\"heading\">\n <div class=\"icon\" innerHTML={QuestionIcon} />\n\n <div class=\"title\">Ask the Sender a Question</div>\n </div>\n\n <div slot=\"content\" class=\"content\">\n <textarea name=\"question\" rows={6} placeholder=\"Enter your question...\" onInput={(e: any) => (this.question = e.target.value)}>\n {this.question}\n </textarea>\n </div>\n\n <div class=\"footer\" slot=\"footer\">\n <div class=\"buttons\">\n <button class=\"cancel\" onClick={() => this.handleCancel()}>\n Cancel\n </button>\n <button class={'ok'} onClick={() => this.handleOk()}>\n OK\n </button>\n </div>\n </div>\n </verdocs-dialog>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-sign-footer {\n left: 0;\n right: 0;\n bottom: 0;\n height: 48px;\n display: flex;\n color: #616161;\n position: fixed;\n font-size: 12px;\n padding: 0 24px;\n align-items: center;\n flex-direction: row;\n background: #ffffff;\n container-type: inline-size;\n border-top: 1px solid #e0e0e0;\n justify-content: space-between;\n font-family: $verdocs-primary-font;\n transition: 0.5s cubic-bezier(0.35, 0, 0.25, 1);\n\n a {\n color: #616161;\n cursor: pointer;\n text-decoration: none;\n border-bottom: 1px dotted #616161;\n }\n\n &.loading {\n display: none;\n }\n\n .powered-by {\n white-space: nowrap;\n }\n\n .buttons {\n flex: 0;\n gap: 16px;\n display: flex;\n flex-direction: row;\n white-space: nowrap;\n align-items: center;\n\n button {\n gap: 4px;\n border: none;\n display: flex;\n outline: none;\n cursor: pointer;\n flex-direction: row;\n align-items: center;\n background: transparent;\n }\n\n div {\n gap: 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n }\n\n .links {\n flex: 0;\n gap: 8px;\n display: flex;\n flex-direction: row;\n white-space: nowrap;\n }\n\n &.just-buttons {\n .buttons {\n flex: 1;\n justify-content: center;\n }\n }\n\n @container (max-width: 720px) {\n &.has-buttons .powered-by {\n display: none;\n }\n }\n\n @container (max-width: 540px) {\n &.no-buttons .powered-by {\n display: none;\n }\n\n &.has-buttons .links {\n display: none;\n }\n\n .buttons {\n flex: 1;\n justify-content: center;\n }\n }\n}\n","import {IEnvelope} from '@verdocs/js-sdk';\nimport {Component, h, Event, EventEmitter, Host, Prop, State} from '@stencil/core';\nimport {getEnvelope, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst QuestionIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.4809 13.8423H15.4C16.2962 13.8423 17 13.1288 17 12.2764V5.56582C17 4.71348 16.2962 4 15.4 4H4.6C3.70383 4 3 4.71348 3 5.56582V12.2764C3 13.1288 3.70383 13.8423 4.6 13.8423H6.19908L6.2 17L6.20346 16.9997L6.20502 16.9988L10.4809 13.8423ZM6.79895 17.8034C6.35668 18.1298 5.73 18.0406 5.39921 17.6042C5.26989 17.4335 5.2 17.2262 5.2 17.0133L5.19937 14.8423H4.6C3.16406 14.8423 2 13.6935 2 12.2764V5.56582C2 4.14876 3.16406 3 4.6 3H15.4C16.8359 3 18 4.14876 18 5.56582V12.2764C18 13.6935 16.8359 14.8423 15.4 14.8423H10.81L6.79895 17.8034Z\" fill=\"#424242\"/></svg>`;\nconst DeclineIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.14645 7.14645C7.34171 6.95118 7.65829 6.95118 7.85355 7.14645L10 9.29289L12.1464 7.14645C12.3417 6.95118 12.6583 6.95118 12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L10.7071 10L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L10 10.7071L7.85355 12.8536C7.65829 13.0488 7.34171 13.0488 7.14645 12.8536C6.95118 12.6583 6.95118 12.3417 7.14645 12.1464L9.29289 10L7.14645 7.85355C6.95118 7.65829 6.95118 7.34171 7.14645 7.14645ZM3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 15.6569 15.6569 17 14 17H6C4.34315 17 3 15.6569 3 14V6ZM6 4C4.89543 4 4 4.89543 4 6V14C4 15.1046 4.89543 16 6 16H14C15.1046 16 16 15.1046 16 14V6C16 4.89543 15.1046 4 14 4H6Z\" fill=\"#424242\"/></svg>`;\nconst SaveIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 5C3 3.89543 3.89543 3 5 3H13.3787C13.9091 3 14.4178 3.21071 14.7929 3.58579L16.4142 5.20711C16.7893 5.58218 17 6.09089 17 6.62132V15C17 16.1046 16.1046 17 15 17H5C3.89543 17 3 16.1046 3 15V5ZM5 4C4.44772 4 4 4.44772 4 5V15C4 15.5523 4.44772 16 5 16L5 11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V16C15.5523 16 16 15.5523 16 15V6.62132C16 6.3561 15.8946 6.10175 15.7071 5.91421L14.0858 4.29289C13.8983 4.10536 13.6439 4 13.3787 4L13 4V6.5C13 7.32843 12.3284 8 11.5 8L7.5 8C6.67157 8 6 7.32843 6 6.5L6 4H5ZM7 4L7 6.5C7 6.77614 7.22386 7 7.5 7L11.5 7C11.7761 7 12 6.77614 12 6.5V4L7 4ZM14 16V11.5C14 11.2239 13.7761 11 13.5 11H6.5C6.22386 11 6 11.2239 6 11.5V16H14Z\" fill=\"#424242\"/></svg>`;\n\n/**\n * Typically presented by the `verdocs-sign` component. Displays a footer toolbar\n * with a few convenience functions for the envelope recipient to use.\n */\n@Component({\n tag: 'verdocs-sign-footer',\n styleUrl: 'verdocs-sign-footer.scss',\n shadow: false,\n})\nexport class VerdocsSignFooter {\n private envelopeListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * If the recipient is \"done,\" some buttons will be hidden.\n */\n @Prop() isDone = false;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) askQuestion: EventEmitter<{question: string}>;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) decline: EventEmitter;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) finishLater: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n // @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n @State() askingQuestion = false;\n @State() declinine = false;\n @State() envelope: IEnvelope | null = null;\n\n async componentWillLoad() {\n try {\n // NOTE: The caller must have a signing session already active and shared to us via\n // the endpoint property.\n if (!this.envelopeId) {\n console.log(`[FOOTER] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n this.listenToEnvelope();\n } catch (e) {\n console.log('[FOOTER] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToEnvelope();\n }\n\n async listenToEnvelope() {\n console.log('[FOOTER] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n false,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n // handleRecipientAction(recipient: IRecipient, id: string) {\n // console.log('[SIDEBAR] Recipient action', id, recipient);\n // switch (id) {\n // case 'update':\n // this.showUpdateDialog = recipient.role_name;\n // break;\n //\n // case 'reminder':\n // remindRecipient(this.endpoint, this.envelopeId, recipient.role_name)\n // .then(() => {\n // VerdocsToast('Reminder Sent', {style: 'success'});\n // })\n // .catch(e => {\n // console.log('[SIDEBAR] Error resending invitation', e);\n // VerdocsToast('Error resending invitation: ' + e.message, {style: 'error'});\n // });\n // break;\n //\n // case 'reinvite':\n // this.showReinviteDialog = recipient.role_name;\n // break;\n //\n // case 'inperson':\n // this.showRecipientDialog = recipient.role_name;\n // break;\n //\n // case 'modify':\n // VerdocsToast('This feature will be enabled in a future release. Please try again later.', {style: 'info'});\n // break;\n //\n // case 'details':\n // VerdocsToast('This feature will be enabled in a future release. Please try again later.', {style: 'info'});\n // break;\n // }\n // }\n\n // handleUpdateRecipient(originalRecipient: IRecipient, updatedRecipient: IRecipient) {\n // console.log('Updating recipient', originalRecipient, updatedRecipient);\n // const fields: any = {};\n // if (updatedRecipient.email !== originalRecipient.email) {\n // fields.email = updatedRecipient.email;\n // }\n // if (updatedRecipient.phone !== originalRecipient.phone) {\n // fields.phone = updatedRecipient.phone;\n // }\n // if (updatedRecipient.message !== originalRecipient.message) {\n // fields.message = updatedRecipient.message;\n // }\n // if (updatedRecipient.first_name !== originalRecipient.first_name) {\n // fields.first_name = updatedRecipient.first_name;\n // }\n // if (updatedRecipient.last_name !== originalRecipient.last_name) {\n // fields.last_name = updatedRecipient.last_name;\n // }\n //\n // if (Object.keys(fields).length > 0) {\n // updateRecipient(this.endpoint, this.envelopeId, originalRecipient.role_name, fields)\n // .then(r => {\n // // TODO: Reload the envelope?\n // VerdocsToast('Recipient updated', {style: 'success'});\n // console.log('[SIDEBAR] Updated recipient', r);\n // Store.getEnvelope(this.endpoint, this.envelopeId, true);\n // this.showUpdateDialog = '';\n // })\n // .catch(e => {\n // VerdocsToast(e.response.data.error, {style: 'error'});\n // this.showUpdateDialog = '';\n // });\n // } else {\n // this.showUpdateDialog = '';\n // }\n // }\n\n render() {\n const hasPoweredBy = !!this.envelope?.organization?.powered_by_label;\n const hasLinks = !!this.envelope?.organization?.terms_use_url || !!this.envelope?.organization?.privacy_policy_url;\n const hasButtons = !this.isDone;\n\n return (\n <Host class={{'has-buttons': hasButtons, 'no-buttons': !hasButtons, 'has-powered-by': hasPoweredBy, 'has-links': hasLinks, 'just-buttons': !hasPoweredBy && !hasLinks}}>\n {this.envelope?.organization?.powered_by_label && (\n <div class=\"powered-by\">\n {this.envelope?.organization?.powered_by_url ? (\n <a href={this.envelope?.organization?.powered_by_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>{this.envelope?.organization?.powered_by_label}</span>\n </a>\n ) : (\n <span>{this.envelope?.organization?.powered_by_label}</span>\n )}\n </div>\n )}\n\n {!this.isDone && (\n <div class=\"buttons\">\n <button onClick={() => (this.askingQuestion = true)}>\n <span innerHTML={QuestionIcon} />\n Ask Sender a Question\n </button>\n <button onClick={() => this.decline?.emit()}>\n <span innerHTML={DeclineIcon} />\n Decline Signing\n </button>\n <button onClick={() => this.finishLater?.emit()}>\n <span innerHTML={SaveIcon} />\n Finish Later\n </button>\n </div>\n )}\n\n <div class=\"links\">\n {this.envelope?.organization?.terms_use_url && (\n <a href={this.envelope?.organization?.terms_use_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Terms of Use</span>\n </a>\n )}\n {this.envelope?.organization?.privacy_policy_url && (\n <a href={this.envelope?.organization?.privacy_policy_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Privacy Policy</span>\n </a>\n )}\n </div>\n\n {this.askingQuestion && (\n <verdocs-question-dialog\n onNext={e => {\n this.askQuestion?.emit({question: e.detail.question});\n this.askingQuestion = false;\n }}\n onExit={() => (this.askingQuestion = false)}\n />\n )}\n </Host>\n );\n }\n}\n"],"names":["QuestionIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-BACQ3t2g.system.js","sources":["src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.scss?tag=verdocs-envelope-document-page","src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.tsx","src/components/dialogs/verdocs-question-dialog/verdocs-question-dialog.scss?tag=verdocs-question-dialog","src/components/dialogs/verdocs-question-dialog/verdocs-question-dialog.tsx","src/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.scss?tag=verdocs-sign-footer","src/components/envelopes/verdocs-sign-footer/verdocs-sign-footer.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-envelope-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getEnvelopeDocumentPageDisplayUri, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {throttle} from '../../../utils/utils';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-envelope-document-page',\n styleUrl: 'verdocs-envelope-document-page.scss',\n shadow: false,\n})\nexport class VerdocsEnvelopeDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the envelope the document is for.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop() documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9\">\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n @Prop() type: 'original' | 'filled' | 'certificate' = 'original';\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-envelope-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n @State() pageDisplayUri = 'https://verdocs-public-assets.s3.amazonaws.com/page-loading-placeholder.png';\n\n async componentWillLoad() {\n this.pageDisplayUri = await getEnvelopeDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber, this.type);\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n // container: this.container,\n containerId: this.containerId,\n documentId: this.documentId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale: this.renderedWidth / this.virtualWidth,\n yScale: this.renderedHeight / this.virtualHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height, flex: `0 0 ${height}`}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-envelope-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-envelope-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageDisplayUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n loading=\"lazy\"\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n this.renderedHeight = e.target.offsetWidth / this.aspectRatio;\n }}\n />\n ) : (\n <div></div>\n ),\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-question-dialog {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: fixed;\n box-sizing: border-box;\n font-family: $primary-font;\n\n &.closed {\n display: none;\n }\n\n textarea {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 14px;\n padding: 9px;\n outline: none;\n }\n\n .heading .title {\n font-size: 18px;\n }\n\n .buttons {\n gap: 20px;\n display: flex;\n margin-top: 24px;\n flex-direction: row;\n justify-content: center;\n\n button {\n flex: 1;\n border: 0;\n height: 38px;\n display: flex;\n color: #ffffff;\n font-size: 14px;\n cursor: pointer;\n border-radius: 6px;\n align-items: center;\n justify-content: center;\n\n &.cancel {\n background-color: $verdocs-button-purple;\n }\n\n &.ok {\n background-color: $verdocs-button-green;\n\n &.single {\n max-width: 150px;\n }\n }\n\n &:disabled {\n background-color: $verdocs-button-disabled;\n }\n }\n }\n}\n","import {Component, h, Event, EventEmitter, State, Prop} from '@stencil/core';\n\nconst QuestionIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.4809 13.8423H15.4C16.2962 13.8423 17 13.1288 17 12.2764V5.56582C17 4.71348 16.2962 4 15.4 4H4.6C3.70383 4 3 4.71348 3 5.56582V12.2764C3 13.1288 3.70383 13.8423 4.6 13.8423H6.19908L6.2 17L6.20346 16.9997L6.20502 16.9988L10.4809 13.8423ZM6.79895 17.8034C6.35668 18.1298 5.73 18.0406 5.39921 17.6042C5.26989 17.4335 5.2 17.2262 5.2 17.0133L5.19937 14.8423H4.6C3.16406 14.8423 2 13.6935 2 12.2764V5.56582C2 4.14876 3.16406 3 4.6 3H15.4C16.8359 3 18 4.14876 18 5.56582V12.2764C18 13.6935 16.8359 14.8423 15.4 14.8423H10.81L6.79895 17.8034Z\" fill=\"#ffffff\"/></svg>`;\n\n/**\n * Display a simple text dialog box with an Ok button. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-question-dialog',\n styleUrl: 'verdocs-question-dialog.scss',\n})\nexport class VerdocsQuestionDialog {\n @Prop({mutable: true}) question: string = '';\n\n /**\n * Event fired when the user clicks the OK button.\n */\n @Event({composed: true}) next: EventEmitter<{question: string}>;\n\n /**\n * Event fired when Cancel is pressed. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n @State() closed = false;\n\n handleOk() {\n this.next.emit({question: this.question});\n }\n\n handleCancel() {\n this.exit.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n this.closed = true;\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.exit.emit();\n }\n }\n\n render() {\n return (\n <verdocs-dialog onExit={e => this.handleDismiss(e)}>\n <div slot=\"heading\" class=\"heading\">\n <div class=\"icon\" innerHTML={QuestionIcon} />\n\n <div class=\"title\">Ask the Sender a Question</div>\n </div>\n\n <div slot=\"content\" class=\"content\">\n <textarea name=\"question\" rows={6} placeholder=\"Enter your question...\" onInput={(e: any) => (this.question = e.target.value)}>\n {this.question}\n </textarea>\n </div>\n\n <div class=\"footer\" slot=\"footer\">\n <div class=\"buttons\">\n <button class=\"cancel\" onClick={() => this.handleCancel()}>\n Cancel\n </button>\n <button class={'ok'} onClick={() => this.handleOk()}>\n OK\n </button>\n </div>\n </div>\n </verdocs-dialog>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-sign-footer {\n left: 0;\n right: 0;\n bottom: 0;\n height: 48px;\n display: flex;\n color: #616161;\n position: fixed;\n font-size: 12px;\n padding: 0 24px;\n align-items: center;\n flex-direction: row;\n background: #ffffff;\n container-type: inline-size;\n border-top: 1px solid #e0e0e0;\n justify-content: space-between;\n font-family: $verdocs-primary-font;\n transition: 0.5s cubic-bezier(0.35, 0, 0.25, 1);\n\n a {\n color: #616161;\n cursor: pointer;\n text-decoration: none;\n border-bottom: 1px dotted #616161;\n }\n\n &.loading {\n display: none;\n }\n\n .powered-by {\n white-space: nowrap;\n }\n\n .buttons {\n flex: 0;\n gap: 16px;\n display: flex;\n flex-direction: row;\n white-space: nowrap;\n align-items: center;\n\n button {\n gap: 4px;\n border: none;\n display: flex;\n outline: none;\n cursor: pointer;\n flex-direction: row;\n align-items: center;\n background: transparent;\n }\n\n div {\n gap: 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n }\n\n .links {\n flex: 0;\n gap: 8px;\n display: flex;\n flex-direction: row;\n white-space: nowrap;\n }\n\n &.just-buttons {\n .buttons {\n flex: 1;\n justify-content: center;\n }\n }\n\n @container (max-width: 720px) {\n &.has-buttons .powered-by {\n display: none;\n }\n }\n\n @container (max-width: 540px) {\n &.no-buttons .powered-by {\n display: none;\n }\n\n &.has-buttons .links {\n display: none;\n }\n\n .buttons {\n flex: 1;\n justify-content: center;\n }\n }\n}\n","import {IEnvelope} from '@verdocs/js-sdk';\nimport {Component, h, Event, EventEmitter, Host, Prop, State} from '@stencil/core';\nimport {getEnvelope, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst QuestionIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.4809 13.8423H15.4C16.2962 13.8423 17 13.1288 17 12.2764V5.56582C17 4.71348 16.2962 4 15.4 4H4.6C3.70383 4 3 4.71348 3 5.56582V12.2764C3 13.1288 3.70383 13.8423 4.6 13.8423H6.19908L6.2 17L6.20346 16.9997L6.20502 16.9988L10.4809 13.8423ZM6.79895 17.8034C6.35668 18.1298 5.73 18.0406 5.39921 17.6042C5.26989 17.4335 5.2 17.2262 5.2 17.0133L5.19937 14.8423H4.6C3.16406 14.8423 2 13.6935 2 12.2764V5.56582C2 4.14876 3.16406 3 4.6 3H15.4C16.8359 3 18 4.14876 18 5.56582V12.2764C18 13.6935 16.8359 14.8423 15.4 14.8423H10.81L6.79895 17.8034Z\" fill=\"#424242\"/></svg>`;\nconst DeclineIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.14645 7.14645C7.34171 6.95118 7.65829 6.95118 7.85355 7.14645L10 9.29289L12.1464 7.14645C12.3417 6.95118 12.6583 6.95118 12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L10.7071 10L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L10 10.7071L7.85355 12.8536C7.65829 13.0488 7.34171 13.0488 7.14645 12.8536C6.95118 12.6583 6.95118 12.3417 7.14645 12.1464L9.29289 10L7.14645 7.85355C6.95118 7.65829 6.95118 7.34171 7.14645 7.14645ZM3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 15.6569 15.6569 17 14 17H6C4.34315 17 3 15.6569 3 14V6ZM6 4C4.89543 4 4 4.89543 4 6V14C4 15.1046 4.89543 16 6 16H14C15.1046 16 16 15.1046 16 14V6C16 4.89543 15.1046 4 14 4H6Z\" fill=\"#424242\"/></svg>`;\nconst SaveIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 5C3 3.89543 3.89543 3 5 3H13.3787C13.9091 3 14.4178 3.21071 14.7929 3.58579L16.4142 5.20711C16.7893 5.58218 17 6.09089 17 6.62132V15C17 16.1046 16.1046 17 15 17H5C3.89543 17 3 16.1046 3 15V5ZM5 4C4.44772 4 4 4.44772 4 5V15C4 15.5523 4.44772 16 5 16L5 11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V16C15.5523 16 16 15.5523 16 15V6.62132C16 6.3561 15.8946 6.10175 15.7071 5.91421L14.0858 4.29289C13.8983 4.10536 13.6439 4 13.3787 4L13 4V6.5C13 7.32843 12.3284 8 11.5 8L7.5 8C6.67157 8 6 7.32843 6 6.5L6 4H5ZM7 4L7 6.5C7 6.77614 7.22386 7 7.5 7L11.5 7C11.7761 7 12 6.77614 12 6.5V4L7 4ZM14 16V11.5C14 11.2239 13.7761 11 13.5 11H6.5C6.22386 11 6 11.2239 6 11.5V16H14Z\" fill=\"#424242\"/></svg>`;\n\n/**\n * Typically presented by the `verdocs-sign` component. Displays a footer toolbar\n * with a few convenience functions for the envelope recipient to use.\n */\n@Component({\n tag: 'verdocs-sign-footer',\n styleUrl: 'verdocs-sign-footer.scss',\n shadow: false,\n})\nexport class VerdocsSignFooter {\n private envelopeListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * If the recipient is \"done,\" some buttons will be hidden.\n */\n @Prop() isDone = false;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) askQuestion: EventEmitter<{question: string}>;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) decline: EventEmitter;\n\n /**\n * Event fired if the user asks the sender a question. The parent component is responsible for handling this.\n */\n @Event({composed: true}) finishLater: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n // @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n @State() askingQuestion = false;\n @State() declinine = false;\n @State() envelope: IEnvelope | null = null;\n\n async componentWillLoad() {\n try {\n // NOTE: The caller must have a signing session already active and shared to us via\n // the endpoint property.\n if (!this.envelopeId) {\n console.log(`[FOOTER] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n this.listenToEnvelope();\n } catch (e) {\n console.log('[FOOTER] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToEnvelope();\n }\n\n async listenToEnvelope() {\n console.log('[FOOTER] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n false,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n // handleRecipientAction(recipient: IRecipient, id: string) {\n // console.log('[SIDEBAR] Recipient action', id, recipient);\n // switch (id) {\n // case 'update':\n // this.showUpdateDialog = recipient.role_name;\n // break;\n //\n // case 'reminder':\n // remindRecipient(this.endpoint, this.envelopeId, recipient.role_name)\n // .then(() => {\n // VerdocsToast('Reminder Sent', {style: 'success'});\n // })\n // .catch(e => {\n // console.log('[SIDEBAR] Error resending invitation', e);\n // VerdocsToast('Error resending invitation: ' + e.message, {style: 'error'});\n // });\n // break;\n //\n // case 'reinvite':\n // this.showReinviteDialog = recipient.role_name;\n // break;\n //\n // case 'inperson':\n // this.showRecipientDialog = recipient.role_name;\n // break;\n //\n // case 'modify':\n // VerdocsToast('This feature will be enabled in a future release. Please try again later.', {style: 'info'});\n // break;\n //\n // case 'details':\n // VerdocsToast('This feature will be enabled in a future release. Please try again later.', {style: 'info'});\n // break;\n // }\n // }\n\n // handleUpdateRecipient(originalRecipient: IRecipient, updatedRecipient: IRecipient) {\n // console.log('Updating recipient', originalRecipient, updatedRecipient);\n // const fields: any = {};\n // if (updatedRecipient.email !== originalRecipient.email) {\n // fields.email = updatedRecipient.email;\n // }\n // if (updatedRecipient.phone !== originalRecipient.phone) {\n // fields.phone = updatedRecipient.phone;\n // }\n // if (updatedRecipient.message !== originalRecipient.message) {\n // fields.message = updatedRecipient.message;\n // }\n // if (updatedRecipient.first_name !== originalRecipient.first_name) {\n // fields.first_name = updatedRecipient.first_name;\n // }\n // if (updatedRecipient.last_name !== originalRecipient.last_name) {\n // fields.last_name = updatedRecipient.last_name;\n // }\n //\n // if (Object.keys(fields).length > 0) {\n // updateRecipient(this.endpoint, this.envelopeId, originalRecipient.role_name, fields)\n // .then(r => {\n // // TODO: Reload the envelope?\n // VerdocsToast('Recipient updated', {style: 'success'});\n // console.log('[SIDEBAR] Updated recipient', r);\n // Store.getEnvelope(this.endpoint, this.envelopeId, true);\n // this.showUpdateDialog = '';\n // })\n // .catch(e => {\n // VerdocsToast(e.response.data.error, {style: 'error'});\n // this.showUpdateDialog = '';\n // });\n // } else {\n // this.showUpdateDialog = '';\n // }\n // }\n\n render() {\n const hasPoweredBy = !!this.envelope?.organization?.powered_by_label;\n const hasLinks = !!this.envelope?.organization?.terms_use_url || !!this.envelope?.organization?.privacy_policy_url;\n const hasButtons = !this.isDone;\n\n return (\n <Host class={{'has-buttons': hasButtons, 'no-buttons': !hasButtons, 'has-powered-by': hasPoweredBy, 'has-links': hasLinks, 'just-buttons': !hasPoweredBy && !hasLinks}}>\n {this.envelope?.organization?.powered_by_label && (\n <div class=\"powered-by\">\n {this.envelope?.organization?.powered_by_url ? (\n <a href={this.envelope?.organization?.powered_by_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>{this.envelope?.organization?.powered_by_label}</span>\n </a>\n ) : (\n <span>{this.envelope?.organization?.powered_by_label}</span>\n )}\n </div>\n )}\n\n {!this.isDone && (\n <div class=\"buttons\">\n <button onClick={() => (this.askingQuestion = true)}>\n <span innerHTML={QuestionIcon} />\n Ask Sender a Question\n </button>\n <button onClick={() => this.decline?.emit()}>\n <span innerHTML={DeclineIcon} />\n Decline Signing\n </button>\n <button onClick={() => this.finishLater?.emit()}>\n <span innerHTML={SaveIcon} />\n Finish Later\n </button>\n </div>\n )}\n\n <div class=\"links\">\n {this.envelope?.organization?.terms_use_url && (\n <a href={this.envelope?.organization?.terms_use_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Terms of Use</span>\n </a>\n )}\n {this.envelope?.organization?.privacy_policy_url && (\n <a href={this.envelope?.organization?.privacy_policy_url} target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Privacy Policy</span>\n </a>\n )}\n </div>\n\n {this.askingQuestion && (\n <verdocs-question-dialog\n onNext={e => {\n this.askQuestion?.emit({question: e.detail.question});\n this.askingQuestion = false;\n }}\n onExit={() => (this.askingQuestion = false)}\n />\n )}\n </Host>\n );\n }\n}\n"],"names":["QuestionIcon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-ZcTmgak2.system.js","sources":["src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.scss?tag=verdocs-signature-dialog","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-signature-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n .content {\n display: flex;\n flex-direction: column;\n }\n\n canvas {\n background: $verdocs-grey-4;\n width: 300px;\n height: 79px;\n max-width: 100%;\n margin: 20px auto;\n box-sizing: border-box;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n text-align: justify;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n margin: -20px -20px 0 -20px;\n border-bottom: 1px solid #eeeeee;\n\n .tab {\n flex: 1;\n gap: 4px;\n display: flex;\n cursor: pointer;\n font-size: 12px;\n font-weight: 500;\n padding: 6px 10px;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n &.active {\n background: #f9f5fe;\n border-bottom: 2px solid $border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n\n .icon {\n width: 16px;\n height: 16px;\n }\n }\n }\n\n // We use fixed heights for these sections to avoid layout shifts when switching tabs.\n .type {\n display: none;\n height: 100px;\n margin-top: 20px;\n flex-direction: column;\n\n &.active {\n display: flex;\n }\n }\n\n .draw {\n height: 100px;\n display: none;\n margin-top: 20px;\n flex-direction: column;\n\n &.active {\n display: flex;\n }\n\n .draw-instructions {\n font-size: 13px;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 8px;\n text-align: center;\n }\n\n canvas {\n cursor: crosshair;\n touch-action: none;\n }\n\n .draw-actions {\n display: flex;\n justify-content: center;\n margin-top: 12px;\n\n .clear-button {\n border: 1px solid #d0d0d0;\n background-color: #ffffff;\n color: #333333;\n padding: 6px 16px;\n font-size: 13px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.2s ease;\n\n &:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #b0b0b0;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n }\n }\n\n .upload {\n height: 100px;\n display: none;\n margin-top: 20px;\n flex-direction: column;\n\n &.active {\n display: flex;\n }\n\n .upload-instructions {\n font-size: 13px;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 8px;\n text-align: center;\n }\n\n .upload-actions {\n display: flex;\n justify-content: center;\n gap: 12px;\n margin-top: 8px;\n\n .upload-button {\n border: 1px solid $primary-color;\n background-color: $primary-color;\n color: #ffffff;\n padding: 8px 20px;\n font-size: 13px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: darken($primary-color, 10%);\n border-color: darken($primary-color, 10%);\n }\n }\n\n .clear-button {\n border: 1px solid #d0d0d0;\n background-color: #ffffff;\n color: #333333;\n padding: 8px 16px;\n font-size: 13px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.2s ease;\n\n &:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #b0b0b0;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n }\n\n .upload-filename {\n font-size: 12px;\n color: rgba(0, 0, 0, 0.6);\n text-align: center;\n margin-top: 8px;\n font-style: italic;\n }\n }\n\n /* TODO: We're getting positive feedback. Add this as a formal button variant. */\n .buttons {\n gap: 20px;\n display: flex;\n margin-top: 14px;\n flex-direction: row;\n justify-content: flex-end;\n\n button {\n flex: 1;\n border: 0;\n height: 38px;\n display: flex;\n color: #ffffff;\n font-size: 14px;\n //font-size: 16px;\n cursor: pointer;\n align-items: center;\n border-radius: 6px;\n justify-content: center;\n\n &.cancel {\n background-color: $verdocs-button-purple;\n }\n\n &.proceed {\n background-color: $verdocs-button-green;\n }\n\n &:disabled {\n background-color: $verdocs-button-disabled;\n }\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, State} from '@stencil/core';\n\nconst Keyboard = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 8h.01\"/><path d=\"M12 12h.01\"/><path d=\"M14 8h.01\"/><path d=\"M16 12h.01\"/><path d=\"M18 8h.01\"/><path d=\"M6 8h.01\"/><path d=\"M7 16h10\"/><path d=\"M8 12h.01\"/><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"/></svg>`;\nconst Pencil = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\"/><path d=\"m15 5 4 4\"/></svg>`;\nconst Upload = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21\"/><path d=\"m14 19.5 3-3 3 3\"/><path d=\"M17 22v-5.5\"/><circle cx=\"9\" cy=\"9\" r=\"2\"/></svg>`;\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n private drawingContext?: CanvasRenderingContext2D;\n private fileInputElement?: HTMLInputElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n // Drawing state\n @State() isDrawing = false;\n\n @State() hasDrawnSignature = false;\n\n // Upload state\n @State() hasUploadedImage = false;\n\n @State() uploadedFileName: string = '';\n\n private currentStroke: Array<{x: number; y: number}> = [];\n private allStrokes: Array<Array<{x: number; y: number}>> = [];\n private lastPoint: {x: number; y: number} | null = null;\n private uploadedImage: HTMLImageElement | null = null;\n\n componentWillLoad() {\n this.enteredName = this.name;\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n this.setupDrawingCanvas();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n this.setupDrawingCanvas();\n\n // Redraw uploaded image when in upload mode\n if (this.mode === 'upload' && this.hasUploadedImage) {\n this.drawUploadedImage();\n }\n\n // Redraw drawn signature when in draw mode\n if (this.mode === 'draw' && this.allStrokes.length > 0) {\n this.redrawDrawnSignature();\n }\n }\n\n redrawSignature() {\n if (!this.canvasElement || this.mode !== 'type') {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredName).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n redrawDrawnSignature() {\n if (!this.canvasElement || !this.drawingContext || this.allStrokes.length === 0) {\n return;\n }\n\n // Clear the canvas first\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n // Redraw all strokes\n for (const stroke of this.allStrokes) {\n if (stroke.length === 0) {\n continue;\n }\n\n // Start the path at the first point\n this.drawingContext.beginPath();\n this.drawingContext.moveTo(stroke[0].x, stroke[0].y);\n\n // Draw smooth curves through all points in the stroke\n for (let i = 1; i < stroke.length; i++) {\n const currentPoint = stroke[i];\n const previousPoint = stroke[i - 1];\n\n // Use quadratic curves for smooth lines\n const midPoint = {\n x: (previousPoint.x + currentPoint.x) / 2,\n y: (previousPoint.y + currentPoint.y) / 2,\n };\n\n this.drawingContext.quadraticCurveTo(previousPoint.x, previousPoint.y, midPoint.x, midPoint.y);\n }\n\n // Draw to the last point\n if (stroke.length > 1) {\n const lastPoint = stroke[stroke.length - 1];\n this.drawingContext.lineTo(lastPoint.x, lastPoint.y);\n }\n\n this.drawingContext.stroke();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.exit.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n isAdoptButtonDisabled(): boolean {\n switch (this.mode) {\n case 'type':\n // Disable if no name has been entered\n return !this.enteredName || this.enteredName.trim().length === 0;\n case 'draw':\n // Disable if nothing has been drawn\n return !this.hasDrawnSignature || this.allStrokes.length === 0;\n case 'upload':\n // Disable if no file has been uploaded\n return !this.hasUploadedImage;\n default:\n return true;\n }\n }\n\n setupDrawingCanvas() {\n if (!this.canvasElement) {\n return;\n }\n\n // Set up drawing context when in draw mode\n if (this.mode === 'draw') {\n // Always get fresh context from the current canvas element\n const ctx = this.canvasElement.getContext('2d');\n\n // Only initialize if we don't have a context or it's different\n if (ctx && ctx !== this.drawingContext) {\n this.drawingContext = ctx;\n\n // Configure drawing style for smooth signatures\n this.drawingContext.strokeStyle = '#000000';\n this.drawingContext.lineWidth = 2;\n this.drawingContext.lineCap = 'round';\n this.drawingContext.lineJoin = 'round';\n\n // Clear canvas only if there are no existing strokes\n if (this.allStrokes.length === 0) {\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n }\n }\n }\n\n // Reset drawing context when switching away from draw mode\n // NOTE: We don't clear allStrokes here so drawing persists when returning to draw mode\n if (this.mode !== 'draw' && this.drawingContext) {\n this.drawingContext = null;\n this.currentStroke = [];\n this.lastPoint = null;\n }\n }\n\n clearDrawingCanvas() {\n if (!this.canvasElement || !this.drawingContext) {\n return;\n }\n\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n this.currentStroke = [];\n this.allStrokes = [];\n this.lastPoint = null;\n this.hasDrawnSignature = false;\n }\n\n handleClearDrawing(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.clearDrawingCanvas();\n }\n\n getCanvasCoordinates(e: PointerEvent): {x: number; y: number} {\n if (!this.canvasElement) {\n return {x: 0, y: 0};\n }\n\n const rect = this.canvasElement.getBoundingClientRect();\n\n // Calculate the scale factor between canvas size and display size\n const scaleX = this.canvasElement.width / rect.width;\n const scaleY = this.canvasElement.height / rect.height;\n\n return {\n x: (e.clientX - rect.left) * scaleX,\n y: (e.clientY - rect.top) * scaleY,\n };\n }\n\n handlePointerDown = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.canvasElement || !this.drawingContext) {\n return;\n }\n\n this.isDrawing = true;\n this.hasDrawnSignature = true;\n\n const point = this.getCanvasCoordinates(e);\n this.currentStroke = [point];\n this.lastPoint = point;\n\n // Start a new path\n this.drawingContext.beginPath();\n this.drawingContext.moveTo(point.x, point.y);\n\n // Capture pointer to ensure we get all events even if pointer leaves canvas\n this.canvasElement.setPointerCapture(e.pointerId);\n };\n\n handlePointerMove = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.drawingContext || !this.lastPoint) {\n return;\n }\n\n const point = this.getCanvasCoordinates(e);\n this.currentStroke.push(point);\n\n // Use quadratic curves for smooth drawing\n // The control point is the last point, and we draw to the midpoint\n const midPoint = {\n x: (this.lastPoint.x + point.x) / 2,\n y: (this.lastPoint.y + point.y) / 2,\n };\n\n this.drawingContext.quadraticCurveTo(this.lastPoint.x, this.lastPoint.y, midPoint.x, midPoint.y);\n this.drawingContext.stroke();\n\n this.lastPoint = point;\n };\n\n handlePointerUp = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.drawingContext) {\n return;\n }\n\n // Complete the stroke\n if (this.lastPoint && this.currentStroke.length > 0) {\n this.drawingContext.lineTo(this.lastPoint.x, this.lastPoint.y);\n this.drawingContext.stroke();\n }\n\n // Save the completed stroke\n if (this.currentStroke.length > 0) {\n this.allStrokes.push([...this.currentStroke]);\n }\n\n this.isDrawing = false;\n this.currentStroke = [];\n this.lastPoint = null;\n\n // Release pointer capture\n if (this.canvasElement) {\n this.canvasElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handlePointerCancel = (e: PointerEvent) => {\n // Handle cases where drawing is interrupted (e.g., phone call, notification)\n this.isDrawing = false;\n this.currentStroke = [];\n this.lastPoint = null;\n\n if (this.canvasElement) {\n this.canvasElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleSelectFile = (e: any) => {\n e.stopPropagation();\n e.preventDefault();\n this.fileInputElement?.click();\n };\n\n handleFileChange = (e: Event) => {\n const input = e.target as HTMLInputElement;\n const file = input.files?.[0];\n\n if (!file) {\n return;\n }\n\n // Validate file type\n if (!file.type.startsWith('image/png')) {\n alert('Please select a PNG image file.');\n input.value = '';\n return;\n }\n\n // Load and display the image\n const reader = new FileReader();\n reader.onload = (event: ProgressEvent<FileReader>) => {\n const img = new Image();\n img.onload = () => {\n this.uploadedImage = img;\n this.uploadedFileName = file.name;\n this.hasUploadedImage = true;\n this.drawUploadedImage();\n };\n img.onerror = () => {\n alert('Failed to load image. Please try a different file.');\n input.value = '';\n };\n img.src = event.target?.result as string;\n };\n reader.onerror = () => {\n alert('Failed to read file. Please try again.');\n input.value = '';\n };\n reader.readAsDataURL(file);\n };\n\n drawUploadedImage() {\n if (!this.canvasElement || !this.uploadedImage) {\n return;\n }\n\n const ctx = this.canvasElement.getContext('2d');\n if (!ctx) {\n return;\n }\n\n // Clear the canvas\n ctx.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n // Calculate scaling to fit image within canvas while maintaining aspect ratio\n const canvasWidth = this.canvasElement.width;\n const canvasHeight = this.canvasElement.height;\n const imageWidth = this.uploadedImage.width;\n const imageHeight = this.uploadedImage.height;\n\n // Calculate scale to fit within canvas (with some padding)\n const padding = 10;\n const availableWidth = canvasWidth - padding * 2;\n const availableHeight = canvasHeight - padding * 2;\n\n const scaleX = availableWidth / imageWidth;\n const scaleY = availableHeight / imageHeight;\n const scale = Math.min(scaleX, scaleY);\n\n // Calculate dimensions and position to center the image\n const scaledWidth = imageWidth * scale;\n const scaledHeight = imageHeight * scale;\n const x = (canvasWidth - scaledWidth) / 2;\n const y = (canvasHeight - scaledHeight) / 2;\n\n // Draw the image centered and scaled\n ctx.drawImage(this.uploadedImage, x, y, scaledWidth, scaledHeight);\n }\n\n handleClearUpload = (e: any) => {\n e.stopPropagation();\n e.preventDefault();\n\n this.uploadedImage = null;\n this.uploadedFileName = '';\n this.hasUploadedImage = false;\n\n // Clear the file input\n if (this.fileInputElement) {\n this.fileInputElement.value = '';\n }\n\n // Clear the canvas\n if (this.canvasElement) {\n const ctx = this.canvasElement.getContext('2d');\n if (ctx) {\n ctx.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n }\n }\n };\n\n render() {\n return (\n <verdocs-dialog>\n <div slot=\"heading\" class=\"heading\">\n <div class=\"icon\">\n <svg width=\"22\" height=\"19\" viewBox=\"0 0 22 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_34208_4881)\">\n <path\n d=\"M3.125 0.75C1.88398 0.75 0.875 1.75898 0.875 3V16.5C0.875 17.741 1.88398 18.75 3.125 18.75H12.125C13.366 18.75 14.375 17.741 14.375 16.5V15.8215C14.2801 15.8602 14.1852 15.8918 14.0867 15.9164L11.9738 16.4437C11.8684 16.4684 11.7629 16.4859 11.6574 16.493C11.6258 16.4965 11.5941 16.5 11.5625 16.5H9.3125C9.09805 16.5 8.90469 16.3805 8.80977 16.1906L8.50039 15.5684C8.44062 15.4488 8.32109 15.375 8.19102 15.375C8.06094 15.375 7.93789 15.4488 7.88164 15.5684L7.57227 16.1906C7.47031 16.398 7.24883 16.5211 7.02031 16.5C6.7918 16.4789 6.59492 16.3207 6.53164 16.1027L5.9375 14.1445L5.59297 15.2977C5.37852 16.0113 4.72109 16.5 3.97578 16.5H3.6875C3.37812 16.5 3.125 16.2469 3.125 15.9375C3.125 15.6281 3.37812 15.375 3.6875 15.375H3.97578C4.22539 15.375 4.44336 15.2133 4.51367 14.9742L5.0375 13.234C5.15703 12.8367 5.52266 12.5625 5.9375 12.5625C6.35234 12.5625 6.71797 12.8367 6.8375 13.234L7.24531 14.591C7.50547 14.373 7.83594 14.25 8.1875 14.25C8.74648 14.25 9.25625 14.5664 9.50586 15.0656L9.66055 15.375H9.97344C9.86445 15.0656 9.84336 14.7281 9.92422 14.3977L10.4516 12.2848C10.55 11.8875 10.7539 11.5289 11.0422 11.2406L14.375 7.90781V6.375H9.875C9.25273 6.375 8.75 5.87227 8.75 5.25V0.75H3.125ZM9.875 0.75V5.25H14.375L9.875 0.75ZM20.2039 5.66133C19.6555 5.11289 18.766 5.11289 18.2141 5.66133L17.1805 6.69492L19.6766 9.19102L20.7102 8.15742C21.2586 7.60898 21.2586 6.71953 20.7102 6.16758L20.2039 5.66133ZM11.8402 12.0352C11.6961 12.1793 11.5941 12.3586 11.5449 12.559L11.0176 14.6719C10.9684 14.8652 11.0246 15.0656 11.1652 15.2063C11.3059 15.3469 11.5062 15.4031 11.6996 15.3539L13.8125 14.8266C14.0094 14.7773 14.1922 14.6754 14.3363 14.5312L18.8785 9.98555L16.3824 7.48945L11.8402 12.0352Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_34208_4881\">\n <path d=\"M0.875 0.75H21.125V18.75H0.875V0.75Z\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n\n <div class=\"title\">Adopt Signature</div>\n </div>\n\n <div slot=\"content\" class=\"content\">\n <div class=\"tabs\">\n <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>\n <div innerHTML={Keyboard} class=\"icon\" />\n <div>Type</div>\n </div>\n <div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>\n <div innerHTML={Pencil} class=\"icon\" />\n <div>Draw</div>\n </div>\n <div class={{tab: true, active: this.mode === 'upload'}} onClick={() => (this.mode = 'upload')}>\n <div innerHTML={Upload} class=\"icon\" />\n <div>Upload</div>\n </div>\n </div>\n\n <div class={{type: true, active: this.mode === 'type'}}>\n <verdocs-text-input\n label=\"Full Name\"\n value={this.enteredName}\n placeholder=\"Full Name...\"\n description=\"As shown on driver's license or govt. ID card.\"\n onInput={e => this.handleNameChange(e)}\n onClick={e => e.stopPropagation()}\n />\n </div>\n\n <div class={{draw: true, active: this.mode === 'draw'}}>\n <div class=\"draw-instructions\">Draw your signature below using your mouse or finger</div>\n <div class=\"draw-actions\">\n <button class=\"clear-button\" onClick={e => this.handleClearDrawing(e)} disabled={!this.hasDrawnSignature}>\n Clear\n </button>\n </div>\n </div>\n\n <div class={{upload: true, active: this.mode === 'upload'}}>\n <div class=\"upload-instructions\">Upload a PNG image of your signature</div>\n <input ref={el => (this.fileInputElement = el as HTMLInputElement)} type=\"file\" accept=\"image/png\" onChange={this.handleFileChange} style={{display: 'none'}} />\n <div class=\"upload-actions\">\n <button class=\"upload-button\" onClick={this.handleSelectFile}>\n {this.hasUploadedImage ? 'Change Image' : 'Select PNG File'}\n </button>\n {this.hasUploadedImage && (\n <button class=\"clear-button\" onClick={this.handleClearUpload}>\n Clear\n </button>\n )}\n </div>\n {this.uploadedFileName && <div class=\"upload-filename\">{this.uploadedFileName}</div>}\n </div>\n\n <canvas\n ref={el => (this.canvasElement = el as HTMLCanvasElement)}\n width=\"300\"\n height=\"79\"\n onPointerDown={this.handlePointerDown}\n onPointerMove={this.handlePointerMove}\n onPointerUp={this.handlePointerUp}\n onPointerCancel={this.handlePointerCancel}\n style={{touchAction: 'none', cursor: 'crosshair'}}\n />\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts — just the same as a pen-and-paper signature or initial.\n </div>\n </div>\n\n <div class=\"footer\" slot=\"footer\">\n <div class=\"buttons\">\n <button class=\"cancel\" onClick={e => this.handleCancel(e)}>\n Cancel\n </button>\n <button class=\"proceed\" onClick={e => this.handleAdopt(e)} disabled={this.isAdoptButtonDisabled()}>\n Adopt & Sign\n </button>\n </div>\n </div>\n </verdocs-dialog>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-BFIyp5DH.system.js","sources":["src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.scss?tag=verdocs-signature-dialog","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-signature-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n .content {\n display: flex;\n flex-direction: column;\n }\n\n canvas {\n background: $verdocs-grey-4;\n width: 300px;\n height: 79px;\n max-width: 100%;\n margin: 20px auto;\n box-sizing: border-box;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n text-align: justify;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n margin: -20px -20px 0 -20px;\n border-bottom: 1px solid #eeeeee;\n\n .tab {\n flex: 1;\n gap: 4px;\n display: flex;\n cursor: pointer;\n font-size: 12px;\n font-weight: 500;\n padding: 6px 10px;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n &.active {\n background: #f9f5fe;\n border-bottom: 2px solid $border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n\n .icon {\n width: 16px;\n height: 16px;\n }\n }\n }\n\n // We use fixed heights for these sections to avoid layout shifts when switching tabs.\n .type {\n display: none;\n height: 100px;\n margin-top: 20px;\n flex-direction: column;\n\n &.active {\n display: flex;\n }\n }\n\n .draw {\n height: 100px;\n display: none;\n margin-top: 20px;\n flex-direction: column;\n\n &.active {\n display: flex;\n }\n\n .draw-instructions {\n font-size: 13px;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 8px;\n text-align: center;\n }\n\n canvas {\n cursor: crosshair;\n touch-action: none;\n }\n\n .draw-actions {\n display: flex;\n justify-content: center;\n margin-top: 12px;\n\n .clear-button {\n border: 1px solid #d0d0d0;\n background-color: #ffffff;\n color: #333333;\n padding: 6px 16px;\n font-size: 13px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.2s ease;\n\n &:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #b0b0b0;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n }\n }\n\n .upload {\n height: 100px;\n display: none;\n margin-top: 20px;\n flex-direction: column;\n\n &.active {\n display: flex;\n }\n\n .upload-instructions {\n font-size: 13px;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 8px;\n text-align: center;\n }\n\n .upload-actions {\n display: flex;\n justify-content: center;\n gap: 12px;\n margin-top: 8px;\n\n .upload-button {\n border: 1px solid $primary-color;\n background-color: $primary-color;\n color: #ffffff;\n padding: 8px 20px;\n font-size: 13px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: darken($primary-color, 10%);\n border-color: darken($primary-color, 10%);\n }\n }\n\n .clear-button {\n border: 1px solid #d0d0d0;\n background-color: #ffffff;\n color: #333333;\n padding: 8px 16px;\n font-size: 13px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.2s ease;\n\n &:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #b0b0b0;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n }\n\n .upload-filename {\n font-size: 12px;\n color: rgba(0, 0, 0, 0.6);\n text-align: center;\n margin-top: 8px;\n font-style: italic;\n }\n }\n\n /* TODO: We're getting positive feedback. Add this as a formal button variant. */\n .buttons {\n gap: 20px;\n display: flex;\n margin-top: 14px;\n flex-direction: row;\n justify-content: flex-end;\n\n button {\n flex: 1;\n border: 0;\n height: 38px;\n display: flex;\n color: #ffffff;\n font-size: 14px;\n //font-size: 16px;\n cursor: pointer;\n align-items: center;\n border-radius: 6px;\n justify-content: center;\n\n &.cancel {\n background-color: $verdocs-button-purple;\n }\n\n &.proceed {\n background-color: $verdocs-button-green;\n }\n\n &:disabled {\n background-color: $verdocs-button-disabled;\n }\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, State} from '@stencil/core';\n\nconst Keyboard = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 8h.01\"/><path d=\"M12 12h.01\"/><path d=\"M14 8h.01\"/><path d=\"M16 12h.01\"/><path d=\"M18 8h.01\"/><path d=\"M6 8h.01\"/><path d=\"M7 16h10\"/><path d=\"M8 12h.01\"/><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"/></svg>`;\nconst Pencil = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\"/><path d=\"m15 5 4 4\"/></svg>`;\nconst Upload = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21\"/><path d=\"m14 19.5 3-3 3 3\"/><path d=\"M17 22v-5.5\"/><circle cx=\"9\" cy=\"9\" r=\"2\"/></svg>`;\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n private drawingContext?: CanvasRenderingContext2D;\n private fileInputElement?: HTMLInputElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n // Drawing state\n @State() isDrawing = false;\n\n @State() hasDrawnSignature = false;\n\n // Upload state\n @State() hasUploadedImage = false;\n\n @State() uploadedFileName: string = '';\n\n private currentStroke: Array<{x: number; y: number}> = [];\n private allStrokes: Array<Array<{x: number; y: number}>> = [];\n private lastPoint: {x: number; y: number} | null = null;\n private uploadedImage: HTMLImageElement | null = null;\n\n componentWillLoad() {\n this.enteredName = this.name;\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n this.setupDrawingCanvas();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n this.setupDrawingCanvas();\n\n // Redraw uploaded image when in upload mode\n if (this.mode === 'upload' && this.hasUploadedImage) {\n this.drawUploadedImage();\n }\n\n // Redraw drawn signature when in draw mode\n if (this.mode === 'draw' && this.allStrokes.length > 0) {\n this.redrawDrawnSignature();\n }\n }\n\n redrawSignature() {\n if (!this.canvasElement || this.mode !== 'type') {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredName).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n redrawDrawnSignature() {\n if (!this.canvasElement || !this.drawingContext || this.allStrokes.length === 0) {\n return;\n }\n\n // Clear the canvas first\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n // Redraw all strokes\n for (const stroke of this.allStrokes) {\n if (stroke.length === 0) {\n continue;\n }\n\n // Start the path at the first point\n this.drawingContext.beginPath();\n this.drawingContext.moveTo(stroke[0].x, stroke[0].y);\n\n // Draw smooth curves through all points in the stroke\n for (let i = 1; i < stroke.length; i++) {\n const currentPoint = stroke[i];\n const previousPoint = stroke[i - 1];\n\n // Use quadratic curves for smooth lines\n const midPoint = {\n x: (previousPoint.x + currentPoint.x) / 2,\n y: (previousPoint.y + currentPoint.y) / 2,\n };\n\n this.drawingContext.quadraticCurveTo(previousPoint.x, previousPoint.y, midPoint.x, midPoint.y);\n }\n\n // Draw to the last point\n if (stroke.length > 1) {\n const lastPoint = stroke[stroke.length - 1];\n this.drawingContext.lineTo(lastPoint.x, lastPoint.y);\n }\n\n this.drawingContext.stroke();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.exit.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n isAdoptButtonDisabled(): boolean {\n switch (this.mode) {\n case 'type':\n // Disable if no name has been entered\n return !this.enteredName || this.enteredName.trim().length === 0;\n case 'draw':\n // Disable if nothing has been drawn\n return !this.hasDrawnSignature || this.allStrokes.length === 0;\n case 'upload':\n // Disable if no file has been uploaded\n return !this.hasUploadedImage;\n default:\n return true;\n }\n }\n\n setupDrawingCanvas() {\n if (!this.canvasElement) {\n return;\n }\n\n // Set up drawing context when in draw mode\n if (this.mode === 'draw') {\n // Always get fresh context from the current canvas element\n const ctx = this.canvasElement.getContext('2d');\n\n // Only initialize if we don't have a context or it's different\n if (ctx && ctx !== this.drawingContext) {\n this.drawingContext = ctx;\n\n // Configure drawing style for smooth signatures\n this.drawingContext.strokeStyle = '#000000';\n this.drawingContext.lineWidth = 2;\n this.drawingContext.lineCap = 'round';\n this.drawingContext.lineJoin = 'round';\n\n // Clear canvas only if there are no existing strokes\n if (this.allStrokes.length === 0) {\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n }\n }\n }\n\n // Reset drawing context when switching away from draw mode\n // NOTE: We don't clear allStrokes here so drawing persists when returning to draw mode\n if (this.mode !== 'draw' && this.drawingContext) {\n this.drawingContext = null;\n this.currentStroke = [];\n this.lastPoint = null;\n }\n }\n\n clearDrawingCanvas() {\n if (!this.canvasElement || !this.drawingContext) {\n return;\n }\n\n this.drawingContext.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n this.currentStroke = [];\n this.allStrokes = [];\n this.lastPoint = null;\n this.hasDrawnSignature = false;\n }\n\n handleClearDrawing(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.clearDrawingCanvas();\n }\n\n getCanvasCoordinates(e: PointerEvent): {x: number; y: number} {\n if (!this.canvasElement) {\n return {x: 0, y: 0};\n }\n\n const rect = this.canvasElement.getBoundingClientRect();\n\n // Calculate the scale factor between canvas size and display size\n const scaleX = this.canvasElement.width / rect.width;\n const scaleY = this.canvasElement.height / rect.height;\n\n return {\n x: (e.clientX - rect.left) * scaleX,\n y: (e.clientY - rect.top) * scaleY,\n };\n }\n\n handlePointerDown = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.canvasElement || !this.drawingContext) {\n return;\n }\n\n this.isDrawing = true;\n this.hasDrawnSignature = true;\n\n const point = this.getCanvasCoordinates(e);\n this.currentStroke = [point];\n this.lastPoint = point;\n\n // Start a new path\n this.drawingContext.beginPath();\n this.drawingContext.moveTo(point.x, point.y);\n\n // Capture pointer to ensure we get all events even if pointer leaves canvas\n this.canvasElement.setPointerCapture(e.pointerId);\n };\n\n handlePointerMove = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.drawingContext || !this.lastPoint) {\n return;\n }\n\n const point = this.getCanvasCoordinates(e);\n this.currentStroke.push(point);\n\n // Use quadratic curves for smooth drawing\n // The control point is the last point, and we draw to the midpoint\n const midPoint = {\n x: (this.lastPoint.x + point.x) / 2,\n y: (this.lastPoint.y + point.y) / 2,\n };\n\n this.drawingContext.quadraticCurveTo(this.lastPoint.x, this.lastPoint.y, midPoint.x, midPoint.y);\n this.drawingContext.stroke();\n\n this.lastPoint = point;\n };\n\n handlePointerUp = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.drawingContext) {\n return;\n }\n\n // Complete the stroke\n if (this.lastPoint && this.currentStroke.length > 0) {\n this.drawingContext.lineTo(this.lastPoint.x, this.lastPoint.y);\n this.drawingContext.stroke();\n }\n\n // Save the completed stroke\n if (this.currentStroke.length > 0) {\n this.allStrokes.push([...this.currentStroke]);\n }\n\n this.isDrawing = false;\n this.currentStroke = [];\n this.lastPoint = null;\n\n // Release pointer capture\n if (this.canvasElement) {\n this.canvasElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handlePointerCancel = (e: PointerEvent) => {\n // Handle cases where drawing is interrupted (e.g., phone call, notification)\n this.isDrawing = false;\n this.currentStroke = [];\n this.lastPoint = null;\n\n if (this.canvasElement) {\n this.canvasElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleSelectFile = (e: any) => {\n e.stopPropagation();\n e.preventDefault();\n this.fileInputElement?.click();\n };\n\n handleFileChange = (e: Event) => {\n const input = e.target as HTMLInputElement;\n const file = input.files?.[0];\n\n if (!file) {\n return;\n }\n\n // Validate file type\n if (!file.type.startsWith('image/png')) {\n alert('Please select a PNG image file.');\n input.value = '';\n return;\n }\n\n // Load and display the image\n const reader = new FileReader();\n reader.onload = (event: ProgressEvent<FileReader>) => {\n const img = new Image();\n img.onload = () => {\n this.uploadedImage = img;\n this.uploadedFileName = file.name;\n this.hasUploadedImage = true;\n this.drawUploadedImage();\n };\n img.onerror = () => {\n alert('Failed to load image. Please try a different file.');\n input.value = '';\n };\n img.src = event.target?.result as string;\n };\n reader.onerror = () => {\n alert('Failed to read file. Please try again.');\n input.value = '';\n };\n reader.readAsDataURL(file);\n };\n\n drawUploadedImage() {\n if (!this.canvasElement || !this.uploadedImage) {\n return;\n }\n\n const ctx = this.canvasElement.getContext('2d');\n if (!ctx) {\n return;\n }\n\n // Clear the canvas\n ctx.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n // Calculate scaling to fit image within canvas while maintaining aspect ratio\n const canvasWidth = this.canvasElement.width;\n const canvasHeight = this.canvasElement.height;\n const imageWidth = this.uploadedImage.width;\n const imageHeight = this.uploadedImage.height;\n\n // Calculate scale to fit within canvas (with some padding)\n const padding = 10;\n const availableWidth = canvasWidth - padding * 2;\n const availableHeight = canvasHeight - padding * 2;\n\n const scaleX = availableWidth / imageWidth;\n const scaleY = availableHeight / imageHeight;\n const scale = Math.min(scaleX, scaleY);\n\n // Calculate dimensions and position to center the image\n const scaledWidth = imageWidth * scale;\n const scaledHeight = imageHeight * scale;\n const x = (canvasWidth - scaledWidth) / 2;\n const y = (canvasHeight - scaledHeight) / 2;\n\n // Draw the image centered and scaled\n ctx.drawImage(this.uploadedImage, x, y, scaledWidth, scaledHeight);\n }\n\n handleClearUpload = (e: any) => {\n e.stopPropagation();\n e.preventDefault();\n\n this.uploadedImage = null;\n this.uploadedFileName = '';\n this.hasUploadedImage = false;\n\n // Clear the file input\n if (this.fileInputElement) {\n this.fileInputElement.value = '';\n }\n\n // Clear the canvas\n if (this.canvasElement) {\n const ctx = this.canvasElement.getContext('2d');\n if (ctx) {\n ctx.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n }\n }\n };\n\n render() {\n return (\n <verdocs-dialog>\n <div slot=\"heading\" class=\"heading\">\n <div class=\"icon\">\n <svg width=\"22\" height=\"19\" viewBox=\"0 0 22 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_34208_4881)\">\n <path\n d=\"M3.125 0.75C1.88398 0.75 0.875 1.75898 0.875 3V16.5C0.875 17.741 1.88398 18.75 3.125 18.75H12.125C13.366 18.75 14.375 17.741 14.375 16.5V15.8215C14.2801 15.8602 14.1852 15.8918 14.0867 15.9164L11.9738 16.4437C11.8684 16.4684 11.7629 16.4859 11.6574 16.493C11.6258 16.4965 11.5941 16.5 11.5625 16.5H9.3125C9.09805 16.5 8.90469 16.3805 8.80977 16.1906L8.50039 15.5684C8.44062 15.4488 8.32109 15.375 8.19102 15.375C8.06094 15.375 7.93789 15.4488 7.88164 15.5684L7.57227 16.1906C7.47031 16.398 7.24883 16.5211 7.02031 16.5C6.7918 16.4789 6.59492 16.3207 6.53164 16.1027L5.9375 14.1445L5.59297 15.2977C5.37852 16.0113 4.72109 16.5 3.97578 16.5H3.6875C3.37812 16.5 3.125 16.2469 3.125 15.9375C3.125 15.6281 3.37812 15.375 3.6875 15.375H3.97578C4.22539 15.375 4.44336 15.2133 4.51367 14.9742L5.0375 13.234C5.15703 12.8367 5.52266 12.5625 5.9375 12.5625C6.35234 12.5625 6.71797 12.8367 6.8375 13.234L7.24531 14.591C7.50547 14.373 7.83594 14.25 8.1875 14.25C8.74648 14.25 9.25625 14.5664 9.50586 15.0656L9.66055 15.375H9.97344C9.86445 15.0656 9.84336 14.7281 9.92422 14.3977L10.4516 12.2848C10.55 11.8875 10.7539 11.5289 11.0422 11.2406L14.375 7.90781V6.375H9.875C9.25273 6.375 8.75 5.87227 8.75 5.25V0.75H3.125ZM9.875 0.75V5.25H14.375L9.875 0.75ZM20.2039 5.66133C19.6555 5.11289 18.766 5.11289 18.2141 5.66133L17.1805 6.69492L19.6766 9.19102L20.7102 8.15742C21.2586 7.60898 21.2586 6.71953 20.7102 6.16758L20.2039 5.66133ZM11.8402 12.0352C11.6961 12.1793 11.5941 12.3586 11.5449 12.559L11.0176 14.6719C10.9684 14.8652 11.0246 15.0656 11.1652 15.2063C11.3059 15.3469 11.5062 15.4031 11.6996 15.3539L13.8125 14.8266C14.0094 14.7773 14.1922 14.6754 14.3363 14.5312L18.8785 9.98555L16.3824 7.48945L11.8402 12.0352Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_34208_4881\">\n <path d=\"M0.875 0.75H21.125V18.75H0.875V0.75Z\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n\n <div class=\"title\">Adopt Signature</div>\n </div>\n\n <div slot=\"content\" class=\"content\">\n <div class=\"tabs\">\n <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>\n <div innerHTML={Keyboard} class=\"icon\" />\n <div>Type</div>\n </div>\n <div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>\n <div innerHTML={Pencil} class=\"icon\" />\n <div>Draw</div>\n </div>\n <div class={{tab: true, active: this.mode === 'upload'}} onClick={() => (this.mode = 'upload')}>\n <div innerHTML={Upload} class=\"icon\" />\n <div>Upload</div>\n </div>\n </div>\n\n <div class={{type: true, active: this.mode === 'type'}}>\n <verdocs-text-input\n label=\"Full Name\"\n value={this.enteredName}\n placeholder=\"Full Name...\"\n description=\"As shown on driver's license or govt. ID card.\"\n onInput={e => this.handleNameChange(e)}\n onClick={e => e.stopPropagation()}\n />\n </div>\n\n <div class={{draw: true, active: this.mode === 'draw'}}>\n <div class=\"draw-instructions\">Draw your signature below using your mouse or finger</div>\n <div class=\"draw-actions\">\n <button class=\"clear-button\" onClick={e => this.handleClearDrawing(e)} disabled={!this.hasDrawnSignature}>\n Clear\n </button>\n </div>\n </div>\n\n <div class={{upload: true, active: this.mode === 'upload'}}>\n <div class=\"upload-instructions\">Upload a PNG image of your signature</div>\n <input ref={el => (this.fileInputElement = el as HTMLInputElement)} type=\"file\" accept=\"image/png\" onChange={this.handleFileChange} style={{display: 'none'}} />\n <div class=\"upload-actions\">\n <button class=\"upload-button\" onClick={this.handleSelectFile}>\n {this.hasUploadedImage ? 'Change Image' : 'Select PNG File'}\n </button>\n {this.hasUploadedImage && (\n <button class=\"clear-button\" onClick={this.handleClearUpload}>\n Clear\n </button>\n )}\n </div>\n {this.uploadedFileName && <div class=\"upload-filename\">{this.uploadedFileName}</div>}\n </div>\n\n <canvas\n ref={el => (this.canvasElement = el as HTMLCanvasElement)}\n width=\"300\"\n height=\"79\"\n onPointerDown={this.handlePointerDown}\n onPointerMove={this.handlePointerMove}\n onPointerUp={this.handlePointerUp}\n onPointerCancel={this.handlePointerCancel}\n style={{touchAction: 'none', cursor: 'crosshair'}}\n />\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts — just the same as a pen-and-paper signature or initial.\n </div>\n </div>\n\n <div class=\"footer\" slot=\"footer\">\n <div class=\"buttons\">\n <button class=\"cancel\" onClick={e => this.handleCancel(e)}>\n Cancel\n </button>\n <button class=\"proceed\" onClick={e => this.handleAdopt(e)} disabled={this.isAdoptButtonDisabled()}>\n Adopt & Sign\n </button>\n </div>\n </div>\n </verdocs-dialog>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-BIlzRpWg.system.js","sources":["src/components/templates/verdocs-template-tags/verdocs-template-tags.scss?tag=verdocs-template-tags","src/components/templates/verdocs-template-tags/verdocs-template-tags.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-tags {\n font-family: $primary-font;\n\n span {\n margin: 0 4px;\n height: 28px;\n font-size: 12px;\n font-weight: 600;\n padding: 5px 12px 7px;\n border-radius: 5px;\n display: inline-block;\n box-sizing: border-box;\n text-transform: uppercase;\n color: $label-color;\n border: 1px solid $border-color;\n background-color: $container-bg;\n }\n}\n","import {Component, Prop, h, Host} from '@stencil/core';\n\n/**\n * Displays a message listing a template's tags.\n */\n@Component({\n tag: 'verdocs-template-tags',\n styleUrl: 'verdocs-template-tags.scss',\n})\nexport class VerdocsTemplateTags {\n /**\n * The tags to display\n */\n @Prop() tags: any[];\n\n render() {\n return (\n <Host>\n {this.tags?.map(tag => (\n <span>{tag}</span>\n ))}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;MAAA,MAAM,sBAAsB,GAAG,0pBAA0pB;;YCS5qB,mBAAmB,oCAAA,MAAA;;;;UAM9B,MAAM,GAAA;;cACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACF,MAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,CAAC,GAAG,KACjB,CAAO,CAAA,MAAA,EAAA,IAAA,EAAA,GAAG,CAAQ,CACnB,CAAC,CACG;;;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as e}from"./p-dzBXqXlK.js";import{getEnvelopesZip as t,downloadBlob as s,rescale as n}from"@verdocs/js-sdk";import{F as a}from"./p-dqxNbm_b.js";const o=e=>{switch(e){case"textarea":return 150;case"textbox":return 150;case"timestamp":return 105;case"date":return 75;case"dropdown":return 85;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 71}return 150};const c=e=>{switch(e){case"textarea":return 41;case"textbox":return 15;case"timestamp":return 15;case"date":return 15;case"dropdown":return 20;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 36}return 50};const r=(e,t,s,a)=>{let{x:r=0,y:i=0,width:d=o(t.type),height:u=c(t.type)}=t;e.style.width=`${d}px`;e.style.height=`${u}px`;e.style.position="absolute";e.style.left=`${n(s,r)}px`;e.style.bottom=`${n(a,i)}px`;e.style.transform=`scale(${s}, ${a})`};const i=(e,t,s)=>{let{x:a=0,y:r=0,width:i=o(e.type),height:d=c(e.type)}=e;return{zIndex:"100",width:`${i}px`,height:`${d}px`,position:"absolute",left:`${n(t,a)}px`,bottom:`${n(s,r)}px`,transform:`scale(${t}, ${s})`}};const d=e=>`verdocs-doc-fld-${e.name}`;const u=e=>{const t=d(e);const s=document.getElementById(t);if(s){s.field=e;s.roleindex=e;s.setAttribute("id",t);s.setAttribute("disabled",true);s.setAttribute("disabled",false)}};const l=(e,t,s,n,a=1)=>{var o,c;const{disabled:i=false,editable:u=false,draggable:l=false,done:f=false}=n;const p=document.getElementById(s.containerId+"-controls");if(!p){console.log("[renderDocumentField] No controls DIV found",s.containerId+"-controls",s);return}switch(t.type){case"attachment":case"date":case"dropdown":case"initial":case"payment":case"signature":case"timestamp":case"textarea":case"textbox":{const n=d(t);const m=document.getElementById(n);if(m){r(m,t,s.xScale,s.yScale);return m}let{type:x}=t;if(x==="textbox"){if(((o=t["setting"])===null||o===void 0?void 0:o.leading)>0||((c=t["settings"])===null||c===void 0?void 0:c.leading)>0){x="textarea"}}const b=document.createElement(`verdocs-field-${x}`);b.field=t;b.setAttribute("id",n);b.setAttribute("fieldname",t.name);b.setAttribute("source",e);b.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(i){b.setAttribute("tabindex",-1);b.setAttribute("disabled",true)}else{b.setAttribute("tabIndex",a)}b.setAttribute("editable",u);b.setAttribute("draggable",l);b.setAttribute("done",f);r(b,t,s.xScale,s.yScale);p.appendChild(b);return b}case"checkbox":{const n=d(t);const a=document.getElementById(n);if(a){r(a,t,s.xScale,s.yScale);return a}const o=document.createElement(`verdocs-field-checkbox`);o.field=t;o.setAttribute("id",n);o.setAttribute("option",0);o.setAttribute("source",e);o.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(i){o.setAttribute("disabled",true)}if(f){o.setAttribute("done",true)}if(u){o.setAttribute("editable",true)}if(l){o.setAttribute("draggable",true)}r(o,t,s.xScale,s.yScale);p.appendChild(o);return o}case"radio":{const n=d(t);const a=document.getElementById(n);if(a){r(a,t,s.xScale,s.yScale);return a}const o=document.createElement(`verdocs-field-radio`);o.field=t;o.setAttribute("id",n);o.setAttribute("option",0);o.setAttribute("source",e);o.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(i){o.setAttribute("disabled",true)}if(f){o.setAttribute("done",true)}if(u){o.setAttribute("editable",true)}if(l){o.setAttribute("draggable",true)}r(o,t,s.xScale,s.yScale);p.appendChild(o);return o}default:console.log("[PREVIEW] Skipping unsupported field type",t);return null}};const f=(e,t,s)=>{const n=e.style.transform||"";const a=`${t}(${s})`;if(n.includes(t)){e.style.transform=n.replace(new RegExp(`${t}\\(.+?\\)`),a)}else{e.style.transform=n+" "+a}};const p=e=>{e.style.transform=e.style.transform.split(")")[0]+")"};const m=async(n,o)=>{const c=e.format(o.length===1?new Date(o[0].updated_at):new Date,a);const r=o.length===1?`${o[0].name} - ${c}.zip`:`Verdocs-Envelopes-${c}`;console.log("Downloading envelopes as ZIP",o,r);const i=await t(n,o.map((e=>e.id)));s(i.data,r)};const x=(e,t)=>{let s=0;return function(...n){clearTimeout(s);s=setTimeout((()=>e.apply(this,n)),t)}};const b=(e,t="16px Arial")=>{const s=document.createElement("canvas");const n=s.getContext("2d");n.font=t;return n.measureText(e).width};const g=e=>{let t=(e||"").trim();if(!t||t.startsWith("+")){return t}t=t.replace(/[^0-9]/g,"");t=t.replace(/^0/g,"");return`+1${t}`};const $=(e,t,s,a)=>{const o=document.getElementById(e.containerId+"-controls");if(!o){return}const c=document.createElement("verdocs-flag");c.variant=a.variant;c.label=a.label;c.showSkip=a.showSkip;if(a.id){c.setAttribute("id",a.id)}c.classList.add("verdocs-flag-instance");if(a.onSkip){c.addEventListener("skip",a.onSkip)}if(a.onClick){c.addEventListener("flagClick",a.onClick)}c.style.position="absolute";c.style.left="calc(100% - 14px)";const r=n(e.yScale,t);const i=n(e.yScale,s);const d=r+i;c.style.bottom=`${d}px`;o.appendChild(c);return c};export{l as a,b,i as c,c as d,g as e,f,d as g,p as h,r as i,o as j,$ as r,m as s,x as t,u};
|
|
2
|
+
//# sourceMappingURL=p-BRVcSPz-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-CmnR51jO.js","sources":["src/utils/utils.ts"],"sourcesContent":["import {format} from 'date-fns';\nimport {downloadBlob, getEnvelopeFile, getEnvelopesZip, IEnvelope, IEnvelopeField, ITemplateField, rescale, TFieldType, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {FORMAT_DATE, IDocumentPageInfo} from './Types';\n\nexport const defaultWidth = (type: TFieldType) => {\n // checkbox was a legacy field type\n switch (type as any) {\n case 'textarea':\n return 150;\n case 'textbox':\n return 150;\n case 'timestamp':\n return 105;\n case 'date':\n return 75;\n case 'dropdown':\n return 85;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 71;\n }\n\n return 150;\n};\n\nexport const defaultHeight = (type: TFieldType) => {\n switch (type as any) {\n case 'textarea':\n return 41;\n case 'textbox':\n return 15;\n case 'timestamp':\n return 15;\n case 'date':\n return 15;\n case 'dropdown':\n return 20;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 36;\n }\n\n return 50;\n};\n\nexport const setControlStyles = (el: HTMLElement, field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n el.style.width = `${width}px`;\n el.style.height = `${height}px`;\n el.style.position = 'absolute';\n el.style.left = `${rescale(xScale, x)}px`;\n el.style.bottom = `${rescale(yScale, y)}px`;\n el.style.transform = `scale(${xScale}, ${yScale})`;\n};\n\nexport const getControlStyles = (field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n return {\n zIndex: '100',\n width: `${width}px`,\n height: `${height}px`,\n position: 'absolute',\n left: `${rescale(xScale, x)}px`,\n bottom: `${rescale(yScale, y)}px`,\n transform: `scale(${xScale}, ${yScale})`,\n };\n};\n\nexport const getFieldId = (field: ITemplateField | IEnvelopeField) => {\n return `verdocs-doc-fld-${field.name}`;\n};\n\ninterface IFieldOptions {\n disabled?: boolean;\n editable?: boolean;\n draggable?: boolean;\n done?: boolean;\n}\n\nexport const updateDocumentFieldValue = (field: ITemplateField | IEnvelopeField) => {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.roleindex = field;\n existingField.setAttribute('id', id); // We need this to trigger a re-render\n existingField.setAttribute('disabled', true); // We need this to trigger a re-render\n existingField.setAttribute('disabled', false); // We need this to trigger a re-render\n }\n};\n\nexport const renderDocumentField = (\n source: 'envelope' | 'template',\n field: ITemplateField | IEnvelopeField,\n docPage: IDocumentPageInfo,\n fieldOptions: IFieldOptions,\n tabIndex: number = 1,\n) => {\n const {disabled = false, editable = false, draggable = false, done = false} = fieldOptions;\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n // console.log('[renderDocumentField] Rendering field', field);\n\n switch (field.type as any) {\n case 'attachment':\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 const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n let {type} = field;\n if (type === 'textbox') {\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n }\n }\n\n const el: any = document.createElement(`verdocs-field-${type}`);\n el.field = field;\n el.setAttribute('id', id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('source', source);\n el.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n\n if (disabled) {\n el.setAttribute('tabindex', -1);\n el.setAttribute('disabled', true);\n } else {\n el.setAttribute('tabIndex', tabIndex);\n }\n\n el.setAttribute('editable', editable);\n el.setAttribute('draggable', draggable);\n el.setAttribute('done', done);\n\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n\n return el;\n }\n\n case 'checkbox': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const cbEl: any = document.createElement(`verdocs-field-checkbox`);\n cbEl.field = field;\n cbEl.setAttribute('id', id);\n cbEl.setAttribute('option', 0);\n cbEl.setAttribute('source', source);\n cbEl.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n if (disabled) {\n cbEl.setAttribute('disabled', true);\n }\n if (done) {\n cbEl.setAttribute('done', true);\n }\n if (editable) {\n cbEl.setAttribute('editable', true);\n }\n if (draggable) {\n cbEl.setAttribute('draggable', true);\n }\n setControlStyles(cbEl, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(cbEl);\n\n return cbEl;\n }\n\n case 'radio': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const radioEl: any = document.createElement(`verdocs-field-radio`);\n radioEl.field = field;\n radioEl.setAttribute('id', id);\n radioEl.setAttribute('option', 0);\n radioEl.setAttribute('source', source);\n radioEl.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n if (disabled) {\n radioEl.setAttribute('disabled', true);\n }\n if (done) {\n radioEl.setAttribute('done', true);\n }\n if (editable) {\n radioEl.setAttribute('editable', true);\n }\n if (draggable) {\n radioEl.setAttribute('draggable', true);\n }\n setControlStyles(radioEl, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(radioEl);\n\n return radioEl;\n }\n\n default:\n console.log('[PREVIEW] Skipping unsupported field type', field);\n return null;\n }\n};\n\n/**\n * Helper function to safely set/update components in a CSS transform attribute. Transform is normally set as a string of\n * `operation1(param) operation2(param) ...` components, which makes updating them a bit of a pain. This will remove the\n * specified component if it's already set and replace it with the new value, without touching the other components that\n * may already be set. Note that this operation moves the component to the end of the transform chain so it's not meant\n * to be used for order-sensitive components e.g. translate-then-rotate.\n */\nexport const updateCssTransform = (el: HTMLElement, key: string, value: string) => {\n const currentTransform = el.style.transform || '';\n\n const newValue = `${key}(${value})`;\n if (currentTransform.includes(key)) {\n el.style.transform = currentTransform.replace(new RegExp(`${key}\\\\(.+?\\\\)`), newValue);\n } else {\n el.style.transform = currentTransform + ' ' + newValue;\n }\n};\n\nexport const removeCssTransform = (el: HTMLElement) => {\n // const currentTransform = el.style.transform || '';\n el.style.transform = el.style.transform.split(')')[0] + ')';\n // TODO: This is not working\n // el.style.transform = currentTransform.replace(new RegExp(`\\(${key}\\\\(.+?\\\\)\\)`), '');\n};\n\n// TODO: Shift to getDownloadLilnk\nexport const saveAttachment = async (endpoint: VerdocsEndpoint, envelope: IEnvelope, documentId: string) => {\n // e.g. \"Colorado-Motor-Vehicle-Bill-of-Sale.pdf\"\n const date = format(new Date(envelope.updated_at), FORMAT_DATE);\n const fileName = `${envelope.name} - ${date}.pdf`;\n const data = await getEnvelopeFile(endpoint, documentId);\n downloadBlob(data, fileName);\n};\n\nexport const saveEnvelopesAsZip = async (endpoint: VerdocsEndpoint, envelopes: IEnvelope[]) => {\n const formattedDate = format(envelopes.length === 1 ? new Date(envelopes[0].updated_at) : new Date(), FORMAT_DATE);\n const zipFileName = envelopes.length === 1 ? `${envelopes[0].name} - ${formattedDate}.zip` : `Verdocs-Envelopes-${formattedDate}`;\n console.log('Downloading envelopes as ZIP', envelopes, zipFileName);\n const result = await getEnvelopesZip(\n endpoint,\n envelopes.map(e => e.id),\n );\n downloadBlob(result.data, zipFileName);\n};\n\n/**\n * Throttle a given function by a delay value. Useful for things like resizeObserver.\n */\nexport const throttle = (f: Function, delay: number) => {\n let timer: any = 0;\n return function (...args) {\n clearTimeout(timer);\n timer = setTimeout(() => f.apply(this, args), delay);\n };\n};\n\n/**\n * Compute the rendered width of a given text string, using a given font.\n */\nexport const renderedTextWidth = (text: string, font: string = '16px Arial') => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n ctx.font = font;\n return ctx.measureText(text).width;\n};\n\n// \"(212) 555-1212\" => +12125551212\n// \"+46766861004\" => \"+46766861004\"\n// \"212-555-1212\" => +12125551212\n// \"212.555.1212\" => +12125551212\n// \"212 555 1212\" => +12125551212\n// @see https://46elks.com/kb/e164\nexport const convertToE164 = (input: string) => {\n let temp = (input || '').trim();\n // If we are already prefixed, assume the user did it deliberately and attempt to use what they entered. We also short-circuit blanks.\n if (!temp || temp.startsWith('+')) {\n return temp;\n }\n\n // Remove any spaces, parenthesis or other punctuation.\n temp = temp.replace(/[^0-9]/g, '');\n\n // If the number begins with a zero, remove the leading zero. Do not combine this with the previous step because it needs to be removed\n // whether it's the actual first character e.g. `0(5)` or just the first digit e.g. `(05`.\n temp = temp.replace(/^0/g, '');\n\n // Prepend the country code and +. We're assuming US in this case given the target demographic. Users in other countries would/should be\n // already entering a prefix so they'd shortcut out of this routine via the + prefix check.\n return `+1${temp}`;\n};\n\nexport interface IFlagOptions {\n variant: 'fill' | 'next';\n label: string;\n showSkip?: boolean;\n onSkip?: () => void;\n onClick?: () => void;\n id?: string;\n}\n\nexport const renderDocumentFlag = (\n docPage: IDocumentPageInfo,\n y: number, // Bottom position from field\n height: number, // Field height\n options: IFlagOptions,\n) => {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const el: any = document.createElement('verdocs-flag');\n el.variant = options.variant;\n el.label = options.label;\n el.showSkip = options.showSkip;\n if (options.id) {\n el.setAttribute('id', options.id);\n }\n el.classList.add('verdocs-flag-instance'); // Marker class for easy removal\n\n if (options.onSkip) {\n el.addEventListener('skip', options.onSkip);\n }\n if (options.onClick) {\n el.addEventListener('flagClick', options.onClick);\n }\n\n // Position the flag to stick out of the right edge of the page\n el.style.position = 'absolute';\n\n // The flag has a left-pointing arrow that is 14px wide (15% of 97px ~= 14.5px).\n // We want the \"body\" of the rectangle (starting after the arrow) to align with the\n // right edge of the page.\n el.style.left = 'calc(100% - 14px)';\n\n /*\n * Positioning Logic:\n * Field Y is distance from bottom.\n * Fields have `transform-origin: bottom left`.\n * Visual Bottom = y * scale.\n * Visual Top = (y * scale) + (height * scale).\n * Visual Center = (y * scale) + (height * scale) / 2.\n */\n // const flagHeight = 24; // Matches CSS\n const scaledY = rescale(docPage.yScale, y);\n const scaledHeight = rescale(docPage.yScale, height);\n\n // Align Flag Bottom with Field Top\n const bottom = scaledY + scaledHeight;\n\n el.style.bottom = `${bottom}px`;\n\n controlsDiv.appendChild(el);\n return el;\n};\n"],"names":["format"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-BRVcSPz-.js","sources":["src/utils/utils.ts"],"sourcesContent":["import {format} from 'date-fns';\nimport {downloadBlob, getEnvelopeFile, getEnvelopesZip, IEnvelope, IEnvelopeField, ITemplateField, rescale, TFieldType, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {FORMAT_DATE, IDocumentPageInfo} from './Types';\n\nexport const defaultWidth = (type: TFieldType) => {\n // checkbox was a legacy field type\n switch (type as any) {\n case 'textarea':\n return 150;\n case 'textbox':\n return 150;\n case 'timestamp':\n return 105;\n case 'date':\n return 75;\n case 'dropdown':\n return 85;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 71;\n }\n\n return 150;\n};\n\nexport const defaultHeight = (type: TFieldType) => {\n switch (type as any) {\n case 'textarea':\n return 41;\n case 'textbox':\n return 15;\n case 'timestamp':\n return 15;\n case 'date':\n return 15;\n case 'dropdown':\n return 20;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 36;\n }\n\n return 50;\n};\n\nexport const setControlStyles = (el: HTMLElement, field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n el.style.width = `${width}px`;\n el.style.height = `${height}px`;\n el.style.position = 'absolute';\n el.style.left = `${rescale(xScale, x)}px`;\n el.style.bottom = `${rescale(yScale, y)}px`;\n el.style.transform = `scale(${xScale}, ${yScale})`;\n};\n\nexport const getControlStyles = (field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n return {\n zIndex: '100',\n width: `${width}px`,\n height: `${height}px`,\n position: 'absolute',\n left: `${rescale(xScale, x)}px`,\n bottom: `${rescale(yScale, y)}px`,\n transform: `scale(${xScale}, ${yScale})`,\n };\n};\n\nexport const getFieldId = (field: ITemplateField | IEnvelopeField) => {\n return `verdocs-doc-fld-${field.name}`;\n};\n\ninterface IFieldOptions {\n disabled?: boolean;\n editable?: boolean;\n draggable?: boolean;\n done?: boolean;\n}\n\nexport const updateDocumentFieldValue = (field: ITemplateField | IEnvelopeField) => {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.roleindex = field;\n existingField.setAttribute('id', id); // We need this to trigger a re-render\n existingField.setAttribute('disabled', true); // We need this to trigger a re-render\n existingField.setAttribute('disabled', false); // We need this to trigger a re-render\n }\n};\n\nexport const renderDocumentField = (\n source: 'envelope' | 'template',\n field: ITemplateField | IEnvelopeField,\n docPage: IDocumentPageInfo,\n fieldOptions: IFieldOptions,\n tabIndex: number = 1,\n) => {\n const {disabled = false, editable = false, draggable = false, done = false} = fieldOptions;\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n // console.log('[renderDocumentField] Rendering field', field);\n\n switch (field.type as any) {\n case 'attachment':\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 const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n let {type} = field;\n if (type === 'textbox') {\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n }\n }\n\n const el: any = document.createElement(`verdocs-field-${type}`);\n el.field = field;\n el.setAttribute('id', id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('source', source);\n el.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n\n if (disabled) {\n el.setAttribute('tabindex', -1);\n el.setAttribute('disabled', true);\n } else {\n el.setAttribute('tabIndex', tabIndex);\n }\n\n el.setAttribute('editable', editable);\n el.setAttribute('draggable', draggable);\n el.setAttribute('done', done);\n\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n\n return el;\n }\n\n case 'checkbox': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const cbEl: any = document.createElement(`verdocs-field-checkbox`);\n cbEl.field = field;\n cbEl.setAttribute('id', id);\n cbEl.setAttribute('option', 0);\n cbEl.setAttribute('source', source);\n cbEl.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n if (disabled) {\n cbEl.setAttribute('disabled', true);\n }\n if (done) {\n cbEl.setAttribute('done', true);\n }\n if (editable) {\n cbEl.setAttribute('editable', true);\n }\n if (draggable) {\n cbEl.setAttribute('draggable', true);\n }\n setControlStyles(cbEl, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(cbEl);\n\n return cbEl;\n }\n\n case 'radio': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const radioEl: any = document.createElement(`verdocs-field-radio`);\n radioEl.field = field;\n radioEl.setAttribute('id', id);\n radioEl.setAttribute('option', 0);\n radioEl.setAttribute('source', source);\n radioEl.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n if (disabled) {\n radioEl.setAttribute('disabled', true);\n }\n if (done) {\n radioEl.setAttribute('done', true);\n }\n if (editable) {\n radioEl.setAttribute('editable', true);\n }\n if (draggable) {\n radioEl.setAttribute('draggable', true);\n }\n setControlStyles(radioEl, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(radioEl);\n\n return radioEl;\n }\n\n default:\n console.log('[PREVIEW] Skipping unsupported field type', field);\n return null;\n }\n};\n\n/**\n * Helper function to safely set/update components in a CSS transform attribute. Transform is normally set as a string of\n * `operation1(param) operation2(param) ...` components, which makes updating them a bit of a pain. This will remove the\n * specified component if it's already set and replace it with the new value, without touching the other components that\n * may already be set. Note that this operation moves the component to the end of the transform chain so it's not meant\n * to be used for order-sensitive components e.g. translate-then-rotate.\n */\nexport const updateCssTransform = (el: HTMLElement, key: string, value: string) => {\n const currentTransform = el.style.transform || '';\n\n const newValue = `${key}(${value})`;\n if (currentTransform.includes(key)) {\n el.style.transform = currentTransform.replace(new RegExp(`${key}\\\\(.+?\\\\)`), newValue);\n } else {\n el.style.transform = currentTransform + ' ' + newValue;\n }\n};\n\nexport const removeCssTransform = (el: HTMLElement) => {\n // const currentTransform = el.style.transform || '';\n el.style.transform = el.style.transform.split(')')[0] + ')';\n // TODO: This is not working\n // el.style.transform = currentTransform.replace(new RegExp(`\\(${key}\\\\(.+?\\\\)\\)`), '');\n};\n\n// TODO: Shift to getDownloadLilnk\nexport const saveAttachment = async (endpoint: VerdocsEndpoint, envelope: IEnvelope, documentId: string) => {\n // e.g. \"Colorado-Motor-Vehicle-Bill-of-Sale.pdf\"\n const date = format(new Date(envelope.updated_at), FORMAT_DATE);\n const fileName = `${envelope.name} - ${date}.pdf`;\n const data = await getEnvelopeFile(endpoint, documentId);\n downloadBlob(data, fileName);\n};\n\nexport const saveEnvelopesAsZip = async (endpoint: VerdocsEndpoint, envelopes: IEnvelope[]) => {\n const formattedDate = format(envelopes.length === 1 ? new Date(envelopes[0].updated_at) : new Date(), FORMAT_DATE);\n const zipFileName = envelopes.length === 1 ? `${envelopes[0].name} - ${formattedDate}.zip` : `Verdocs-Envelopes-${formattedDate}`;\n console.log('Downloading envelopes as ZIP', envelopes, zipFileName);\n const result = await getEnvelopesZip(\n endpoint,\n envelopes.map(e => e.id),\n );\n downloadBlob(result.data, zipFileName);\n};\n\n/**\n * Throttle a given function by a delay value. Useful for things like resizeObserver.\n */\nexport const throttle = (f: Function, delay: number) => {\n let timer: any = 0;\n return function (...args) {\n clearTimeout(timer);\n timer = setTimeout(() => f.apply(this, args), delay);\n };\n};\n\n/**\n * Compute the rendered width of a given text string, using a given font.\n */\nexport const renderedTextWidth = (text: string, font: string = '16px Arial') => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n ctx.font = font;\n return ctx.measureText(text).width;\n};\n\n// \"(212) 555-1212\" => +12125551212\n// \"+46766861004\" => \"+46766861004\"\n// \"212-555-1212\" => +12125551212\n// \"212.555.1212\" => +12125551212\n// \"212 555 1212\" => +12125551212\n// @see https://46elks.com/kb/e164\nexport const convertToE164 = (input: string) => {\n let temp = (input || '').trim();\n // If we are already prefixed, assume the user did it deliberately and attempt to use what they entered. We also short-circuit blanks.\n if (!temp || temp.startsWith('+')) {\n return temp;\n }\n\n // Remove any spaces, parenthesis or other punctuation.\n temp = temp.replace(/[^0-9]/g, '');\n\n // If the number begins with a zero, remove the leading zero. Do not combine this with the previous step because it needs to be removed\n // whether it's the actual first character e.g. `0(5)` or just the first digit e.g. `(05`.\n temp = temp.replace(/^0/g, '');\n\n // Prepend the country code and +. We're assuming US in this case given the target demographic. Users in other countries would/should be\n // already entering a prefix so they'd shortcut out of this routine via the + prefix check.\n return `+1${temp}`;\n};\n\nexport interface IFlagOptions {\n variant: 'fill' | 'next';\n label: string;\n showSkip?: boolean;\n onSkip?: () => void;\n onClick?: () => void;\n id?: string;\n}\n\nexport const renderDocumentFlag = (\n docPage: IDocumentPageInfo,\n y: number, // Bottom position from field\n height: number, // Field height\n options: IFlagOptions,\n) => {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const el: any = document.createElement('verdocs-flag');\n el.variant = options.variant;\n el.label = options.label;\n el.showSkip = options.showSkip;\n if (options.id) {\n el.setAttribute('id', options.id);\n }\n el.classList.add('verdocs-flag-instance'); // Marker class for easy removal\n\n if (options.onSkip) {\n el.addEventListener('skip', options.onSkip);\n }\n if (options.onClick) {\n el.addEventListener('flagClick', options.onClick);\n }\n\n // Position the flag to stick out of the right edge of the page\n el.style.position = 'absolute';\n\n // The flag has a left-pointing arrow that is 14px wide (15% of 97px ~= 14.5px).\n // We want the \"body\" of the rectangle (starting after the arrow) to align with the\n // right edge of the page.\n el.style.left = 'calc(100% - 14px)';\n\n /*\n * Positioning Logic:\n * Field Y is distance from bottom.\n * Fields have `transform-origin: bottom left`.\n * Visual Bottom = y * scale.\n * Visual Top = (y * scale) + (height * scale).\n * Visual Center = (y * scale) + (height * scale) / 2.\n */\n // const flagHeight = 24; // Matches CSS\n const scaledY = rescale(docPage.yScale, y);\n const scaledHeight = rescale(docPage.yScale, height);\n\n // Align Flag Bottom with Field Top\n const bottom = scaledY + scaledHeight;\n\n el.style.bottom = `${bottom}px`;\n\n controlsDiv.appendChild(el);\n return el;\n};\n"],"names":["format"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,r,n){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function c(e){try{u(n["throw"](e))}catch(e){i(e)}}function u(e){e.done?r(e.value):a(e.value).then(o,c)}u((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,a,i,o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return u([e,t])}}function u(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(r=0)),r)try{if(n=1,a&&(i=c[0]&2?a["return"]:c[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,c[1])).done)return i;if(a=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:r.label++;return{value:c[1],done:false};case 5:r.label++;a=c[1];c=[0];continue;case 7:c=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){r.label=c[1];break}if(c[0]===6&&r.label<i[1]){r.label=i[1];i=c;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(c);break}if(i[2])r.ops.pop();r.trys.pop();continue}c=t.call(e,r)}catch(e){c=[6,e];a=0}finally{n=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-DmF0GSqu.system.js","@verdocs/js-sdk","./p-CgZsFvRv.system.js"],(function(e){"use strict";var t,r,n,a,i;return{setters:[function(e){t=e.d},function(e){r=e.getEnvelopesZip;n=e.downloadBlob;a=e.rescale},function(e){i=e.F}],execute:function(){var o=this;var c=e("j",(function(e){switch(e){case"textarea":return 150;case"textbox":return 150;case"timestamp":return 105;case"date":return 75;case"dropdown":return 85;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 71}return 150}));var u=e("d",(function(e){switch(e){case"textarea":return 41;case"textbox":return 15;case"timestamp":return 15;case"date":return 15;case"dropdown":return 20;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 36}return 50}));var s=e("i",(function(e,t,r,n){var i=t.x,o=i===void 0?0:i,s=t.y,d=s===void 0?0:s,f=t.width,v=f===void 0?c(t.type):f,l=t.height,p=l===void 0?u(t.type):l;e.style.width="".concat(v,"px");e.style.height="".concat(p,"px");e.style.position="absolute";e.style.left="".concat(a(r,o),"px");e.style.bottom="".concat(a(n,d),"px");e.style.transform="scale(".concat(r,", ").concat(n,")")}));var d=e("c",(function(e,t,r){var n=e.x,i=n===void 0?0:n,o=e.y,s=o===void 0?0:o,d=e.width,f=d===void 0?c(e.type):d,v=e.height,l=v===void 0?u(e.type):v;return{zIndex:"100",width:"".concat(f,"px"),height:"".concat(l,"px"),position:"absolute",left:"".concat(a(t,i),"px"),bottom:"".concat(a(r,s),"px"),transform:"scale(".concat(t,", ").concat(r,")")}}));var f=e("g",(function(e){return"verdocs-doc-fld-".concat(e.name)}));var v=e("u",(function(e){var t=f(e);var r=document.getElementById(t);if(r){r.field=e;r.roleindex=e;r.setAttribute("id",t);r.setAttribute("disabled",true);r.setAttribute("disabled",false)}}));var l=e("a",(function(e,t,r,n,a){if(a===void 0){a=1}var i,o;var c=n.disabled,u=c===void 0?false:c,d=n.editable,v=d===void 0?false:d,l=n.draggable,p=l===void 0?false:l,m=n.done,b=m===void 0?false:m;var x=document.getElementById(r.containerId+"-controls");if(!x){console.log("[renderDocumentField] No controls DIV found",r.containerId+"-controls",r);return}switch(t.type){case"attachment":case"date":case"dropdown":case"initial":case"payment":case"signature":case"timestamp":case"textarea":case"textbox":{var h=f(t);var g=document.getElementById(h);if(g){s(g,t,r.xScale,r.yScale);return g}var w=t.type;if(w==="textbox"){if(((i=t["setting"])===null||i===void 0?void 0:i.leading)>0||((o=t["settings"])===null||o===void 0?void 0:o.leading)>0){w="textarea"}}var y=document.createElement("verdocs-field-".concat(w));y.field=t;y.setAttribute("id",h);y.setAttribute("fieldname",t.name);y.setAttribute("source",e);y.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(u){y.setAttribute("tabindex",-1);y.setAttribute("disabled",true)}else{y.setAttribute("tabIndex",a)}y.setAttribute("editable",v);y.setAttribute("draggable",p);y.setAttribute("done",b);s(y,t,r.xScale,r.yScale);x.appendChild(y);return y}case"checkbox":{var h=f(t);var g=document.getElementById(h);if(g){s(g,t,r.xScale,r.yScale);return g}var k=document.createElement("verdocs-field-checkbox");k.field=t;k.setAttribute("id",h);k.setAttribute("option",0);k.setAttribute("source",e);k.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(u){k.setAttribute("disabled",true)}if(b){k.setAttribute("done",true)}if(v){k.setAttribute("editable",true)}if(p){k.setAttribute("draggable",true)}s(k,t,r.xScale,r.yScale);x.appendChild(k);return k}case"radio":{var h=f(t);var g=document.getElementById(h);if(g){s(g,t,r.xScale,r.yScale);return g}var _=document.createElement("verdocs-field-radio");_.field=t;_.setAttribute("id",h);_.setAttribute("option",0);_.setAttribute("source",e);_.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(u){_.setAttribute("disabled",true)}if(b){_.setAttribute("done",true)}if(v){_.setAttribute("editable",true)}if(p){_.setAttribute("draggable",true)}s(_,t,r.xScale,r.yScale);x.appendChild(_);return _}default:console.log("[PREVIEW] Skipping unsupported field type",t);return null}}));var p=e("f",(function(e,t,r){var n=e.style.transform||"";var a="".concat(t,"(").concat(r,")");if(n.includes(t)){e.style.transform=n.replace(new RegExp("".concat(t,"\\(.+?\\)")),a)}else{e.style.transform=n+" "+a}}));var m=e("h",(function(e){e.style.transform=e.style.transform.split(")")[0]+")"}));var b=e("s",(function(e,a){return __awaiter(o,void 0,void 0,(function(){var o,c,u;return __generator(this,(function(s){switch(s.label){case 0:o=t.format(a.length===1?new Date(a[0].updated_at):new Date,i);c=a.length===1?"".concat(a[0].name," - ").concat(o,".zip"):"Verdocs-Envelopes-".concat(o);console.log("Downloading envelopes as ZIP",a,c);return[4,r(e,a.map((function(e){return e.id})))];case 1:u=s.sent();n(u.data,c);return[2]}}))}))}));var x=e("t",(function(e,t){var r=0;return function(){var n=this;var a=[];for(var i=0;i<arguments.length;i++){a[i]=arguments[i]}clearTimeout(r);r=setTimeout((function(){return e.apply(n,a)}),t)}}));var h=e("b",(function(e,t){if(t===void 0){t="16px Arial"}var r=document.createElement("canvas");var n=r.getContext("2d");n.font=t;return n.measureText(e).width}));var g=e("e",(function(e){var t=(e||"").trim();if(!t||t.startsWith("+")){return t}t=t.replace(/[^0-9]/g,"");t=t.replace(/^0/g,"");return"+1".concat(t)}));var w=e("r",(function(e,t,r,n){var i=document.getElementById(e.containerId+"-controls");if(!i){return}var o=document.createElement("verdocs-flag");o.variant=n.variant;o.label=n.label;o.showSkip=n.showSkip;if(n.id){o.setAttribute("id",n.id)}o.classList.add("verdocs-flag-instance");if(n.onSkip){o.addEventListener("skip",n.onSkip)}if(n.onClick){o.addEventListener("flagClick",n.onClick)}o.style.position="absolute";o.style.left="calc(100% - 14px)";var c=a(e.yScale,t);var u=a(e.yScale,r);var s=c+u;o.style.bottom="".concat(s,"px");i.appendChild(o);return o}))}}}));
|
|
2
|
+
//# sourceMappingURL=p-BS_uue9-.system.js.map
|