@verdocs/web-sdk 6.8.7 → 6.8.8
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/{Datastore-B-sxWSPD.js → Datastore-C-Pojt3E.js} +3 -3
- package/dist/{esm-es5/Datastore-bS8INhRF.js.map → cjs/Datastore-C-Pojt3E.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-ecG41L2k.js → utils-kkGeJs-8.js} +6 -3
- package/dist/cjs/utils-kkGeJs-8.js.map +1 -0
- package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-checkbox_5.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +119 -51
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +16 -9
- package/dist/cjs/verdocs-field-payment.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-preview_6.cjs.entry.js +32 -31
- package/dist/cjs/verdocs-sign.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-signing-progress.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-settings.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +10 -0
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +15 -5
- package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +15 -5
- 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 +15 -5
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +15 -5
- package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +13 -5
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +18 -8
- package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +15 -5
- 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 +13 -5
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +15 -5
- package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +15 -5
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +17 -5
- package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +31 -27
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
- package/dist/collection/utils/Datastore.js +1 -1
- package/dist/collection/utils/Datastore.js.map +1 -1
- package/dist/collection/utils/utils.js +4 -1
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/{p-CRIrD66O.js → p---tnXjlx.js} +3 -3
- package/dist/components/{p-CRIrD66O.js.map → p---tnXjlx.js.map} +1 -1
- package/dist/components/{p-BgNCVox7.js → p-1oPQs4-S.js} +3 -3
- package/dist/components/{p-BgNCVox7.js.map → p-1oPQs4-S.js.map} +1 -1
- package/dist/components/{p-CFi6VKgU.js → p-2sD6OXzl.js} +19 -10
- package/dist/components/p-2sD6OXzl.js.map +1 -0
- package/dist/components/{p-CWGxLuye.js → p-7dtIf4QF.js} +19 -10
- package/dist/components/p-7dtIf4QF.js.map +1 -0
- package/dist/components/{p-CherENoi.js → p-BCiVZnf0.js} +3 -3
- package/dist/components/{p-CherENoi.js.map → p-BCiVZnf0.js.map} +1 -1
- package/dist/components/{p-_cxVjdiK.js → p-BEI7Iwuj.js} +36 -44
- package/dist/components/p-BEI7Iwuj.js.map +1 -0
- package/dist/components/{p-DLV8jNf8.js → p-BUaaBFra.js} +17 -10
- package/dist/components/p-BUaaBFra.js.map +1 -0
- package/dist/components/{p-BZRJWqKI.js → p-BVu-nE_L.js} +19 -10
- package/dist/components/p-BVu-nE_L.js.map +1 -0
- package/dist/components/{p-By2QlfRC.js → p-BihWiABu.js} +19 -10
- package/dist/components/p-BihWiABu.js.map +1 -0
- package/dist/components/{p-eZKhg-2i.js → p-BqoZV7Do.js} +3 -3
- package/dist/components/{p-eZKhg-2i.js.map → p-BqoZV7Do.js.map} +1 -1
- package/dist/components/{p-D1tvdWaA.js → p-BrtyCjOf.js} +4 -4
- package/dist/components/{p-D1tvdWaA.js.map → p-BrtyCjOf.js.map} +1 -1
- package/dist/components/{p-tSwumenv.js → p-Bzs-6uU0.js} +3 -3
- package/dist/components/{p-tSwumenv.js.map → p-Bzs-6uU0.js.map} +1 -1
- package/dist/components/{p-Dj_oFCRK.js → p-C02BWoNV.js} +17 -10
- package/dist/components/p-C02BWoNV.js.map +1 -0
- package/dist/{esm/Datastore-bS8INhRF.js → components/p-C7hFgM52.js} +3 -3
- package/dist/components/p-C7hFgM52.js.map +1 -0
- package/dist/components/{p-CjDMm6od.js → p-CD24uAWY.js} +19 -10
- package/dist/components/p-CD24uAWY.js.map +1 -0
- package/dist/components/{p-_igYrwND.js → p-CDR7tIN-.js} +3 -3
- package/dist/components/{p-_igYrwND.js.map → p-CDR7tIN-.js.map} +1 -1
- package/dist/components/{p-tyY7kKNB.js → p-CPIwQCo_.js} +21 -10
- package/dist/components/p-CPIwQCo_.js.map +1 -0
- package/dist/components/{p-Bafj7hI1.js → p-Cli5nWln.js} +19 -10
- package/dist/components/p-Cli5nWln.js.map +1 -0
- package/dist/components/{p-Dpu4D5bv.js → p-Cx0Mif05.js} +6 -3
- package/dist/components/p-Cx0Mif05.js.map +1 -0
- package/dist/components/{p-BF4y1YRU.js → p-CzvUUEq1.js} +3 -3
- package/dist/components/{p-BF4y1YRU.js.map → p-CzvUUEq1.js.map} +1 -1
- package/dist/components/{p-DzM2oGUr.js → p-D1TqIILD.js} +19 -10
- package/dist/components/p-D1TqIILD.js.map +1 -0
- package/dist/components/{p-CYRfkDZa.js → p-Dj2R-VU1.js} +26 -16
- package/dist/components/p-Dj2R-VU1.js.map +1 -0
- package/dist/components/{p-Cal5IvqT.js → p-DmEzMnt3.js} +3 -3
- package/dist/components/{p-Cal5IvqT.js.map → p-DmEzMnt3.js.map} +1 -1
- package/dist/components/{p-C5fwD53I.js → p-Dz6Xrh7z.js} +3 -3
- package/dist/components/{p-C5fwD53I.js.map → p-Dz6Xrh7z.js.map} +1 -1
- package/dist/components/{p-DaWDoIag.js → p-IJa78J36.js} +4 -4
- package/dist/components/{p-DaWDoIag.js.map → p-IJa78J36.js.map} +1 -1
- package/dist/components/{p-DtpXCLdt.js → p-RdlD8c2P.js} +5 -5
- package/dist/components/{p-DtpXCLdt.js.map → p-RdlD8c2P.js.map} +1 -1
- package/dist/components/{p-DmyvK-Tr.js → p-aH_YLUuP.js} +15 -15
- package/dist/components/{p-DmyvK-Tr.js.map → p-aH_YLUuP.js.map} +1 -1
- package/dist/components/{p-DyfpSDn-.js → p-zAW1BOj6.js} +3 -3
- package/dist/components/{p-DyfpSDn-.js.map → p-zAW1BOj6.js.map} +1 -1
- package/dist/components/verdocs-build.js +21 -21
- package/dist/components/verdocs-contact-picker.js +1 -1
- package/dist/components/verdocs-envelope-document-page.js +1 -1
- package/dist/components/verdocs-envelope-recipient-link.js +1 -1
- package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
- package/dist/components/verdocs-envelope-sidebar.js +3 -3
- package/dist/components/verdocs-envelope-update-recipient.js +1 -1
- package/dist/components/verdocs-envelopes-list.js +2 -2
- 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 +20 -11
- package/dist/components/verdocs-field-payment.js.map +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-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-footer.js +1 -1
- package/dist/components/verdocs-sign.js +5 -5
- package/dist/components/verdocs-signing-progress.js +1 -1
- package/dist/components/verdocs-template-attachments.js +1 -1
- package/dist/components/verdocs-template-build-tabs.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-template-role-properties.js +1 -1
- package/dist/components/verdocs-template-roles.js +1 -1
- package/dist/components/verdocs-template-settings.js +1 -1
- package/dist/components/verdocs-templates-list.js +1 -1
- package/dist/components/verdocs-view.js +1 -1
- package/dist/{components/p-bS8INhRF.js → esm/Datastore-C7hFgM52.js} +3 -3
- package/dist/{cjs/Datastore-B-sxWSPD.js.map → esm/Datastore-C7hFgM52.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-CerrMWqr.js → utils-CPSY5rft.js} +6 -3
- package/dist/esm/utils-CPSY5rft.js.map +1 -0
- package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +1 -1
- package/dist/esm/verdocs-build.entry.js +1 -1
- package/dist/esm/verdocs-checkbox_5.entry.js +1 -1
- package/dist/esm/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm/verdocs-download-dialog_4.entry.js +2 -2
- package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
- package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
- package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm/verdocs-field-attachment_11.entry.js +119 -51
- package/dist/esm/verdocs-field-payment.entry.js +16 -9
- package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm/verdocs-menu-panel_2.entry.js +1 -1
- package/dist/esm/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.js.map +1 -1
- package/dist/esm/verdocs-preview_6.entry.js +32 -31
- package/dist/esm/verdocs-sign.entry.js +2 -2
- package/dist/esm/verdocs-signing-progress.entry.js +1 -1
- package/dist/esm/verdocs-template-document-page_2.entry.js +2 -2
- package/dist/esm/verdocs-template-settings.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/{Datastore-bS8INhRF.js → Datastore-C7hFgM52.js} +2 -2
- package/dist/{esm/Datastore-bS8INhRF.js.map → esm-es5/Datastore-C7hFgM52.js.map} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/utils-CPSY5rft.js +2 -0
- package/dist/esm-es5/utils-CPSY5rft.js.map +1 -0
- package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-checkbox_5.entry.js +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-recipient-link_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
- 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-signing-progress.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-settings.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +1 -0
- package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +2 -1
- package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +2 -1
- package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +2 -1
- package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +2 -1
- package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +1 -1
- package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +2 -1
- package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +2 -1
- package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +1 -1
- package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +2 -1
- package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +2 -1
- package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +2 -1
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +3 -2
- package/dist/verdocs-web-sdk/{p-2ff00959.system.entry.js → p-032e8fb0.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-fe5aabfb.entry.js → p-04981f9f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-7f7da7d6.system.entry.js → p-066eaea8.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-53be15dc.entry.js → p-0b59a4a5.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-0fcfde01.entry.js → p-0e4aa0d1.entry.js} +3 -3
- package/dist/verdocs-web-sdk/p-0e4aa0d1.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-8229308e.system.entry.js → p-107a1995.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-b04c507f.system.entry.js → p-1b5b8ffa.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-be9c544d.system.entry.js → p-2ba8c771.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-2ebc769e.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2ebc769e.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-5ee3ef82.entry.js → p-311bb5b2.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-069169a7.entry.js → p-3202f0eb.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-edc49225.entry.js → p-3648e4c0.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-3648e4c0.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-64b9e2de.entry.js → p-3be22031.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-f4c4a49e.system.entry.js → p-4424623c.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-7a086c18.entry.js → p-4f820bee.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-2fc50938.system.entry.js → p-53530f64.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-f1ca6e1c.system.entry.js → p-60cfa50a.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-93e9df57.system.entry.js → p-641dbbfa.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-6c8883ff.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-8e8c0110.entry.js.map → p-6c8883ff.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-6d41df5d.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-6d41df5d.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-8062bb99.entry.js → p-6d5af60f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-6038e4c1.system.entry.js → p-774961dc.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-63c0f31d.system.entry.js → p-822694c1.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-9b367391.system.entry.js → p-91316504.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-0c24c1b8.entry.js → p-92b4f218.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-adcbb1c2.entry.js → p-9586b268.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
- package/dist/verdocs-web-sdk/{p-CC3ukJv1.system.js.map → p-BFC8G6sY.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-LGooaeHw.system.js.map → p-BJ0cUjeu.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-CRk-MpSX.system.js.map → p-BJx8Y9VG.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-BUFQbxzf.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-CWh-S6N5.system.js.map → p-BuHYXI2L.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-bS8INhRF.js → p-C7hFgM52.js} +2 -2
- package/dist/verdocs-web-sdk/{p-bS8INhRF.js.map → p-C7hFgM52.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-C9JdpYtM.js +2 -0
- package/dist/verdocs-web-sdk/p-C9JdpYtM.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-COM7km0I.system.js.map → p-CVmJ8lYI.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-Cd268O-w.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-C5U_96FD.system.js.map → p-CyPGia16.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-DGti20Vc.system.js +2 -0
- package/dist/verdocs-web-sdk/p-DGti20Vc.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-Db5fIu2w.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-BcNo_mbk.system.js.map → p-DmQa-gqf.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-dY2me2i5.system.js.map → p-Dmc2VIXX.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-C-5pmv-B.system.js.map → p-N4-IQ3Cb.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-wKFmf5bX.system.js.map → p-TQtp_Nv2.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-BvI8gTGk.system.js.map → p-WCWuCFHk.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-ESsv28K0.system.js.map → p-a51WVEiq.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-c0c4b822.entry.js → p-a7e0e67a.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-abfa8b47.system.entry.js +8 -0
- package/dist/verdocs-web-sdk/p-abfa8b47.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-267c890e.entry.js → p-ad41a644.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-333d4a2e.system.entry.js → p-b7d907b4.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-b83472cd.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b83472cd.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-e4b13df9.system.entry.js → p-bcffad7a.system.entry.js} +3 -3
- package/dist/verdocs-web-sdk/{p-8d5c3516.entry.js → p-c7bfe2f1.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-081b245d.system.entry.js → p-d52e6117.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-0faa3e84.entry.js → p-e262ea96.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-8b2d4ca5.entry.js → p-f7f33a99.entry.js} +3 -3
- package/dist/verdocs-web-sdk/{p-lEpx1l-p.system.js → p-fEbwslLK.system.js} +2 -2
- package/dist/verdocs-web-sdk/{p-lEpx1l-p.system.js.map → p-fEbwslLK.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-0-YdlCL1.system.js.map → p-x_N0ZS08.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-DFNdvv2j.system.js.map → p-yFbTWZrj.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-D1RF_rpl.system.js.map → p-yUsULl32.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/verdocs-field-payment.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/utils-ecG41L2k.js.map +0 -1
- package/dist/components/p-BZRJWqKI.js.map +0 -1
- package/dist/components/p-Bafj7hI1.js.map +0 -1
- package/dist/components/p-By2QlfRC.js.map +0 -1
- package/dist/components/p-CFi6VKgU.js.map +0 -1
- package/dist/components/p-CWGxLuye.js.map +0 -1
- package/dist/components/p-CYRfkDZa.js.map +0 -1
- package/dist/components/p-CjDMm6od.js.map +0 -1
- package/dist/components/p-DLV8jNf8.js.map +0 -1
- package/dist/components/p-Dj_oFCRK.js.map +0 -1
- package/dist/components/p-Dpu4D5bv.js.map +0 -1
- package/dist/components/p-DzM2oGUr.js.map +0 -1
- package/dist/components/p-_cxVjdiK.js.map +0 -1
- package/dist/components/p-bS8INhRF.js.map +0 -1
- package/dist/components/p-tyY7kKNB.js.map +0 -1
- package/dist/esm/utils-CerrMWqr.js.map +0 -1
- package/dist/esm-es5/utils-CerrMWqr.js +0 -2
- package/dist/esm-es5/utils-CerrMWqr.js.map +0 -1
- package/dist/verdocs-web-sdk/p-0fcfde01.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2e4d6431.system.entry.js +0 -8
- package/dist/verdocs-web-sdk/p-2e4d6431.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-6bbe3f73.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6bbe3f73.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8e8c0110.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-B390zQJa.js +0 -2
- package/dist/verdocs-web-sdk/p-B390zQJa.js.map +0 -1
- package/dist/verdocs-web-sdk/p-Bb7iRsoQ.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-CT1VA0C-.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-CaEXyfjG.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a6b008ef.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a6b008ef.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-aaad7b8a.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-aaad7b8a.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-edc49225.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f589tneI.system.js +0 -2
- package/dist/verdocs-web-sdk/p-f589tneI.system.js.map +0 -1
- /package/dist/verdocs-web-sdk/{p-2ff00959.system.entry.js.map → p-032e8fb0.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-fe5aabfb.entry.js.map → p-04981f9f.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-7f7da7d6.system.entry.js.map → p-066eaea8.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-53be15dc.entry.js.map → p-0b59a4a5.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-8229308e.system.entry.js.map → p-107a1995.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-b04c507f.system.entry.js.map → p-1b5b8ffa.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-be9c544d.system.entry.js.map → p-2ba8c771.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-5ee3ef82.entry.js.map → p-311bb5b2.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-069169a7.entry.js.map → p-3202f0eb.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-64b9e2de.entry.js.map → p-3be22031.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-f4c4a49e.system.entry.js.map → p-4424623c.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-7a086c18.entry.js.map → p-4f820bee.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-2fc50938.system.entry.js.map → p-53530f64.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-f1ca6e1c.system.entry.js.map → p-60cfa50a.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-93e9df57.system.entry.js.map → p-641dbbfa.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-8062bb99.entry.js.map → p-6d5af60f.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-6038e4c1.system.entry.js.map → p-774961dc.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-63c0f31d.system.entry.js.map → p-822694c1.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-9b367391.system.entry.js.map → p-91316504.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-0c24c1b8.entry.js.map → p-92b4f218.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-adcbb1c2.entry.js.map → p-9586b268.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-c0c4b822.entry.js.map → p-a7e0e67a.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-267c890e.entry.js.map → p-ad41a644.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-333d4a2e.system.entry.js.map → p-b7d907b4.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-e4b13df9.system.entry.js.map → p-bcffad7a.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-8d5c3516.entry.js.map → p-c7bfe2f1.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-081b245d.system.entry.js.map → p-d52e6117.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-0faa3e84.entry.js.map → p-e262ea96.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-8b2d4ca5.entry.js.map → p-f7f33a99.entry.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, d as Host } from './p-CUAGH_8P.js';
|
|
2
2
|
import { i as interact } from './p-CGNX5HqF.js';
|
|
3
3
|
import { S as SettingsIcon } from './p-BDv5kBUR.js';
|
|
4
|
-
import { S as Store } from './p-
|
|
4
|
+
import { S as Store } from './p-C7hFgM52.js';
|
|
5
5
|
import { d as defineCustomElement$9 } from './p-C_yyK5xE.js';
|
|
6
6
|
import { d as defineCustomElement$8 } from './p-BvV9rOTP.js';
|
|
7
7
|
import { d as defineCustomElement$7 } from './p-CdmWI0-q.js';
|
|
@@ -9,7 +9,7 @@ import { d as defineCustomElement$6 } from './p-CnPaJH5T.js';
|
|
|
9
9
|
import { d as defineCustomElement$5 } from './p-CNKACBaL.js';
|
|
10
10
|
import { d as defineCustomElement$4 } from './p-DUYRis3A.js';
|
|
11
11
|
import { d as defineCustomElement$3 } from './p-C1AtapGD.js';
|
|
12
|
-
import { d as defineCustomElement$2 } from './p-
|
|
12
|
+
import { d as defineCustomElement$2 } from './p-DmEzMnt3.js';
|
|
13
13
|
import { d as defineCustomElement$1 } from './p--qy4LrSt.js';
|
|
14
14
|
|
|
15
15
|
const verdocsFieldDropdownCss = "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}";
|
|
@@ -101,12 +101,16 @@ const VerdocsFieldDropdown = /*@__PURE__*/ proxyCustomElement(class VerdocsField
|
|
|
101
101
|
settingsPanel.hidePanel();
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
onEditableChanged(newVal, oldVal) {
|
|
105
|
+
// When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
|
|
106
|
+
if (oldVal && !newVal) {
|
|
106
107
|
interact(this.el).unset();
|
|
107
|
-
return;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
+
disconnectedCallback() {
|
|
111
|
+
// Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
|
|
112
|
+
interact(this.el).unset();
|
|
113
|
+
}
|
|
110
114
|
render() {
|
|
111
115
|
const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
|
|
112
116
|
const { index, field } = Store.getField(source, sourceid, fieldname, this.field);
|
|
@@ -117,12 +121,12 @@ const VerdocsFieldDropdown = /*@__PURE__*/ proxyCustomElement(class VerdocsField
|
|
|
117
121
|
value = field === null || field === void 0 ? void 0 : field.value;
|
|
118
122
|
}
|
|
119
123
|
if (done) {
|
|
120
|
-
return h(Host, { class: { done } }, value);
|
|
124
|
+
return h(Host, { class: { 'verdocs-field': true, done } }, value);
|
|
121
125
|
}
|
|
122
126
|
// TODO: Look for other places this mistaken assumption was made.
|
|
123
127
|
// Defaults only apply in destructuring if undefined. null doesn't trigger it.
|
|
124
128
|
options || (options = []);
|
|
125
|
-
return (h(Host, { class: { required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("select", { disabled: readonly || disabled, onChange: e => this.handleChange(e), onFocus: () => (this.focused = true), ref: el => (this.selectEl = el) }, h("option", { value: "" }, "Select..."), options.map(option => (h("option", { value: option.id, selected: option.id === value }, option.label))), !options.length && (h("option", { value: "NA", selected: 'NA' === value }, "N/A"))), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
|
|
129
|
+
return (h(Host, { class: { 'verdocs-field': true, required, disabled, done, focused, [signerClass]: true } }, label && h("label", null, label), h("select", { disabled: readonly || disabled, onChange: e => this.handleChange(e), onFocus: () => (this.focused = true), ref: el => (this.selectEl = el) }, h("option", { value: "" }, "Select..."), options.map(option => (h("option", { value: option.id, selected: option.id === value }, option.label))), !options.length && (h("option", { value: "NA", selected: 'NA' === value }, "N/A"))), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
|
|
126
130
|
e.stopPropagation();
|
|
127
131
|
this.showingProperties = !this.showingProperties;
|
|
128
132
|
} }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
|
|
@@ -136,6 +140,9 @@ const VerdocsFieldDropdown = /*@__PURE__*/ proxyCustomElement(class VerdocsField
|
|
|
136
140
|
}, helpText: "Dropdowns are used to capture a recipient's selection of one of several options." })))))));
|
|
137
141
|
}
|
|
138
142
|
get el() { return this; }
|
|
143
|
+
static get watchers() { return {
|
|
144
|
+
"editable": ["onEditableChanged"]
|
|
145
|
+
}; }
|
|
139
146
|
static get style() { return verdocsFieldDropdownCss; }
|
|
140
147
|
}, [256, "verdocs-field-dropdown", {
|
|
141
148
|
"source": [513],
|
|
@@ -155,7 +162,9 @@ const VerdocsFieldDropdown = /*@__PURE__*/ proxyCustomElement(class VerdocsField
|
|
|
155
162
|
"focusField": [64],
|
|
156
163
|
"showSettingsPanel": [64],
|
|
157
164
|
"hideSettingsPanel": [64]
|
|
158
|
-
}, [[2, "blur", "handleBlur"]]
|
|
165
|
+
}, [[2, "blur", "handleBlur"]], {
|
|
166
|
+
"editable": ["onEditableChanged"]
|
|
167
|
+
}]);
|
|
159
168
|
function defineCustomElement() {
|
|
160
169
|
if (typeof customElements === "undefined") {
|
|
161
170
|
return;
|
|
@@ -216,6 +225,6 @@ function defineCustomElement() {
|
|
|
216
225
|
}
|
|
217
226
|
|
|
218
227
|
export { VerdocsFieldDropdown as V, defineCustomElement as d };
|
|
219
|
-
//# sourceMappingURL=p-
|
|
228
|
+
//# sourceMappingURL=p-BVu-nE_L.js.map
|
|
220
229
|
|
|
221
|
-
//# sourceMappingURL=p-
|
|
230
|
+
//# sourceMappingURL=p-BVu-nE_L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-BVu-nE_L.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.scss?tag=verdocs-field-dropdown","src/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-dropdown {\n font-family: $verdocs-primary-font;\n width: 85px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: var(--verdocs-field-background, transparent);\n transform-origin: bottom left;\n border-radius: var(--verdocs-field-radius);\n\n label {\n top: -14px;\n left: 0;\n height: 14px;\n 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 select {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n position: absolute;\n background:\n linear-gradient(55deg, transparent 50%, var(--verdocs-field-text-color, #333) 50%), linear-gradient(125deg, var(--verdocs-field-text-color, #333) 50%, transparent 50%),\n linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 6px,\n calc(100% - 3px) 6px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n\n box-sizing: border-box;\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 font-size: 11px;\n border: var(--verdocs-field-border, 1px solid rgba(0, 0, 0, 0.2));\n border-radius: var(--verdocs-field-radius);\n padding: 0 5px;\n\n &:focus {\n outline: none;\n }\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled select {\n opacity: 0.5;\n }\n\n &.required {\n select {\n border: 1px solid var(--verdocs-required-field-border);\n }\n }\n\n verdocs-button-panel {\n display: block;\n margin-left: -33px;\n margin-top: -1px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -2px;\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","import interact from 'interactjs';\nimport {ITemplateField, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State, Listen, Element, Watch} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a dropdown field that allows the user to choose one of a list of options.\n */\n@Component({\n tag: 'verdocs-field-dropdown',\n styleUrl: 'verdocs-field-dropdown.scss',\n shadow: false,\n})\nexport class VerdocsFieldDropdown {\n @Element() el: HTMLElement;\n private selectEl: HTMLSelectElement;\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 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 * 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 * 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 * 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 when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused = false;\n\n @Listen('blur', {capture: true})\n handleBlur() {\n this.focused = false;\n }\n\n @Method()\n async focusField() {\n this.selectEl.focus();\n this.focused = true;\n\n const {source, sourceid, fieldname} = this;\n const {field} = Store.getField(source, sourceid, fieldname, this.field);\n const {readonly = false} = field || {};\n\n if (!readonly) {\n this.selectEl?.showPicker();\n }\n }\n\n handleChange(e: any) {\n this.fieldChange.emit(e.target.value);\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 @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 disconnectedCallback() {\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 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 let {required = false, value = '', label = '', options, readonly = false} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n // TODO: Consolidate value/defaultValue handling between template and envelope fields.\n if ((field as any)?.value) {\n value = (field as any)?.value;\n }\n\n if (done) {\n return <Host class={{'verdocs-field': true,done}}>{value}</Host>;\n }\n\n // TODO: Look for other places this mistaken assumption was made.\n // Defaults only apply in destructuring if undefined. null doesn't trigger it.\n options ||= [];\n\n return (\n <Host class={{'verdocs-field': true,required, disabled, done, focused, [signerClass]: true}}>\n {label && <label>{label}</label>}\n\n <select disabled={readonly || disabled} onChange={e => this.handleChange(e)} onFocus={() => (this.focused = true)} ref={el => (this.selectEl = el as HTMLSelectElement)}>\n <option value=\"\">Select...</option>\n {options.map(option => (\n <option value={option.id} selected={option.id === value}>\n {option.label}\n </option>\n ))}\n {!options.length && (\n <option value=\"NA\" selected={'NA' === value}>\n N/A\n </option>\n )}\n </select>\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: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"Dropdowns are used to capture a recipient's selection of one of several options.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, F as Fragment } from './p-CUAGH_8P.js';
|
|
2
2
|
import { i as interact } from './p-CGNX5HqF.js';
|
|
3
3
|
import { S as SettingsIcon } from './p-BDv5kBUR.js';
|
|
4
|
-
import { S as Store } from './p-
|
|
4
|
+
import { S as Store } from './p-C7hFgM52.js';
|
|
5
5
|
import { d as defineCustomElement$9 } from './p-C_yyK5xE.js';
|
|
6
6
|
import { d as defineCustomElement$8 } from './p-BvV9rOTP.js';
|
|
7
7
|
import { d as defineCustomElement$7 } from './p-CdmWI0-q.js';
|
|
@@ -9,7 +9,7 @@ import { d as defineCustomElement$6 } from './p-CnPaJH5T.js';
|
|
|
9
9
|
import { d as defineCustomElement$5 } from './p-CNKACBaL.js';
|
|
10
10
|
import { d as defineCustomElement$4 } from './p-DUYRis3A.js';
|
|
11
11
|
import { d as defineCustomElement$3 } from './p-C1AtapGD.js';
|
|
12
|
-
import { d as defineCustomElement$2 } from './p-
|
|
12
|
+
import { d as defineCustomElement$2 } from './p-DmEzMnt3.js';
|
|
13
13
|
import { d as defineCustomElement$1 } from './p--qy4LrSt.js';
|
|
14
14
|
|
|
15
15
|
const verdocsFieldRadioCss = "verdocs-field-radio{font-family:var(--verdocs-primary-font, \"Inter\", \"Barlow\", sans-serif);width:14px;height:14px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100%}verdocs-field-radio svg{margin-top:4px}verdocs-field-radio.disabled.done{opacity:1}verdocs-field-radio div.label{top:-14px;left:-1px;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-radio div.group{top:14px;left:-1px;height:14px;color:white;padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#bb0589;border-bottom-left-radius:2px;border-bottom-right-radius:2px}verdocs-field-radio input{cursor:inherit}verdocs-field-radio.disabled input{opacity:0.5}verdocs-field-radio.done input[type=radio]{margin:0;padding:0;width:10px;height:10px}verdocs-field-radio:not(.done) input[type=radio]{position:absolute;opacity:0}verdocs-field-radio:not(.done) input[type=radio]+label:before{content:\"\";border-radius:100%;border:1px solid rgba(0, 0, 0, 0.6);display:inline-block;width:12px;height:12px;position:absolute;left:1px;top:1px;cursor:pointer;text-align:center;-webkit-transition:all 250ms ease;transition:all 250ms ease}verdocs-field-radio:not(.done) input[type=radio]:checked+label:before{background-color:#55bc81;-webkit-box-shadow:inset 0 0 0 2px #f5f5fa;box-shadow:inset 0 0 0 2px #f5f5fa}verdocs-field-radio:not(.done) input[type=radio]:focus+label:before{outline:none;border-color:#55bc81}verdocs-field-radio:not(.done) input[type=radio]:disabled+label:before{-webkit-box-shadow:inset 0 0 0 4px #f5f5fa;box-shadow:inset 0 0 0 4px #f5f5fa;border-color:#f3f3fc;background:#f3f3fc}verdocs-field-radio:not(.done) input[type=radio]+label:empty:before{margin-right:0}verdocs-field-radio.required{border:1px solid var(--verdocs-required-field-border)}verdocs-field-radio.hide{display:none}verdocs-field-radio verdocs-button-panel{margin-left:-20px;margin-top:-7px;-webkit-transform:scale(0.7);transform:scale(0.7)}verdocs-field-radio .settings-icon{position:absolute;top:-6px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-radio .settings-icon svg{fill:#707ae5}verdocs-field-radio .settings-icon:hover{opacity:1}";
|
|
@@ -96,12 +96,16 @@ const VerdocsFieldRadio = /*@__PURE__*/ proxyCustomElement(class VerdocsFieldRad
|
|
|
96
96
|
settingsPanel.hidePanel();
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
onEditableChanged(newVal, oldVal) {
|
|
100
|
+
// When transitioning out of editable mode (e.g., builder -> preview tab), clear interact bindings
|
|
101
|
+
if (oldVal && !newVal) {
|
|
101
102
|
interact(this.el).unset();
|
|
102
|
-
return;
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
+
disconnectedCallback() {
|
|
106
|
+
// Clear any interact.js drag/resize bindings so they don't leak if the DOM element is reused elsewhere
|
|
107
|
+
interact(this.el).unset();
|
|
108
|
+
}
|
|
105
109
|
render() {
|
|
106
110
|
const { source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1 } = this;
|
|
107
111
|
const { index, field } = Store.getField(source, sourceid, fieldname, this.field);
|
|
@@ -109,9 +113,9 @@ const VerdocsFieldRadio = /*@__PURE__*/ proxyCustomElement(class VerdocsFieldRad
|
|
|
109
113
|
const signerClass = `signer-${(index % 10) + 1}`;
|
|
110
114
|
const selected = value === 'true';
|
|
111
115
|
if (done) {
|
|
112
|
-
return (h(Host, { class: { done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: selected ? RadioIconSelected : RadioIconUnselected })));
|
|
116
|
+
return (h(Host, { class: { 'verdocs-field': true, done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: selected ? RadioIconSelected : RadioIconUnselected })));
|
|
113
117
|
}
|
|
114
|
-
return (h(Host, { class: { required: this.required || required, disabled, done, focused, [signerClass]: true } }, label && h("div", { class: "label" }, label), editable && group && h("div", { class: "group" }, group), h("input", { id: fieldname, type: "radio", name: group || fieldname, value: name, checked: !!selected, disabled: readonly || disabled, required: required }), h("label", { htmlFor: fieldname }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
|
|
118
|
+
return (h(Host, { class: { 'verdocs-field': true, required: this.required || required, disabled, done, focused, [signerClass]: true } }, label && h("div", { class: "label" }, label), editable && group && h("div", { class: "group" }, group), h("input", { id: fieldname, type: "radio", name: group || fieldname, value: name, checked: !!selected, disabled: readonly || disabled, required: required }), h("label", { htmlFor: fieldname }), editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${fieldname}`, style: { transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
|
|
115
119
|
e.stopPropagation();
|
|
116
120
|
this.showingProperties = !this.showingProperties;
|
|
117
121
|
} }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: sourceid, fieldName: fieldname, onClose: () => (this.showingProperties = false), onDelete: () => {
|
|
@@ -125,6 +129,9 @@ const VerdocsFieldRadio = /*@__PURE__*/ proxyCustomElement(class VerdocsFieldRad
|
|
|
125
129
|
}, helpText: "Radio buttons capture the recipient's selection of just one of several related (exclusive) options." })))))));
|
|
126
130
|
}
|
|
127
131
|
get el() { return this; }
|
|
132
|
+
static get watchers() { return {
|
|
133
|
+
"editable": ["onEditableChanged"]
|
|
134
|
+
}; }
|
|
128
135
|
static get style() { return verdocsFieldRadioCss; }
|
|
129
136
|
}, [256, "verdocs-field-radio", {
|
|
130
137
|
"source": [513],
|
|
@@ -145,7 +152,9 @@ const VerdocsFieldRadio = /*@__PURE__*/ proxyCustomElement(class VerdocsFieldRad
|
|
|
145
152
|
"focusField": [64],
|
|
146
153
|
"showSettingsPanel": [64],
|
|
147
154
|
"hideSettingsPanel": [64]
|
|
148
|
-
}, [[0, "blur", "handleBlur"]]
|
|
155
|
+
}, [[0, "blur", "handleBlur"]], {
|
|
156
|
+
"editable": ["onEditableChanged"]
|
|
157
|
+
}]);
|
|
149
158
|
function defineCustomElement() {
|
|
150
159
|
if (typeof customElements === "undefined") {
|
|
151
160
|
return;
|
|
@@ -206,6 +215,6 @@ function defineCustomElement() {
|
|
|
206
215
|
}
|
|
207
216
|
|
|
208
217
|
export { VerdocsFieldRadio as V, defineCustomElement as d };
|
|
209
|
-
//# sourceMappingURL=p-
|
|
218
|
+
//# sourceMappingURL=p-BihWiABu.js.map
|
|
210
219
|
|
|
211
|
-
//# sourceMappingURL=p-
|
|
220
|
+
//# sourceMappingURL=p-BihWiABu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-BihWiABu.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/fields/verdocs-field-radio/verdocs-field-radio.scss?tag=verdocs-field-radio","src/components/fields/verdocs-field-radio/verdocs-field-radio.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-field-radio {\n font-family: $verdocs-primary-font;\n width: 14px;\n height: 14px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n svg {\n margin-top: 4px;\n }\n\n &.disabled.done {\n opacity: 1;\n }\n\n // To avoid conflicting with the use of a label for the checkbox itself\n div.label {\n top: -14px;\n left: -1px;\n height: 14px;\n 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 div.group {\n top: 14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #bb0589;\n border-bottom-left-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n\n input {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n }\n\n &.disabled input {\n opacity: 0.5;\n }\n\n &.done input[type='radio'] {\n margin: 0;\n padding: 0;\n width: 10px;\n height: 10px;\n }\n\n &:not(.done) input[type='radio'] {\n position: absolute;\n opacity: 0;\n\n + label {\n &:before {\n content: '';\n //background: $verdocs-grey-3;\n border-radius: 100%;\n border: 1px solid rgba(0, 0, 0, 0.6);\n display: inline-block;\n width: 12px;\n height: 12px;\n position: absolute;\n // This looks off in Storybook but correct in apps.\n left: 1px;\n top: 1px;\n cursor: pointer;\n text-align: center;\n transition: all 250ms ease;\n }\n }\n\n &:checked {\n + label {\n &:before {\n background-color: $verdocs-green;\n box-shadow: inset 0 0 0 2px $verdocs-grey-3;\n }\n }\n }\n\n &:focus {\n + label {\n &:before {\n outline: none;\n border-color: $verdocs-green;\n }\n }\n }\n\n &:disabled {\n + label {\n &:before {\n box-shadow: inset 0 0 0 4px $verdocs-grey-3;\n border-color: #f3f3fc;\n background: #f3f3fc;\n }\n }\n }\n\n + label {\n &:empty {\n &:before {\n margin-right: 0;\n }\n }\n }\n }\n\n &.required {\n border: 1px solid var(--verdocs-required-field-border);\n }\n\n &.hide {\n display: none;\n }\n\n verdocs-button-panel {\n margin-left: -20px;\n margin-top: -7px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -6px;\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","import interact from 'interactjs';\nimport {ITemplateField, IEnvelopeField} 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\nconst RadioIconUnselected = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"></path></svg>`;\n\nconst RadioIconSelected = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"></path></svg>`;\n\n/**\n * Displays a radio button.\n */\n@Component({\n tag: 'verdocs-field-radio',\n styleUrl: 'verdocs-field-radio.scss',\n shadow: false,\n})\nexport class VerdocsFieldRadio {\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 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 * If set, overrides the field's settings object. Primarily used in Storybook mode.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, overrides the field's required object. Primarily used in Storybook mode.\n */\n @Prop({reflect: true}) required?: 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, 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 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 @State() showingProperties?: boolean = false;\n @State() focused = false;\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 when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @Listen('blur')\n handleBlur() {\n this.focused = false;\n }\n\n @Method()\n async focusField() {\n this.el.focus();\n this.focused = true;\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 @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 disconnectedCallback() {\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 render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {name, required = false, label = '', group = '', value = false, readonly = false} = field || {};\n const signerClass = `signer-${(index % 10) + 1}`;\n\n const selected = value === 'true';\n\n if (done) {\n return (\n <Host class={{'verdocs-field': true,done}} style={{maxWidth: '10px'}}>\n <span innerHTML={selected ? RadioIconSelected : RadioIconUnselected} />\n </Host>\n );\n }\n\n return (\n <Host class={{'verdocs-field': true,required: this.required || required, disabled, done, focused, [signerClass]: true}}>\n {label && <div class=\"label\">{label}</div>}\n {editable && group && <div class=\"group\">{group}</div>}\n\n <input id={fieldname} type=\"radio\" name={group || fieldname} value={name} checked={!!selected} disabled={readonly || disabled} required={required} />\n <label htmlFor={fieldname} />\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: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"Radio buttons capture the recipient's selection of just one of several related (exclusive) options.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-CUAGH_8P.js';
|
|
2
2
|
import { VerdocsEndpoint, getTemplate } from '@verdocs/js-sdk';
|
|
3
3
|
import { S as SDKError } from './p-C1sRVZWv.js';
|
|
4
|
-
import { S as Store } from './p-
|
|
4
|
+
import { S as Store } from './p-C7hFgM52.js';
|
|
5
5
|
import { d as defineCustomElement$2 } from './p-CdmWI0-q.js';
|
|
6
6
|
import { d as defineCustomElement$1 } from './p-CNKACBaL.js';
|
|
7
7
|
|
|
@@ -151,6 +151,6 @@ function defineCustomElement() {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
export { VerdocsTemplateBuildTabs as V, defineCustomElement as d };
|
|
154
|
-
//# sourceMappingURL=p-
|
|
154
|
+
//# sourceMappingURL=p-BqoZV7Do.js.map
|
|
155
155
|
|
|
156
|
-
//# sourceMappingURL=p-
|
|
156
|
+
//# sourceMappingURL=p-BqoZV7Do.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-eZKhg-2i.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.scss?tag=verdocs-template-build-tabs","src/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-build-tabs {\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n flex: 0 0 50px;\n width: 100%;\n background: #ffffff;\n color: #72757d;\n border-bottom: 1px solid #dddddd;\n filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));\n font-family: $verdocs-primary-font;\n\n .tab {\n position: relative;\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n height: 50px;\n padding: 0 4px;\n background: #e7e7e7;\n font-weight: 700;\n font-size: 12px;\n cursor: pointer;\n\n @media (min-width: 768px) {\n padding: 0 8px 0 24px;\n font-size: 14px;\n }\n\n svg {\n position: absolute;\n top: 0;\n right: -19px;\n z-index: 10;\n pointer-events: none;\n display: none;\n\n @media (min-width: 768px) {\n display: block;\n }\n }\n\n &.active {\n background: #ffffff;\n color: #707ae5;\n }\n\n &.disabled {\n cursor: default;\n color: #d1d5db;\n }\n }\n}\n","import {getTemplate, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, h, Event, EventEmitter, Host, Watch, State} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nexport type TVerdocsBuildStep = 'attachments' | 'roles' | 'fields' | 'preview';\n\ninterface IBuildTab {\n id: TVerdocsBuildStep;\n label: string;\n disabled: boolean;\n}\n\n/**\n * Display a set of tabs for the template builder.\n */\n@Component({\n tag: 'verdocs-template-build-tabs',\n styleUrl: 'verdocs-template-build-tabs.scss',\n shadow: false,\n})\nexport class VerdocsTemplateBuildTabs {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from. Unlike most other components, this is an optional parameter here.\n * If the template ID is known, `step` may also be specified to force displaying a specific step in the creation process.\n * If it is not specified, `step` will be ignored and the create step will be shown.\n */\n @Prop({reflect: true, mutable: true}) templateId: string | null = null;\n\n /**\n * The step in the creation process to display.\n */\n @Prop({reflect: true, mutable: true}) step: TVerdocsBuildStep = 'preview';\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the user selects a different step.\n */\n @Event({composed: true}) stepChanged: EventEmitter<TVerdocsBuildStep>;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n this.template = template;\n this.loading = false;\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[BUILD_TABS] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n @Watch('step')\n onStepChanged(newStep: TVerdocsBuildStep) {\n console.log('[BUILD_TABS] Step changed', newStep);\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[BUILD_TABS] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n this.step = 'attachments';\n console.log('[BUILD_TABS] Missing required template ID, forcing view to attachments');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[BUILD_TABS] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleSelect(tab: IBuildTab) {\n if (tab.disabled || tab.id === this.step) {\n return;\n }\n this.step = tab.id;\n this.stepChanged?.emit(tab.id);\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const canEditRoles = (this.template?.documents || []).length > 0;\n const canEditFields = canEditRoles && (this.template?.roles || []).length > 0;\n const canPreview = canEditFields && (this.template?.fields || []).length > 0;\n\n const tabs: IBuildTab[] = [\n {id: 'attachments', label: 'Attachments', disabled: false},\n {id: 'roles', label: 'Workflow', disabled: !canEditRoles},\n {id: 'fields', label: 'Fields', disabled: !canEditFields},\n {id: 'preview', label: 'Preview & Send', disabled: !canPreview},\n ];\n\n return (\n <Host>\n {tabs.map(tab => {\n const isActive = tab.id === this.step;\n const classes = ['tab'];\n if (isActive) classes.push('active');\n if (tab.disabled) classes.push('disabled');\n return (\n <div class={classes.join(' ')} onClick={() => this.handleSelect(tab)}>\n <span>{tab.label}</span>\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"50\" viewBox=\"0 0 19 50\">\n <polygon points=\"0,0 19,25 0,50\" fill={isActive ? '#ffffff' : '#e7e7e7'} />\n </svg>\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-BqoZV7Do.js","mappings":";;;;;;;AAAA,MAAM,2BAA2B,GAAG,2nCAA2nC;;MCqBlpC,wBAAwB,iBAAAA,kBAAA,CAAA,MAAA,wBAAA,SAAAC,CAAA,CAAA;AALrC,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAMU,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI;AAEjC;;AAEG;AACK,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,UAAU,EAAE;AAEhE;;;;AAIG;AACmC,QAAA,IAAU,CAAA,UAAA,GAAkB,IAAI;AAEtE;;AAEG;AACmC,QAAA,IAAI,CAAA,IAAA,GAAsB,SAAS;AAahE,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI;AACd,QAAA,IAAQ,CAAA,QAAA,GAAqB,IAAI;AAkH3C;IAhHC,oBAAoB,GAAA;QAClB,IAAI,CAAC,kBAAkB,EAAE;;AAG3B,IAAA,MAAM,gBAAgB,GAAA;QACpB,IAAI,CAAC,kBAAkB,EAAE;AACzB,QAAA,KAAK,CAAC,SAAS,CACb,WAAW,EACX,IAAI,CAAC,UAAU,EACf,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,EACjD,KAAK,EACL,CAAC,QAAmB,KAAI;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACtB,SAAC,CACF;;IAGH,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAChD,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;;;AAKlC,IAAA,mBAAmB,CAAC,aAAqB,EAAA;AACvC,QAAA,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,aAAa,CAAC;QAC9D,IAAI,CAAC,gBAAgB,EAAE;;AAIzB,IAAA,aAAa,CAAC,OAA0B,EAAA;AACtC,QAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC;;AAGnD,IAAA,MAAM,iBAAiB,GAAA;;AACrB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC3B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC1B,gBAAA,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC;gBAClF;;AAGF,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,gBAAA,IAAI,CAAC,IAAI,GAAG,aAAa;AACzB,gBAAA,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC;gBACrF;;YAGF,IAAI,CAAC,gBAAgB,EAAE;;QACvB,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,CAAC,CAAC;AACrD,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAE,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC;;;AAItF,IAAA,YAAY,CAAC,GAAc,EAAA;;AACzB,QAAA,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE;YACxC;;AAEF,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;AAClB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;;IAGhC,MAAM,GAAA;;AACJ,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAkB,CAAA,gBAAA,EAAA,IAAA,CAAA,CACb;;AAIX,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC1B,YAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,yBAAA,EAAA,EAAyB,OAAO,EAAC,+CAA+C,EAAG,CAAA,CAC9E;;AAIX,QAAA,MAAM,YAAY,GAAG,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,KAAI,EAAE,EAAE,MAAM,GAAG,CAAC;AAChE,QAAA,MAAM,aAAa,GAAG,YAAY,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,KAAI,EAAE,EAAE,MAAM,GAAG,CAAC;AAC7E,QAAA,MAAM,UAAU,GAAG,aAAa,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,KAAI,EAAE,EAAE,MAAM,GAAG,CAAC;AAE5E,QAAA,MAAM,IAAI,GAAgB;YACxB,EAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAC;AAC1D,YAAA,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAC;AACzD,YAAA,EAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAC;AACzD,YAAA,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAC;SAChE;AAED,QAAA,QACE,CAAC,CAAA,IAAI,EACF,IAAA,EAAA,IAAI,CAAC,GAAG,CAAC,GAAG,IAAG;YACd,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI;AACrC,YAAA,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,QAAQ;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,GAAG,CAAC,QAAQ;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,YAAA,QACE,WAAK,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAA,EAClE,CAAO,CAAA,MAAA,EAAA,IAAA,EAAA,GAAG,CAAC,KAAK,CAAQ,EACxB,CAAA,CAAA,KAAA,EAAA,EAAA,aAAA,EAAiB,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAA,EACnG,CAAA,CAAA,SAAA,EAAA,EAAS,MAAM,EAAC,gBAAgB,EAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAI,CACvE,CACF;SAET,CAAC,CACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.scss?tag=verdocs-template-build-tabs","src/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-build-tabs {\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n flex: 0 0 50px;\n width: 100%;\n background: #ffffff;\n color: #72757d;\n border-bottom: 1px solid #dddddd;\n filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));\n font-family: $verdocs-primary-font;\n\n .tab {\n position: relative;\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n height: 50px;\n padding: 0 4px;\n background: #e7e7e7;\n font-weight: 700;\n font-size: 12px;\n cursor: pointer;\n\n @media (min-width: 768px) {\n padding: 0 8px 0 24px;\n font-size: 14px;\n }\n\n svg {\n position: absolute;\n top: 0;\n right: -19px;\n z-index: 10;\n pointer-events: none;\n display: none;\n\n @media (min-width: 768px) {\n display: block;\n }\n }\n\n &.active {\n background: #ffffff;\n color: #707ae5;\n }\n\n &.disabled {\n cursor: default;\n color: #d1d5db;\n }\n }\n}\n","import {getTemplate, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, h, Event, EventEmitter, Host, Watch, State} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nexport type TVerdocsBuildStep = 'attachments' | 'roles' | 'fields' | 'preview';\n\ninterface IBuildTab {\n id: TVerdocsBuildStep;\n label: string;\n disabled: boolean;\n}\n\n/**\n * Display a set of tabs for the template builder.\n */\n@Component({\n tag: 'verdocs-template-build-tabs',\n styleUrl: 'verdocs-template-build-tabs.scss',\n shadow: false,\n})\nexport class VerdocsTemplateBuildTabs {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from. Unlike most other components, this is an optional parameter here.\n * If the template ID is known, `step` may also be specified to force displaying a specific step in the creation process.\n * If it is not specified, `step` will be ignored and the create step will be shown.\n */\n @Prop({reflect: true, mutable: true}) templateId: string | null = null;\n\n /**\n * The step in the creation process to display.\n */\n @Prop({reflect: true, mutable: true}) step: TVerdocsBuildStep = 'preview';\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the user selects a different step.\n */\n @Event({composed: true}) stepChanged: EventEmitter<TVerdocsBuildStep>;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n this.template = template;\n this.loading = false;\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[BUILD_TABS] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n @Watch('step')\n onStepChanged(newStep: TVerdocsBuildStep) {\n console.log('[BUILD_TABS] Step changed', newStep);\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[BUILD_TABS] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n this.step = 'attachments';\n console.log('[BUILD_TABS] Missing required template ID, forcing view to attachments');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[BUILD_TABS] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleSelect(tab: IBuildTab) {\n if (tab.disabled || tab.id === this.step) {\n return;\n }\n this.step = tab.id;\n this.stepChanged?.emit(tab.id);\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const canEditRoles = (this.template?.documents || []).length > 0;\n const canEditFields = canEditRoles && (this.template?.roles || []).length > 0;\n const canPreview = canEditFields && (this.template?.fields || []).length > 0;\n\n const tabs: IBuildTab[] = [\n {id: 'attachments', label: 'Attachments', disabled: false},\n {id: 'roles', label: 'Workflow', disabled: !canEditRoles},\n {id: 'fields', label: 'Fields', disabled: !canEditFields},\n {id: 'preview', label: 'Preview & Send', disabled: !canPreview},\n ];\n\n return (\n <Host>\n {tabs.map(tab => {\n const isActive = tab.id === this.step;\n const classes = ['tab'];\n if (isActive) classes.push('active');\n if (tab.disabled) classes.push('disabled');\n return (\n <div class={classes.join(' ')} onClick={() => this.handleSelect(tab)}>\n <span>{tab.label}</span>\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"50\" viewBox=\"0 0 19 50\">\n <polygon points=\"0,0 19,25 0,50\" fill={isActive ? '#ffffff' : '#e7e7e7'} />\n </svg>\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -3,11 +3,11 @@ import { getTemplate, getOrganizationContacts, isValidEmail, createEnvelope, for
|
|
|
3
3
|
import { D as DefaultEndpoint } from './p-C_Xku1v2.js';
|
|
4
4
|
import { V as VerdocsToast } from './p-D97GxsI-.js';
|
|
5
5
|
import { S as SDKError } from './p-C1sRVZWv.js';
|
|
6
|
-
import { S as Store } from './p-
|
|
6
|
+
import { S as Store } from './p-C7hFgM52.js';
|
|
7
7
|
import { d as defineCustomElement$8 } from './p-C_yyK5xE.js';
|
|
8
8
|
import { d as defineCustomElement$7 } from './p-BvV9rOTP.js';
|
|
9
9
|
import { d as defineCustomElement$6 } from './p-CdmWI0-q.js';
|
|
10
|
-
import { d as defineCustomElement$5 } from './p-
|
|
10
|
+
import { d as defineCustomElement$5 } from './p-Bzs-6uU0.js';
|
|
11
11
|
import { d as defineCustomElement$4 } from './p-BC5N3FIA.js';
|
|
12
12
|
import { d as defineCustomElement$3 } from './p-CNKACBaL.js';
|
|
13
13
|
import { d as defineCustomElement$2 } from './p-DUYRis3A.js';
|
|
@@ -340,6 +340,6 @@ function defineCustomElement() {
|
|
|
340
340
|
}
|
|
341
341
|
|
|
342
342
|
export { VerdocsSend as V, defineCustomElement as d };
|
|
343
|
-
//# sourceMappingURL=p-
|
|
343
|
+
//# sourceMappingURL=p-BrtyCjOf.js.map
|
|
344
344
|
|
|
345
|
-
//# sourceMappingURL=p-
|
|
345
|
+
//# sourceMappingURL=p-BrtyCjOf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-D1tvdWaA.js","mappings":";;;;;;;;;;;;;;;AAEO,MAAM,YAAY,GAAG,CAAC,QAA0B,KAAK,CAAC,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,MAAA,GAAA,MAAA,GAAA,QAAQ,CAAE,KAAK,KAAI,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;AAEnG,MAAM,YAAY,GAAG,CAAC,QAA0B,EAAE,SAAiB,KACxE,IAAI,CAAC,GAAG,CACN,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,EAC5D,CAAC,CACF;;ACRH,MAAM,cAAc,GAAG,6pEAA6pE;;ACUprE,MAAM,QAAQ,GACZ,0PAA0P;AAE5P,MAAM,SAAS,GACb,kOAAkO;AAEpO,MAAM,QAAQ,GACZ,gQAAgQ;AAElQ,MAAM,QAAQ,GACZ,8PAA8P;MAwBnP,WAAW,iBAAAA,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;AALxB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;;;;AAMU,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI;AAEjC;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAoB,eAAe;AAEnD;;AAEG;AACoB,QAAA,IAAU,CAAA,UAAA,GAAkB,IAAI;AAEvD;;;;;AAKG;AACK,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE;AAEhC;;;AAGG;AACK,QAAA,IAAU,CAAA,UAAA,GAAG,IAAI;QA6BhB,IAAA,CAAA,WAAW,GAAG,CAAA,aAAA,EAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAE;AAC3E,QAAA,IAAe,CAAA,eAAA,GAAG,EAAE;AACpB,QAAA,IAAe,CAAA,eAAA,GAAG,EAAE;AACpB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AACf,QAAA,IAAc,CAAA,cAAA,GAAwC,EAAE;AAExD,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI;AACd,QAAA,IAAQ,CAAA,QAAA,GAAqB,IAAI;AA+S3C;IA7SC,oBAAoB,GAAA;QAClB,IAAI,CAAC,kBAAkB,EAAE;;AAG3B,IAAA,MAAM,gBAAgB,GAAA;QACpB,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,UAAU,CAAC;QACvD,IAAI,CAAC,kBAAkB,EAAE;AACzB,QAAA,KAAK,CAAC,SAAS,CACb,WAAW,EACX,IAAI,CAAC,UAAU,EACf,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,EACjD,IAAI,EACJ,CAAC,QAAmB,KAAI;AACtB,YAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC;AAChD,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;YACxB,IAAI,CAAC,uBAAuB,EAAE;AAChC,SAAC,CACF;;IAGH,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAChD,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;;;AAIxB,IAAA,MAAM,KAAK,GAAA;AACnB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;AAI1B,IAAA,mBAAmB,CAAC,aAAqB,EAAA;AACvC,QAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,aAAa,CAAC;QACxD,IAAI,CAAC,gBAAgB,EAAE;;AAGzB,IAAA,MAAM,iBAAiB,GAAA;;AACrB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAI;gBAC9D,IAAI,CAAC,OAAO,EAAE;oBACZ;;AAGF,gBAAA,MAAM,EAAE,GAAG;oBACT,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB;gBAED,IAAI,OAAO,EAAE;AACX,oBAAA,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;AAE3B,oBAAA,uBAAuB,CAAC,IAAI,CAAC,QAAQ;yBAClC,IAAI,CAAC,QAAQ,IAAG;AACf,wBAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC;wBAC5C,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC;AAC1C,qBAAC;yBACA,KAAK,CAAC,CAAC,IAAG;AACT,wBAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,CAAC,CAAC;AACjD,qBAAC,CAAC;;AAER,aAAC,CAAC;AAEF,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAE3B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC1B,gBAAA,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC;gBAC3E;;AAGF,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,CAAA,oCAAA,EAAuC,IAAI,CAAC,UAAU,CAAE,CAAA,CAAC;gBACrE;;YAGF,IAAI,CAAC,gBAAgB,EAAE;;QACvB,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC;AAChD,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAE,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC;;;IAItF,uBAAuB,GAAA;;AACrB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QAExB,MAAM,YAAY,GAA0C,EAAE;AAC9D,QAAA,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,KAAI,EAAE,EAAE,OAAO,CAAC,IAAI,IAAG;AAC1C,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;AAC3B,YAAA,YAAY,CAAC,KAAK,CAAlB,KAAA,YAAY,CAAC,KAAK,CAAA,GAAM,EAAE,CAAC;AAC3B,YAAA,MAAM,EAAE,GAAG,CAAK,EAAA,EAAA,KAAK,CAAI,CAAA,EAAA,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA,CAAE;AACrD,YAAA,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC;;YAGrH,IAAI,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC/C,gBAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAC,GAAG,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAC;;AAEzH,SAAC,CAAC;;IAGJ,kBAAkB,GAAA;;;;QAGhB,MAAM,SAAS,GAA4B,EAAE;AAC7C,QAAA,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,KAAI,EAAE,EAAE,OAAO,CAAC,IAAI,IAAG;AAC1C,YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI;AACjC,SAAC,CAAC;AACF,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS;AACzB,aAAA,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACX,aAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;AAG1B,IAAA,eAAe,CAAC,KAAa,EAAA;;AAC3B,QAAA,MAAM,YAAY,GAAG,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,KAAI,EAAE;aAC7C,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;aACtC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM;AACrB,YAAA,GAAG,IAAI;AACP,YAAA,EAAE,EAAE,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA;YACzB,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;AAC1B,SAAA,CAAC,CAAC;AACL,QAAA,OAAO,YAAqC;;AAG9C,IAAA,YAAY,CAAC,KAAmC,EAAA;AAC9C,QAAA,IAAI,KAAK,KAAK,OAAO,EAAE;AACrB,YAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,YAAY,EAAC,SAAS,EAAE,SAAS,EAAA,CAAI;;AAClD,aAAA,IAAI,KAAK,KAAK,KAAK,EAAE;AAC1B,YAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,YAAY,EAAC,SAAS,EAAE,QAAQ,EAAA,CAAI;;aACjD;AACL,YAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,YAAY,EAAC,SAAS,EAAE,QAAQ,EAAA,CAAI;;;IAI1D,mBAAmB,CAAC,CAAM,EAAE,IAAyB,EAAA;QACnD,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,EAAC;AACrD,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;;IAG3B,eAAe,CAAC,CAAM,EAAE,IAAyB,EAAA;QAC/C,CAAC,CAAC,eAAe,EAAE;AACnB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE;;AAGhC,IAAA,UAAU,CAAC,CAAM,EAAA;;AACf,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC;YAChD;;AAGF,QAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,cAAc,EAAE;QAClB,CAAC,CAAC,eAAe,EAAE;AAEnB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AAEnB,QAAA,MAAM,OAAO,GAAuC;YAClD,WAAW,EAAE,IAAI,CAAC,UAAU;AAC5B,YAAA,IAAI,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,KAAI,cAAc;YAC3C,WAAW,EAAE,IAAI,CAAC,WAAW;AAC7B,YAAA,gBAAgB,EAAE,CAAC;AACnB,YAAA,kBAAkB,EAAE,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAA2C;SACzF;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC;AACzG,QAAA,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;AACrC,YAAA,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,OAAO,CAAC;AACvD,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;YACpB;;AAGF,QAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,OAAO,CAAC;AAChD,QAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO;aAClC,IAAI,CAAC,CAAC,IAAG;;AACR,YAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAM,KAAK,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAC/D,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;YACpB,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAK,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC;AACpF,SAAC;aACA,KAAK,CAAC,CAAC,IAAG;;AACT,YAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACnC,YAAY,CAAC,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,KAAI,kDAAkD,CAAC;AAC3F,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;YACpB,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC,CAAC,CAAC;AACxB,SAAC,CAAC;;AAGN,IAAA,YAAY,CAAC,CAAM,EAAA;;QACjB,CAAC,CAAC,eAAe,EAAE;QACnB,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,EAAE;;IAGnB,MAAM,GAAA;;AACJ,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAkB,CAAA,gBAAA,EAAA,IAAA,CAAA,CACb;;AAIX,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC1B,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,EAAA,EAC5B,CAAA,CAAA,yBAAA,EAAA,EAAyB,OAAO,EAAC,+CAA+C,EAAG,CAAA,CAC9E;;AAIX,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE;AACxC,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC;AAC1J,QAAA,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;AACnF,QAAA,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AACpE,QAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,GAAG,cAAc,CAAC,MAAM;AAE/E,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,MAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,WAAW,EAAC,EAAA,EACjD,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,WAAW,EAAG,CAAA,EACzB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,CAAmB,iBAAA,CAAA,EAAA,EAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC3B,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,UAAU,EAAA,EAAA,eAAA,CAAoB,CACrC,EAEL,MAAM,CAAC,GAAG,CAAC,KAAK,KACf,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,CAAA,YAAA,EAAe,KAAK,CAAA,CAAE,EAAA,EAC/B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAE7B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,IAAG;;AACtC,YAAA,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS;AAClE,YAAA,MAAM,QAAQ,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,UAAU,IAAG,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC;AAC1J,YAAA,MAAM,IAAI,GAAG,CAAA,uBAAA,EAA0B,IAAI,CAAC,SAAS,EAAE;AACvD,YAAA,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;AAC7D,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;YAC/B,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;AAEnF,YAAA,MAAM,KAAK,GAAG;AACZ,gBAAA,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,SAAS,GAAG,mBAAmB,GAAG,mBAAmB;aAC9D;YAED,OAAO,OAAO,IACZ,WAAK,KAAK,EAAC,WAAW,EAAA,SAAA,EAAU,SAAS,EAAW,SAAA,EAAA,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAA,EACpI,QAAQ,EACT,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAI,CAAA,EACxC,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,EAAE,KAC/B,CAAgB,CAAA,gBAAA,EAAA,EAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,EAAA,EAC1E,CACE,CAAA,wBAAA,EAAA,EAAA,MAAM,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,EACzC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAC9C,kBAAkB,EAAE,IAAI,CAAC,eAAe,EACxC,YAAY,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,IAAI,EAClD,gBAAgB,EAAE,CAAC,IAAG,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA,EAAA,GAC1D,CACa,CAClB,CACG,KAEN,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,WAAW,EAAA,SAAA,EAAU,SAAS,EAAW,SAAA,EAAA,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAA,EAEpI,QAAQ,EACT,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAI,CAAA,EACxC,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,EAAE,KAC/B,CAAgB,CAAA,gBAAA,EAAA,EAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,EAAA,EAC1E,CAAA,CAAA,wBAAA,EAAA,EACE,MAAM,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,EACzC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAC9C,kBAAkB,EAAE,IAAI,CAAC,eAAe,EACxC,YAAY,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,CAAe,EAClE,gBAAgB,EAAE,CAAC,IAAG,EAAC,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA,EAAA,EAC1D,CAAA,CACa,CAClB,CACG,CACP;AACH,SAAC,CAAC,CACE,CACP,CAAC,EAEF,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,CAAA,gBAAA,CAAkB,EAAA,EAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EACzB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,UAAU,EAAA,EAAA,kBAAA,CAAuB,CACxC,CACF,EAEN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EACjB,kBAAkB,IAAI,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,eAAe,EAA8C,EAAA,yCAAA,CAAA,EAC9F,IAAI,CAAC,UAAU,IAAI,CAAA,CAAA,gBAAA,EAAA,EAAgB,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAI,CAAA,EAChJ,CAAA,CAAA,gBAAA,EAAA,EAAgB,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAI,CAAA,EAChJ,IAAI,CAAC,OAAO,IAAI,0BAAmB,CAChC,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/Templates.ts","src/components/embeds/verdocs-send/verdocs-send.scss?tag=verdocs-send","src/components/embeds/verdocs-send/verdocs-send.tsx"],"sourcesContent":["import {ITemplate} from '@verdocs/js-sdk';\n\nexport const getRoleNames = (template: ITemplate | null) => (template?.roles || []).map(role => role.name);\n\nexport const getRoleIndex = (template: ITemplate | null, role_name: string) =>\n Math.max(\n getRoleNames(template).findIndex(name => name === role_name),\n 0,\n );\n","@import '../../../theme.scss';\n\nverdocs-send {\n padding: 10px;\n position: relative;\n background: #ffffff;\n flex-direction: column;\n font-family: $verdocs-primary-font;\n\n &.sendable {\n display: flex;\n }\n\n .recipients {\n position: relative;\n }\n\n // To avoid the need to compute things like heights, this layer is simply displayed \"on top\" of all the level rows. Its\n // background obscures the horizontal lines.\n .left-line {\n top: 32px;\n left: 20px;\n z-index: 1;\n width: 12px;\n bottom: 30px;\n position: absolute;\n background: #ffffff;\n border-left: 3px dotted #9b9b9b;\n }\n\n .level {\n display: flex;\n column-gap: 10px;\n margin-left: 50px;\n position: relative;\n flex-direction: row;\n padding: 8px 0 4px 0;\n border-bottom: 1px solid #97979744;\n\n .level-icon {\n top: 14px;\n z-index: 2;\n left: -40px;\n width: 24px;\n height: 24px;\n position: absolute;\n background: #ffffff;\n\n svg {\n fill: #00000089;\n }\n }\n\n .recipient {\n height: 30px;\n display: flex;\n flex: 0 0 30px;\n color: #000000;\n cursor: pointer;\n font-size: 14px;\n align-items: center;\n border-radius: 30px;\n flex-direction: row;\n background: #dddddd;\n white-space: nowrap;\n border: 2px solid #dddddd;\n padding: 2px 10px 2px 14px;\n\n .icon {\n width: 22px;\n height: 22px;\n flex: 0 0 22px;\n margin: 0 0 0 10px;\n\n svg {\n width: 22px;\n height: 22px;\n fill: #333333;\n outline: none;\n }\n }\n }\n\n .complete {\n flex: 1;\n height: 30px;\n display: flex;\n color: #000000;\n font-size: 14px;\n align-items: center;\n flex-direction: row;\n padding: 3px 10px 3px 2px;\n }\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n column-gap: 15px;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: center;\n\n .error-message {\n width: 100%;\n color: #cc0000;\n font-size: 13px;\n margin-bottom: 10px;\n }\n }\n\n verdocs-contact-picker {\n left: 0;\n top: 41px;\n z-index: 10;\n position: absolute;\n border: 1px solid #dddddd;\n box-shadow: 0 0 6px 3px rgb(0 0 0 / 10%);\n }\n}\n","import {Component, Prop, State, h, Event, EventEmitter, Host, Method, Watch} from '@stencil/core';\nimport {createEnvelope, formatFullName, getTemplate, getOrganizationContacts, getRGBA, isValidEmail, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport type {ICreateEnvelopeFromTemplateRequest, ICreateEnvelopeRecipientFromTemplate, IEnvelope, IRecipient, ITemplate} from '@verdocs/js-sdk';\nimport {IContactSearchEvent} from '../../envelopes/verdocs-contact-picker/verdocs-contact-picker';\nimport {getRoleIndex, getRoleNames} from '../../../utils/Templates';\nimport {DefaultEndpoint} from '../../../utils/Environment';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\n/**\n * Display a form to send a template to one or more recipients in an envelope for signing.\n * Host applications should ensure the template is \"sendable\" before displaying this component.\n * To be sendable, a template must have at least one document attached, at least one participant\n * defined, and at least one field assigned to every \"signer\" participant. This component will\n * hide itself if the template is not sendable.\n *\n * ```ts\n * <verdocs-send\n * templateId={TEMPLATE_ID}\n * onBeforeSend={({ detail })) => { console.log('Sending... Show a spinner...', detail) }\n * onSend={({ detail }) => { console.log('Sent! Hide the spinner...', detail) }\n * onExit={({ detail }) => { console.log('Send cancelled.', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = DefaultEndpoint;\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop({reflect: true}) templateId: string | null = null;\n\n /**\n * The environment the control is being called from, e.g. 'web'. This has an impact on how certain\n * operations such as email communications are handled to ensure users receive the correct URLs for\n * their invitations. Setting this to unknown values may produce unexpected/incorrect behaviors.\n * If environment is not known, do this set this property.\n */\n @Prop() environment: string = '';\n\n /**\n * Whether to show the cancel button. It may be useful to disable this in environments where\n * the embed is shown in a non-wizard flow with its own navigation for the user to exit.\n */\n @Prop() showCancel = true;\n\n /**\n * The user is sending an envelope the form and clicked send.\n */\n @Event({composed: true}) beforeSend: EventEmitter<{recipients: ICreateEnvelopeRecipientFromTemplate[]; name: string; template_id: string; template: ITemplate}>;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipients: ICreateEnvelopeRecipientFromTemplate[]; name: string; template_id: string; envelope_id: string; envelope: IEnvelope}>;\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 if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the user enters text in a search field. The parent application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n @State() showPickerForId = '';\n @State() sessionContacts = [];\n @State() sending = false;\n @State() rolesCompleted: Record<string, Partial<IRecipient>> = {};\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[SEND] Loading template', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n true,\n (template: ITemplate) => {\n console.log('[SEND] Got new template', template);\n this.template = template;\n this.loading = false;\n this.rolesCompleted = {};\n this.recomputeRolesCompleted();\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Method() async reset() {\n this.rolesCompleted = {};\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[SEND] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.onSessionChanged((_endpoint, _session, profile) => {\n if (!profile) {\n return;\n }\n\n const me = {\n id: profile.id,\n first_name: profile.first_name,\n last_name: profile.last_name,\n email: profile.email,\n phone: profile.phone,\n };\n\n if (profile) {\n this.sessionContacts = [me];\n\n getOrganizationContacts(this.endpoint)\n .then(contacts => {\n console.log('[SEND] Got contacts', contacts);\n this.sessionContacts = [...contacts, me];\n })\n .catch(e => {\n console.log('[SEND] Error getting contacts', e);\n });\n }\n });\n\n this.endpoint.loadSession();\n\n if (!this.endpoint.session) {\n console.log('[SEND] Unable to start Send operation, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[SEND] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[SEND] Error with send session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n recomputeRolesCompleted() {\n this.rolesCompleted = {};\n\n const rolesAtLevel: Record<number, Partial<IRecipient>[]> = {};\n (this.template?.roles || []).forEach(role => {\n const level = role.sequence;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name});\n\n // if (role.first_name && (isValidEmail(role.email) || isValidPhone(role.phone))) {\n if (role.first_name && isValidEmail(role.email)) {\n this.rolesCompleted[id] = {...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name};\n }\n });\n }\n\n getSequenceNumbers() {\n // This is cleaner with a Set but we found a regression in some target environments where\n // this breaks down. Reverting to an older technique while we diagnose it.\n const sequences: Record<number, boolean> = {};\n (this.template?.roles || []).forEach(role => {\n sequences[role.sequence] = true;\n });\n return Object.keys(sequences)\n .map(s => +s)\n .sort((a, b) => a - b);\n }\n\n getRolesAtLevel(level: number) {\n const rolesAtLevel = (this.template?.roles || [])\n .filter(role => role.sequence === level)\n .map((role, index) => ({\n ...role,\n id: `r-${level}-${index}`,\n role_name: role.name,\n first_name: role.first_name,\n last_name: role.last_name,\n }));\n return rolesAtLevel as Partial<IRecipient>[];\n }\n\n getLevelIcon(level: 'start' | 'end' | 'sequence') {\n if (level === 'start') {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level === 'end') {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: Partial<IRecipient>) {\n e.preventDefault();\n this.rolesCompleted[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: Partial<IRecipient>) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e: any) {\n if (this.sending) {\n console.log('[SEND] Skipping duplicate send', e);\n return;\n }\n\n console.log('[SEND] Sending', e);\n e.preventDefault();\n e.stopPropagation();\n\n this.sending = true;\n\n const details: ICreateEnvelopeFromTemplateRequest = {\n template_id: this.templateId,\n name: this.template?.name || 'New Envelope',\n environment: this.environment,\n initial_reminder: 0,\n followup_reminders: 0,\n recipients: Object.values(this.rolesCompleted) as ICreateEnvelopeRecipientFromTemplate[],\n };\n\n const beforeSendResult = this.beforeSend.emit({...details, name: details.name!, template: this.template});\n if (beforeSendResult.defaultPrevented) {\n console.log('[SEND] Send cancelled by parent', details);\n this.sending = false;\n return;\n }\n\n console.log('[SEND] Creating envelope', details);\n createEnvelope(this.endpoint, details)\n .then(r => {\n console.log('[SEND] Send envelope', r);\n this.reset().catch((e: any) => console.log('Unknown Error', e));\n this.sending = false;\n this.send?.emit({...details, name: details.name!, envelope_id: r.id, envelope: r});\n })\n .catch(e => {\n console.log('[SEND] Send error', e);\n VerdocsToast(e.response?.data?.error || 'Error creating envelope, please try again later.');\n this.sending = false;\n this.sdkError?.emit(e);\n });\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.exit?.emit();\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host style={{display: 'flex'}}>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const levels = this.getSequenceNumbers();\n const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) && recipient.first_name && recipient.last_name);\n const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;\n const assignedEmails = rolesAssigned.map(r => r.email.toLowerCase());\n const hasDuplicateEmails = new Set(assignedEmails).size < assignedEmails.length;\n\n return (\n <Host class={{sendable: this.template?.is_sendable}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon('start')}\n <div class=\"complete\">Send Envelope</div>\n </div>\n\n {levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon('sequence')}\n\n {this.getRolesAtLevel(level).map(role => {\n const unknown = !role.email || !role.first_name || !role.last_name;\n const roleName = this.rolesCompleted[role.id]?.first_name ? formatFullName(this.rolesCompleted[role.id]) : unknown ? role.role_name : formatFullName(role);\n const elId = `verdocs-send-recipient-${role.role_name}`;\n const roleIndex = getRoleIndex(this.template, role.role_name);\n const rgba = getRGBA(roleIndex);\n const completed = rolesAssigned.findIndex(r => r.role_name === role.role_name) > -1;\n\n const style = {\n backgroundColor: rgba,\n border: completed ? '2px solid #55bc81' : '2px solid #dddddd',\n };\n\n return unknown ? (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={this.rolesCompleted[role.id] ?? role}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n ) : (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {/*<div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={{borderColor: rgba}} onClick={e => this.handleClickRole(e, role)} id={elId}>*/}\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={(this.rolesCompleted[role.id] ?? role) as IRecipient}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n );\n })}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon('end')}\n <div class=\"complete\">Signing Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n {hasDuplicateEmails && <div class=\"error-message\">Recipients cannot share the same email.</div>}\n {this.showCancel && <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} disabled={this.sending} />}\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRolesAssigned || this.sending || hasDuplicateEmails} onClick={e => this.handleSend(e)} />\n {this.sending && <verdocs-spinner />}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-BrtyCjOf.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/Templates.ts","src/components/embeds/verdocs-send/verdocs-send.scss?tag=verdocs-send","src/components/embeds/verdocs-send/verdocs-send.tsx"],"sourcesContent":["import {ITemplate} from '@verdocs/js-sdk';\n\nexport const getRoleNames = (template: ITemplate | null) => (template?.roles || []).map(role => role.name);\n\nexport const getRoleIndex = (template: ITemplate | null, role_name: string) =>\n Math.max(\n getRoleNames(template).findIndex(name => name === role_name),\n 0,\n );\n","@import '../../../theme.scss';\n\nverdocs-send {\n padding: 10px;\n position: relative;\n background: #ffffff;\n flex-direction: column;\n font-family: $verdocs-primary-font;\n\n &.sendable {\n display: flex;\n }\n\n .recipients {\n position: relative;\n }\n\n // To avoid the need to compute things like heights, this layer is simply displayed \"on top\" of all the level rows. Its\n // background obscures the horizontal lines.\n .left-line {\n top: 32px;\n left: 20px;\n z-index: 1;\n width: 12px;\n bottom: 30px;\n position: absolute;\n background: #ffffff;\n border-left: 3px dotted #9b9b9b;\n }\n\n .level {\n display: flex;\n column-gap: 10px;\n margin-left: 50px;\n position: relative;\n flex-direction: row;\n padding: 8px 0 4px 0;\n border-bottom: 1px solid #97979744;\n\n .level-icon {\n top: 14px;\n z-index: 2;\n left: -40px;\n width: 24px;\n height: 24px;\n position: absolute;\n background: #ffffff;\n\n svg {\n fill: #00000089;\n }\n }\n\n .recipient {\n height: 30px;\n display: flex;\n flex: 0 0 30px;\n color: #000000;\n cursor: pointer;\n font-size: 14px;\n align-items: center;\n border-radius: 30px;\n flex-direction: row;\n background: #dddddd;\n white-space: nowrap;\n border: 2px solid #dddddd;\n padding: 2px 10px 2px 14px;\n\n .icon {\n width: 22px;\n height: 22px;\n flex: 0 0 22px;\n margin: 0 0 0 10px;\n\n svg {\n width: 22px;\n height: 22px;\n fill: #333333;\n outline: none;\n }\n }\n }\n\n .complete {\n flex: 1;\n height: 30px;\n display: flex;\n color: #000000;\n font-size: 14px;\n align-items: center;\n flex-direction: row;\n padding: 3px 10px 3px 2px;\n }\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n column-gap: 15px;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: center;\n\n .error-message {\n width: 100%;\n color: #cc0000;\n font-size: 13px;\n margin-bottom: 10px;\n }\n }\n\n verdocs-contact-picker {\n left: 0;\n top: 41px;\n z-index: 10;\n position: absolute;\n border: 1px solid #dddddd;\n box-shadow: 0 0 6px 3px rgb(0 0 0 / 10%);\n }\n}\n","import {Component, Prop, State, h, Event, EventEmitter, Host, Method, Watch} from '@stencil/core';\nimport {createEnvelope, formatFullName, getTemplate, getOrganizationContacts, getRGBA, isValidEmail, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport type {ICreateEnvelopeFromTemplateRequest, ICreateEnvelopeRecipientFromTemplate, IEnvelope, IRecipient, ITemplate} from '@verdocs/js-sdk';\nimport {IContactSearchEvent} from '../../envelopes/verdocs-contact-picker/verdocs-contact-picker';\nimport {getRoleIndex, getRoleNames} from '../../../utils/Templates';\nimport {DefaultEndpoint} from '../../../utils/Environment';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\n/**\n * Display a form to send a template to one or more recipients in an envelope for signing.\n * Host applications should ensure the template is \"sendable\" before displaying this component.\n * To be sendable, a template must have at least one document attached, at least one participant\n * defined, and at least one field assigned to every \"signer\" participant. This component will\n * hide itself if the template is not sendable.\n *\n * ```ts\n * <verdocs-send\n * templateId={TEMPLATE_ID}\n * onBeforeSend={({ detail })) => { console.log('Sending... Show a spinner...', detail) }\n * onSend={({ detail }) => { console.log('Sent! Hide the spinner...', detail) }\n * onExit={({ detail }) => { console.log('Send cancelled.', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = DefaultEndpoint;\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop({reflect: true}) templateId: string | null = null;\n\n /**\n * The environment the control is being called from, e.g. 'web'. This has an impact on how certain\n * operations such as email communications are handled to ensure users receive the correct URLs for\n * their invitations. Setting this to unknown values may produce unexpected/incorrect behaviors.\n * If environment is not known, do this set this property.\n */\n @Prop() environment: string = '';\n\n /**\n * Whether to show the cancel button. It may be useful to disable this in environments where\n * the embed is shown in a non-wizard flow with its own navigation for the user to exit.\n */\n @Prop() showCancel = true;\n\n /**\n * The user is sending an envelope the form and clicked send.\n */\n @Event({composed: true}) beforeSend: EventEmitter<{recipients: ICreateEnvelopeRecipientFromTemplate[]; name: string; template_id: string; template: ITemplate}>;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipients: ICreateEnvelopeRecipientFromTemplate[]; name: string; template_id: string; envelope_id: string; envelope: IEnvelope}>;\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 if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the user enters text in a search field. The parent application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n @State() showPickerForId = '';\n @State() sessionContacts = [];\n @State() sending = false;\n @State() rolesCompleted: Record<string, Partial<IRecipient>> = {};\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[SEND] Loading template', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n true,\n (template: ITemplate) => {\n console.log('[SEND] Got new template', template);\n this.template = template;\n this.loading = false;\n this.rolesCompleted = {};\n this.recomputeRolesCompleted();\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Method() async reset() {\n this.rolesCompleted = {};\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[SEND] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.onSessionChanged((_endpoint, _session, profile) => {\n if (!profile) {\n return;\n }\n\n const me = {\n id: profile.id,\n first_name: profile.first_name,\n last_name: profile.last_name,\n email: profile.email,\n phone: profile.phone,\n };\n\n if (profile) {\n this.sessionContacts = [me];\n\n getOrganizationContacts(this.endpoint)\n .then(contacts => {\n console.log('[SEND] Got contacts', contacts);\n this.sessionContacts = [...contacts, me];\n })\n .catch(e => {\n console.log('[SEND] Error getting contacts', e);\n });\n }\n });\n\n this.endpoint.loadSession();\n\n if (!this.endpoint.session) {\n console.log('[SEND] Unable to start Send operation, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[SEND] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[SEND] Error with send session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n recomputeRolesCompleted() {\n this.rolesCompleted = {};\n\n const rolesAtLevel: Record<number, Partial<IRecipient>[]> = {};\n (this.template?.roles || []).forEach(role => {\n const level = role.sequence;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name});\n\n // if (role.first_name && (isValidEmail(role.email) || isValidPhone(role.phone))) {\n if (role.first_name && isValidEmail(role.email)) {\n this.rolesCompleted[id] = {...role, id, role_name: role.name, first_name: role.first_name, last_name: role.last_name};\n }\n });\n }\n\n getSequenceNumbers() {\n // This is cleaner with a Set but we found a regression in some target environments where\n // this breaks down. Reverting to an older technique while we diagnose it.\n const sequences: Record<number, boolean> = {};\n (this.template?.roles || []).forEach(role => {\n sequences[role.sequence] = true;\n });\n return Object.keys(sequences)\n .map(s => +s)\n .sort((a, b) => a - b);\n }\n\n getRolesAtLevel(level: number) {\n const rolesAtLevel = (this.template?.roles || [])\n .filter(role => role.sequence === level)\n .map((role, index) => ({\n ...role,\n id: `r-${level}-${index}`,\n role_name: role.name,\n first_name: role.first_name,\n last_name: role.last_name,\n }));\n return rolesAtLevel as Partial<IRecipient>[];\n }\n\n getLevelIcon(level: 'start' | 'end' | 'sequence') {\n if (level === 'start') {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level === 'end') {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: Partial<IRecipient>) {\n e.preventDefault();\n this.rolesCompleted[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: Partial<IRecipient>) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e: any) {\n if (this.sending) {\n console.log('[SEND] Skipping duplicate send', e);\n return;\n }\n\n console.log('[SEND] Sending', e);\n e.preventDefault();\n e.stopPropagation();\n\n this.sending = true;\n\n const details: ICreateEnvelopeFromTemplateRequest = {\n template_id: this.templateId,\n name: this.template?.name || 'New Envelope',\n environment: this.environment,\n initial_reminder: 0,\n followup_reminders: 0,\n recipients: Object.values(this.rolesCompleted) as ICreateEnvelopeRecipientFromTemplate[],\n };\n\n const beforeSendResult = this.beforeSend.emit({...details, name: details.name!, template: this.template});\n if (beforeSendResult.defaultPrevented) {\n console.log('[SEND] Send cancelled by parent', details);\n this.sending = false;\n return;\n }\n\n console.log('[SEND] Creating envelope', details);\n createEnvelope(this.endpoint, details)\n .then(r => {\n console.log('[SEND] Send envelope', r);\n this.reset().catch((e: any) => console.log('Unknown Error', e));\n this.sending = false;\n this.send?.emit({...details, name: details.name!, envelope_id: r.id, envelope: r});\n })\n .catch(e => {\n console.log('[SEND] Send error', e);\n VerdocsToast(e.response?.data?.error || 'Error creating envelope, please try again later.');\n this.sending = false;\n this.sdkError?.emit(e);\n });\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.exit?.emit();\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (!this.endpoint.session) {\n return (\n <Host style={{display: 'flex'}}>\n <verdocs-component-error message=\"You must be authenticated to use this module.\" />\n </Host>\n );\n }\n\n const levels = this.getSequenceNumbers();\n const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) && recipient.first_name && recipient.last_name);\n const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;\n const assignedEmails = rolesAssigned.map(r => r.email.toLowerCase());\n const hasDuplicateEmails = new Set(assignedEmails).size < assignedEmails.length;\n\n return (\n <Host class={{sendable: this.template?.is_sendable}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon('start')}\n <div class=\"complete\">Send Envelope</div>\n </div>\n\n {levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon('sequence')}\n\n {this.getRolesAtLevel(level).map(role => {\n const unknown = !role.email || !role.first_name || !role.last_name;\n const roleName = this.rolesCompleted[role.id]?.first_name ? formatFullName(this.rolesCompleted[role.id]) : unknown ? role.role_name : formatFullName(role);\n const elId = `verdocs-send-recipient-${role.role_name}`;\n const roleIndex = getRoleIndex(this.template, role.role_name);\n const rgba = getRGBA(roleIndex);\n const completed = rolesAssigned.findIndex(r => r.role_name === role.role_name) > -1;\n\n const style = {\n backgroundColor: rgba,\n border: completed ? '2px solid #55bc81' : '2px solid #dddddd',\n };\n\n return unknown ? (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={this.rolesCompleted[role.id] ?? role}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n ) : (\n <div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={style} onClick={e => this.handleClickRole(e, role)} id={elId}>\n {/*<div class=\"recipient\" data-ri={roleIndex} data-rn={role.role_name} style={{borderColor: rgba}} onClick={e => this.handleClickRole(e, role)} id={elId}>*/}\n {roleName}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-portal anchor={elId} onClickAway={() => (this.showPickerForId = '')}>\n <verdocs-contact-picker\n onExit={() => (this.showPickerForId = '')}\n onNext={e => this.handleSelectContact(e, role)}\n contactSuggestions={this.sessionContacts}\n templateRole={(this.rolesCompleted[role.id] ?? role) as IRecipient}\n onSearchContacts={e => this.searchContacts?.emit(e.detail)}\n />\n </verdocs-portal>\n )}\n </div>\n );\n })}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon('end')}\n <div class=\"complete\">Signing Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n {hasDuplicateEmails && <div class=\"error-message\">Recipients cannot share the same email.</div>}\n {this.showCancel && <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onClick={e => this.handleCancel(e)} disabled={this.sending} />}\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRolesAssigned || this.sending || hasDuplicateEmails} onClick={e => this.handleSend(e)} />\n {this.sending && <verdocs-spinner />}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -2,7 +2,7 @@ import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from '
|
|
|
2
2
|
import { VerdocsEndpoint, formatFullName, getActiveEntitlements, isValidEmail } from '@verdocs/js-sdk';
|
|
3
3
|
import { c as commonjsGlobal, g as getDefaultExportFromCjs } from './p-BFTU3MAI.js';
|
|
4
4
|
import { B as BETA_ORIGINS } from './p-C_Xku1v2.js';
|
|
5
|
-
import { c as convertToE164 } from './p-
|
|
5
|
+
import { c as convertToE164 } from './p-Cx0Mif05.js';
|
|
6
6
|
import { d as defineCustomElement$4 } from './p-C_yyK5xE.js';
|
|
7
7
|
import { d as defineCustomElement$3 } from './p-BvV9rOTP.js';
|
|
8
8
|
import { d as defineCustomElement$2 } from './p-BC5N3FIA.js';
|
|
@@ -4259,6 +4259,6 @@ function defineCustomElement() {
|
|
|
4259
4259
|
}
|
|
4260
4260
|
|
|
4261
4261
|
export { VerdocsContactPicker as V, defineCustomElement as d };
|
|
4262
|
-
//# sourceMappingURL=p-
|
|
4262
|
+
//# sourceMappingURL=p-Bzs-6uU0.js.map
|
|
4263
4263
|
|
|
4264
|
-
//# sourceMappingURL=p-
|
|
4264
|
+
//# sourceMappingURL=p-Bzs-6uU0.js.map
|