@verdocs/web-sdk 6.13.3 → 6.14.0
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/loader.cjs.js +1 -1
- package/dist/cjs/{utils-BtmSHO0F.js → utils-D97WoGBX.js} +12 -2
- package/dist/cjs/utils-D97WoGBX.js.map +1 -0
- package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +3 -3
- package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-checkbox_5.cjs.entry.js +56 -11
- package/dist/cjs/verdocs-checkbox_5.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +89 -9
- package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-preview_6.cjs.entry.js +284 -39
- package/dist/cjs/verdocs-preview_6.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +37 -6
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-signing-progress.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +18 -1
- package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js +3 -3
- package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.css +3 -0
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +38 -5
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +1 -1
- package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js.map +1 -1
- package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +2 -2
- package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +1 -1
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.css +22 -0
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +14 -1
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +1 -2
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +1 -1
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.css +29 -2
- package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +14 -1
- package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +1 -1
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +1 -1
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.css +5 -0
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +55 -9
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js.map +1 -1
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.css +4 -0
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +281 -36
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
- package/dist/collection/utils/ToggleFields.js +61 -0
- package/dist/collection/utils/ToggleFields.js.map +1 -0
- package/dist/collection/utils/utils.js +9 -0
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/{p-CEkRxfcu.js → p-58qb6gkU.js} +2 -2
- package/dist/components/{p-BKLlc2r0.js → p-5M_R8La0.js} +2 -2
- package/dist/components/{p-D-X-Zcsr.js → p-BIi4c9Gz.js} +2 -2
- package/dist/components/p-BLsFdjFq.js +2 -0
- package/dist/components/p-BLsFdjFq.js.map +1 -0
- package/dist/components/{p-CQzPkAVQ.js → p-BPcxbmXF.js} +2 -2
- package/dist/components/{p-CQzPkAVQ.js.map → p-BPcxbmXF.js.map} +1 -1
- package/dist/components/{p-DTG2X1A2.js → p-BeDDvLcN.js} +2 -2
- package/dist/components/p-ByEpps_M.js +2 -0
- package/dist/components/p-ByEpps_M.js.map +1 -0
- package/dist/components/{p-D0MFs2Dv.js → p-C8ZliaLz.js} +2 -2
- package/dist/components/{p-D0MFs2Dv.js.map → p-C8ZliaLz.js.map} +1 -1
- package/dist/components/{p-B4tpmyon.js → p-CAJJndLX.js} +2 -2
- package/dist/components/{p-lCn8WPSe.js → p-CaFhF-9s.js} +2 -2
- package/dist/components/{p-DscL0SIM.js → p-D56nBgHQ.js} +2 -2
- package/dist/components/{p-CFacV7mg.js → p-DMaRtkQF.js} +2 -2
- package/dist/components/{p-CFacV7mg.js.map → p-DMaRtkQF.js.map} +1 -1
- package/dist/components/p-DPF2i0o5.js +2 -0
- package/dist/components/p-DPF2i0o5.js.map +1 -0
- package/dist/components/{p-CEcG_ay-.js → p-DReW8CSB.js} +2 -2
- package/dist/components/{p-BhG0HGg6.js → p-DX713VO2.js} +2 -2
- package/dist/components/p-DbWcp3S8.js +2 -0
- package/dist/components/p-DbWcp3S8.js.map +1 -0
- package/dist/components/p-DvxzLwaB.js +2 -0
- package/dist/components/p-DvxzLwaB.js.map +1 -0
- package/dist/components/p-NtvxlYzY.js +2 -0
- package/dist/components/p-NtvxlYzY.js.map +1 -0
- package/dist/components/{p-Cij_2Ym2.js → p-Vs72fn43.js} +2 -2
- package/dist/components/p-Vs72fn43.js.map +1 -0
- package/dist/components/{p-9kEZy9MP.js → p-YCI5JKXK.js} +2 -2
- package/dist/components/{p-B1AE2j97.js → p-h3swu3rA.js} +2 -2
- package/dist/components/{p-B1AE2j97.js.map → p-h3swu3rA.js.map} +1 -1
- package/dist/components/{p-kHTZa3Ev.js → p-hwu-GrDS.js} +2 -2
- package/dist/components/p-qLNetL5t.js +2 -0
- package/dist/components/p-qLNetL5t.js.map +1 -0
- package/dist/components/{p-06em1_P-.js → p-vuCjHk-M.js} +2 -2
- package/dist/components/p-zYtapVJ0.js +2 -0
- package/dist/components/p-zYtapVJ0.js.map +1 -0
- package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
- package/dist/components/verdocs-build.js +1 -1
- package/dist/components/verdocs-checkbox.js +1 -1
- package/dist/components/verdocs-contact-picker.js +1 -1
- package/dist/components/verdocs-disclosure-dialog.js +1 -1
- package/dist/components/verdocs-envelope-document-page.js +1 -1
- package/dist/components/verdocs-envelope-sidebar.js +1 -1
- package/dist/components/verdocs-envelope-sidebar.js.map +1 -1
- package/dist/components/verdocs-envelopes-list.js +1 -1
- package/dist/components/verdocs-field-attachment.js +1 -1
- package/dist/components/verdocs-field-checkbox.js +1 -1
- package/dist/components/verdocs-field-date.js +1 -1
- package/dist/components/verdocs-field-dropdown.js +1 -1
- package/dist/components/verdocs-field-initial.js +1 -1
- package/dist/components/verdocs-field-payment.js +1 -1
- package/dist/components/verdocs-field-radio.js +1 -1
- package/dist/components/verdocs-field-signature.js +1 -1
- package/dist/components/verdocs-field-textarea.js +1 -1
- package/dist/components/verdocs-field-textbox.js +1 -1
- package/dist/components/verdocs-field-timestamp.js +1 -1
- package/dist/components/verdocs-kba-dialog.js +1 -1
- package/dist/components/verdocs-multiselect.js +1 -1
- package/dist/components/verdocs-preview.js +1 -1
- package/dist/components/verdocs-quick-filter.js +1 -1
- package/dist/components/verdocs-send.js +1 -1
- package/dist/components/verdocs-sign.js +1 -1
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-signing-progress.js +1 -1
- package/dist/components/verdocs-template-document-page.js +1 -1
- package/dist/components/verdocs-template-field-properties.js +1 -1
- package/dist/components/verdocs-template-fields.js +1 -1
- package/dist/components/verdocs-templates-list.js +1 -1
- package/dist/components/verdocs-view.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-Bh3zb1Xs.js → utils-T8dqWH7y.js} +12 -3
- package/dist/esm/utils-T8dqWH7y.js.map +1 -0
- package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +3 -3
- package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js.map +1 -1
- package/dist/esm/verdocs-checkbox_5.entry.js +56 -11
- package/dist/esm/verdocs-checkbox_5.entry.js.map +1 -1
- package/dist/esm/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm/verdocs-download-dialog_4.entry.js +1 -1
- package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm/verdocs-envelope-sidebar.entry.js.map +1 -1
- package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm/verdocs-field-attachment_11.entry.js +89 -9
- package/dist/esm/verdocs-field-attachment_11.entry.js.map +1 -1
- package/dist/esm/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm/verdocs-preview_6.entry.js +284 -39
- package/dist/esm/verdocs-preview_6.entry.js.map +1 -1
- package/dist/esm/verdocs-sign.entry.js +37 -6
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-signing-progress.entry.js +1 -1
- package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/utils-T8dqWH7y.js +2 -0
- package/dist/esm-es5/utils-T8dqWH7y.js.map +1 -0
- package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
- package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-checkbox_5.entry.js +1 -1
- package/dist/esm-es5/verdocs-checkbox_5.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm-es5/verdocs-download-dialog_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js.map +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-pagination_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview_6.entry.js +2 -2
- package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-signing-progress.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +3 -0
- package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +1 -0
- package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +1 -1
- package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +1 -0
- package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +1 -0
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +50 -3
- package/dist/types/utils/ToggleFields.d.ts +12 -0
- package/dist/types/utils/utils.d.ts +8 -2
- package/dist/verdocs-web-sdk/{p-46d6279e.entry.js → p-002fee52.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-1b4cde18.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-1b4cde18.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-1f708b6a.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-1f708b6a.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-7dd394be.system.entry.js → p-259e53e2.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-0d19368a.system.entry.js → p-298ee271.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-2cddbced.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2cddbced.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-99a6b317.system.entry.js → p-36f2fe29.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-143428bc.system.entry.js → p-4a934b98.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-478de2c9.entry.js → p-6ac28b30.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-6fdd258b.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-6fdd258b.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-78a18a3b.entry.js → p-72702300.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-228c0fa3.system.entry.js → p-83b4e117.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-228c0fa3.system.entry.js.map → p-83b4e117.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-58b84a5a.entry.js → p-923aabca.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-58b84a5a.entry.js.map → p-923aabca.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-BdZ5Ghsa.system.js +1 -1
- package/dist/verdocs-web-sdk/p-CHdb5wzt.js +2 -0
- package/dist/verdocs-web-sdk/p-CHdb5wzt.js.map +1 -0
- package/dist/verdocs-web-sdk/p-DeoYp6nD.system.js +2 -0
- package/dist/verdocs-web-sdk/p-DeoYp6nD.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-3a97f4b4.system.entry.js → p-b3cad1ae.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-b5fbfc6e.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b5fbfc6e.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-bd1bcb9d.system.entry.js +8 -0
- package/dist/verdocs-web-sdk/p-bd1bcb9d.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-ea6c0b55.entry.js → p-bdfda300.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-1a91a922.entry.js → p-c273b465.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-eccac670.system.entry.js → p-c43a5bce.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-d7bb1eaa.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d7bb1eaa.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d8dbcb2c.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d8dbcb2c.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e3f13498.entry.js +8 -0
- package/dist/verdocs-web-sdk/p-e3f13498.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-8f50f83f.entry.js → p-efc80cbf.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-fd614aa0.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-fd614aa0.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/utils-BtmSHO0F.js.map +0 -1
- package/dist/components/p-1FjgijEi.js +0 -2
- package/dist/components/p-1FjgijEi.js.map +0 -1
- package/dist/components/p-BCwFpXpV.js +0 -2
- package/dist/components/p-BCwFpXpV.js.map +0 -1
- package/dist/components/p-Bxvw_LqR.js +0 -2
- package/dist/components/p-Bxvw_LqR.js.map +0 -1
- package/dist/components/p-Cij_2Ym2.js.map +0 -1
- package/dist/components/p-DGNIsXfr.js +0 -2
- package/dist/components/p-DGNIsXfr.js.map +0 -1
- package/dist/components/p-DRP4Xxiu.js +0 -2
- package/dist/components/p-DRP4Xxiu.js.map +0 -1
- package/dist/components/p-K-sDaUxS.js +0 -2
- package/dist/components/p-K-sDaUxS.js.map +0 -1
- package/dist/components/p-ek0LNMtb.js +0 -2
- package/dist/components/p-ek0LNMtb.js.map +0 -1
- package/dist/custom-elements.json +0 -2517
- package/dist/esm/utils-Bh3zb1Xs.js.map +0 -1
- package/dist/esm-es5/utils-Bh3zb1Xs.js +0 -2
- package/dist/esm-es5/utils-Bh3zb1Xs.js.map +0 -1
- package/dist/verdocs-web-sdk/p-6fb7fd6d.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6fb7fd6d.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-895174e4.system.entry.js +0 -8
- package/dist/verdocs-web-sdk/p-895174e4.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8ec770c3.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-8ec770c3.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8f7d0062.entry.js +0 -8
- package/dist/verdocs-web-sdk/p-8f7d0062.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-935267a6.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-935267a6.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-CGsVCy75.js +0 -2
- package/dist/verdocs-web-sdk/p-CGsVCy75.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a9899fce.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a9899fce.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-bf38aa98.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-bf38aa98.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c5f8125b.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-c5f8125b.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-df921f12.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-df921f12.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f6ad24c5.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-f6ad24c5.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-nfw6V5pF.system.js +0 -2
- package/dist/verdocs-web-sdk/p-nfw6V5pF.system.js.map +0 -1
- /package/dist/components/{p-CEkRxfcu.js.map → p-58qb6gkU.js.map} +0 -0
- /package/dist/components/{p-BKLlc2r0.js.map → p-5M_R8La0.js.map} +0 -0
- /package/dist/components/{p-D-X-Zcsr.js.map → p-BIi4c9Gz.js.map} +0 -0
- /package/dist/components/{p-DTG2X1A2.js.map → p-BeDDvLcN.js.map} +0 -0
- /package/dist/components/{p-B4tpmyon.js.map → p-CAJJndLX.js.map} +0 -0
- /package/dist/components/{p-lCn8WPSe.js.map → p-CaFhF-9s.js.map} +0 -0
- /package/dist/components/{p-DscL0SIM.js.map → p-D56nBgHQ.js.map} +0 -0
- /package/dist/components/{p-CEcG_ay-.js.map → p-DReW8CSB.js.map} +0 -0
- /package/dist/components/{p-BhG0HGg6.js.map → p-DX713VO2.js.map} +0 -0
- /package/dist/components/{p-9kEZy9MP.js.map → p-YCI5JKXK.js.map} +0 -0
- /package/dist/components/{p-kHTZa3Ev.js.map → p-hwu-GrDS.js.map} +0 -0
- /package/dist/components/{p-06em1_P-.js.map → p-vuCjHk-M.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-46d6279e.entry.js.map → p-002fee52.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-7dd394be.system.entry.js.map → p-259e53e2.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-0d19368a.system.entry.js.map → p-298ee271.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-99a6b317.system.entry.js.map → p-36f2fe29.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-143428bc.system.entry.js.map → p-4a934b98.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-478de2c9.entry.js.map → p-6ac28b30.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-78a18a3b.entry.js.map → p-72702300.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-3a97f4b4.system.entry.js.map → p-b3cad1ae.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-ea6c0b55.entry.js.map → p-bdfda300.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-1a91a922.entry.js.map → p-c273b465.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-eccac670.system.entry.js.map → p-c43a5bce.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-8f50f83f.entry.js.map → p-efc80cbf.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["verdocsCheckboxCss","VerdocsCheckbox","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","checked","name","label","value","theme","size","disabled","render","h","Host","key","class","type"],"sources":["src/components/controls/verdocs-checkbox/verdocs-checkbox.scss?tag=verdocs-checkbox","src/components/controls/verdocs-checkbox/verdocs-checkbox.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\n// Your periodic reminder that it's 2022 and you still can't style HTML checkboxes\nverdocs-checkbox {\n line-height: 18px;\n font-family: $verdocs-primary-font;\n\n // We hide these visually instead of using display:none to avoid droping from the tab order and accessibility tree\n label>input[type='checkbox'] {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n border: 0;\n opacity: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n }\n\n label>input[type='checkbox']+*::before {\n content: '';\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n margin-right: 8px;\n line-height: 20px;\n border-radius: 2px;\n border-style: solid;\n border-width: 0.1rem;\n display: inline-block;\n vertical-align: bottom;\n border-color: $verdocs-grey-2;\n }\n\n\n label>input[type='checkbox']:checked+*::before {\n content: '✓';\n // Empty alt text keeps the check mark out of the label screen readers announce. Browsers without alt text support\n // drop this line and keep the one above.\n content: '✓' / '';\n color: white;\n text-align: center;\n background: var(--verdocs-checkbox-color, $verdocs-green);\n border-color: var(--verdocs-checkbox-color, $verdocs-green);\n }\n\n label>input[type='checkbox']:focus-visible+*::before {\n outline: 2px solid var(--verdocs-link-color, $verdocs-purple-shade);\n outline-offset: 2px;\n }\n\n &.dark {\n label>input[type='checkbox']+*::before {\n border-color: $verdocs-grey-4;\n }\n\n label>input[type='checkbox']:checked+*::before {\n background: var(--verdocs-checkbox-color, $verdocs-green);\n border-color: var(--verdocs-checkbox-color, $verdocs-green);\n }\n\n label>input[type='checkbox']:focus-visible+*::before {\n outline-color: $verdocs-grey-4;\n }\n }\n\n &.small {\n label>input[type='checkbox']+*::before {\n width: 16px;\n height: 16px;\n line-height: 16px;\n }\n }\n}\n","import {Component, h, Host, Prop} from '@stencil/core';\n\n/**\n * Displays a check box. Note that this is different from the `verdocs-field-checkbox` component, which is designed\n * to be used in signing experiences and contains settings that connect to template fields. This is just a simple check\n * box for UI displays e.g. dialog boxes.\n *\n * This control encapsulates a standard HTML checkbox. To subscribe to change events, connect an `onChange`\n * handler. Sample usage:\n *\n * ```ts\n * <verdocs-checkbox\n * value=\"on\"\n * name=\"thingEnabled\"\n * checked={this.thingEnabled}\n * onInput={(e: any) => (this.thingEnabled = e.target.checked)}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-checkbox',\n styleUrl: 'verdocs-checkbox.scss',\n shadow: false,\n})\nexport class VerdocsCheckbox {\n /**\n * Whether the radio button is currently selected.\n */\n @Prop() checked: boolean = false;\n\n /**\n * HTML form field name for the input.\n */\n @Prop() name: string = '';\n\n /**\n * Label to display. Leave blank for no label. The label will be displayed to the right of the checkbox, but may be\n * repositioned with CSS.\n */\n @Prop() label: string = '';\n\n /**\n * Value to track with the input. Value is not used internally by this component but is sometimes useful to set\n * because it can be retrieved in event handlers via e.target.value. This can be used to identify which\n * checkbox was clicked in a checkbox group.\n */\n @Prop() value: string = '';\n\n /**\n * Style of checkbox to render. Use 'dark' when rendering on a dark background.\n */\n @Prop() theme: 'light' | 'dark' = 'light';\n\n /**\n * Size of checkbox to render.\n */\n @Prop() size: 'normal' | 'small' = 'normal';\n\n /**\n * If set, the button will still be displayed but not selectable.\n */\n @Prop() disabled?: boolean = false;\n\n render() {\n return (\n <Host class={{disabled: this.disabled, [this.theme]: true, [this.size]: true}}>\n <label>\n <input type=\"checkbox\" value={this.value} name={this.name} checked={this.checked} disabled={this.disabled} />\n <span>{this.label}</span>\n </label>\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAqB,IAAM,42C,MCwBpBC,EAAeC,EAAA,MAAAD,UAAAE,EAL5B,WAAAC,CAAAC,G,4CASUC,KAAAC,QAAmB,MAKnBD,KAAAE,KAAe,GAMfF,KAAAG,MAAgB,GAOhBH,KAAAI,MAAgB,GAKhBJ,KAAAK,MAA0B,QAK1BL,KAAAM,KAA2B,SAK3BN,KAAAO,SAAqB,KAY9B,CAVC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO,CAACL,SAAUP,KAAKO,SAAU,CAACP,KAAKK,OAAQ,KAAM,CAACL,KAAKM,MAAO,OACtEG,EAAA,SAAAE,IAAA,4CACEF,EAAA,SAAAE,IAAA,2CAAOE,KAAK,WAAWT,MAAOJ,KAAKI,MAAOF,KAAMF,KAAKE,KAAMD,QAASD,KAAKC,QAASM,SAAUP,KAAKO,WACjGE,EAAA,QAAAE,IAAA,4CAAOX,KAAKG,Q","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,t as i,H as e,c as s,h as o}from"./p-yZBlG3YQ.js";import{a}from"./p-C7k2AOsW.js";import{d as n}from"./p-C90lxyUX.js";import{d as r}from"./p-DHzSlpJw.js";import{d}from"./p-nxPMK2PN.js";import{d as c}from"./p-PfdIkMoz.js";const l=()=>`verdocs-adopt-signature-dialog{font-family:"Inter", "Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-adopt-signature-dialog verdocs-dialog{border-radius:4px}verdocs-adopt-signature-dialog .heading{color:#201f1e;font-weight:400;padding-bottom:0;border-bottom:none}verdocs-adopt-signature-dialog .content{display:-ms-flexbox;display:flex;padding:12px 24px 0;-ms-flex-direction:column;flex-direction:column}verdocs-adopt-signature-dialog .name-locked-hint{font-size:12px;color:#6b7280;margin-top:4px}verdocs-adopt-signature-dialog verdocs-text-input .input-label{color:#242424;font-size:13px;font-weight:400}verdocs-adopt-signature-dialog verdocs-text-input .input-element{border:1px solid #e0e0e0}verdocs-adopt-signature-dialog verdocs-radio-button{-webkit-transform:scale(0.9);transform:scale(0.9)}verdocs-adopt-signature-dialog .canvas-container{position:relative;width:100%;margin:10px 0;border-radius:4px;background:#fafafa;border:1px solid #d1d1d1;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-adopt-signature-dialog .canvas-container.initials-container{max-width:50%}verdocs-adopt-signature-dialog .canvas-container canvas{width:100%;height:79px;border-radius:4px;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;position:relative;z-index:2}verdocs-adopt-signature-dialog .canvas-container .signing-indicator{position:absolute;bottom:9px;left:9px;right:9px;height:28px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:end;align-items:flex-end;gap:2px;z-index:1;pointer-events:none}verdocs-adopt-signature-dialog .canvas-container .signing-indicator .x-icon{width:25px;height:28px;display:-ms-flexbox;display:flex}verdocs-adopt-signature-dialog .canvas-container .signing-indicator .x-icon svg{width:100%;height:100%}verdocs-adopt-signature-dialog .canvas-container .signing-indicator .signing-line{-ms-flex:1;flex:1;border-bottom:1px dashed #d1d1d1;background-position:bottom;background-size:16px 1px;background-repeat:repeat-x;margin-bottom:0;height:1px;border:none;background-image:-webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent));background-image:linear-gradient(to right, #d1d1d1 50%, transparent 50%)}verdocs-adopt-signature-dialog .disclaimer{padding:8px 0;font-size:11px;line-height:14px;text-align:justify;color:rgba(0, 0, 0, 0.54)}verdocs-adopt-signature-dialog .tabs{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:-20px -20px 0 -20px;border-bottom:1px solid #eeeeee}verdocs-adopt-signature-dialog .tabs .tab{-ms-flex:1;flex:1;gap:4px;display:-ms-flexbox;display:flex;cursor:pointer;font-size:12px;font-weight:500;padding:6px 10px;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-adopt-signature-dialog .tabs .tab.active{background:#f9f5fe;border-bottom:2px solid #707ae5}verdocs-adopt-signature-dialog .tabs .tab:hover{color:#55bc81}verdocs-adopt-signature-dialog .tabs .tab .icon{width:16px;height:16px}verdocs-adopt-signature-dialog .type{display:none;-ms-flex-direction:column;flex-direction:column}verdocs-adopt-signature-dialog .type.active{display:-ms-flexbox;display:flex}verdocs-adopt-signature-dialog .draw{height:100px;display:none;margin-top:20px;-ms-flex-direction:column;flex-direction:column}verdocs-adopt-signature-dialog .draw.active{display:-ms-flexbox;display:flex}verdocs-adopt-signature-dialog .draw .draw-instructions{font-size:13px;color:rgba(0, 0, 0, 0.6);margin-bottom:8px;text-align:center}verdocs-adopt-signature-dialog .draw canvas{cursor:crosshair;-ms-touch-action:none;touch-action:none}verdocs-adopt-signature-dialog .preview-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;margin-top:10px}verdocs-adopt-signature-dialog .preview-header .clear-button-text{background:none;border:none;color:var(--verdocs-primary-color, #55bc81);cursor:pointer;font-size:13px;padding:0;font-weight:500}verdocs-adopt-signature-dialog .preview-header .clear-button-text:hover{text-decoration:underline}verdocs-adopt-signature-dialog .preview-header .clear-button-text:disabled{color:#9ca3af;text-decoration:none;cursor:not-allowed}verdocs-adopt-signature-dialog .upload{height:100px;display:none;margin-top:20px;-ms-flex-direction:column;flex-direction:column}verdocs-adopt-signature-dialog .upload.active{display:-ms-flexbox;display:flex}verdocs-adopt-signature-dialog .upload .upload-instructions{font-size:13px;color:rgba(0, 0, 0, 0.6);margin-bottom:8px;text-align:center}verdocs-adopt-signature-dialog .upload .upload-actions{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;gap:12px;margin-top:8px}verdocs-adopt-signature-dialog .upload .upload-actions .upload-button{border:1px solid var(--verdocs-primary-color, #55bc81);background-color:var(--verdocs-primary-color, #55bc81);color:#ffffff;padding:8px 20px;font-size:13px;cursor:pointer;border-radius:var(--verdocs-button-radius, 4px);-webkit-transition:all 0.2s ease;transition:all 0.2s ease}verdocs-adopt-signature-dialog .upload .upload-actions .upload-button:hover{-webkit-filter:brightness(0.9);filter:brightness(0.9)}verdocs-adopt-signature-dialog .upload .upload-actions .clear-button{border:1px solid #d0d0d0;background-color:#ffffff;color:#333333;padding:8px 16px;font-size:13px;cursor:pointer;border-radius:4px;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}verdocs-adopt-signature-dialog .upload .upload-actions .clear-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#b0b0b0}verdocs-adopt-signature-dialog .upload .upload-actions .clear-button:disabled{opacity:0.5;cursor:not-allowed}verdocs-adopt-signature-dialog .upload .upload-filename{font-size:12px;color:rgba(0, 0, 0, 0.6);text-align:center;margin-top:8px;font-style:italic}verdocs-adopt-signature-dialog{}verdocs-adopt-signature-dialog .buttons{gap:20px;display:-ms-flexbox;display:flex;margin-top:14px;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-adopt-signature-dialog .buttons button{-ms-flex:1;flex:1;border:0;height:38px;display:-ms-flexbox;display:flex;font-size:14px;font-weight:500;cursor:pointer;-ms-flex-align:center;align-items:center;border-radius:var(--verdocs-button-radius, 6px);-ms-flex-pack:center;justify-content:center;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}verdocs-adopt-signature-dialog .buttons button.cancel{background-color:transparent;border:1px solid #d1d5db;color:#374151}verdocs-adopt-signature-dialog .buttons button.cancel:hover{background-color:#f9fafb}verdocs-adopt-signature-dialog .buttons button.proceed{background-color:var(--verdocs-primary-color, #55bc81);border:1px solid transparent;color:#ffffff}verdocs-adopt-signature-dialog .buttons button.proceed:hover{background-color:var(--verdocs-primary-color-hover, #2b995b);-webkit-filter:brightness(0.95);filter:brightness(0.95)}verdocs-adopt-signature-dialog .buttons button:disabled{background-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}`;const h=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.next=s(this,"next");this.exit=s(this,"exit");this.name="";this.nameLocked=false;this.fontLoaded=false;this.enteredName="";this.enteredInitials="";this.mode="type";this.isDrawing=false;this.hasDrawnSignature=false;this.hasDrawnInitials=false;this.currentSigStroke=[];this.allSigStrokes=[];this.lastSigPoint=null;this.currentInitialsStroke=[];this.allInitialsStrokes=[];this.lastInitialsPoint=null;this.handleSigPointerDown=t=>{t.preventDefault();if(!this.signatureElement||!this.sigDrawingContext){return}this.isDrawing=true;this.hasDrawnSignature=true;const i=this.getSigCanvasCoordinates(t);this.currentSigStroke=[i];this.lastSigPoint=i;this.sigDrawingContext.beginPath();this.sigDrawingContext.moveTo(i.x,i.y);this.signatureElement.setPointerCapture(t.pointerId)};this.handleSigPointerMove=t=>{t.preventDefault();if(!this.isDrawing||!this.sigDrawingContext||!this.lastSigPoint){return}const i=this.getSigCanvasCoordinates(t);this.currentSigStroke.push(i);const e={x:(this.lastSigPoint.x+i.x)/2,y:(this.lastSigPoint.y+i.y)/2};this.sigDrawingContext.quadraticCurveTo(this.lastSigPoint.x,this.lastSigPoint.y,e.x,e.y);this.sigDrawingContext.stroke();this.lastSigPoint=i};this.handleSigPointerUp=t=>{t.preventDefault();if(!this.isDrawing||!this.sigDrawingContext){return}if(this.lastSigPoint&&this.currentSigStroke.length>0){this.sigDrawingContext.lineTo(this.lastSigPoint.x,this.lastSigPoint.y);this.sigDrawingContext.stroke()}if(this.currentSigStroke.length>0){this.allSigStrokes.push([...this.currentSigStroke])}this.isDrawing=false;this.currentSigStroke=[];this.lastSigPoint=null;if(this.signatureElement){this.signatureElement.releasePointerCapture(t.pointerId)}};this.handleSigPointerCancel=t=>{this.isDrawing=false;this.currentSigStroke=[];this.lastSigPoint=null;if(this.signatureElement){this.signatureElement.releasePointerCapture(t.pointerId)}};this.handleInitialsPointerDown=t=>{t.preventDefault();if(!this.initialsElement||!this.initialsDrawingContext){return}this.isDrawing=true;this.hasDrawnInitials=true;const i=this.getInitialsCanvasCoordinates(t);this.currentInitialsStroke=[i];this.lastInitialsPoint=i;this.initialsDrawingContext.beginPath();this.initialsDrawingContext.moveTo(i.x,i.y);this.initialsElement.setPointerCapture(t.pointerId)};this.handleInitialsPointerMove=t=>{t.preventDefault();if(!this.isDrawing||!this.initialsDrawingContext||!this.lastInitialsPoint){return}const i=this.getInitialsCanvasCoordinates(t);this.currentInitialsStroke.push(i);const e={x:(this.lastInitialsPoint.x+i.x)/2,y:(this.lastInitialsPoint.y+i.y)/2};this.initialsDrawingContext.quadraticCurveTo(this.lastInitialsPoint.x,this.lastInitialsPoint.y,e.x,e.y);this.initialsDrawingContext.stroke();this.lastInitialsPoint=i};this.handleInitialsPointerUp=t=>{t.preventDefault();if(!this.isDrawing||!this.initialsDrawingContext){return}if(this.lastInitialsPoint&&this.currentInitialsStroke.length>0){this.initialsDrawingContext.lineTo(this.lastInitialsPoint.x,this.lastInitialsPoint.y);this.initialsDrawingContext.stroke()}if(this.currentInitialsStroke.length>0){this.allInitialsStrokes.push([...this.currentInitialsStroke])}this.isDrawing=false;this.currentInitialsStroke=[];this.lastInitialsPoint=null;if(this.initialsElement){this.initialsElement.releasePointerCapture(t.pointerId)}};this.handleInitialsPointerCancel=t=>{this.isDrawing=false;this.currentInitialsStroke=[];this.lastInitialsPoint=null;if(this.initialsElement){this.initialsElement.releasePointerCapture(t.pointerId)}}}componentWillLoad(){this.enteredName=this.name;this.computeEnteredInitials(this.name);const t=new FontFace("Dancing Script","url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)");t.load().then((t=>{document.fonts.add(t);this.fontLoaded=true}))}componentDidLoad(){this.drawSignatureText();this.drawInitialsText();this.setupSignatureCanvas();this.setupInitialsCanvas()}componentDidUpdate(){this.drawSignatureText();this.drawInitialsText();this.setupSignatureCanvas();this.setupInitialsCanvas();if(this.mode==="draw"&&this.allSigStrokes.length>0){this.redrawDrawnSignature()}if(this.mode==="draw"&&this.allInitialsStrokes.length>0){this.redrawDrawnInitials()}}drawSignatureText(){if(!this.signatureElement||this.mode!=="type"){return}const t=this.signatureElement.width;const i=this.signatureElement.height;const e=this.signatureElement.getContext("2d");e.clearRect(0,0,this.signatureElement.width,this.signatureElement.height);let s=100;let o=e.measureText(this.enteredName);do{s-=2;e.font=`${s}px Dancing Script`;o=e.measureText(this.enteredName)}while(o.width>t-24||o.actualBoundingBoxAscent+o.actualBoundingBoxDescent+24>i);e.textAlign="center";e.textBaseline="middle";e.font=`${s}px Dancing Script`;e.fillText(this.enteredName,this.signatureElement.width/2,this.signatureElement.height/2)}drawInitialsText(){if(!this.initialsElement||this.mode!=="type"){return}const t=this.initialsElement.width;const i=this.initialsElement.height;const e=this.initialsElement.getContext("2d");e.clearRect(0,0,this.initialsElement.width,this.initialsElement.height);let s=100;let o=e.measureText(this.enteredInitials);do{s-=2;e.font=`${s}px Dancing Script`;o=e.measureText(this.enteredInitials)}while(o.width>t-24||o.actualBoundingBoxAscent+o.actualBoundingBoxDescent+24>i);e.textAlign="center";e.textBaseline="middle";e.font=`${s}px Dancing Script`;e.fillText(this.enteredInitials,this.initialsElement.width/2,this.initialsElement.height/2)}redrawDrawnSignature(){if(!this.signatureElement||!this.sigDrawingContext||this.allSigStrokes.length===0){return}this.sigDrawingContext.clearRect(0,0,this.signatureElement.width,this.signatureElement.height);for(const t of this.allSigStrokes){if(t.length===0){continue}this.sigDrawingContext.beginPath();this.sigDrawingContext.moveTo(t[0].x,t[0].y);for(let i=1;i<t.length;i++){const e=t[i];const s=t[i-1];const o={x:(s.x+e.x)/2,y:(s.y+e.y)/2};this.sigDrawingContext.quadraticCurveTo(s.x,s.y,o.x,o.y)}if(t.length>1){const i=t[t.length-1];this.sigDrawingContext.lineTo(i.x,i.y)}this.sigDrawingContext.stroke()}}redrawDrawnInitials(){if(!this.initialsElement||!this.initialsDrawingContext||this.allInitialsStrokes.length===0){return}this.initialsDrawingContext.clearRect(0,0,this.initialsElement.width,this.initialsElement.height);for(const t of this.allInitialsStrokes){if(t.length===0){continue}this.initialsDrawingContext.beginPath();this.initialsDrawingContext.moveTo(t[0].x,t[0].y);for(let i=1;i<t.length;i++){const e=t[i];const s=t[i-1];const o={x:(s.x+e.x)/2,y:(s.y+e.y)/2};this.initialsDrawingContext.quadraticCurveTo(s.x,s.y,o.x,o.y)}if(t.length>1){const i=t[t.length-1];this.initialsDrawingContext.lineTo(i.x,i.y)}this.initialsDrawingContext.stroke()}}handleNameChange(t){this.enteredName=t.target.value;this.computeEnteredInitials(t.target.value)}computeEnteredInitials(t){const i=t.trim().split(" ").filter((t=>t.length>0));this.enteredInitials=i.length>1?i.map((t=>t.charAt(0).toUpperCase())).join(""):i[0].toUpperCase()}handleCancel(t){t.stopPropagation();t.preventDefault();this.exit.emit()}handleAdopt(t){t.stopPropagation();t.preventDefault();const i=this.signatureElement.toDataURL("image/png");const e=this.initialsElement.toDataURL("image/png");this.next.emit({signature:i,initials:e})}isAdoptButtonDisabled(){switch(this.mode){case"type":return!this.enteredName||this.enteredName.trim().length===0;case"draw":return!this.hasDrawnSignature&&!this.hasDrawnInitials||this.allSigStrokes.length===0||this.allInitialsStrokes.length===0;default:return true}}setupSignatureCanvas(){if(!this.signatureElement){return}if(this.mode==="draw"){const t=this.signatureElement.getContext("2d");if(t&&t!==this.sigDrawingContext){this.sigDrawingContext=t;this.sigDrawingContext.strokeStyle="#000000";this.sigDrawingContext.lineWidth=2;this.sigDrawingContext.lineCap="round";this.sigDrawingContext.lineJoin="round";if(this.allSigStrokes.length===0){this.sigDrawingContext.clearRect(0,0,this.signatureElement.width,this.signatureElement.height)}}}if(this.mode!=="draw"&&this.sigDrawingContext){this.sigDrawingContext=null;this.currentSigStroke=[];this.lastSigPoint=null}}setupInitialsCanvas(){if(!this.initialsElement){return}if(this.mode==="draw"){const t=this.initialsElement.getContext("2d");if(t&&t!==this.initialsDrawingContext){this.initialsDrawingContext=t;this.initialsDrawingContext.strokeStyle="#000000";this.initialsDrawingContext.lineWidth=2;this.initialsDrawingContext.lineCap="round";this.initialsDrawingContext.lineJoin="round";if(this.allInitialsStrokes.length===0){this.initialsDrawingContext.clearRect(0,0,this.initialsElement.width,this.initialsElement.height)}}}if(this.mode!=="draw"&&this.initialsDrawingContext){this.initialsDrawingContext=null;this.currentInitialsStroke=[];this.lastInitialsPoint=null}}clearSignatureCanvas(){if(!this.signatureElement||!this.sigDrawingContext){return}this.sigDrawingContext.clearRect(0,0,this.signatureElement.width,this.signatureElement.height);this.currentSigStroke=[];this.allSigStrokes=[];this.lastSigPoint=null;this.hasDrawnSignature=false}clearInitialsCanvas(){if(!this.initialsElement||!this.initialsDrawingContext){return}this.initialsDrawingContext.clearRect(0,0,this.initialsElement.width,this.initialsElement.height);this.currentInitialsStroke=[];this.allInitialsStrokes=[];this.lastInitialsPoint=null;this.hasDrawnInitials=false}handleClearDrawing(t,i="all"){t.stopPropagation();t.preventDefault();if(i==="all"||i==="signature")this.clearSignatureCanvas();if(i==="all"||i==="initials")this.clearInitialsCanvas()}getSigCanvasCoordinates(t){if(!this.signatureElement){return{x:0,y:0}}const i=this.signatureElement.getBoundingClientRect();const e=this.signatureElement.width/i.width;const s=this.signatureElement.height/i.height;return{x:(t.clientX-i.left)*e,y:(t.clientY-i.top)*s}}getInitialsCanvasCoordinates(t){if(!this.initialsElement){return{x:0,y:0}}const i=this.initialsElement.getBoundingClientRect();const e=this.initialsElement.width/i.width;const s=this.initialsElement.height/i.height;return{x:(t.clientX-i.left)*e,y:(t.clientY-i.top)*s}}render(){return o("verdocs-dialog",{key:"1d9e53a65179e291f193b0e1e53d81b69aa045b2"},o("div",{key:"2ef592a57b041d639d2b94de833d2b5dfc7ee578",slot:"heading",class:"heading"},"Adopt Your Signature"),o("div",{key:"06e35caaacdc6899c086b7f85b934e0dfceccc34",slot:"content",class:"content"},o("div",{key:"64c555887649e15acf0007e571a8968316e17153",style:{fontWeight:"300",color:"#242424",fontSize:"13px"}},"Confirm your name, initials, and signature."),o("div",{key:"a65a012a24cd348ebc27f781007de26f9f0c9a6a",class:{type:true,active:this.mode==="type"}},o("verdocs-text-input",{key:"5b431318876370890d6c3988df4024d20343d732",label:"Full Name",value:this.enteredName,disabled:this.nameLocked,onInput:t=>this.handleNameChange(t),onClick:t=>t.stopPropagation()}),this.nameLocked&&o("div",{key:"c4a217ab615d8225b84a2344cecc977657f1f61e",class:"name-locked-hint"},"Your name has been set by the sender and cannot be changed.")),o("div",{key:"77ce59fbbf24fb22017d745909fc667d710c1b16",style:{fontWeight:"400",color:"#242424",fontSize:"13px"}},"Select a signature style"),o("div",{key:"d6d8da60970f8bf74449e9aba522fd0e9038f08e",style:{display:"flex",flexDirection:"row",gap:"10px",marginBottom:"6px",alignItems:"center",fontSize:"13px"}},o("verdocs-radio-button",{key:"7227f6364f5538b2cc03bb2e1be24671b7de85d5",checked:this.mode==="type",value:"type",name:"mode",onClick:()=>this.mode="type"}),o("label",{key:"3efa2f5a2a078f179a3256662e543daad0dca2c2"},"Typed with a keyboard")),o("div",{key:"e9bbf64a8cdd25b9b28a76dd087da2b58de09232",style:{display:"flex",flexDirection:"row",gap:"10px",marginBottom:"6px",alignItems:"center",fontSize:"13px"}},o("verdocs-radio-button",{key:"ba22593a2f00b4ecf16debb2dc5fc15584e19001",checked:this.mode==="draw",value:"draw",name:"mode",onClick:()=>this.mode="draw"}),o("label",{key:"eb7752347a07e71e2e25fa00da10552e1ee75e89"},"Drawn with touch, mouse, or stylus")),o("div",{key:"dade8b6b423db3f46ab07ceb21b5119b8c3919c7",class:"preview-header"},o("div",{key:"640c8d08177a9d14bf44f42699bb5ecaa6356488",style:{fontSize:"13px",fontWeight:"400"}},"Signature Preview"),this.mode==="draw"&&o("button",{key:"44c64789b4b311a4fdba6ce75faf4e05f031b92e",class:"clear-button-text",onClick:t=>this.handleClearDrawing(t,"signature"),disabled:!this.hasDrawnSignature},"Clear")),o("div",{key:"85c9a3db23b78bec6694c5fb09c5e70fa1a47e5a",class:"canvas-container signature-container"},o("div",{key:"8d743af9906d6886ba49e483cb1430a89327951c",class:"signing-indicator"},o("div",{key:"7fb23472f14ec9c9c9804d54043c57c007daba3e",class:"x-icon",innerHTML:a}),o("div",{key:"6012389bcfef84699b3d34ac8fb3fe7bc86f97fd",class:"signing-line"})),o("canvas",{key:"f56746b873d2b59677ead67946a8e67af43f263d",ref:t=>this.signatureElement=t,height:"79",class:"signature-canvas",onPointerDown:this.handleSigPointerDown,onPointerMove:this.handleSigPointerMove,onPointerUp:this.handleSigPointerUp,onPointerCancel:this.handleSigPointerCancel,style:{touchAction:"none",cursor:"crosshair"}})),o("div",{key:"8dd4c31c5e7c2de8c8f74fe466ca510f91e9f02f",class:"preview-header"},o("div",{key:"eb2294f29e681091f3e35aa3de48c821f9884473",style:{fontSize:"13px",fontWeight:"400"}},"Initials Preview"),this.mode==="draw"&&o("button",{key:"061752a19678558fb0306ae288be315759b94d88",class:"clear-button-text",onClick:t=>this.handleClearDrawing(t,"initials"),disabled:!this.hasDrawnInitials},"Clear")),o("div",{key:"d20c69fe464ce2335557fe71d480c88b802c8e52",class:"canvas-container initials-container"},o("div",{key:"5dc7ab87d0de091a9d46bd2fbbdd11edffeb47cd",class:"signing-indicator"},o("div",{key:"d3abd054909d5f70033d7c22d080b07c24585aab",class:"x-icon",innerHTML:a}),o("div",{key:"b16d55fb5d71364742311874cf90b602795ba6b5",class:"signing-line"})),o("canvas",{key:"5168e733e741f79264c809319736d23c9203871f",ref:t=>this.initialsElement=t,height:"79",class:"initials-canvas",onPointerDown:this.handleInitialsPointerDown,onPointerMove:this.handleInitialsPointerMove,onPointerUp:this.handleInitialsPointerUp,onPointerCancel:this.handleInitialsPointerCancel,style:{touchAction:"none",cursor:"crosshair"}})),o("div",{key:"80633cee68fc9b58df3dbb1deefd961ca8e2b8aa",class:"disclaimer"},"By clicking «Adopt Signature», I agree that the signature and initials above will be the electronic representation of my signature and initials for all purposes when I use them to sign documents. Applying them to a document is legally equivalent to signing with a pen on paper.")),o("div",{key:"89fe262262bea067172c5727a03072549054814f",class:"footer",slot:"footer"},o("div",{key:"b656c72b28a810e1b1a0bf0a42bf2b9f9b350fb2",class:"buttons"},o("button",{key:"b172e1e41c481e4b5cdb992fc1ca6213507b6af4",class:"cancel",onClick:t=>this.handleCancel(t)},"Cancel"),o("button",{key:"752ac007fbeb922996ced560de6f0fdfb634fcc1",class:"proceed",onClick:t=>this.handleAdopt(t),disabled:this.isAdoptButtonDisabled()},"Adopt & Sign"))))}static get style(){return l()}},[0,"verdocs-adopt-signature-dialog",{name:[1],nameLocked:[4,"name-locked"],fontLoaded:[32],enteredName:[32],enteredInitials:[32],mode:[32],isDrawing:[32],hasDrawnSignature:[32],hasDrawnInitials:[32]}]);function p(){if(typeof customElements==="undefined"){return}const t=["verdocs-adopt-signature-dialog","verdocs-dialog","verdocs-help-icon","verdocs-radio-button","verdocs-text-input"];t.forEach((t=>{switch(t){case"verdocs-adopt-signature-dialog":if(!customElements.get(i(t))){customElements.define(i(t),h)}break;case"verdocs-dialog":if(!customElements.get(i(t))){n()}break;case"verdocs-help-icon":if(!customElements.get(i(t))){r()}break;case"verdocs-radio-button":if(!customElements.get(i(t))){d()}break;case"verdocs-text-input":if(!customElements.get(i(t))){c()}break}}))}export{h as V,p as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as t,t as i,H as e,c as s,h as o}from"./p-yZBlG3YQ.js";import{a}from"./p-C7k2AOsW.js";import{d as n}from"./p-C90lxyUX.js";import{d as r}from"./p-DHzSlpJw.js";import{d}from"./p-nxPMK2PN.js";import{d as c}from"./p-PfdIkMoz.js";const l=()=>`verdocs-adopt-signature-dialog{font-family:"Inter", "Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-adopt-signature-dialog verdocs-dialog{border-radius:4px}verdocs-adopt-signature-dialog .heading{color:#201f1e;font-weight:400;padding-bottom:0;border-bottom:none}verdocs-adopt-signature-dialog .content{display:-ms-flexbox;display:flex;padding:12px 24px 0;-ms-flex-direction:column;flex-direction:column}verdocs-adopt-signature-dialog .name-locked-hint{font-size:12px;color:#6b7280;margin-top:4px}verdocs-adopt-signature-dialog verdocs-text-input .input-label{color:#242424;font-size:13px;font-weight:400}verdocs-adopt-signature-dialog verdocs-text-input .input-element{border:1px solid #e0e0e0}verdocs-adopt-signature-dialog verdocs-radio-button{-webkit-transform:scale(0.9);transform:scale(0.9)}verdocs-adopt-signature-dialog .canvas-container{position:relative;width:100%;margin:10px 0;border-radius:4px;background:#fafafa;border:1px solid #d1d1d1;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-adopt-signature-dialog .canvas-container.initials-container{max-width:50%}verdocs-adopt-signature-dialog .canvas-container canvas{width:100%;height:79px;border-radius:4px;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;position:relative;z-index:2}verdocs-adopt-signature-dialog .canvas-container .signing-indicator{position:absolute;bottom:9px;left:9px;right:9px;height:28px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:end;align-items:flex-end;gap:2px;z-index:1;pointer-events:none}verdocs-adopt-signature-dialog .canvas-container .signing-indicator .x-icon{width:25px;height:28px;display:-ms-flexbox;display:flex}verdocs-adopt-signature-dialog .canvas-container .signing-indicator .x-icon svg{width:100%;height:100%}verdocs-adopt-signature-dialog .canvas-container .signing-indicator .signing-line{-ms-flex:1;flex:1;border-bottom:1px dashed #d1d1d1;background-position:bottom;background-size:16px 1px;background-repeat:repeat-x;margin-bottom:0;height:1px;border:none;background-image:-webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent));background-image:linear-gradient(to right, #d1d1d1 50%, transparent 50%)}verdocs-adopt-signature-dialog .disclaimer{padding:8px 0;font-size:11px;line-height:14px;text-align:justify;color:rgba(0, 0, 0, 0.54)}verdocs-adopt-signature-dialog .tabs{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:-20px -20px 0 -20px;border-bottom:1px solid #eeeeee}verdocs-adopt-signature-dialog .tabs .tab{-ms-flex:1;flex:1;gap:4px;display:-ms-flexbox;display:flex;cursor:pointer;font-size:12px;font-weight:500;padding:6px 10px;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-adopt-signature-dialog .tabs .tab.active{background:#f9f5fe;border-bottom:2px solid #707ae5}verdocs-adopt-signature-dialog .tabs .tab:hover{color:#55bc81}verdocs-adopt-signature-dialog .tabs .tab .icon{width:16px;height:16px}verdocs-adopt-signature-dialog .type{display:none;-ms-flex-direction:column;flex-direction:column}verdocs-adopt-signature-dialog .type.active{display:-ms-flexbox;display:flex}verdocs-adopt-signature-dialog .draw{height:100px;display:none;margin-top:20px;-ms-flex-direction:column;flex-direction:column}verdocs-adopt-signature-dialog .draw.active{display:-ms-flexbox;display:flex}verdocs-adopt-signature-dialog .draw .draw-instructions{font-size:13px;color:rgba(0, 0, 0, 0.6);margin-bottom:8px;text-align:center}verdocs-adopt-signature-dialog .draw canvas{cursor:crosshair;-ms-touch-action:none;touch-action:none}verdocs-adopt-signature-dialog .preview-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;margin-top:10px}verdocs-adopt-signature-dialog .preview-header .clear-button-text{background:none;border:none;color:var(--verdocs-primary-color, #55bc81);cursor:pointer;font-size:13px;padding:0;font-weight:500}verdocs-adopt-signature-dialog .preview-header .clear-button-text:hover{text-decoration:underline}verdocs-adopt-signature-dialog .preview-header .clear-button-text:disabled{color:#9ca3af;text-decoration:none;cursor:not-allowed}verdocs-adopt-signature-dialog .upload{height:100px;display:none;margin-top:20px;-ms-flex-direction:column;flex-direction:column}verdocs-adopt-signature-dialog .upload.active{display:-ms-flexbox;display:flex}verdocs-adopt-signature-dialog .upload .upload-instructions{font-size:13px;color:rgba(0, 0, 0, 0.6);margin-bottom:8px;text-align:center}verdocs-adopt-signature-dialog .upload .upload-actions{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;gap:12px;margin-top:8px}verdocs-adopt-signature-dialog .upload .upload-actions .upload-button{border:1px solid var(--verdocs-primary-color, #55bc81);background-color:var(--verdocs-primary-color, #55bc81);color:#ffffff;padding:8px 20px;font-size:13px;cursor:pointer;border-radius:var(--verdocs-button-radius, 4px);-webkit-transition:all 0.2s ease;transition:all 0.2s ease}verdocs-adopt-signature-dialog .upload .upload-actions .upload-button:hover{-webkit-filter:brightness(0.9);filter:brightness(0.9)}verdocs-adopt-signature-dialog .upload .upload-actions .clear-button{border:1px solid #d0d0d0;background-color:#ffffff;color:#333333;padding:8px 16px;font-size:13px;cursor:pointer;border-radius:4px;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}verdocs-adopt-signature-dialog .upload .upload-actions .clear-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#b0b0b0}verdocs-adopt-signature-dialog .upload .upload-actions .clear-button:disabled{opacity:0.5;cursor:not-allowed}verdocs-adopt-signature-dialog .upload .upload-filename{font-size:12px;color:rgba(0, 0, 0, 0.6);text-align:center;margin-top:8px;font-style:italic}verdocs-adopt-signature-dialog{}verdocs-adopt-signature-dialog .buttons{gap:20px;display:-ms-flexbox;display:flex;margin-top:14px;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-adopt-signature-dialog .buttons button{-ms-flex:1;flex:1;border:0;height:38px;display:-ms-flexbox;display:flex;font-size:14px;font-weight:500;cursor:pointer;-ms-flex-align:center;align-items:center;border-radius:var(--verdocs-button-radius, 6px);-ms-flex-pack:center;justify-content:center;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}verdocs-adopt-signature-dialog .buttons button.cancel{background-color:transparent;border:1px solid #d1d5db;color:#374151}verdocs-adopt-signature-dialog .buttons button.cancel:hover{background-color:#f9fafb}verdocs-adopt-signature-dialog .buttons button.proceed{background-color:var(--verdocs-primary-color, #55bc81);border:1px solid transparent;color:#ffffff}verdocs-adopt-signature-dialog .buttons button.proceed:hover{background-color:var(--verdocs-primary-color-hover, #2b995b);-webkit-filter:brightness(0.95);filter:brightness(0.95)}verdocs-adopt-signature-dialog .buttons button:disabled{background-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}`;const h=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.next=s(this,"next");this.exit=s(this,"exit");this.name="";this.nameLocked=false;this.fontLoaded=false;this.enteredName="";this.enteredInitials="";this.mode="type";this.isDrawing=false;this.hasDrawnSignature=false;this.hasDrawnInitials=false;this.currentSigStroke=[];this.allSigStrokes=[];this.lastSigPoint=null;this.currentInitialsStroke=[];this.allInitialsStrokes=[];this.lastInitialsPoint=null;this.handleSigPointerDown=t=>{t.preventDefault();if(!this.signatureElement||!this.sigDrawingContext){return}this.isDrawing=true;this.hasDrawnSignature=true;const i=this.getSigCanvasCoordinates(t);this.currentSigStroke=[i];this.lastSigPoint=i;this.sigDrawingContext.beginPath();this.sigDrawingContext.moveTo(i.x,i.y);this.signatureElement.setPointerCapture(t.pointerId)};this.handleSigPointerMove=t=>{t.preventDefault();if(!this.isDrawing||!this.sigDrawingContext||!this.lastSigPoint){return}const i=this.getSigCanvasCoordinates(t);this.currentSigStroke.push(i);const e={x:(this.lastSigPoint.x+i.x)/2,y:(this.lastSigPoint.y+i.y)/2};this.sigDrawingContext.quadraticCurveTo(this.lastSigPoint.x,this.lastSigPoint.y,e.x,e.y);this.sigDrawingContext.stroke();this.lastSigPoint=i};this.handleSigPointerUp=t=>{t.preventDefault();if(!this.isDrawing||!this.sigDrawingContext){return}if(this.lastSigPoint&&this.currentSigStroke.length>0){this.sigDrawingContext.lineTo(this.lastSigPoint.x,this.lastSigPoint.y);this.sigDrawingContext.stroke()}if(this.currentSigStroke.length>0){this.allSigStrokes.push([...this.currentSigStroke])}this.isDrawing=false;this.currentSigStroke=[];this.lastSigPoint=null;if(this.signatureElement){this.signatureElement.releasePointerCapture(t.pointerId)}};this.handleSigPointerCancel=t=>{this.isDrawing=false;this.currentSigStroke=[];this.lastSigPoint=null;if(this.signatureElement){this.signatureElement.releasePointerCapture(t.pointerId)}};this.handleInitialsPointerDown=t=>{t.preventDefault();if(!this.initialsElement||!this.initialsDrawingContext){return}this.isDrawing=true;this.hasDrawnInitials=true;const i=this.getInitialsCanvasCoordinates(t);this.currentInitialsStroke=[i];this.lastInitialsPoint=i;this.initialsDrawingContext.beginPath();this.initialsDrawingContext.moveTo(i.x,i.y);this.initialsElement.setPointerCapture(t.pointerId)};this.handleInitialsPointerMove=t=>{t.preventDefault();if(!this.isDrawing||!this.initialsDrawingContext||!this.lastInitialsPoint){return}const i=this.getInitialsCanvasCoordinates(t);this.currentInitialsStroke.push(i);const e={x:(this.lastInitialsPoint.x+i.x)/2,y:(this.lastInitialsPoint.y+i.y)/2};this.initialsDrawingContext.quadraticCurveTo(this.lastInitialsPoint.x,this.lastInitialsPoint.y,e.x,e.y);this.initialsDrawingContext.stroke();this.lastInitialsPoint=i};this.handleInitialsPointerUp=t=>{t.preventDefault();if(!this.isDrawing||!this.initialsDrawingContext){return}if(this.lastInitialsPoint&&this.currentInitialsStroke.length>0){this.initialsDrawingContext.lineTo(this.lastInitialsPoint.x,this.lastInitialsPoint.y);this.initialsDrawingContext.stroke()}if(this.currentInitialsStroke.length>0){this.allInitialsStrokes.push([...this.currentInitialsStroke])}this.isDrawing=false;this.currentInitialsStroke=[];this.lastInitialsPoint=null;if(this.initialsElement){this.initialsElement.releasePointerCapture(t.pointerId)}};this.handleInitialsPointerCancel=t=>{this.isDrawing=false;this.currentInitialsStroke=[];this.lastInitialsPoint=null;if(this.initialsElement){this.initialsElement.releasePointerCapture(t.pointerId)}}}componentWillLoad(){this.enteredName=this.name;this.computeEnteredInitials(this.name);const t=new FontFace("Dancing Script","url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)");t.load().then((t=>{document.fonts.add(t);this.fontLoaded=true}))}componentDidLoad(){this.drawSignatureText();this.drawInitialsText();this.setupSignatureCanvas();this.setupInitialsCanvas()}componentDidUpdate(){this.drawSignatureText();this.drawInitialsText();this.setupSignatureCanvas();this.setupInitialsCanvas();if(this.mode==="draw"&&this.allSigStrokes.length>0){this.redrawDrawnSignature()}if(this.mode==="draw"&&this.allInitialsStrokes.length>0){this.redrawDrawnInitials()}}drawSignatureText(){if(!this.signatureElement||this.mode!=="type"){return}const t=this.signatureElement.width;const i=this.signatureElement.height;const e=this.signatureElement.getContext("2d");e.clearRect(0,0,this.signatureElement.width,this.signatureElement.height);let s=100;let o=e.measureText(this.enteredName);do{s-=2;e.font=`${s}px Dancing Script`;o=e.measureText(this.enteredName)}while(o.width>t-24||o.actualBoundingBoxAscent+o.actualBoundingBoxDescent+24>i);e.textAlign="center";e.textBaseline="middle";e.font=`${s}px Dancing Script`;e.fillText(this.enteredName,this.signatureElement.width/2,this.signatureElement.height/2)}drawInitialsText(){if(!this.initialsElement||this.mode!=="type"){return}const t=this.initialsElement.width;const i=this.initialsElement.height;const e=this.initialsElement.getContext("2d");e.clearRect(0,0,this.initialsElement.width,this.initialsElement.height);let s=100;let o=e.measureText(this.enteredInitials);do{s-=2;e.font=`${s}px Dancing Script`;o=e.measureText(this.enteredInitials)}while(o.width>t-24||o.actualBoundingBoxAscent+o.actualBoundingBoxDescent+24>i);e.textAlign="center";e.textBaseline="middle";e.font=`${s}px Dancing Script`;e.fillText(this.enteredInitials,this.initialsElement.width/2,this.initialsElement.height/2)}redrawDrawnSignature(){if(!this.signatureElement||!this.sigDrawingContext||this.allSigStrokes.length===0){return}this.sigDrawingContext.clearRect(0,0,this.signatureElement.width,this.signatureElement.height);for(const t of this.allSigStrokes){if(t.length===0){continue}this.sigDrawingContext.beginPath();this.sigDrawingContext.moveTo(t[0].x,t[0].y);for(let i=1;i<t.length;i++){const e=t[i];const s=t[i-1];const o={x:(s.x+e.x)/2,y:(s.y+e.y)/2};this.sigDrawingContext.quadraticCurveTo(s.x,s.y,o.x,o.y)}if(t.length>1){const i=t[t.length-1];this.sigDrawingContext.lineTo(i.x,i.y)}this.sigDrawingContext.stroke()}}redrawDrawnInitials(){if(!this.initialsElement||!this.initialsDrawingContext||this.allInitialsStrokes.length===0){return}this.initialsDrawingContext.clearRect(0,0,this.initialsElement.width,this.initialsElement.height);for(const t of this.allInitialsStrokes){if(t.length===0){continue}this.initialsDrawingContext.beginPath();this.initialsDrawingContext.moveTo(t[0].x,t[0].y);for(let i=1;i<t.length;i++){const e=t[i];const s=t[i-1];const o={x:(s.x+e.x)/2,y:(s.y+e.y)/2};this.initialsDrawingContext.quadraticCurveTo(s.x,s.y,o.x,o.y)}if(t.length>1){const i=t[t.length-1];this.initialsDrawingContext.lineTo(i.x,i.y)}this.initialsDrawingContext.stroke()}}handleNameChange(t){this.enteredName=t.target.value;this.computeEnteredInitials(t.target.value)}computeEnteredInitials(t){const i=t.trim().split(" ").filter((t=>t.length>0));this.enteredInitials=i.length>1?i.map((t=>t.charAt(0).toUpperCase())).join(""):i[0].toUpperCase()}handleCancel(t){t.stopPropagation();t.preventDefault();this.exit.emit()}handleAdopt(t){t.stopPropagation();t.preventDefault();const i=this.signatureElement.toDataURL("image/png");const e=this.initialsElement.toDataURL("image/png");this.next.emit({signature:i,initials:e})}isAdoptButtonDisabled(){switch(this.mode){case"type":return!this.enteredName||this.enteredName.trim().length===0;case"draw":return!this.hasDrawnSignature&&!this.hasDrawnInitials||this.allSigStrokes.length===0||this.allInitialsStrokes.length===0;default:return true}}setupSignatureCanvas(){if(!this.signatureElement){return}if(this.mode==="draw"){const t=this.signatureElement.getContext("2d");if(t&&t!==this.sigDrawingContext){this.sigDrawingContext=t;this.sigDrawingContext.strokeStyle="#000000";this.sigDrawingContext.lineWidth=2;this.sigDrawingContext.lineCap="round";this.sigDrawingContext.lineJoin="round";if(this.allSigStrokes.length===0){this.sigDrawingContext.clearRect(0,0,this.signatureElement.width,this.signatureElement.height)}}}if(this.mode!=="draw"&&this.sigDrawingContext){this.sigDrawingContext=null;this.currentSigStroke=[];this.lastSigPoint=null}}setupInitialsCanvas(){if(!this.initialsElement){return}if(this.mode==="draw"){const t=this.initialsElement.getContext("2d");if(t&&t!==this.initialsDrawingContext){this.initialsDrawingContext=t;this.initialsDrawingContext.strokeStyle="#000000";this.initialsDrawingContext.lineWidth=2;this.initialsDrawingContext.lineCap="round";this.initialsDrawingContext.lineJoin="round";if(this.allInitialsStrokes.length===0){this.initialsDrawingContext.clearRect(0,0,this.initialsElement.width,this.initialsElement.height)}}}if(this.mode!=="draw"&&this.initialsDrawingContext){this.initialsDrawingContext=null;this.currentInitialsStroke=[];this.lastInitialsPoint=null}}clearSignatureCanvas(){if(!this.signatureElement||!this.sigDrawingContext){return}this.sigDrawingContext.clearRect(0,0,this.signatureElement.width,this.signatureElement.height);this.currentSigStroke=[];this.allSigStrokes=[];this.lastSigPoint=null;this.hasDrawnSignature=false}clearInitialsCanvas(){if(!this.initialsElement||!this.initialsDrawingContext){return}this.initialsDrawingContext.clearRect(0,0,this.initialsElement.width,this.initialsElement.height);this.currentInitialsStroke=[];this.allInitialsStrokes=[];this.lastInitialsPoint=null;this.hasDrawnInitials=false}handleClearDrawing(t,i="all"){t.stopPropagation();t.preventDefault();if(i==="all"||i==="signature")this.clearSignatureCanvas();if(i==="all"||i==="initials")this.clearInitialsCanvas()}getSigCanvasCoordinates(t){if(!this.signatureElement){return{x:0,y:0}}const i=this.signatureElement.getBoundingClientRect();const e=this.signatureElement.width/i.width;const s=this.signatureElement.height/i.height;return{x:(t.clientX-i.left)*e,y:(t.clientY-i.top)*s}}getInitialsCanvasCoordinates(t){if(!this.initialsElement){return{x:0,y:0}}const i=this.initialsElement.getBoundingClientRect();const e=this.initialsElement.width/i.width;const s=this.initialsElement.height/i.height;return{x:(t.clientX-i.left)*e,y:(t.clientY-i.top)*s}}render(){return o("verdocs-dialog",{key:"1d9e53a65179e291f193b0e1e53d81b69aa045b2"},o("div",{key:"2ef592a57b041d639d2b94de833d2b5dfc7ee578",slot:"heading",class:"heading"},"Adopt Your Signature"),o("div",{key:"06e35caaacdc6899c086b7f85b934e0dfceccc34",slot:"content",class:"content"},o("div",{key:"64c555887649e15acf0007e571a8968316e17153",style:{fontWeight:"300",color:"#242424",fontSize:"13px"}},"Confirm your name, initials, and signature."),o("div",{key:"a65a012a24cd348ebc27f781007de26f9f0c9a6a",class:{type:true,active:this.mode==="type"}},o("verdocs-text-input",{key:"5b431318876370890d6c3988df4024d20343d732",label:"Full Name",value:this.enteredName,disabled:this.nameLocked,onInput:t=>this.handleNameChange(t),onClick:t=>t.stopPropagation()}),this.nameLocked&&o("div",{key:"c4a217ab615d8225b84a2344cecc977657f1f61e",class:"name-locked-hint"},"Your name has been set by the sender and cannot be changed.")),o("div",{key:"77ce59fbbf24fb22017d745909fc667d710c1b16",style:{fontWeight:"400",color:"#242424",fontSize:"13px"}},"Select a signature style"),o("div",{key:"d6d8da60970f8bf74449e9aba522fd0e9038f08e",style:{display:"flex",flexDirection:"row",gap:"10px",marginBottom:"6px",alignItems:"center",fontSize:"13px"}},o("verdocs-radio-button",{key:"7227f6364f5538b2cc03bb2e1be24671b7de85d5",checked:this.mode==="type",value:"type",name:"mode",onClick:()=>this.mode="type"}),o("label",{key:"977c46e2ff7787a2199d81ea95b4b48f4a14b7ac",htmlFor:"verdocs-radio-button-mode-type"},"Typed with a keyboard")),o("div",{key:"b1a2f5d040f9da62f341f96a1759d31b8d0be25c",style:{display:"flex",flexDirection:"row",gap:"10px",marginBottom:"6px",alignItems:"center",fontSize:"13px"}},o("verdocs-radio-button",{key:"f5e978adda2ede8349edeab8d4d056822358f0e7",checked:this.mode==="draw",value:"draw",name:"mode",onClick:()=>this.mode="draw"}),o("label",{key:"540e1aa686e769cd70a513c9b15b9c69c9484dc6",htmlFor:"verdocs-radio-button-mode-draw"},"Drawn with touch, mouse, or stylus")),o("div",{key:"7437f39669bfdb8ac61e1c7df44141a68cc042f0",class:"preview-header"},o("div",{key:"f2ac40e5f0644e8416f6252c3109cd2e4101c991",style:{fontSize:"13px",fontWeight:"400"}},"Signature Preview"),this.mode==="draw"&&o("button",{key:"625528ed8df9bdf8f7732d9cf40b77fe3aed2096",class:"clear-button-text",onClick:t=>this.handleClearDrawing(t,"signature"),disabled:!this.hasDrawnSignature},"Clear")),o("div",{key:"2d9efd834a05c9caad022be76f7feb00819d80a3",class:"canvas-container signature-container"},o("div",{key:"b755a4b219e820067a1ffc70faefdedf3ae99dbe",class:"signing-indicator"},o("div",{key:"d5337cab4f28bf9183c44ff6e3f7c503387b06c2",class:"x-icon",innerHTML:a}),o("div",{key:"c6cc07597c922b115fcfbd60995abc58fa90c393",class:"signing-line"})),o("canvas",{key:"17231283b8b49e49e86c6e5843e7e3a235976873",ref:t=>this.signatureElement=t,height:"79",class:"signature-canvas",onPointerDown:this.handleSigPointerDown,onPointerMove:this.handleSigPointerMove,onPointerUp:this.handleSigPointerUp,onPointerCancel:this.handleSigPointerCancel,style:{touchAction:"none",cursor:"crosshair"}})),o("div",{key:"b290aacb3be86cf14e21d5adb4f76687479644df",class:"preview-header"},o("div",{key:"84de859f797190f2bbcc8a7b869fb62d5f6f4ed7",style:{fontSize:"13px",fontWeight:"400"}},"Initials Preview"),this.mode==="draw"&&o("button",{key:"25ae13660385e00e88cd15f118913e1a41d94efb",class:"clear-button-text",onClick:t=>this.handleClearDrawing(t,"initials"),disabled:!this.hasDrawnInitials},"Clear")),o("div",{key:"fa8195008628b159114ba1ec4e7a55ff35ba8c30",class:"canvas-container initials-container"},o("div",{key:"b6fec409ff30c958a26136aa5bc34b0d93f878ab",class:"signing-indicator"},o("div",{key:"841e8683c1d711890da834cc1acf33f6914c52f5",class:"x-icon",innerHTML:a}),o("div",{key:"e4615825bd98c8f568f0827ac3cfe20dbc5f48fd",class:"signing-line"})),o("canvas",{key:"5619d6b7d4f8793c10bcd42db0cffa661682b078",ref:t=>this.initialsElement=t,height:"79",class:"initials-canvas",onPointerDown:this.handleInitialsPointerDown,onPointerMove:this.handleInitialsPointerMove,onPointerUp:this.handleInitialsPointerUp,onPointerCancel:this.handleInitialsPointerCancel,style:{touchAction:"none",cursor:"crosshair"}})),o("div",{key:"095d6bf59afc2f12401e135f8e7e8fd2063235fe",class:"disclaimer"},"By clicking «Adopt Signature», I agree that the signature and initials above will be the electronic representation of my signature and initials for all purposes when I use them to sign documents. Applying them to a document is legally equivalent to signing with a pen on paper.")),o("div",{key:"784b2cbab41b2861e31bc5098ed7a4c7f73c0326",class:"footer",slot:"footer"},o("div",{key:"d8e740e174d25fcd89bb87b44b6a73823f7ab13b",class:"buttons"},o("button",{key:"46bc0941bcc5c9337eca6b13c0c71dae0e1f60c3",class:"cancel",onClick:t=>this.handleCancel(t)},"Cancel"),o("button",{key:"c2eda30337a4d8d2af86c7016cc9c200dd25725b",class:"proceed",onClick:t=>this.handleAdopt(t),disabled:this.isAdoptButtonDisabled()},"Adopt & Sign"))))}static get style(){return l()}},[0,"verdocs-adopt-signature-dialog",{name:[1],nameLocked:[4,"name-locked"],fontLoaded:[32],enteredName:[32],enteredInitials:[32],mode:[32],isDrawing:[32],hasDrawnSignature:[32],hasDrawnInitials:[32]}]);function f(){if(typeof customElements==="undefined"){return}const t=["verdocs-adopt-signature-dialog","verdocs-dialog","verdocs-help-icon","verdocs-radio-button","verdocs-text-input"];t.forEach((t=>{switch(t){case"verdocs-adopt-signature-dialog":if(!customElements.get(i(t))){customElements.define(i(t),h)}break;case"verdocs-dialog":if(!customElements.get(i(t))){n()}break;case"verdocs-help-icon":if(!customElements.get(i(t))){r()}break;case"verdocs-radio-button":if(!customElements.get(i(t))){d()}break;case"verdocs-text-input":if(!customElements.get(i(t))){c()}break}}))}export{h as V,f as d};
|
|
2
|
+
//# sourceMappingURL=p-Vs72fn43.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["verdocsAdoptSignatureDialogCss","VerdocsAdoptSignatureDialog","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","name","nameLocked","fontLoaded","enteredName","enteredInitials","mode","isDrawing","hasDrawnSignature","hasDrawnInitials","currentSigStroke","allSigStrokes","lastSigPoint","currentInitialsStroke","allInitialsStrokes","lastInitialsPoint","handleSigPointerDown","e","preventDefault","signatureElement","sigDrawingContext","point","getSigCanvasCoordinates","beginPath","moveTo","x","y","setPointerCapture","pointerId","handleSigPointerMove","push","midPoint","quadraticCurveTo","stroke","handleSigPointerUp","length","lineTo","releasePointerCapture","handleSigPointerCancel","handleInitialsPointerDown","initialsElement","initialsDrawingContext","getInitialsCanvasCoordinates","handleInitialsPointerMove","handleInitialsPointerUp","handleInitialsPointerCancel","componentWillLoad","computeEnteredInitials","ds","FontFace","load","then","font","document","fonts","add","componentDidLoad","drawSignatureText","drawInitialsText","setupSignatureCanvas","setupInitialsCanvas","componentDidUpdate","redrawDrawnSignature","redrawDrawnInitials","sigCanvasWidth","width","sigCanvasHeight","height","sigContext","getContext","clearRect","fontSize","metrics","measureText","actualBoundingBoxAscent","actualBoundingBoxDescent","textAlign","textBaseline","fillText","initialsCanvasWidth","initialsCanvasHeight","context","i","currentPoint","previousPoint","lastPoint","handleNameChange","target","value","nameComponents","trim","split","filter","part","map","word","charAt","toUpperCase","join","handleCancel","stopPropagation","exit","emit","handleAdopt","signature","toDataURL","initials","next","isAdoptButtonDisabled","strokeStyle","lineWidth","lineCap","lineJoin","initialsContext","clearSignatureCanvas","clearInitialsCanvas","handleClearDrawing","type","rect","getBoundingClientRect","scaleX","scaleY","clientX","left","clientY","top","render","h","key","slot","class","style","fontWeight","color","active","label","disabled","onInput","onClick","display","flexDirection","gap","marginBottom","alignItems","checked","htmlFor","innerHTML","SignatureXIcon","ref","el","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","touchAction","cursor"],"sources":["src/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.scss?tag=verdocs-adopt-signature-dialog","src/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-adopt-signature-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n verdocs-dialog {\n border-radius: 4px;\n }\n\n .heading {\n color: #201f1e;\n font-weight: 400;\n padding-bottom: 0;\n border-bottom: none;\n }\n\n .content {\n display: flex;\n padding: 12px 24px 0;\n flex-direction: column;\n }\n\n .name-locked-hint {\n font-size: 12px;\n color: #6b7280;\n margin-top: 4px;\n }\n\n verdocs-text-input .input-label {\n color: #242424;\n font-size: 13px;\n font-weight: 400;\n }\n\n verdocs-text-input .input-element {\n border: 1px solid #e0e0e0;\n }\n\n verdocs-radio-button {\n transform: scale(0.9);\n }\n\n .canvas-container {\n position: relative;\n width: 100%;\n margin: 10px 0;\n border-radius: 4px;\n background: #fafafa;\n border: 1px solid #d1d1d1;\n box-sizing: border-box;\n\n &.initials-container {\n max-width: 50%;\n }\n\n canvas {\n width: 100%;\n height: 79px;\n border-radius: 4px;\n /* Background must be transparent to show the guide */\n background: transparent;\n box-sizing: border-box;\n /* Border is handled by container */\n border: none;\n position: relative;\n z-index: 2;\n }\n\n .signing-indicator {\n position: absolute;\n bottom: 9px;\n left: 9px;\n right: 9px;\n height: 28px;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n gap: 2px;\n z-index: 1;\n pointer-events: none;\n\n .x-icon {\n width: 25px;\n height: 28px;\n display: flex;\n\n svg {\n width: 100%;\n height: 100%;\n }\n }\n\n .signing-line {\n flex: 1;\n /* \"The line is a 1px dashed (8px dash 8px space) #d1d1d1 line\". This works in SOME browsers. */\n border-bottom: 1px dashed #d1d1d1;\n background-position: bottom;\n background-size: 16px 1px;\n /* 8px dash + 8px space = 16px repeat */\n background-repeat: repeat-x;\n margin-bottom: 0;\n /* Since standard border-style: dashed doesn't allow custom spacing, we use a background gradient\n trick or just rely on standard dashed if acceptable.\n */\n height: 1px;\n border: none;\n background-image: linear-gradient(to right, #d1d1d1 50%, transparent 50%);\n }\n }\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 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\n .preview-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 10px;\n\n .clear-button-text {\n background: none;\n border: none;\n color: var(--verdocs-primary-color, #{$verdocs-green});\n cursor: pointer;\n font-size: 13px;\n padding: 0;\n font-weight: 500;\n\n &:hover {\n text-decoration: underline;\n }\n\n &:disabled {\n color: #9ca3af;\n text-decoration: none;\n cursor: not-allowed;\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 var(--verdocs-primary-color, #{$verdocs-green});\n background-color: var(--verdocs-primary-color, #{$verdocs-green});\n color: #ffffff;\n padding: 8px 20px;\n font-size: 13px;\n cursor: pointer;\n border-radius: var(--verdocs-button-radius, 4px);\n transition: all 0.2s ease;\n\n &:hover {\n filter: brightness(0.9);\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 font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n align-items: center;\n border-radius: var(--verdocs-button-radius, 6px);\n justify-content: center;\n transition: all 0.2s ease;\n\n &.cancel {\n background-color: transparent;\n border: 1px solid #d1d5db;\n color: #374151;\n\n &:hover {\n background-color: #f9fafb;\n }\n }\n\n &.proceed {\n background-color: var(--verdocs-primary-color, #{$verdocs-green});\n border: 1px solid transparent;\n color: #ffffff;\n\n &:hover {\n background-color: var(--verdocs-primary-color-hover, #{$verdocs-green-shade});\n filter: brightness(0.95);\n }\n }\n\n &:disabled {\n background-color: #e5e7eb;\n color: #9ca3af;\n cursor: not-allowed;\n }\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, State} from '@stencil/core';\nimport {SignatureXIcon} from '../../../utils/Icons';\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-adopt-signature-dialog',\n styleUrl: 'verdocs-adopt-signature-dialog.scss',\n})\nexport class VerdocsAdoptSignatureDialog {\n private signatureElement?: HTMLCanvasElement;\n private initialsElement?: HTMLCanvasElement;\n private sigDrawingContext?: CanvasRenderingContext2D;\n private initialsDrawingContext?: CanvasRenderingContext2D;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * If true, the name fields will be read-only. Used when the sender has locked the recipient's name.\n */\n @Prop() nameLocked: boolean = false;\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<{signature: string; initials: 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 @State() enteredName: string = '';\n @State() enteredInitials: string = '';\n @State() mode: 'type' | 'draw' = 'type';\n @State() isDrawing = false;\n @State() hasDrawnSignature = false;\n @State() hasDrawnInitials = false;\n\n private currentSigStroke: Array<{x: number; y: number}> = [];\n private allSigStrokes: Array<Array<{x: number; y: number}>> = [];\n private lastSigPoint: {x: number; y: number} | null = null;\n\n private currentInitialsStroke: Array<{x: number; y: number}> = [];\n private allInitialsStrokes: Array<Array<{x: number; y: number}>> = [];\n private lastInitialsPoint: {x: number; y: number} | null = null;\n\n componentWillLoad() {\n this.enteredName = this.name;\n this.computeEnteredInitials(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.drawSignatureText();\n this.drawInitialsText();\n this.setupSignatureCanvas();\n this.setupInitialsCanvas();\n }\n\n componentDidUpdate() {\n this.drawSignatureText();\n this.drawInitialsText();\n this.setupSignatureCanvas();\n this.setupInitialsCanvas();\n\n // Redraw drawn signature when in draw mode\n if (this.mode === 'draw' && this.allSigStrokes.length > 0) {\n this.redrawDrawnSignature();\n }\n if (this.mode === 'draw' && this.allInitialsStrokes.length > 0) {\n this.redrawDrawnInitials();\n }\n }\n\n drawSignatureText() {\n if (!this.signatureElement || this.mode !== 'type') {\n return;\n }\n\n const sigCanvasWidth = this.signatureElement.width;\n const sigCanvasHeight = this.signatureElement.height;\n const sigContext = this.signatureElement.getContext('2d');\n sigContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);\n\n let fontSize = 100;\n let metrics: TextMetrics = sigContext.measureText(this.enteredName);\n do {\n fontSize -= 2;\n sigContext.font = `${fontSize}px Dancing Script`;\n metrics = sigContext.measureText(this.enteredName);\n } while (metrics.width > sigCanvasWidth - 24 || metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent + 24 > sigCanvasHeight);\n\n sigContext.textAlign = 'center';\n sigContext.textBaseline = 'middle';\n sigContext.font = `${fontSize}px Dancing Script`;\n sigContext.fillText(this.enteredName, this.signatureElement.width / 2, this.signatureElement.height / 2);\n }\n\n drawInitialsText() {\n if (!this.initialsElement || this.mode !== 'type') {\n return;\n }\n\n const initialsCanvasWidth = this.initialsElement.width;\n const initialsCanvasHeight = this.initialsElement.height;\n const context = this.initialsElement.getContext('2d');\n context.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);\n\n let fontSize = 100;\n let metrics: TextMetrics = context.measureText(this.enteredInitials);\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n metrics = context.measureText(this.enteredInitials);\n } while (metrics.width > initialsCanvasWidth - 24 || metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent + 24 > initialsCanvasHeight);\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredInitials, this.initialsElement.width / 2, this.initialsElement.height / 2);\n }\n\n redrawDrawnSignature() {\n if (!this.signatureElement || !this.sigDrawingContext || this.allSigStrokes.length === 0) {\n return;\n }\n\n // Clear the canvas first\n this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);\n\n // Redraw all strokes\n for (const stroke of this.allSigStrokes) {\n if (stroke.length === 0) {\n continue;\n }\n\n // Start the path at the first point\n this.sigDrawingContext.beginPath();\n this.sigDrawingContext.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.sigDrawingContext.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.sigDrawingContext.lineTo(lastPoint.x, lastPoint.y);\n }\n\n this.sigDrawingContext.stroke();\n }\n }\n\n redrawDrawnInitials() {\n if (!this.initialsElement || !this.initialsDrawingContext || this.allInitialsStrokes.length === 0) {\n return;\n }\n\n // Clear the canvas first\n this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);\n\n // Redraw all strokes\n for (const stroke of this.allInitialsStrokes) {\n if (stroke.length === 0) {\n continue;\n }\n\n // Start the path at the first point\n this.initialsDrawingContext.beginPath();\n this.initialsDrawingContext.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.initialsDrawingContext.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.initialsDrawingContext.lineTo(lastPoint.x, lastPoint.y);\n }\n\n this.initialsDrawingContext.stroke();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n this.computeEnteredInitials(e.target.value);\n }\n\n computeEnteredInitials(name: string) {\n const nameComponents = name\n .trim()\n .split(' ')\n .filter(part => part.length > 0);\n\n this.enteredInitials = nameComponents.length > 1 ? nameComponents.map(word => word.charAt(0).toUpperCase()).join('') : nameComponents[0].toUpperCase();\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 signature = this.signatureElement.toDataURL('image/png');\n const initials = this.initialsElement.toDataURL('image/png');\n this.next.emit({signature, initials});\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.hasDrawnInitials) || this.allSigStrokes.length === 0 || this.allInitialsStrokes.length === 0;\n default:\n return true;\n }\n }\n\n setupSignatureCanvas() {\n if (!this.signatureElement) {\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 sigContext = this.signatureElement.getContext('2d');\n\n // Only initialize if we don't have a context or it's different\n if (sigContext && sigContext !== this.sigDrawingContext) {\n this.sigDrawingContext = sigContext;\n\n // Configure drawing style for smooth signatures\n this.sigDrawingContext.strokeStyle = '#000000';\n this.sigDrawingContext.lineWidth = 2;\n this.sigDrawingContext.lineCap = 'round';\n this.sigDrawingContext.lineJoin = 'round';\n\n // Clear canvas only if there are no existing strokes\n if (this.allSigStrokes.length === 0) {\n this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.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.sigDrawingContext) {\n this.sigDrawingContext = null;\n this.currentSigStroke = [];\n this.lastSigPoint = null;\n }\n }\n\n setupInitialsCanvas() {\n if (!this.initialsElement) {\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 initialsContext = this.initialsElement.getContext('2d');\n\n // Only initialize if we don't have a context or it's different\n if (initialsContext && initialsContext !== this.initialsDrawingContext) {\n this.initialsDrawingContext = initialsContext;\n\n // Configure drawing style for smooth signatures\n this.initialsDrawingContext.strokeStyle = '#000000';\n this.initialsDrawingContext.lineWidth = 2;\n this.initialsDrawingContext.lineCap = 'round';\n this.initialsDrawingContext.lineJoin = 'round';\n\n // Clear canvas only if there are no existing strokes\n if (this.allInitialsStrokes.length === 0) {\n this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.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.initialsDrawingContext) {\n this.initialsDrawingContext = null;\n this.currentInitialsStroke = [];\n this.lastInitialsPoint = null;\n }\n }\n\n clearSignatureCanvas() {\n if (!this.signatureElement || !this.sigDrawingContext) {\n return;\n }\n\n this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);\n this.currentSigStroke = [];\n this.allSigStrokes = [];\n this.lastSigPoint = null;\n this.hasDrawnSignature = false;\n }\n\n clearInitialsCanvas() {\n if (!this.initialsElement || !this.initialsDrawingContext) {\n return;\n }\n\n this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);\n this.currentInitialsStroke = [];\n this.allInitialsStrokes = [];\n this.lastInitialsPoint = null;\n this.hasDrawnInitials = false;\n }\n\n handleClearDrawing(e: any, type: 'signature' | 'initials' | 'all' = 'all') {\n e.stopPropagation();\n e.preventDefault();\n if (type === 'all' || type === 'signature') this.clearSignatureCanvas();\n if (type === 'all' || type === 'initials') this.clearInitialsCanvas();\n }\n\n getSigCanvasCoordinates(e: PointerEvent): {x: number; y: number} {\n if (!this.signatureElement) {\n return {x: 0, y: 0};\n }\n\n const rect = this.signatureElement.getBoundingClientRect();\n\n // Calculate the scale factor between canvas size and display size\n const scaleX = this.signatureElement.width / rect.width;\n const scaleY = this.signatureElement.height / rect.height;\n\n return {\n x: (e.clientX - rect.left) * scaleX,\n y: (e.clientY - rect.top) * scaleY,\n };\n }\n\n getInitialsCanvasCoordinates(e: PointerEvent): {x: number; y: number} {\n if (!this.initialsElement) {\n return {x: 0, y: 0};\n }\n\n const rect = this.initialsElement.getBoundingClientRect();\n\n // Calculate the scale factor between canvas size and display size\n const scaleX = this.initialsElement.width / rect.width;\n const scaleY = this.initialsElement.height / rect.height;\n\n return {\n x: (e.clientX - rect.left) * scaleX,\n y: (e.clientY - rect.top) * scaleY,\n };\n }\n\n handleSigPointerDown = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.signatureElement || !this.sigDrawingContext) {\n return;\n }\n\n this.isDrawing = true;\n this.hasDrawnSignature = true;\n\n const point = this.getSigCanvasCoordinates(e);\n this.currentSigStroke = [point];\n this.lastSigPoint = point;\n\n // Start a new path\n this.sigDrawingContext.beginPath();\n this.sigDrawingContext.moveTo(point.x, point.y);\n\n // Capture pointer to ensure we get all events even if pointer leaves canvas\n this.signatureElement.setPointerCapture(e.pointerId);\n };\n\n handleSigPointerMove = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.sigDrawingContext || !this.lastSigPoint) {\n return;\n }\n\n const point = this.getSigCanvasCoordinates(e);\n this.currentSigStroke.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.lastSigPoint.x + point.x) / 2,\n y: (this.lastSigPoint.y + point.y) / 2,\n };\n\n this.sigDrawingContext.quadraticCurveTo(this.lastSigPoint.x, this.lastSigPoint.y, midPoint.x, midPoint.y);\n this.sigDrawingContext.stroke();\n\n this.lastSigPoint = point;\n };\n\n handleSigPointerUp = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.sigDrawingContext) {\n return;\n }\n\n // Complete the stroke\n if (this.lastSigPoint && this.currentSigStroke.length > 0) {\n this.sigDrawingContext.lineTo(this.lastSigPoint.x, this.lastSigPoint.y);\n this.sigDrawingContext.stroke();\n }\n\n // Save the completed stroke\n if (this.currentSigStroke.length > 0) {\n this.allSigStrokes.push([...this.currentSigStroke]);\n }\n\n this.isDrawing = false;\n this.currentSigStroke = [];\n this.lastSigPoint = null;\n\n // Release pointer capture\n if (this.signatureElement) {\n this.signatureElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleSigPointerCancel = (e: PointerEvent) => {\n // Handle cases where drawing is interrupted (e.g., phone call, notification)\n this.isDrawing = false;\n this.currentSigStroke = [];\n this.lastSigPoint = null;\n\n if (this.signatureElement) {\n this.signatureElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleInitialsPointerDown = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.initialsElement || !this.initialsDrawingContext) {\n return;\n }\n\n this.isDrawing = true;\n this.hasDrawnInitials = true;\n\n const point = this.getInitialsCanvasCoordinates(e);\n this.currentInitialsStroke = [point];\n this.lastInitialsPoint = point;\n\n // Start a new path\n this.initialsDrawingContext.beginPath();\n this.initialsDrawingContext.moveTo(point.x, point.y);\n\n // Capture pointer to ensure we get all events even if pointer leaves canvas\n this.initialsElement.setPointerCapture(e.pointerId);\n };\n\n handleInitialsPointerMove = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.initialsDrawingContext || !this.lastInitialsPoint) {\n return;\n }\n\n const point = this.getInitialsCanvasCoordinates(e);\n this.currentInitialsStroke.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.lastInitialsPoint.x + point.x) / 2,\n y: (this.lastInitialsPoint.y + point.y) / 2,\n };\n\n this.initialsDrawingContext.quadraticCurveTo(this.lastInitialsPoint.x, this.lastInitialsPoint.y, midPoint.x, midPoint.y);\n this.initialsDrawingContext.stroke();\n\n this.lastInitialsPoint = point;\n };\n\n handleInitialsPointerUp = (e: PointerEvent) => {\n e.preventDefault();\n\n if (!this.isDrawing || !this.initialsDrawingContext) {\n return;\n }\n\n // Complete the stroke\n if (this.lastInitialsPoint && this.currentInitialsStroke.length > 0) {\n this.initialsDrawingContext.lineTo(this.lastInitialsPoint.x, this.lastInitialsPoint.y);\n this.initialsDrawingContext.stroke();\n }\n\n // Save the completed stroke\n if (this.currentInitialsStroke.length > 0) {\n this.allInitialsStrokes.push([...this.currentInitialsStroke]);\n }\n\n this.isDrawing = false;\n this.currentInitialsStroke = [];\n this.lastInitialsPoint = null;\n\n // Release pointer capture\n if (this.initialsElement) {\n this.initialsElement.releasePointerCapture(e.pointerId);\n }\n };\n\n handleInitialsPointerCancel = (e: PointerEvent) => {\n // Handle cases where drawing is interrupted (e.g., phone call, notification)\n this.isDrawing = false;\n this.currentInitialsStroke = [];\n this.lastInitialsPoint = null;\n\n if (this.initialsElement) {\n this.initialsElement.releasePointerCapture(e.pointerId);\n }\n };\n\n render() {\n return (\n <verdocs-dialog>\n <div slot=\"heading\" class=\"heading\">\n Adopt Your Signature\n </div>\n\n <div slot=\"content\" class=\"content\">\n <div style={{fontWeight: '300', color: '#242424', fontSize: '13px'}}>Confirm your name, initials, and signature.</div>\n\n <div class={{type: true, active: this.mode === 'type'}}>\n <verdocs-text-input\n label=\"Full Name\"\n value={this.enteredName}\n disabled={this.nameLocked}\n onInput={e => this.handleNameChange(e)}\n onClick={e => e.stopPropagation()}\n />\n {this.nameLocked && <div class=\"name-locked-hint\">Your name has been set by the sender and cannot be changed.</div>}\n </div>\n\n <div style={{fontWeight: '400', color: '#242424', fontSize: '13px'}}>Select a signature style</div>\n\n <div style={{display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px'}}>\n <verdocs-radio-button checked={this.mode === 'type'} value=\"type\" name=\"mode\" onClick={() => (this.mode = 'type')} />\n <label htmlFor=\"verdocs-radio-button-mode-type\">Typed with a keyboard</label>\n </div>\n <div style={{display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px'}}>\n <verdocs-radio-button checked={this.mode === 'draw'} value=\"draw\" name=\"mode\" onClick={() => (this.mode = 'draw')} />\n <label htmlFor=\"verdocs-radio-button-mode-draw\">Drawn with touch, mouse, or stylus</label>\n </div>\n\n <div class=\"preview-header\">\n <div style={{fontSize: '13px', fontWeight: '400'}}>Signature Preview</div>\n {this.mode === 'draw' && (\n <button class=\"clear-button-text\" onClick={e => this.handleClearDrawing(e, 'signature')} disabled={!this.hasDrawnSignature}>\n Clear\n </button>\n )}\n </div>\n <div class=\"canvas-container signature-container\">\n <div class=\"signing-indicator\">\n <div class=\"x-icon\" innerHTML={SignatureXIcon}></div>\n <div class=\"signing-line\"></div>\n </div>\n <canvas\n ref={el => (this.signatureElement = el as HTMLCanvasElement)}\n // width=\"300\"\n height=\"79\"\n class=\"signature-canvas\"\n onPointerDown={this.handleSigPointerDown}\n onPointerMove={this.handleSigPointerMove}\n onPointerUp={this.handleSigPointerUp}\n onPointerCancel={this.handleSigPointerCancel}\n style={{touchAction: 'none', cursor: 'crosshair'}}\n />\n </div>\n\n <div class=\"preview-header\">\n <div style={{fontSize: '13px', fontWeight: '400'}}>Initials Preview</div>\n {this.mode === 'draw' && (\n <button class=\"clear-button-text\" onClick={e => this.handleClearDrawing(e, 'initials')} disabled={!this.hasDrawnInitials}>\n Clear\n </button>\n )}\n </div>\n <div class=\"canvas-container initials-container\">\n <div class=\"signing-indicator\">\n <div class=\"x-icon\" innerHTML={SignatureXIcon}></div>\n <div class=\"signing-line\"></div>\n </div>\n <canvas\n ref={el => (this.initialsElement = el as HTMLCanvasElement)}\n // width=\"300\"\n height=\"79\"\n class=\"initials-canvas\"\n onPointerDown={this.handleInitialsPointerDown}\n onPointerMove={this.handleInitialsPointerMove}\n onPointerUp={this.handleInitialsPointerUp}\n onPointerCancel={this.handleInitialsPointerCancel}\n style={{touchAction: 'none', cursor: 'crosshair'}}\n />\n </div>\n\n <div class=\"disclaimer\">\n By clicking «Adopt Signature», I agree that the signature and initials above will be the electronic representation of my signature and initials for all purposes when I\n use them to sign documents. Applying them to a document is legally equivalent to signing with a pen on paper.\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,c as o,h as t,F as r,d as i,t as d}from"./p-yZBlG3YQ.js";import{i as n}from"./p-COaijEV0.js";import{S as a}from"./p-C7k2AOsW.js";import{S as l}from"./p-C7hFgM52.js";import{d as c}from"./p-Bb5V9TQx.js";import{d as p}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as s,c as o,h as t,F as r,d as i,t as d}from"./p-yZBlG3YQ.js";import{i as n}from"./p-COaijEV0.js";import{S as a}from"./p-C7k2AOsW.js";import{S as l}from"./p-C7hFgM52.js";import{d as c}from"./p-Bb5V9TQx.js";import{d as p}from"./p-NtvxlYzY.js";import{d as f}from"./p-C-v22G3g.js";import{d as u}from"./p-DHzSlpJw.js";import{d as h}from"./p-DqzFuSNN.js";import{d as v}from"./p-DhOuB4nS.js";import{d as m}from"./p-Bodw4NVB.js";import{d as b}from"./p-qLNetL5t.js";import{d as g}from"./p-PfdIkMoz.js";const x=()=>`verdocs-field-dropdown{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);width:85px;height:20px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;background-color:var(--verdocs-field-background, transparent);-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:var(--verdocs-field-radius)}verdocs-field-dropdown label{top:-14px;left:0;height:14px;color:white;padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-dropdown select{cursor:inherit;position:absolute;background:linear-gradient(55deg, transparent 50%, var(--verdocs-field-text-color, #333) 50%), linear-gradient(125deg, var(--verdocs-field-text-color, #333) 50%, transparent 50%), linear-gradient(to right, transparent, transparent);background-position:calc(100% - 7px) 6px, calc(100% - 3px) 6px, 100% 0;background-size:5px 5px, 5px 5px, 2.5em 2.5em;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;font-size:11px;border:var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));border-radius:var(--verdocs-field-radius);padding:0 5px}verdocs-field-dropdown select:focus{outline:none}verdocs-field-dropdown select.hide{display:none}verdocs-field-dropdown.disabled select{opacity:0.5}verdocs-field-dropdown.required select{border:1px solid var(--verdocs-required-field-border)}verdocs-field-dropdown verdocs-button-panel{display:block;margin-left:-33px;margin-top:-1px;-webkit-transform:scale(0.7);transform:scale(0.7)}verdocs-field-dropdown .settings-icon{position:absolute;top:-2px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-dropdown .settings-icon svg{fill:#707ae5}verdocs-field-dropdown .settings-icon:hover{opacity:1}`;const w=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.fieldChange=o(this,"fieldChange");this.settingsChanged=o(this,"settingsChanged");this.deleted=o(this,"deleted");this.source="template";this.sourceid="";this.fieldname="";this.field=null;this.disabled=false;this.editable=false;this.moveable=false;this.done=false;this.xscale=1;this.yscale=1;this.pagenumber=1;this.showingProperties=false;this.focused=false}handleBlur(){this.focused=false}async focusField(){var e;this.selectEl.focus();this.focused=true;const{source:s,sourceid:o,fieldname:t}=this;const{field:r}=l.getField(s,o,t,this.field);const{readonly:i=false}=r||{};if(!i){(e=this.selectEl)===null||e===void 0?void 0:e.showPicker()}}handleChange(e){this.fieldChange.emit(e.target.value)}async showSettingsPanel(){const e=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(e&&e.showPanel){e.showPanel()}}async hideSettingsPanel(){const e=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(e&&e.hidePanel){e.hidePanel()}}onEditableChanged(e,s){if(s&&!e){n(this.el).unset()}}disconnectedCallback(){n(this.el).unset()}render(){const{source:e,sourceid:s,fieldname:o,editable:d=false,done:n=false,disabled:c=false,focused:p,xscale:f=1,yscale:u=1}=this;const{index:h,field:v}=l.getField(e,s,o,this.field);let{required:m=false,value:b="",label:g="",options:x,readonly:w=false}=v||{};const k=`signer-${h%10+1}`;if(v===null||v===void 0?void 0:v.value){b=v===null||v===void 0?void 0:v.value}if(n){return t(i,{class:{"verdocs-field":true,done:n}},b)}x||(x=[]);return t(i,{class:{"verdocs-field":true,required:m,disabled:c,done:n,focused:p,[k]:true}},g&&t("label",null,g),t("select",{disabled:w||c,onChange:e=>this.handleChange(e),onFocus:()=>this.focused=true,ref:e=>this.selectEl=e},t("option",{value:""},"Select..."),x.map((e=>t("option",{value:e.id,selected:e.id===b},e.label))),!x.length&&t("option",{value:"NA",selected:"NA"===b},"N/A")),d&&t(r,null,t("div",{id:`verdocs-settings-panel-trigger-${o}`,style:{transform:`scale(${Math.floor(1/f*1e3)/1e3}, ${Math.floor(1/u*1e3)/1e3})`},class:"settings-icon",innerHTML:a,onClick:e=>{e.stopPropagation();this.showingProperties=!this.showingProperties}}),this.showingProperties&&t("verdocs-portal",{anchor:`verdocs-settings-panel-trigger-${o}`,onClickAway:()=>this.showingProperties=false},t("verdocs-template-field-properties",{templateId:s,fieldName:o,onClose:()=>this.showingProperties=false,onDelete:()=>{var e;(e=this.deleted)===null||e===void 0?void 0:e.emit({fieldName:o});return this.hideSettingsPanel()},onSettingsChanged:e=>{var s;(s=this.settingsChanged)===null||s===void 0?void 0:s.emit(e.detail);return this.hideSettingsPanel()},helpText:"Dropdowns are used to capture a recipient's selection of one of several options."}))))}get el(){return this}static get watchers(){return{editable:[{onEditableChanged:0}]}}static get style(){return x()}},[0,"verdocs-field-dropdown",{source:[513],sourceid:[513],fieldname:[513],field:[16],isPreview:[516,"is-preview"],disabled:[516],editable:[516],moveable:[516],done:[516],xscale:[514],yscale:[514],pagenumber:[514],showingProperties:[32],focused:[32],focusField:[64],showSettingsPanel:[64],hideSettingsPanel:[64]},[[2,"blur","handleBlur"]],{editable:[{onEditableChanged:0}]}]);function k(){if(typeof customElements==="undefined"){return}const e=["verdocs-field-dropdown","verdocs-button","verdocs-checkbox","verdocs-component-error","verdocs-help-icon","verdocs-loader","verdocs-portal","verdocs-select-input","verdocs-template-field-properties","verdocs-text-input"];e.forEach((e=>{switch(e){case"verdocs-field-dropdown":if(!customElements.get(d(e))){customElements.define(d(e),w)}break;case"verdocs-button":if(!customElements.get(d(e))){c()}break;case"verdocs-checkbox":if(!customElements.get(d(e))){p()}break;case"verdocs-component-error":if(!customElements.get(d(e))){f()}break;case"verdocs-help-icon":if(!customElements.get(d(e))){u()}break;case"verdocs-loader":if(!customElements.get(d(e))){h()}break;case"verdocs-portal":if(!customElements.get(d(e))){v()}break;case"verdocs-select-input":if(!customElements.get(d(e))){m()}break;case"verdocs-template-field-properties":if(!customElements.get(d(e))){b()}break;case"verdocs-text-input":if(!customElements.get(d(e))){g()}break}}))}export{w as V,k as d};
|
|
2
|
+
//# sourceMappingURL=p-YCI5JKXK.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as i,H as e,c as t,h as s,d as o,F as n,t as r}from"./p-yZBlG3YQ.js";import{i as l}from"./p-COaijEV0.js";import{VerdocsEndpoint as a,updateField as d}from"@verdocs/js-sdk";import{S as c}from"./p-C7k2AOsW.js";import{S as h}from"./p-C7hFgM52.js";import{d as f}from"./p-Bb5V9TQx.js";import{d as p}from"./p-DGNIsXfr.js";import{d as u}from"./p-C-v22G3g.js";import{d as m}from"./p-DHzSlpJw.js";import{d as v}from"./p-DqzFuSNN.js";import{d as g}from"./p-DhOuB4nS.js";import{d as b}from"./p-Bodw4NVB.js";import{d as x}from"./p-Bxvw_LqR.js";import{d as w}from"./p-PfdIkMoz.js";const k=()=>`verdocs-field-initial{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);width:83px;height:36px;display:block;font-size:11px;position:relative;letter-spacing:0.3px;scroll-margin:20px 0;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:var(--verdocs-field-radius);background-color:var(--verdocs-field-background, transparent);border:var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));cursor:pointer;caret-color:transparent}verdocs-field-initial label{top:-14px;left:-1px;height:14px;color:var(--verdocs-field-text-color, white);padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-initial.done{border:none;opacity:1}verdocs-field-initial.menu-open{z-index:50}verdocs-field-initial .initial-container{width:100%;height:100%;position:relative}verdocs-field-initial .initial-container img{display:block;height:100%;width:auto;max-width:none;max-height:none}verdocs-field-initial .initial-container .action-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:90px;background:#ffffff;border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;-webkit-box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;font-size:12px;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-field-initial .initial-container .action-menu .menu-item{background:#ffffff;border:none;padding:8px 12px;color:#333333;cursor:pointer;text-align:left;width:100%;font-size:12px;line-height:1.2;height:auto;font-family:inherit}verdocs-field-initial .initial-container .action-menu .menu-item:hover{background-color:#f0f0f0;color:#000000}verdocs-field-initial .initial-container .action-menu .menu-item:not(:last-child){border-bottom:1px solid rgba(0, 0, 0, 0.08)}verdocs-field-initial.disabled .initial-container{opacity:0.5;pointer-events:none}verdocs-field-initial button{cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px}verdocs-field-initial button.hide{display:none}verdocs-field-initial.required{border:1px solid var(--verdocs-required-field-border)}verdocs-field-initial.filled{border:none !important;background-color:transparent !important}verdocs-field-initial verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-initial verdocs-button-panel[data-active],verdocs-field-initial verdocs-button-panel:hover{opacity:1}verdocs-field-initial verdocs-button-panel .icon svg{fill:#333333}verdocs-field-initial verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-initial .settings-icon{position:absolute;top:-3px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-initial .settings-icon svg{fill:#707ae5}verdocs-field-initial .settings-icon:hover{opacity:1}verdocs-field-initial .edge-top,verdocs-field-initial .edge-right,verdocs-field-initial .edge-left,verdocs-field-initial .edge-bottom{position:absolute;z-index:10}verdocs-field-initial .edge-top{top:-2px;left:0;right:0;height:5px}verdocs-field-initial .edge-right{top:0;bottom:0;right:-2px;width:5px}verdocs-field-initial .edge-left{top:0;left:-2px;bottom:0;width:5px}verdocs-field-initial .edge-bottom{bottom:-2px;left:0;right:0;height:5px}`;const y=i(class i extends e{constructor(i){super();if(i!==false){this.__registerHost()}this.adopt=t(this,"adopt");this.exit=t(this,"exit");this.fieldChange=t(this,"fieldChange");this.settingsChanged=t(this,"settingsChanged");this.settingsPress=t(this,"settingsPress");this.deleted=t(this,"deleted");this.source="template";this.sourceid="";this.fieldname="";this.field=null;this.disabled=false;this.initials="";this.editable=false;this.moveable=false;this.done=false;this.xscale=1;this.yscale=1;this.pagenumber=1;this.showingProperties=false;this.focused=false;this.menuOpen=false;this.closeMenuTimer=null;this.outsideMenuHandler=null;this.tempInitials="";this.openMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}this.menuOpen=true};this.scheduleCloseMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer)}this.closeMenuTimer=setTimeout((()=>{this.menuOpen=false;this.closeMenuTimer=null}),150)};this.closeMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}this.menuOpen=false}}async focusField(){this.el.focus();this.focused=true}componentDidLoad(){this.outsideMenuHandler=i=>{if(this.menuOpen&&!this.el.contains(i.target)){this.closeMenu()}};document.addEventListener("pointerdown",this.outsideMenuHandler)}disconnectedCallback(){if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}if(this.outsideMenuHandler){document.removeEventListener("pointerdown",this.outsideMenuHandler);this.outsideMenuHandler=null}l(this.el).unset()}onEditableChanged(i,e){if(e&&!i){l(this.el).unset()}}componentDidRender(){l.dynamicDrop(true);if(this.editable){l(this.el).resizable({edges:{top:".edge-top",left:".edge-left",bottom:".edge-bottom",right:".edge-right"},modifiers:[l.modifiers.restrictSize({min:{width:71,height:36}})],listeners:{start:this.handleResizeStart.bind(this),move:this.handleResize.bind(this),end:this.handleResizeEnd.bind(this)}})}}handleBlur(){this.focused=false}handleResizeStart(i){i.preventDefault();i.stopPropagation();i.target.dataset.originalBottom=i.target.style.bottom}handleResize(i){let{width:e,height:t}=i.rect;const s=i.deltaRect.left;const o=i.deltaRect.bottom;const n=parseFloat(i.target.style.left);const r=parseFloat(i.target.style.bottom);e/=this.xscale;t/=this.yscale;Object.assign(i.target.style,{width:`${e}px`,height:`${t}px`,left:`${n+s}px`,bottom:`${r-o}px`})}async handleResizeEnd(i){const{sourceid:e,fieldname:t}=this;const s=Math.round(parseFloat(i.target.style.width));let o=Math.round(parseFloat(i.target.style.height));if(o<20){o=15}const n=parseFloat(i.target.style.bottom);const r=parseFloat(i.target.dataset.originalBottom);const l=await h.getTemplate(a.getDefault(),this.sourceid);const c=l.fields.find((i=>i.name===t));const f=n!==r?n/this.yscale:c===null||c===void 0?void 0:c.y;d(a.getDefault(),e,t,{width:s,height:o,y:f}).then((async e=>{var s;const o=await h.getTemplate(a.getDefault(),this.sourceid);const n=JSON.parse(JSON.stringify(o));const r=n.fields.findIndex((i=>i.name===t));if(r>-1){n.fields[r]=e}h.updateTemplate(this.sourceid,n);(s=this.settingsChanged)===null||s===void 0?void 0:s.emit({fieldName:t,field:e});Object.assign(i.target.dataset,{x:0,y:0,h:0})})).catch((i=>console.log("Field update failed",i)))}async showSettingsPanel(){const i=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(i&&i.showPanel){i.showPanel()}}async hideSettingsPanel(){const i=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(i&&i.hidePanel){i.hidePanel()}}render(){const{source:i,sourceid:e,fieldname:t,editable:r=false,done:l=false,disabled:a=false,focused:d,xscale:f=1,yscale:p=1}=this;const{index:u,field:m}=h.getField(i,e,t,this.field);const{required:v=false,value:g="",label:b="",settings:x={}}=m||{};const w=`signer-${u%10+1}`;const{base64:k}=x;if(l){return s(o,{class:{"verdocs-field":true,done:l}},g&&s("img",{src:g,alt:"Initial"}))}return s(o,{class:{"verdocs-field":true,required:v,disabled:a,done:l,focused:d,filled:!!k,"menu-open":this.menuOpen,[w]:true}},r&&s("div",{class:"edge-right"}),r&&s("div",{class:"edge-left"}),r&&s("div",{class:"edge-top"}),r&&s("div",{class:"edge-bottom"}),b&&s("label",null,b),k?s("div",{class:{"initial-container":true,"menu-open":this.menuOpen},onMouseEnter:()=>!a&&this.openMenu(),onMouseLeave:()=>this.scheduleCloseMenu(),onClick:i=>{i.stopPropagation();if(a)return;this.menuOpen?this.closeMenu():this.openMenu()}},s("img",{src:k,alt:"Initial"}),this.menuOpen&&s("div",{class:"action-menu",onMouseEnter:()=>this.openMenu(),onMouseLeave:()=>this.scheduleCloseMenu()},s("button",{type:"button",class:"menu-item",onClick:i=>{i.stopPropagation();if(a)return;console.log("[INITIAL] Editing initials");this.closeMenu();this.adopt.emit()}},"Edit"),s("button",{type:"button",class:"menu-item",onClick:i=>{var e;i.stopPropagation();if(a)return;console.log("[INITIAL] Clearing initials");this.closeMenu();(e=this.fieldChange)===null||e===void 0?void 0:e.emit(null)}},"Clear"))):s("button",{onClick:()=>{var i;if(a)return;if(this.initialid){console.log("[INITIAL] Reusing existing initials",this.initialid);(i=this.fieldChange)===null||i===void 0?void 0:i.emit(this.initialid)}else{this.adopt.emit()}}},"Initial"),r&&s(n,null,s("div",{id:`verdocs-settings-panel-trigger-${t}`,style:{transform:`scale(${Math.floor(1/f*1e3)/1e3}, ${Math.floor(1/p*1e3)/1e3})`},class:"settings-icon",innerHTML:c,onClick:i=>{i.stopPropagation();this.showingProperties=!this.showingProperties}}),this.showingProperties&&s("verdocs-portal",{anchor:`verdocs-settings-panel-trigger-${t}`,onClickAway:()=>this.showingProperties=false},s("verdocs-template-field-properties",{templateId:e,fieldName:t,onClose:()=>this.showingProperties=false,onDelete:()=>{var i;(i=this.deleted)===null||i===void 0?void 0:i.emit({fieldName:m.name});return this.hideSettingsPanel()},onSettingsChanged:i=>{var e;(e=this.settingsChanged)===null||e===void 0?void 0:e.emit(i.detail);return this.hideSettingsPanel()},helpText:"initial fields capture the recipient's initials on a clause or page."}))))}get el(){return this}static get watchers(){return{editable:[{onEditableChanged:0}]}}static get style(){return k()}},[0,"verdocs-field-initial",{source:[513],sourceid:[513],fieldname:[513],field:[16],disabled:[516],initials:[513],editable:[516],moveable:[516],done:[516],xscale:[514],yscale:[514],pagenumber:[514],initialid:[513],isPreview:[516,"is-preview"],showingProperties:[32],focused:[32],menuOpen:[32],tempInitials:[32],focusField:[64],showSettingsPanel:[64],hideSettingsPanel:[64]},[[0,"blur","handleBlur"]],{editable:[{onEditableChanged:0}]}]);function E(){if(typeof customElements==="undefined"){return}const i=["verdocs-field-initial","verdocs-button","verdocs-checkbox","verdocs-component-error","verdocs-help-icon","verdocs-loader","verdocs-portal","verdocs-select-input","verdocs-template-field-properties","verdocs-text-input"];i.forEach((i=>{switch(i){case"verdocs-field-initial":if(!customElements.get(r(i))){customElements.define(r(i),y)}break;case"verdocs-button":if(!customElements.get(r(i))){f()}break;case"verdocs-checkbox":if(!customElements.get(r(i))){p()}break;case"verdocs-component-error":if(!customElements.get(r(i))){u()}break;case"verdocs-help-icon":if(!customElements.get(r(i))){m()}break;case"verdocs-loader":if(!customElements.get(r(i))){v()}break;case"verdocs-portal":if(!customElements.get(r(i))){g()}break;case"verdocs-select-input":if(!customElements.get(r(i))){b()}break;case"verdocs-template-field-properties":if(!customElements.get(r(i))){x()}break;case"verdocs-text-input":if(!customElements.get(r(i))){w()}break}}))}export{y as V,E as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as i,H as e,c as t,h as s,d as o,F as n,t as r}from"./p-yZBlG3YQ.js";import{i as l}from"./p-COaijEV0.js";import{VerdocsEndpoint as a,updateField as d}from"@verdocs/js-sdk";import{S as c}from"./p-C7k2AOsW.js";import{S as h}from"./p-C7hFgM52.js";import{d as f}from"./p-Bb5V9TQx.js";import{d as p}from"./p-NtvxlYzY.js";import{d as u}from"./p-C-v22G3g.js";import{d as m}from"./p-DHzSlpJw.js";import{d as v}from"./p-DqzFuSNN.js";import{d as g}from"./p-DhOuB4nS.js";import{d as b}from"./p-Bodw4NVB.js";import{d as x}from"./p-qLNetL5t.js";import{d as w}from"./p-PfdIkMoz.js";const k=()=>`verdocs-field-initial{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);width:83px;height:36px;display:block;font-size:11px;position:relative;letter-spacing:0.3px;scroll-margin:20px 0;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:var(--verdocs-field-radius);background-color:var(--verdocs-field-background, transparent);border:var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));cursor:pointer;caret-color:transparent}verdocs-field-initial label{top:-14px;left:-1px;height:14px;color:var(--verdocs-field-text-color, white);padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-initial.done{border:none;opacity:1}verdocs-field-initial.menu-open{z-index:50}verdocs-field-initial .initial-container{width:100%;height:100%;position:relative}verdocs-field-initial .initial-container img{display:block;height:100%;width:auto;max-width:none;max-height:none}verdocs-field-initial .initial-container .action-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:90px;background:#ffffff;border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;-webkit-box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;font-size:12px;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-field-initial .initial-container .action-menu .menu-item{background:#ffffff;border:none;padding:8px 12px;color:#333333;cursor:pointer;text-align:left;width:100%;font-size:12px;line-height:1.2;height:auto;font-family:inherit}verdocs-field-initial .initial-container .action-menu .menu-item:hover{background-color:#f0f0f0;color:#000000}verdocs-field-initial .initial-container .action-menu .menu-item:not(:last-child){border-bottom:1px solid rgba(0, 0, 0, 0.08)}verdocs-field-initial.disabled .initial-container{opacity:0.5;pointer-events:none}verdocs-field-initial button{cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;color:var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px}verdocs-field-initial button.hide{display:none}verdocs-field-initial.required{border:1px solid var(--verdocs-required-field-border)}verdocs-field-initial.filled{border:none !important;background-color:transparent !important}verdocs-field-initial verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-initial verdocs-button-panel[data-active],verdocs-field-initial verdocs-button-panel:hover{opacity:1}verdocs-field-initial verdocs-button-panel .icon svg{fill:#333333}verdocs-field-initial verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-initial .settings-icon{position:absolute;top:-3px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-initial .settings-icon svg{fill:#707ae5}verdocs-field-initial .settings-icon:hover{opacity:1}verdocs-field-initial .edge-top,verdocs-field-initial .edge-right,verdocs-field-initial .edge-left,verdocs-field-initial .edge-bottom{position:absolute;z-index:10}verdocs-field-initial .edge-top{top:-2px;left:0;right:0;height:5px}verdocs-field-initial .edge-right{top:0;bottom:0;right:-2px;width:5px}verdocs-field-initial .edge-left{top:0;left:-2px;bottom:0;width:5px}verdocs-field-initial .edge-bottom{bottom:-2px;left:0;right:0;height:5px}`;const y=i(class i extends e{constructor(i){super();if(i!==false){this.__registerHost()}this.adopt=t(this,"adopt");this.exit=t(this,"exit");this.fieldChange=t(this,"fieldChange");this.settingsChanged=t(this,"settingsChanged");this.settingsPress=t(this,"settingsPress");this.deleted=t(this,"deleted");this.source="template";this.sourceid="";this.fieldname="";this.field=null;this.disabled=false;this.initials="";this.editable=false;this.moveable=false;this.done=false;this.xscale=1;this.yscale=1;this.pagenumber=1;this.showingProperties=false;this.focused=false;this.menuOpen=false;this.closeMenuTimer=null;this.outsideMenuHandler=null;this.tempInitials="";this.openMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}this.menuOpen=true};this.scheduleCloseMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer)}this.closeMenuTimer=setTimeout((()=>{this.menuOpen=false;this.closeMenuTimer=null}),150)};this.closeMenu=()=>{if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}this.menuOpen=false}}async focusField(){this.el.focus();this.focused=true}componentDidLoad(){this.outsideMenuHandler=i=>{if(this.menuOpen&&!this.el.contains(i.target)){this.closeMenu()}};document.addEventListener("pointerdown",this.outsideMenuHandler)}disconnectedCallback(){if(this.closeMenuTimer){clearTimeout(this.closeMenuTimer);this.closeMenuTimer=null}if(this.outsideMenuHandler){document.removeEventListener("pointerdown",this.outsideMenuHandler);this.outsideMenuHandler=null}l(this.el).unset()}onEditableChanged(i,e){if(e&&!i){l(this.el).unset()}}componentDidRender(){l.dynamicDrop(true);if(this.editable){l(this.el).resizable({edges:{top:".edge-top",left:".edge-left",bottom:".edge-bottom",right:".edge-right"},modifiers:[l.modifiers.restrictSize({min:{width:71,height:36}})],listeners:{start:this.handleResizeStart.bind(this),move:this.handleResize.bind(this),end:this.handleResizeEnd.bind(this)}})}}handleBlur(){this.focused=false}handleResizeStart(i){i.preventDefault();i.stopPropagation();i.target.dataset.originalBottom=i.target.style.bottom}handleResize(i){let{width:e,height:t}=i.rect;const s=i.deltaRect.left;const o=i.deltaRect.bottom;const n=parseFloat(i.target.style.left);const r=parseFloat(i.target.style.bottom);e/=this.xscale;t/=this.yscale;Object.assign(i.target.style,{width:`${e}px`,height:`${t}px`,left:`${n+s}px`,bottom:`${r-o}px`})}async handleResizeEnd(i){const{sourceid:e,fieldname:t}=this;const s=Math.round(parseFloat(i.target.style.width));let o=Math.round(parseFloat(i.target.style.height));if(o<20){o=15}const n=parseFloat(i.target.style.bottom);const r=parseFloat(i.target.dataset.originalBottom);const l=await h.getTemplate(a.getDefault(),this.sourceid);const c=l.fields.find((i=>i.name===t));const f=n!==r?Math.round(n/this.yscale):c===null||c===void 0?void 0:c.y;d(a.getDefault(),e,t,{width:s,height:o,y:f}).then((async e=>{var s;const o=await h.getTemplate(a.getDefault(),this.sourceid);const n=JSON.parse(JSON.stringify(o));const r=n.fields.findIndex((i=>i.name===t));if(r>-1){n.fields[r]=e}h.updateTemplate(this.sourceid,n);(s=this.settingsChanged)===null||s===void 0?void 0:s.emit({fieldName:t,field:e});Object.assign(i.target.dataset,{x:0,y:0,h:0})})).catch((i=>console.log("Field update failed",i)))}async showSettingsPanel(){const i=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(i&&i.showPanel){i.showPanel()}}async hideSettingsPanel(){const i=document.getElementById(`verdocs-settings-panel-${this.fieldname}`);if(i&&i.hidePanel){i.hidePanel()}}render(){const{source:i,sourceid:e,fieldname:t,editable:r=false,done:l=false,disabled:a=false,focused:d,xscale:f=1,yscale:p=1}=this;const{index:u,field:m}=h.getField(i,e,t,this.field);const{required:v=false,value:g="",label:b="",settings:x={}}=m||{};const w=`signer-${u%10+1}`;const{base64:k}=x;if(l){return s(o,{class:{"verdocs-field":true,done:l}},g&&s("img",{src:g,alt:"Initial"}))}return s(o,{class:{"verdocs-field":true,required:v,disabled:a,done:l,focused:d,filled:!!k,"menu-open":this.menuOpen,[w]:true}},r&&s("div",{class:"edge-right"}),r&&s("div",{class:"edge-left"}),r&&s("div",{class:"edge-top"}),r&&s("div",{class:"edge-bottom"}),b&&s("label",null,b),k?s("div",{class:{"initial-container":true,"menu-open":this.menuOpen},onMouseEnter:()=>!a&&this.openMenu(),onMouseLeave:()=>this.scheduleCloseMenu(),onClick:i=>{i.stopPropagation();if(a)return;this.menuOpen?this.closeMenu():this.openMenu()}},s("img",{src:k,alt:"Initial"}),this.menuOpen&&s("div",{class:"action-menu",onMouseEnter:()=>this.openMenu(),onMouseLeave:()=>this.scheduleCloseMenu()},s("button",{type:"button",class:"menu-item",onClick:i=>{i.stopPropagation();if(a)return;console.log("[INITIAL] Editing initials");this.closeMenu();this.adopt.emit()}},"Edit"),s("button",{type:"button",class:"menu-item",onClick:i=>{var e;i.stopPropagation();if(a)return;console.log("[INITIAL] Clearing initials");this.closeMenu();(e=this.fieldChange)===null||e===void 0?void 0:e.emit(null)}},"Clear"))):s("button",{onClick:()=>{var i;if(a)return;if(this.initialid){console.log("[INITIAL] Reusing existing initials",this.initialid);(i=this.fieldChange)===null||i===void 0?void 0:i.emit(this.initialid)}else{this.adopt.emit()}}},"Initial"),r&&s(n,null,s("div",{id:`verdocs-settings-panel-trigger-${t}`,style:{transform:`scale(${Math.floor(1/f*1e3)/1e3}, ${Math.floor(1/p*1e3)/1e3})`},class:"settings-icon",innerHTML:c,onClick:i=>{i.stopPropagation();this.showingProperties=!this.showingProperties}}),this.showingProperties&&s("verdocs-portal",{anchor:`verdocs-settings-panel-trigger-${t}`,onClickAway:()=>this.showingProperties=false},s("verdocs-template-field-properties",{templateId:e,fieldName:t,onClose:()=>this.showingProperties=false,onDelete:()=>{var i;(i=this.deleted)===null||i===void 0?void 0:i.emit({fieldName:m.name});return this.hideSettingsPanel()},onSettingsChanged:i=>{var e;(e=this.settingsChanged)===null||e===void 0?void 0:e.emit(i.detail);return this.hideSettingsPanel()},helpText:"initial fields capture the recipient's initials on a clause or page."}))))}get el(){return this}static get watchers(){return{editable:[{onEditableChanged:0}]}}static get style(){return k()}},[0,"verdocs-field-initial",{source:[513],sourceid:[513],fieldname:[513],field:[16],disabled:[516],initials:[513],editable:[516],moveable:[516],done:[516],xscale:[514],yscale:[514],pagenumber:[514],initialid:[513],isPreview:[516,"is-preview"],showingProperties:[32],focused:[32],menuOpen:[32],tempInitials:[32],focusField:[64],showSettingsPanel:[64],hideSettingsPanel:[64]},[[0,"blur","handleBlur"]],{editable:[{onEditableChanged:0}]}]);function E(){if(typeof customElements==="undefined"){return}const i=["verdocs-field-initial","verdocs-button","verdocs-checkbox","verdocs-component-error","verdocs-help-icon","verdocs-loader","verdocs-portal","verdocs-select-input","verdocs-template-field-properties","verdocs-text-input"];i.forEach((i=>{switch(i){case"verdocs-field-initial":if(!customElements.get(r(i))){customElements.define(r(i),y)}break;case"verdocs-button":if(!customElements.get(r(i))){f()}break;case"verdocs-checkbox":if(!customElements.get(r(i))){p()}break;case"verdocs-component-error":if(!customElements.get(r(i))){u()}break;case"verdocs-help-icon":if(!customElements.get(r(i))){m()}break;case"verdocs-loader":if(!customElements.get(r(i))){v()}break;case"verdocs-portal":if(!customElements.get(r(i))){g()}break;case"verdocs-select-input":if(!customElements.get(r(i))){b()}break;case"verdocs-template-field-properties":if(!customElements.get(r(i))){x()}break;case"verdocs-text-input":if(!customElements.get(r(i))){w()}break}}))}export{y as V,E as d};
|
|
2
|
+
//# sourceMappingURL=p-h3swu3rA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["verdocsFieldInitialCss","VerdocsFieldInitial","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","source","sourceid","fieldname","field","disabled","initials","editable","moveable","done","xscale","yscale","pagenumber","showingProperties","focused","menuOpen","closeMenuTimer","outsideMenuHandler","tempInitials","openMenu","clearTimeout","scheduleCloseMenu","setTimeout","closeMenu","focusField","el","focus","componentDidLoad","e","contains","target","document","addEventListener","disconnectedCallback","removeEventListener","interact","unset","onEditableChanged","newVal","oldVal","componentDidRender","dynamicDrop","resizable","edges","top","left","bottom","right","modifiers","restrictSize","min","width","height","listeners","start","handleResizeStart","bind","move","handleResize","end","handleResizeEnd","handleBlur","preventDefault","stopPropagation","dataset","originalBottom","style","rect","dX","deltaRect","dY","currentLeft","parseFloat","currentBottom","Object","assign","Math","round","newBottom","template","Store","getTemplate","VerdocsEndpoint","getDefault","oldField","fields","find","f","name","y","updateField","then","async","updatedField","newTemplate","JSON","parse","stringify","fieldIndex","findIndex","updateTemplate","_a","settingsChanged","emit","fieldName","x","h","catch","console","log","showSettingsPanel","settingsPanel","getElementById","showPanel","hideSettingsPanel","hidePanel","render","index","getField","required","value","label","settings","signerClass","base64","Host","class","src","alt","filled","onMouseEnter","onMouseLeave","onClick","type","adopt","fieldChange","initialid","Fragment","id","transform","floor","innerHTML","SettingsIcon","anchor","onClickAway","templateId","onClose","onDelete","deleted","onSettingsChanged","detail","helpText"],"sources":["src/components/fields/verdocs-field-initial/verdocs-field-initial.scss?tag=verdocs-field-initial","src/components/fields/verdocs-field-initial/verdocs-field-initial.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-initial {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n letter-spacing: 0.3px;\n scroll-margin: 20px 0;\n transform-origin: bottom left;\n border-radius: var(--verdocs-field-radius);\n background-color: var(--verdocs-field-background, transparent);\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n // Host is focusable via tabindex; hide any browser-rendered text caret and use a pointer cursor\n // so it doesn't look like an editable text area.\n cursor: pointer;\n caret-color: transparent;\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: var(--verdocs-field-text-color, white);\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n &.done {\n border: none;\n opacity: 1;\n }\n\n // When the Edit/Clear dropdown is open, raise this field above its siblings so\n // the menu isn't clipped by neighboring fields.\n &.menu-open {\n z-index: 50;\n }\n\n .initial-container {\n width: 100%;\n height: 100%;\n position: relative;\n\n img {\n display: block;\n height: 100%;\n width: auto;\n max-width: none;\n max-height: none;\n }\n\n .action-menu {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 90px;\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 6px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n z-index: 1000;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-size: 12px;\n font-family: $verdocs-primary-font;\n\n .menu-item {\n background: #ffffff;\n border: none;\n padding: 8px 12px;\n color: #333333;\n cursor: pointer;\n text-align: left;\n width: 100%;\n font-size: 12px;\n line-height: 1.2;\n height: auto;\n font-family: inherit;\n\n &:hover {\n background-color: #f0f0f0;\n color: #000000;\n }\n\n &:not(:last-child) {\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n }\n }\n }\n }\n\n &.disabled .initial-container {\n opacity: 0.5;\n pointer-events: none;\n }\n\n button {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n box-sizing: border-box;\n border: none;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n\n &.filled {\n border: none !important;\n background-color: transparent !important;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n\n .edge-top,\n .edge-right,\n .edge-left,\n .edge-bottom {\n position: absolute;\n z-index: 10;\n }\n\n .edge-top {\n top: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n .edge-right {\n top: 0;\n bottom: 0;\n right: -2px;\n width: 5px;\n }\n\n .edge-left {\n top: 0;\n left: -2px;\n bottom: 0;\n width: 5px;\n }\n\n .edge-bottom {\n bottom: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n}\n","import interact from 'interactjs';\nimport {ResizeEvent} from '@interactjs/actions/resize/plugin';\nimport {ITemplateField, IEnvelopeField, VerdocsEndpoint, updateField, ITemplate} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State, Element, Listen, Watch} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays an initial field. If an initial already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt an initial.\n *\n * NOTE: When initial fields are completed they will be filled with an initial \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-initial',\n styleUrl: 'verdocs-field-initial.scss',\n shadow: false,\n})\nexport class VerdocsFieldInitial {\n @Element() el: HTMLElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * The document or template field to display.\n */\n @Prop({reflect: true}) initials: string = '';\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * If set, provides the ID of already-adopted initials. If present, clicking the field (when empty)\n * will immediately use these initials instead of showing the adoption dialog.\n */\n @Prop({reflect: true}) initialid?: string;\n\n /**\n * If set to true, it will force interact to unset the el, resulting in no dragging the field.\n */\n @Prop({reflect: true}) isPreview?: boolean;\n\n /**\n * Event emitted when an initial block is adopted by the user. The event detail will contain the base64 string of the initial image.\n */\n @Event({composed: true}) adopt: 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 /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n @State() menuOpen = false;\n\n private closeMenuTimer: any = null;\n private outsideMenuHandler: ((e: Event) => void) | null = null;\n\n @Method() async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempInitials: string = '';\n\n componentDidLoad() {\n this.outsideMenuHandler = (e: Event) => {\n if (this.menuOpen && !this.el.contains(e.target as Node)) {\n this.closeMenu();\n }\n };\n document.addEventListener('pointerdown', this.outsideMenuHandler);\n }\n\n disconnectedCallback() {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n if (this.outsideMenuHandler) {\n document.removeEventListener('pointerdown', this.outsideMenuHandler);\n this.outsideMenuHandler = null;\n }\n // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere\n interact(this.el).unset();\n }\n\n private openMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n this.menuOpen = true;\n };\n\n private scheduleCloseMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n }\n this.closeMenuTimer = setTimeout(() => {\n this.menuOpen = false;\n this.closeMenuTimer = null;\n }, 150);\n };\n\n private closeMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n this.menuOpen = false;\n };\n\n @Watch('editable')\n onEditableChanged(newVal: boolean, oldVal: boolean) {\n // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings\n if (oldVal && !newVal) {\n interact(this.el).unset();\n }\n }\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 71, height: 36},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n @Listen('blur')\n handleBlur() {\n this.focused = false;\n }\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? newBottom / this.yscale : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, y})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', settings = {}} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n const {base64} = settings;\n\n if (done) {\n return <Host class={{'verdocs-field': true,done}}>{value && <img src={value} alt=\"Initial\" />}</Host>;\n }\n\n return (\n <Host class={{'verdocs-field': true,required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true}}>\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {base64 ? (\n <div\n class={{'initial-container': true, 'menu-open': this.menuOpen}}\n onMouseEnter={() => !disabled && this.openMenu()}\n onMouseLeave={() => this.scheduleCloseMenu()}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n this.menuOpen ? this.closeMenu() : this.openMenu();\n }}\n >\n <img src={base64} alt=\"Initial\" />\n {this.menuOpen && (\n <div class=\"action-menu\" onMouseEnter={() => this.openMenu()} onMouseLeave={() => this.scheduleCloseMenu()}>\n <button\n type=\"button\"\n class=\"menu-item\"\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n console.log('[INITIAL] Editing initials');\n this.closeMenu();\n this.adopt.emit();\n }}\n >\n Edit\n </button>\n <button\n type=\"button\"\n class=\"menu-item\"\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n console.log('[INITIAL] Clearing initials');\n this.closeMenu();\n this.fieldChange?.emit(null);\n }}\n >\n Clear\n </button>\n </div>\n )}\n </div>\n ) : (\n <button\n onClick={() => {\n if (disabled) return;\n // If we already have an initial ID, use it immediately\n if (this.initialid) {\n console.log('[INITIAL] Reusing existing initials', this.initialid);\n this.fieldChange?.emit(this.initialid);\n } else {\n this.adopt.emit();\n }\n }}\n >\n Initial\n </button>\n )}\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: field.name});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"initial fields capture the recipient's initials on a clause or page.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["verdocsFieldInitialCss","VerdocsFieldInitial","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","source","sourceid","fieldname","field","disabled","initials","editable","moveable","done","xscale","yscale","pagenumber","showingProperties","focused","menuOpen","closeMenuTimer","outsideMenuHandler","tempInitials","openMenu","clearTimeout","scheduleCloseMenu","setTimeout","closeMenu","focusField","el","focus","componentDidLoad","e","contains","target","document","addEventListener","disconnectedCallback","removeEventListener","interact","unset","onEditableChanged","newVal","oldVal","componentDidRender","dynamicDrop","resizable","edges","top","left","bottom","right","modifiers","restrictSize","min","width","height","listeners","start","handleResizeStart","bind","move","handleResize","end","handleResizeEnd","handleBlur","preventDefault","stopPropagation","dataset","originalBottom","style","rect","dX","deltaRect","dY","currentLeft","parseFloat","currentBottom","Object","assign","Math","round","newBottom","template","Store","getTemplate","VerdocsEndpoint","getDefault","oldField","fields","find","f","name","y","updateField","then","async","updatedField","newTemplate","JSON","parse","stringify","fieldIndex","findIndex","updateTemplate","_a","settingsChanged","emit","fieldName","x","h","catch","console","log","showSettingsPanel","settingsPanel","getElementById","showPanel","hideSettingsPanel","hidePanel","render","index","getField","required","value","label","settings","signerClass","base64","Host","class","src","alt","filled","onMouseEnter","onMouseLeave","onClick","type","adopt","fieldChange","initialid","Fragment","id","transform","floor","innerHTML","SettingsIcon","anchor","onClickAway","templateId","onClose","onDelete","deleted","onSettingsChanged","detail","helpText"],"sources":["src/components/fields/verdocs-field-initial/verdocs-field-initial.scss?tag=verdocs-field-initial","src/components/fields/verdocs-field-initial/verdocs-field-initial.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-initial {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n letter-spacing: 0.3px;\n scroll-margin: 20px 0;\n transform-origin: bottom left;\n border-radius: var(--verdocs-field-radius);\n background-color: var(--verdocs-field-background, transparent);\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n // Host is focusable via tabindex; hide any browser-rendered text caret and use a pointer cursor\n // so it doesn't look like an editable text area.\n cursor: pointer;\n caret-color: transparent;\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: var(--verdocs-field-text-color, white);\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n &.done {\n border: none;\n opacity: 1;\n }\n\n // When the Edit/Clear dropdown is open, raise this field above its siblings so\n // the menu isn't clipped by neighboring fields.\n &.menu-open {\n z-index: 50;\n }\n\n .initial-container {\n width: 100%;\n height: 100%;\n position: relative;\n\n img {\n display: block;\n height: 100%;\n width: auto;\n max-width: none;\n max-height: none;\n }\n\n .action-menu {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 90px;\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 6px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n z-index: 1000;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-size: 12px;\n font-family: $verdocs-primary-font;\n\n .menu-item {\n background: #ffffff;\n border: none;\n padding: 8px 12px;\n color: #333333;\n cursor: pointer;\n text-align: left;\n width: 100%;\n font-size: 12px;\n line-height: 1.2;\n height: auto;\n font-family: inherit;\n\n &:hover {\n background-color: #f0f0f0;\n color: #000000;\n }\n\n &:not(:last-child) {\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n }\n }\n }\n }\n\n &.disabled .initial-container {\n opacity: 0.5;\n pointer-events: none;\n }\n\n button {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n box-sizing: border-box;\n border: none;\n color: var(--verdocs-field-text-color, rgba(0, 0, 0, 0.87));\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n\n &.filled {\n border: none !important;\n background-color: transparent !important;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n\n .edge-top,\n .edge-right,\n .edge-left,\n .edge-bottom {\n position: absolute;\n z-index: 10;\n }\n\n .edge-top {\n top: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n .edge-right {\n top: 0;\n bottom: 0;\n right: -2px;\n width: 5px;\n }\n\n .edge-left {\n top: 0;\n left: -2px;\n bottom: 0;\n width: 5px;\n }\n\n .edge-bottom {\n bottom: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n}\n","import interact from 'interactjs';\nimport {ResizeEvent} from '@interactjs/actions/resize/plugin';\nimport {ITemplateField, IEnvelopeField, VerdocsEndpoint, updateField, ITemplate} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State, Element, Listen, Watch} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays an initial field. If an initial already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt an initial.\n *\n * NOTE: When initial fields are completed they will be filled with an initial \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-initial',\n styleUrl: 'verdocs-field-initial.scss',\n shadow: false,\n})\nexport class VerdocsFieldInitial {\n @Element() el: HTMLElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * The document or template field to display.\n */\n @Prop({reflect: true}) initials: string = '';\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * If set, provides the ID of already-adopted initials. If present, clicking the field (when empty)\n * will immediately use these initials instead of showing the adoption dialog.\n */\n @Prop({reflect: true}) initialid?: string;\n\n /**\n * If set to true, it will force interact to unset the el, resulting in no dragging the field.\n */\n @Prop({reflect: true}) isPreview?: boolean;\n\n /**\n * Event emitted when an initial block is adopted by the user. The event detail will contain the base64 string of the initial image.\n */\n @Event({composed: true}) adopt: 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 /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n @State() menuOpen = false;\n\n private closeMenuTimer: any = null;\n private outsideMenuHandler: ((e: Event) => void) | null = null;\n\n @Method() async focusField() {\n this.el.focus();\n this.focused = true;\n }\n\n @State()\n tempInitials: string = '';\n\n componentDidLoad() {\n this.outsideMenuHandler = (e: Event) => {\n if (this.menuOpen && !this.el.contains(e.target as Node)) {\n this.closeMenu();\n }\n };\n document.addEventListener('pointerdown', this.outsideMenuHandler);\n }\n\n disconnectedCallback() {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n if (this.outsideMenuHandler) {\n document.removeEventListener('pointerdown', this.outsideMenuHandler);\n this.outsideMenuHandler = null;\n }\n // Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere\n interact(this.el).unset();\n }\n\n private openMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n this.menuOpen = true;\n };\n\n private scheduleCloseMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n }\n this.closeMenuTimer = setTimeout(() => {\n this.menuOpen = false;\n this.closeMenuTimer = null;\n }, 150);\n };\n\n private closeMenu = () => {\n if (this.closeMenuTimer) {\n clearTimeout(this.closeMenuTimer);\n this.closeMenuTimer = null;\n }\n this.menuOpen = false;\n };\n\n @Watch('editable')\n onEditableChanged(newVal: boolean, oldVal: boolean) {\n // When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings\n if (oldVal && !newVal) {\n interact(this.el).unset();\n }\n }\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 71, height: 36},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n @Listen('blur')\n handleBlur() {\n this.focused = false;\n }\n\n handleResizeStart(e: ResizeEvent) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dataset.originalBottom = e.target.style.bottom;\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n async handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n if (height < 20) {\n height = 15;\n }\n\n const newBottom = parseFloat(e.target.style.bottom);\n const originalBottom = parseFloat(e.target.dataset.originalBottom);\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const oldField = template.fields.find(f => f.name === fieldname);\n const y = newBottom !== originalBottom ? Math.round(newBottom / this.yscale) : oldField?.y;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, y})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template)) as ITemplate;\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', settings = {}} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n const {base64} = settings;\n\n if (done) {\n return <Host class={{'verdocs-field': true,done}}>{value && <img src={value} alt=\"Initial\" />}</Host>;\n }\n\n return (\n <Host class={{'verdocs-field': true,required, disabled, done, focused, filled: !!base64, 'menu-open': this.menuOpen, [signerClass]: true}}>\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {base64 ? (\n <div\n class={{'initial-container': true, 'menu-open': this.menuOpen}}\n onMouseEnter={() => !disabled && this.openMenu()}\n onMouseLeave={() => this.scheduleCloseMenu()}\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n this.menuOpen ? this.closeMenu() : this.openMenu();\n }}\n >\n <img src={base64} alt=\"Initial\" />\n {this.menuOpen && (\n <div class=\"action-menu\" onMouseEnter={() => this.openMenu()} onMouseLeave={() => this.scheduleCloseMenu()}>\n <button\n type=\"button\"\n class=\"menu-item\"\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n console.log('[INITIAL] Editing initials');\n this.closeMenu();\n this.adopt.emit();\n }}\n >\n Edit\n </button>\n <button\n type=\"button\"\n class=\"menu-item\"\n onClick={e => {\n e.stopPropagation();\n if (disabled) return;\n console.log('[INITIAL] Clearing initials');\n this.closeMenu();\n this.fieldChange?.emit(null);\n }}\n >\n Clear\n </button>\n </div>\n )}\n </div>\n ) : (\n <button\n onClick={() => {\n if (disabled) return;\n // If we already have an initial ID, use it immediately\n if (this.initialid) {\n console.log('[INITIAL] Reusing existing initials', this.initialid);\n this.fieldChange?.emit(this.initialid);\n } else {\n this.adopt.emit();\n }\n }}\n >\n Initial\n </button>\n )}\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: field.name});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"initial fields capture the recipient's initials on a clause or page.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as o,c as s,h as t,t as c}from"./p-yZBlG3YQ.js";import{DEFAULT_DISCLOSURES as r}from"@verdocs/js-sdk";import{d as i}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as o,c as s,h as t,t as c}from"./p-yZBlG3YQ.js";import{DEFAULT_DISCLOSURES as r}from"@verdocs/js-sdk";import{d as i}from"./p-NtvxlYzY.js";import{d}from"./p-C90lxyUX.js";const a=()=>`verdocs-disclosure-dialog{}verdocs-disclosure-dialog .heading{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;width:100%;-ms-flex-align:center;align-items:center}verdocs-disclosure-dialog .heading .close-button{cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:4px;border-radius:50%;color:var(--verdocs-close-button-color, #6b7280);-webkit-transition:all 0.2s ease;transition:all 0.2s ease}verdocs-disclosure-dialog .heading .close-button:hover{background-color:var(--verdocs-close-button-hover-bg, #f3f4f6);color:var(--verdocs-close-button-hover-color, #111827)}verdocs-disclosure-dialog .heading .close-button svg{fill:currentColor}verdocs-disclosure-dialog .content ul{list-style:none;padding:0;margin:0 0 16px 0}verdocs-disclosure-dialog .content ul li{position:relative;padding-left:34px;margin-bottom:12px;font-size:14px;line-height:20px}verdocs-disclosure-dialog .content ul li::before{content:"";position:absolute;left:0;top:-2px;width:24px;height:24px;background-color:var(--verdocs-bullet-color, #707070);-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.53033 12.9697C4.23744 12.6768 3.76256 12.6768 3.46967 12.9697C3.17678 13.2626 3.17678 13.7374 3.46967 14.0303L7.96967 18.5303C8.26256 18.8232 8.73744 18.8232 9.03033 18.5303L20.0303 7.53033C20.3232 7.23744 20.3232 6.76256 20.0303 6.46967C19.7374 6.17678 19.2626 6.17678 18.9697 6.46967L8.5 16.9393L4.53033 12.9697Z' fill='%23707070'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.53033 12.9697C4.23744 12.6768 3.76256 12.6768 3.46967 12.9697C3.17678 13.2626 3.17678 13.7374 3.46967 14.0303L7.96967 18.5303C8.26256 18.8232 8.73744 18.8232 9.03033 18.5303L20.0303 7.53033C20.3232 7.23744 20.3232 6.76256 20.0303 6.46967C19.7374 6.17678 19.2626 6.17678 18.9697 6.46967L8.5 16.9393L4.53033 12.9697Z' fill='%23707070'/%3E%3C/svg%3E");mask-size:contain;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}verdocs-disclosure-dialog .accept{margin:0;color:var(--verdocs-dialog-content-color, #424242)}verdocs-disclosure-dialog .accept verdocs-checkbox{font-size:14px;line-height:20px}verdocs-disclosure-dialog .accept verdocs-checkbox label>input[type=checkbox]+*{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}verdocs-disclosure-dialog .accept verdocs-checkbox label>input[type=checkbox]+*::before{width:16px;height:16px;line-height:16px;margin-right:12px;-ms-flex-negative:0;flex-shrink:0;margin-top:2px}verdocs-disclosure-dialog a{color:var(--verdocs-link-color, #4c56cb)}verdocs-disclosure-dialog .buttons{gap:12px;display:-ms-flexbox;display:flex;margin-top:0;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-disclosure-dialog .buttons button{padding:8px 16px;height:40px;display:-ms-flexbox;display:flex;font-size:14px;font-weight:400;cursor:pointer;-ms-flex-align:center;align-items:center;border-radius:var(--verdocs-button-radius, 4px);-ms-flex-pack:center;justify-content:center;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}verdocs-disclosure-dialog .buttons button.decline{margin-right:auto;background-color:transparent;border:var(--verdocs-button-secondary-border, 1px solid #d1d5db);color:var(--verdocs-button-secondary-color, #374151)}verdocs-disclosure-dialog .buttons button.decline:hover{background-color:var(--verdocs-button-secondary-hover-bg, #f9fafb)}verdocs-disclosure-dialog .buttons button.delegate{background-color:transparent;border:var(--verdocs-button-secondary-border, 1px solid #d1d5db);color:var(--verdocs-button-secondary-color, #374151)}verdocs-disclosure-dialog .buttons button.proceed{background-color:var(--verdocs-primary-color, #55bc81);border:1px solid transparent;color:#ffffff}verdocs-disclosure-dialog .buttons button.proceed:hover{background-color:var(--verdocs-primary-color-hover, #2b995b)}verdocs-disclosure-dialog .buttons button:disabled{background-color:var(--verdocs-button-disabled-bg, #e5e7eb);color:var(--verdocs-button-disabled-color, #9ca3af);cursor:not-allowed}`;const l=e(class e extends o{constructor(e){super();if(e!==false){this.__registerHost()}this.decline=s(this,"decline");this.delegate=s(this,"delegate");this.accept=s(this,"accept");this.disclosures=r;this.delegator=false;this.accepted=false}render(){return t("verdocs-dialog",{key:"4375a9c04e384f3cf0e4fda038401d0cd7298033"},t("div",{key:"701a7d6b98f84240dde02bf2109252af529c47d9",slot:"heading",class:"heading"},t("div",{key:"c20caa6b9952cc2440576c344477d7ce531d0230",class:"title"},"e-Signature Disclosures"),t("div",{key:"d18fd989d229b25d9aba7fa49b5a46601cf6de3a",class:"close-button"},t("svg",{key:"2d9c7cb7cbaa3e65967628106e7a1e4b09a27e1a",width:"24",height:"28",viewBox:"0 0 24 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{key:"b9ff9bf5f57bcc5349108754d85fd29b1aa67b5e",d:"M4.39705 8.55379L4.46967 8.46967C4.73594 8.2034 5.1526 8.1792 5.44621 8.39705L5.53033 8.46967L12 14.939L18.4697 8.46967C18.7626 8.17678 19.2374 8.17678 19.5303 8.46967C19.8232 8.76256 19.8232 9.23744 19.5303 9.53033L13.061 16L19.5303 22.4697C19.7966 22.7359 19.8208 23.1526 19.6029 23.4462L19.5303 23.5303C19.2641 23.7966 18.8474 23.8208 18.5538 23.6029L18.4697 23.5303L12 17.061L5.53033 23.5303C5.23744 23.8232 4.76256 23.8232 4.46967 23.5303C4.17678 23.2374 4.17678 22.7626 4.46967 22.4697L10.939 16L4.46967 9.53033C4.2034 9.26406 4.1792 8.8474 4.39705 8.55379L4.46967 8.46967L4.39705 8.55379Z"})))),t("div",{key:"7413fba3a61bd782d37b0f595d592e1de88bfc58",slot:"content",class:"content"},t("div",{key:"3db2348ba7bd107ee84b44c0482ced667be37bcf",innerHTML:this.disclosures}),t("div",{key:"ab9bd0f3f727c757628b5d7e2d83556d77659218",class:"accept"},t("verdocs-checkbox",{key:"47b9c420a053f4eb11707dee0e5a9820c77c0d04",label:"I accept the electronic signature disclosures and agree to proceed with digital signing.",checked:this.accepted,onInput:()=>this.accepted=!this.accepted}))),t("div",{key:"0a64d93b46674f394b97f89a4824c02f6d7a64b3",class:"footer",slot:"footer"},this.delegator?t("div",{class:"buttons"},t("button",{class:"decline",onClick:()=>this.decline.emit()},"Decline"),t("button",{class:"delegate",onClick:()=>this.delegate.emit()},"Delegate"),t("button",{class:"proceed",onClick:()=>this.accept.emit(),disabled:!this.accepted},"Proceed")):t("div",{class:"buttons"},t("button",{class:"decline",onClick:()=>this.decline.emit()},"Decline"),t("button",{class:"proceed",onClick:()=>this.accept.emit(),disabled:!this.accepted},"Proceed"))))}static get style(){return a()}},[0,"verdocs-disclosure-dialog",{disclosures:[1],delegator:[4],accepted:[32]}]);function n(){if(typeof customElements==="undefined"){return}const e=["verdocs-disclosure-dialog","verdocs-checkbox","verdocs-dialog"];e.forEach((e=>{switch(e){case"verdocs-disclosure-dialog":if(!customElements.get(c(e))){customElements.define(c(e),l)}break;case"verdocs-checkbox":if(!customElements.get(c(e))){i()}break;case"verdocs-dialog":if(!customElements.get(c(e))){d()}break}}))}export{l as V,n as d};
|
|
2
|
+
//# sourceMappingURL=p-hwu-GrDS.js.map
|