@verdocs/web-sdk 1.9.16 → 1.9.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Envelopes-2277461f.js +65 -0
- package/dist/cjs/Envelopes-2277461f.js.map +1 -0
- package/dist/cjs/{Templates-01d520ad.js → Templates-3404a881.js} +2 -2
- package/dist/cjs/{Templates-01d520ad.js.map → Templates-3404a881.js.map} +1 -1
- package/dist/cjs/Token-576f0e8a.js +73 -0
- package/dist/cjs/Token-576f0e8a.js.map +1 -0
- package/dist/cjs/{VerdocsEndpoint-8c408e5b.js → VerdocsEndpoint-a9bf9d59.js} +3 -70
- package/dist/cjs/VerdocsEndpoint-a9bf9d59.js.map +1 -0
- package/dist/cjs/index-6528b430.js +2348 -0
- package/dist/cjs/index-6528b430.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{templateStore-42a49905.js → templateStore-3c43f83c.js} +2 -2
- package/dist/cjs/{templateStore-42a49905.js.map → templateStore-3c43f83c.js.map} +1 -1
- package/dist/cjs/utils-9b27a65b.js +350 -0
- package/dist/cjs/utils-9b27a65b.js.map +1 -0
- package/dist/cjs/verdocs-auth.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +5 -4
- package/dist/cjs/verdocs-build.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +7 -2
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-date.cjs.entry.js +9 -1
- package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +7 -2
- package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +12 -8
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +7 -2
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +6 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +9 -3
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +16 -4
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-organization-card.cjs.entry.js +2 -2344
- package/dist/cjs/verdocs-organization-card.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-preview.cjs.entry.js +5 -4
- package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-search.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-search.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-send.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-send.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +135 -84
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js +5 -4
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-view.cjs.entry.js +26 -63
- package/dist/cjs/verdocs-view.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js.map +1 -1
- package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.css +0 -0
- package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.js +23 -1
- package/dist/collection/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.js.map +1 -0
- package/dist/collection/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.stories.js +0 -0
- package/dist/collection/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +25 -0
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.css +4 -0
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +22 -0
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.css +15 -6
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +27 -23
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.css +4 -0
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js +22 -0
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +22 -0
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +24 -1
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.css +4 -3
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js +32 -3
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +17 -0
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +142 -69
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +3 -5
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.css +60 -3
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +22 -61
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js.map +1 -1
- package/dist/collection/utils/Envelopes.js +5 -2
- package/dist/collection/utils/Envelopes.js.map +1 -1
- package/dist/collection/utils/utils.js +45 -15
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/Envelopes.js +8 -115
- package/dist/components/Envelopes.js.map +1 -1
- package/dist/components/Token.js +71 -0
- package/dist/components/Token.js.map +1 -0
- package/dist/components/VerdocsEndpoint.js +2 -68
- package/dist/components/VerdocsEndpoint.js.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index2.js +2328 -178
- package/dist/components/index2.js.map +1 -1
- package/dist/components/index3.js +196 -0
- package/dist/components/index3.js.map +1 -0
- package/dist/components/templateStore.js +1 -1
- package/dist/components/utils.js +157 -16
- package/dist/components/utils.js.map +1 -1
- package/dist/components/verdocs-field-checkbox.js +6 -1
- package/dist/components/verdocs-field-checkbox.js.map +1 -1
- package/dist/components/verdocs-field-date.js +8 -0
- package/dist/components/verdocs-field-date.js.map +1 -1
- package/dist/components/verdocs-field-initial.js +6 -1
- package/dist/components/verdocs-field-initial.js.map +1 -1
- package/dist/components/verdocs-field-radio-button.js +12 -8
- package/dist/components/verdocs-field-radio-button.js.map +1 -1
- package/dist/components/verdocs-field-signature2.js +6 -1
- package/dist/components/verdocs-field-signature2.js.map +1 -1
- package/dist/components/verdocs-field-textarea.js +5 -0
- package/dist/components/verdocs-field-textarea.js.map +1 -1
- package/dist/components/verdocs-field-textbox.js +7 -1
- package/dist/components/verdocs-field-textbox.js.map +1 -1
- package/dist/components/verdocs-field-timestamp.js +16 -4
- package/dist/components/verdocs-field-timestamp.js.map +1 -1
- package/dist/components/verdocs-ok-dialog2.js +1 -1
- package/dist/components/verdocs-ok-dialog2.js.map +1 -1
- package/dist/components/verdocs-organization-card.js +1 -2343
- package/dist/components/verdocs-organization-card.js.map +1 -1
- package/dist/components/verdocs-sign.js +132 -79
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-template-fields2.js +1 -1
- package/dist/components/verdocs-view.js +24 -62
- package/dist/components/verdocs-view.js.map +1 -1
- package/dist/docs.json +151 -16
- package/dist/esm/Envelopes-c80609e5.js +62 -0
- package/dist/esm/Envelopes-c80609e5.js.map +1 -0
- package/dist/esm/{Templates-e77fb578.js → Templates-7ae1294e.js} +2 -2
- package/dist/esm/{Templates-e77fb578.js.map → Templates-7ae1294e.js.map} +1 -1
- package/dist/esm/Token-54690789.js +71 -0
- package/dist/esm/Token-54690789.js.map +1 -0
- package/dist/esm/{VerdocsEndpoint-dac04424.js → VerdocsEndpoint-76dbf9b9.js} +3 -69
- package/dist/esm/VerdocsEndpoint-76dbf9b9.js.map +1 -0
- package/dist/esm/index-d264c496.js +2346 -0
- package/dist/esm/index-d264c496.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{templateStore-b8512d36.js → templateStore-a6dfb726.js} +2 -2
- package/dist/esm/{templateStore-b8512d36.js.map → templateStore-a6dfb726.js.map} +1 -1
- package/dist/esm/utils-53001d87.js +336 -0
- package/dist/esm/utils-53001d87.js.map +1 -0
- package/dist/esm/verdocs-auth.entry.js +2 -1
- package/dist/esm/verdocs-auth.entry.js.map +1 -1
- package/dist/esm/verdocs-build.entry.js +5 -4
- package/dist/esm/verdocs-build.entry.js.map +1 -1
- package/dist/esm/verdocs-contact-picker.entry.js +2 -1
- package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm/verdocs-field-checkbox.entry.js +7 -2
- package/dist/esm/verdocs-field-checkbox.entry.js.map +1 -1
- package/dist/esm/verdocs-field-date.entry.js +9 -1
- package/dist/esm/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
- package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
- package/dist/esm/verdocs-field-initial.entry.js +7 -2
- package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
- package/dist/esm/verdocs-field-payment.entry.js +2 -1
- package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm/verdocs-field-radio-button.entry.js +13 -9
- package/dist/esm/verdocs-field-radio-button.entry.js.map +1 -1
- package/dist/esm/verdocs-field-signature_3.entry.js +7 -2
- package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textarea.entry.js +6 -1
- package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textbox.entry.js +9 -3
- package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm/verdocs-field-timestamp.entry.js +16 -4
- package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
- package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
- package/dist/esm/verdocs-organization-card.entry.js +1 -2343
- package/dist/esm/verdocs-organization-card.entry.js.map +1 -1
- package/dist/esm/verdocs-preview.entry.js +5 -4
- package/dist/esm/verdocs-preview.entry.js.map +1 -1
- package/dist/esm/verdocs-quick-functions_3.entry.js +2 -1
- package/dist/esm/verdocs-quick-functions_3.entry.js.map +1 -1
- package/dist/esm/verdocs-search.entry.js +2 -1
- package/dist/esm/verdocs-search.entry.js.map +1 -1
- package/dist/esm/verdocs-send.entry.js +3 -2
- package/dist/esm/verdocs-send.entry.js.map +1 -1
- package/dist/esm/verdocs-sign.entry.js +131 -80
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-template-create_4.entry.js +5 -4
- package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
- package/dist/esm/verdocs-view.entry.js +26 -63
- package/dist/esm/verdocs-view.entry.js.map +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/Envelopes-c80609e5.js +2 -0
- package/dist/esm-es5/Envelopes-c80609e5.js.map +1 -0
- package/dist/esm-es5/{Templates-e77fb578.js → Templates-7ae1294e.js} +2 -2
- package/dist/esm-es5/{Templates-e77fb578.js.map → Templates-7ae1294e.js.map} +0 -0
- package/dist/esm-es5/Token-54690789.js +2 -0
- package/dist/esm-es5/Token-54690789.js.map +1 -0
- package/dist/esm-es5/VerdocsEndpoint-76dbf9b9.js +2 -0
- package/dist/esm-es5/VerdocsEndpoint-76dbf9b9.js.map +1 -0
- package/dist/esm-es5/index-d264c496.js +2 -0
- package/dist/esm-es5/index-d264c496.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/{templateStore-b8512d36.js → templateStore-a6dfb726.js} +2 -2
- package/dist/esm-es5/{templateStore-b8512d36.js.map → templateStore-a6dfb726.js.map} +0 -0
- package/dist/esm-es5/utils-53001d87.js +2 -0
- package/dist/esm-es5/utils-53001d87.js.map +1 -0
- package/dist/esm-es5/verdocs-auth.entry.js +1 -1
- package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-radio-button.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-timestamp.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-organization-card.entry.js +1 -1
- package/dist/esm-es5/verdocs-organization-card.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-quick-functions_3.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-search.entry.js +1 -1
- package/dist/esm-es5/verdocs-search.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-send.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/esm-es5/verdocs-view.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
- package/dist/types/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.d.ts +4 -0
- package/dist/types/components/elements/{verdocs-field-checkbox-group → verdocs-field-checkbox}/verdocs-field-checkbox.stories.d.ts +0 -0
- package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-initial/verdocs-field-initial.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +4 -11
- package/dist/types/components/elements/verdocs-field-signature/verdocs-field-signature.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-textarea/verdocs-field-textarea.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.d.ts +4 -0
- package/dist/types/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +4 -0
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +19 -7
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +1 -2
- package/dist/types/components.d.ts +70 -10
- package/dist/types/utils/utils.d.ts +4 -1
- package/dist/verdocs-web-sdk/p-00cc11c3.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-00cc11c3.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-0e7a7666.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-c0875b7d.entry.js.map → p-0e7a7666.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-0eee7f43.system.js +2 -0
- package/dist/verdocs-web-sdk/p-0eee7f43.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-150a172e.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-150a172e.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-1f1127dd.js +2 -0
- package/dist/verdocs-web-sdk/p-1f1127dd.js.map +1 -0
- package/dist/verdocs-web-sdk/p-208a3320.js +2 -0
- package/dist/verdocs-web-sdk/p-208a3320.js.map +1 -0
- package/dist/verdocs-web-sdk/p-21603661.js +2 -0
- package/dist/verdocs-web-sdk/p-21603661.js.map +1 -0
- package/dist/verdocs-web-sdk/p-27f3e394.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-751e0c80.entry.js.map → p-27f3e394.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-2b7f196e.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2b7f196e.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-2c0f9340.system.js +2 -0
- package/dist/verdocs-web-sdk/p-2c0f9340.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-3175c6f2.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-3175c6f2.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-35333c3b.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-35333c3b.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-359129d0.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-76fd7afd.entry.js.map → p-359129d0.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-00dec610.system.js → p-4437603c.system.js} +2 -2
- package/dist/verdocs-web-sdk/{p-00dec610.system.js.map → p-4437603c.system.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-48285c26.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-48285c26.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-4943d790.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-4943d790.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-4ef84b54.js +2 -0
- package/dist/verdocs-web-sdk/{p-d1f922c2.js.map → p-4ef84b54.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-4f321d05.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-4f321d05.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-51a3ea62.system.js +2 -0
- package/dist/verdocs-web-sdk/p-51a3ea62.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5bbbf36a.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-5bbbf36a.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5c3fce00.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-5c3fce00.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-64cad758.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-64cad758.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-66eacdf0.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-66eacdf0.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-6c2273ee.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-6c2273ee.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-71de4718.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-fac05414.entry.js.map → p-71de4718.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-77a77df6.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-d1256888.entry.js.map → p-77a77df6.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-8251b9eb.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-2fe5b678.entry.js.map → p-8251b9eb.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-888cf244.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-a6fca8c0.system.entry.js.map → p-888cf244.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-90fe342a.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-2b44d1b3.entry.js.map → p-90fe342a.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-93ada77f.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-3629c585.system.entry.js.map → p-93ada77f.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-99144a0a.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-6a8ac53e.system.entry.js.map → p-99144a0a.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-9a763c04.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-a59f1f82.entry.js.map → p-9a763c04.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-a580d69a.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-690ade87.system.entry.js.map → p-a580d69a.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-a9429014.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a9429014.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a9d20e4b.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-79c160f4.system.entry.js.map → p-a9d20e4b.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-ab01f71e.js +2 -0
- package/dist/verdocs-web-sdk/p-ab01f71e.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ace31857.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-ace31857.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-af2c2f79.system.js +2 -0
- package/dist/verdocs-web-sdk/p-af2c2f79.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-b10f26f2.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b10f26f2.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ba8727f3.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-6f7e9e81.system.entry.js.map → p-ba8727f3.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-bdff66f3.js +2 -0
- package/dist/verdocs-web-sdk/p-bdff66f3.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c0804682.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c0804682.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-8cce81ff.system.entry.js → p-c314c231.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-c314c231.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c475a969.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-d52297bc.system.entry.js.map → p-c475a969.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-cf1ed6b8.system.js +2 -0
- package/dist/verdocs-web-sdk/p-cf1ed6b8.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d0a360d6.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d0a360d6.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d2c1dcf9.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-b5882803.system.entry.js.map → p-d2c1dcf9.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-d65f5bf7.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d65f5bf7.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-11fbd83d.entry.js → p-d774ad24.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-d774ad24.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d9b9a354.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-78ec7db1.system.entry.js.map → p-d9b9a354.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-dadccc57.js +2 -0
- package/dist/verdocs-web-sdk/{p-e920fbe1.js.map → p-dadccc57.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-e014f9a6.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-e014f9a6.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ecdd15bf.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-a15b9bc8.entry.js.map → p-ecdd15bf.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-f05afb1f.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-edc2802d.system.entry.js.map → p-f05afb1f.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-90d7da87.system.js → p-f2137361.system.js} +2 -2
- package/dist/verdocs-web-sdk/{p-90d7da87.system.js.map → p-f2137361.system.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-f2f60dc9.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f2f60dc9.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f632dbd8.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f632dbd8.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-fa722164.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-524017b8.entry.js.map → p-fa722164.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
- package/package.json +12 -12
- package/dist/cjs/Envelopes-ea5bf3fc.js +0 -177
- package/dist/cjs/Envelopes-ea5bf3fc.js.map +0 -1
- package/dist/cjs/VerdocsEndpoint-8c408e5b.js.map +0 -1
- package/dist/cjs/utils-beee79a1.js +0 -203
- package/dist/cjs/utils-beee79a1.js.map +0 -1
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +0 -1
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.stories.js.map +0 -1
- package/dist/esm/Envelopes-8038ca25.js +0 -169
- package/dist/esm/Envelopes-8038ca25.js.map +0 -1
- package/dist/esm/VerdocsEndpoint-dac04424.js.map +0 -1
- package/dist/esm/utils-2e6beff8.js +0 -195
- package/dist/esm/utils-2e6beff8.js.map +0 -1
- package/dist/esm-es5/Envelopes-8038ca25.js +0 -2
- package/dist/esm-es5/Envelopes-8038ca25.js.map +0 -1
- package/dist/esm-es5/VerdocsEndpoint-dac04424.js +0 -2
- package/dist/esm-es5/VerdocsEndpoint-dac04424.js.map +0 -1
- package/dist/esm-es5/utils-2e6beff8.js +0 -2
- package/dist/esm-es5/utils-2e6beff8.js.map +0 -1
- package/dist/verdocs-web-sdk/p-04f84127.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-04f84127.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-11fbd83d.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-12a82c8b.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-12a82c8b.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js +0 -2
- package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2467a244.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-2467a244.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-26dc355e.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-26dc355e.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2870fa81.js +0 -2
- package/dist/verdocs-web-sdk/p-2870fa81.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2b44d1b3.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-2fe5b678.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-305e3fb9.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-339c7685.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-339c7685.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-3629c585.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-3c2550a8.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-40565c66.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-40565c66.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-430df46a.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-430df46a.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-4a332358.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-4a332358.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-524017b8.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-5a323cf3.system.js +0 -2
- package/dist/verdocs-web-sdk/p-5a323cf3.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-690ade87.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6a8ac53e.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6f7e9e81.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-751e0c80.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-76fd7afd.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-78ec7db1.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-79c160f4.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-83135a56.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-83135a56.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8bd71fb6.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-8bd71fb6.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8cce81ff.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a15b9bc8.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a59f1f82.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a5ce60d9.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a6fca8c0.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-aad63275.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-aad63275.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-b3ee5dd5.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b5882803.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-becd8d7e.js +0 -2
- package/dist/verdocs-web-sdk/p-becd8d7e.js.map +0 -1
- package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-bf6e28ea.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c0875b7d.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-c803da60.system.js +0 -2
- package/dist/verdocs-web-sdk/p-c803da60.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-d1256888.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-d1f922c2.js +0 -2
- package/dist/verdocs-web-sdk/p-d52297bc.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-da2f172b.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-deb5b86b.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-deb5b86b.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-df877830.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-df877830.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-e6f928eb.js +0 -2
- package/dist/verdocs-web-sdk/p-e6f928eb.js.map +0 -1
- package/dist/verdocs-web-sdk/p-e918e13e.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-e918e13e.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-e920fbe1.js +0 -2
- package/dist/verdocs-web-sdk/p-edc2802d.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fac05414.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fb391ca5.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fb391ca5.entry.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h}from"./index-f78d163d.js";import"./Types-ab9f6af8.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-
|
|
1
|
+
import{r as registerInstance,c as createEvent,h}from"./index-f78d163d.js";import"./Types-ab9f6af8.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-76dbf9b9.js";import{S as SDKError}from"./errors-9b5498c8.js";import"./Token-54690789.js";var authenticateUser=function(t,e){return t.api.post("/authentication/login",e).then((function(t){return t.data}))};var verdocsAuthCss='verdocs-auth{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-auth .login-form,verdocs-auth .signup-form{background:#ffffff;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-direction:column;flex-direction:column;display:-ms-flexbox;display:flex;padding:20px;width:300px;max-width:100%}verdocs-auth .logo{margin:20px 0 30px;width:128px;max-width:100%}verdocs-auth h3{text-align:center;font-weight:400;font-size:16px;line-height:1.75;margin:0}verdocs-auth h4{text-align:center;font-weight:400;font-size:14px;line-height:1.43;margin:0}verdocs-auth .status-result{display:none}verdocs-auth .status-result.debug{white-space:pre-wrap;font-size:14px;background:#fff;padding:10px;display:block;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center}verdocs-auth form{width:100%}verdocs-auth verdocs-text-input{margin-bottom:10px}';var VerdocsAuth=function(){function t(t){registerInstance(this,t);this.authenticated=createEvent(this,"authenticated",7);this.sdkError=createEvent(this,"sdkError",7);this.endpoint=VerdocsEndpoint.getDefault();this.visible=true;this.logo="https://verdocs.com/assets/blue-logo.svg";this.debug=false;this.isAuthenticated=false;this.displayMode="login";this.username="";this.password="";this.loggingIn=false;this.activeSession=null;this.loginError=null}t.prototype.componentWillLoad=function(){var t,e;this.endpoint.loadSession();if(this.endpoint.session){console.log("[AUTH] Authenticated");this.isAuthenticated=true;this.activeSession=this.endpoint.session;(t=this.authenticated)===null||t===void 0?void 0:t.emit({authenticated:true,session:this.endpoint.session})}else{console.log("[AUTH] Anonymous");(e=this.authenticated)===null||e===void 0?void 0:e.emit({authenticated:false,session:null})}};t.prototype.handleLogin=function(){var t=this;this.loggingIn=true;authenticateUser(this.endpoint,{username:this.username,password:this.password}).then((function(e){var n;t.loggingIn=false;t.endpoint.setToken(e.accessToken);t.activeSession=t.endpoint.session;t.isAuthenticated=true;(n=t.authenticated)===null||n===void 0?void 0:n.emit({authenticated:true,session:t.endpoint.session})})).catch((function(e){var n,i,o,s,r;console.log("[AUTH] Authentication error",e.response,JSON.stringify(e));t.loggingIn=false;t.activeSession=null;(n=t.authenticated)===null||n===void 0?void 0:n.emit({authenticated:false,session:null});(i=t.sdkError)===null||i===void 0?void 0:i.emit(new SDKError(e.message,(o=e.response)===null||o===void 0?void 0:o.status,(s=e.response)===null||s===void 0?void 0:s.data));if(((r=e===null||e===void 0?void 0:e.response)===null||r===void 0?void 0:r.status)===403){t.loginError="Please check your username and password and try again."}}))};t.prototype.handleLogout=function(){var t;this.endpoint.clearSession();this.isAuthenticated=false;(t=this.authenticated)===null||t===void 0?void 0:t.emit({authenticated:false,session:null})};t.prototype.handleClearError=function(){this.loginError=null};t.prototype.render=function(){var t=this;if(!this.visible){return h("div",{style:{display:"none"}},"Verdocs Auth Placeholder")}if(this.isAuthenticated){if(this.debug){return h("div",{class:"status-result debug"},h("verdocs-button",{label:"Logout",disabled:this.loggingIn,onClick:function(){return t.handleLogout()}}))}return h("div",{class:"status-result"},"Authenticated")}if(this.displayMode==="signup"){return h("div",{class:"signup-form"},h("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"}),h("h3",null,"Sign up for an account"),h("h4",null,"Already have an account?",h("verdocs-button",{label:"Log In",variant:"text",onClick:function(){return t.displayMode="login"},disabled:this.loggingIn})),h("form",{onSubmit:function(){return t.handleLogin()}},h("verdocs-text-input",{label:"Email",autocomplete:"username",value:this.username,onInput:function(e){return t.username=e.target.value},disabled:this.loggingIn}),h("verdocs-text-input",{label:"Password",type:"password",autocomplete:"current-password",value:this.password,onInput:function(e){return t.password=e.target.value},disabled:this.loggingIn}),h("verdocs-button",{label:"Signup",disabled:this.loggingIn,onClick:function(){return t.handleLogin()},style:{display:"flex",justifyContent:"center",margin:"30px auto 0"}})))}return h("div",{class:"login-form"},h("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"}),h("h3",null,"Log in to your account"),h("h4",null,"Don't have an account?",h("verdocs-button",{label:"Sign Up",variant:"text",onClick:function(){return t.displayMode="signup"},disabled:this.loggingIn})),h("form",{onSubmit:function(){return t.handleLogin()}},h("verdocs-text-input",{label:"Email",autocomplete:"username",value:this.username,onInput:function(e){return t.username=e.target.value},disabled:this.loggingIn}),h("verdocs-text-input",{label:"Password",type:"password",autocomplete:"current-password",value:this.password,onInput:function(e){return t.password=e.target.value},disabled:this.loggingIn}),h("verdocs-button",{label:"Forgot Your Password?",variant:"text",onClick:function(){return t.displayMode="signup"},disabled:this.loggingIn,style:{display:"flex",justifyContent:"center",margin:"10px auto 20px"}}),h("verdocs-button",{label:"Login",disabled:this.loggingIn,onClick:function(){return t.handleLogin()},style:{display:"flex",justifyContent:"center",margin:"10px auto 0"}})),this.loginError?h("verdocs-ok-dialog",{heading:"Login Error",message:this.loginError,onNext:function(){return t.handleClearError()}}):h("div",null))};return t}();VerdocsAuth.style=verdocsAuthCss;export{VerdocsAuth as verdocs_auth};
|
|
2
2
|
//# sourceMappingURL=verdocs-auth.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["node_modules/@verdocs/js-sdk/Users/Auth.js","src/components/embeds/verdocs-auth/verdocs-auth.scss?tag=verdocs-auth","src/components/embeds/verdocs-auth/verdocs-auth.tsx"],"names":["authenticateUser","endpoint","params","api","post","then","r","data","verdocsAuthCss","VerdocsAuth","VerdocsEndpoint","getDefault","prototype","componentWillLoad","this","loadSession","session","console","log","isAuthenticated","activeSession","_a","authenticated","emit","_b","handleLogin","_this","loggingIn","Auth.authenticateUser","username","password","setToken","accessToken","catch","e","response","JSON","stringify","sdkError","SDKError","message","_c","status","_d","_e","loginError","handleLogout","clearSession","handleClearError","render","visible","h","style","display","debug","class","label","disabled","onClick","displayMode","src","logo","alt","variant","onSubmit","autocomplete","value","onInput","target","type","justifyContent","margin","heading","onNext"],"mappings":"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","sourcesContent":["/**\n * Authenticate to Verdocs via user/password authentication\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.authenticateUser({ username: 'test@test.com', password: 'PASSWORD' });\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var authenticateUser = function (endpoint, params) {\n return endpoint.api //\n .post('/authentication/login', params)\n .then(function (r) { return r.data; });\n};\n/**\n * Authenticate to Verdocs via client ID / Secret authentication. **NOTE: This is only suitable for\n * NodeJS server-side applications. Never expose your Client Secret in a Web or Mobile app!** Also note\n * that access tokens may be cached by server-side apps (and this is recommended) but do expire after 2\n * hours. This expiration may change based on future security needs. Application developers are encouraged\n * to check the `exp` expiration field in the response accessToken and renew tokens after they expire.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.authenticateApp({ client_id: 'CLIENTID', client_secret: 'SECRET' });\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var authenticateApp = function (endpoint, params) {\n return endpoint.api //\n .post('/authentication/login_client', {}, { headers: params })\n .then(function (r) { return r.data; });\n};\n/**\n * Validate a token. Only Verdocs tokens will be accepted. Most applications can decode tokens locally,\n * because tokens will be validated when API calls are made anyway. However, high-security applications\n * may use this endpoint to check if a token has been revoked.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {valid} = await Auth.validateToken({ token });\n * if (!valid) {\n * window.alert('Session invalid or expired. Please re-authenticate.');\n * }\n * ```\n */\nexport var validateToken = function (endpoint, params) {\n return endpoint.api //\n .post('/token/isValid', params)\n .then(function (r) { return r.data; });\n};\n/**\n * If called before the session expires, this will refresh the caller's session and tokens.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.refreshTokens();\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var refreshTokens = function (endpoint) {\n return endpoint.api //\n .get('/token')\n .then(function (r) { return r.data; });\n};\n/**\n * Update the caller's password. To help prevent CSRF attack vectors, the user's old password and email address are required.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {status, message} = await Auth.updatePassword({ email, oldPassword, newPassword });\n * if (status !== 'OK') {\n * window.alert(`Password reset error: ${message}`);\n * }\n * ```\n */\nexport var updatePassword = function (endpoint, params) {\n return endpoint.api //\n .put('/user/update_password', params)\n .then(function (r) { return r.data; });\n};\n/**\n * Update the caller's email address.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {profiles} = await Auth.updateEmail({ email: newEmail });\n * ```\n */\nexport var updateEmail = function (endpoint, params) {\n return endpoint.api //\n .put('/user/update_email', params)\n .then(function (r) { return r.data; });\n};\n","@import '../../../theme.scss';\n\nverdocs-auth {\n font-family: $verdocs-primary-font;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .login-form,\n .signup-form {\n background: $verdocs-grey-4;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n display: flex;\n padding: 20px;\n width: 300px;\n max-width: 100%;\n }\n\n .logo {\n margin: 20px 0 30px;\n width: 128px;\n max-width: 100%;\n }\n\n h3 {\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.75;\n margin: 0;\n }\n\n h4 {\n text-align: center;\n font-weight: 400;\n font-size: 14px;\n line-height: 1.43;\n margin: 0;\n }\n\n .status-result {\n display: none;\n\n &.debug {\n white-space: pre-wrap;\n font-size: 14px;\n background: #fff;\n padding: 10px;\n display: block;\n flex-direction: row;\n justify-content: center;\n }\n }\n\n form {\n width: 100%;\n }\n\n verdocs-text-input {\n margin-bottom: 10px;\n }\n}\n","import {Auth} from '@verdocs/js-sdk/Users';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {TSession} from '@verdocs/js-sdk/Sessions/Types';\nimport {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface IAuthStatus {\n authenticated: boolean;\n session: TSession;\n}\n\n/**\n * Display an authentication dialog that allows the user to login or sign up. Callbacks are provided for events that\n * occur during the process (especially successful completion). The success callback will be fired immediately if the\n * user is already authenticated with a valid session, so this component may not always display visibly.\n *\n * To simplify some types of authentication flows, a visibility flag can force this component to never display. This\n * allows you to susbcribe to notifications from the\n *\n * This embed is responsive / mobile-friendly, but the calling application should provide at least a 300px wide\n * container to allow sufficient space for the required forms.\n *\n * As noted below, the primary event is `authenticated`. This will always be fired at least once, immediately after\n * the widget is rendered and the user's status has been checked. It may be fired again as the user completes (or\n * cancels) authentication steps.\n *\n * Authentication is required to demonstrate this Element. You may do this in Storybook by using the Auth\n * embed. This Element will reuse the same session produced by logging in via that Embed.\n *\n * ```typescript\n * interface IAuthStatus {\n * // If true, the user is authenticated with a valid session\n * authenticated: boolean;\n *\n * // Details for the user's session\n * session: IActiveSession | null;\n * }\n * ```\n */\n@Component({\n tag: 'verdocs-auth',\n styleUrl: 'verdocs-auth.scss',\n shadow: false,\n})\nexport class VerdocsAuth {\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 * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display\n * login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may\n * use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.\n */\n @Prop() visible: boolean = true;\n\n /**\n * By default, a Verdocs logo will be displayed above the login/signup forms. This may be used to\n * override its source. (Alternatively, you may simply hide it via CSS overrides.) Logos should be\n * in SVG format for best results.\n */\n @Prop() logo: string = 'https://verdocs.com/assets/blue-logo.svg';\n\n /**\n * If the user is authenticated, this embed will normally render invisibly. If debug is set true, a summary\n * if the user's session details will be displayed instead. This may be useful while debugging authentication\n * flows in new applications.\n */\n @Prop() debug: boolean = false;\n\n /**\n * Event fired when session authentication process has completed. Check the event contents for completion status.\n */\n @Event({composed: true}) authenticated: EventEmitter<IAuthStatus>;\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 @State() isAuthenticated: boolean = false;\n @State() displayMode: string = 'login';\n @State() username: string = '';\n @State() password: string = '';\n @State() loggingIn: boolean = false;\n @State() activeSession: TSession = null;\n @State() loginError: string | null = null;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n if (this.endpoint.session) {\n console.log('[AUTH] Authenticated');\n this.isAuthenticated = true;\n this.activeSession = this.endpoint.session;\n this.authenticated?.emit({authenticated: true, session: this.endpoint.session});\n } else {\n console.log('[AUTH] Anonymous');\n this.authenticated?.emit({authenticated: false, session: null});\n }\n }\n\n handleLogin() {\n this.loggingIn = true;\n Auth.authenticateUser(this.endpoint, {username: this.username, password: this.password})\n .then(r => {\n this.loggingIn = false;\n this.endpoint.setToken(r.accessToken);\n this.activeSession = this.endpoint.session;\n this.isAuthenticated = true;\n this.authenticated?.emit({authenticated: true, session: this.endpoint.session});\n })\n .catch(e => {\n console.log('[AUTH] Authentication error', e.response, JSON.stringify(e));\n this.loggingIn = false;\n this.activeSession = null;\n this.authenticated?.emit({authenticated: false, session: null});\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n\n if (e?.response?.status === 403) {\n this.loginError = 'Please check your username and password and try again.';\n }\n });\n }\n\n handleLogout() {\n this.endpoint.clearSession();\n this.isAuthenticated = false;\n this.authenticated?.emit({authenticated: false, session: null});\n }\n\n handleClearError() {\n this.loginError = null;\n }\n\n render() {\n if (!this.visible) {\n return <div style={{display: 'none'}}>Verdocs Auth Placeholder</div>;\n }\n\n if (this.isAuthenticated) {\n if (this.debug) {\n return (\n <div class=\"status-result debug\">\n <verdocs-button label=\"Logout\" disabled={this.loggingIn} onClick={() => this.handleLogout()} />\n </div>\n );\n }\n\n return <div class=\"status-result\">Authenticated</div>;\n }\n\n if (this.displayMode === 'signup') {\n return (\n <div class=\"signup-form\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n\n <h3>Sign up for an account</h3>\n <h4>\n Already have an account?\n <verdocs-button label=\"Log In\" variant=\"text\" onClick={() => (this.displayMode = 'login')} disabled={this.loggingIn} />\n </h4>\n\n <form onSubmit={() => this.handleLogin()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.username} onInput={(e: any) => (this.username = e.target.value)} disabled={this.loggingIn} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.loggingIn}\n />\n\n <verdocs-button\n label=\"Signup\"\n disabled={this.loggingIn}\n onClick={() => this.handleLogin()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n </form>\n </div>\n );\n }\n\n return (\n <div class=\"login-form\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n\n <h3>Log in to your account</h3>\n <h4>\n Don't have an account?\n <verdocs-button label=\"Sign Up\" variant=\"text\" onClick={() => (this.displayMode = 'signup')} disabled={this.loggingIn} />\n </h4>\n\n <form onSubmit={() => this.handleLogin()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.username} onInput={(e: any) => (this.username = e.target.value)} disabled={this.loggingIn} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.loggingIn}\n />\n\n <verdocs-button\n label=\"Forgot Your Password?\"\n variant=\"text\"\n onClick={() => (this.displayMode = 'signup')}\n disabled={this.loggingIn}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 20px'}}\n />\n\n <verdocs-button label=\"Login\" disabled={this.loggingIn} onClick={() => this.handleLogin()} style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}} />\n </form>\n\n {this.loginError ? <verdocs-ok-dialog heading=\"Login Error\" message={this.loginError} onNext={() => this.handleClearError()} /> : <div />}\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["node_modules/@verdocs/js-sdk/Users/Auth.js","src/components/embeds/verdocs-auth/verdocs-auth.scss?tag=verdocs-auth","src/components/embeds/verdocs-auth/verdocs-auth.tsx"],"names":["authenticateUser","endpoint","params","api","post","then","r","data","verdocsAuthCss","VerdocsAuth","VerdocsEndpoint","getDefault","prototype","componentWillLoad","this","loadSession","session","console","log","isAuthenticated","activeSession","_a","authenticated","emit","_b","handleLogin","_this","loggingIn","Auth.authenticateUser","username","password","setToken","accessToken","catch","e","response","JSON","stringify","sdkError","SDKError","message","_c","status","_d","_e","loginError","handleLogout","clearSession","handleClearError","render","visible","h","style","display","debug","class","label","disabled","onClick","displayMode","src","logo","alt","variant","onSubmit","autocomplete","value","onInput","target","type","justifyContent","margin","heading","onNext"],"mappings":"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","sourcesContent":["/**\n * Authenticate to Verdocs via user/password authentication\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.authenticateUser({ username: 'test@test.com', password: 'PASSWORD' });\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var authenticateUser = function (endpoint, params) {\n return endpoint.api //\n .post('/authentication/login', params)\n .then(function (r) { return r.data; });\n};\n/**\n * Authenticate to Verdocs via client ID / Secret authentication. **NOTE: This is only suitable for\n * NodeJS server-side applications. Never expose your Client Secret in a Web or Mobile app!** Also note\n * that access tokens may be cached by server-side apps (and this is recommended) but do expire after 2\n * hours. This expiration may change based on future security needs. Application developers are encouraged\n * to check the `exp` expiration field in the response accessToken and renew tokens after they expire.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.authenticateApp({ client_id: 'CLIENTID', client_secret: 'SECRET' });\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var authenticateApp = function (endpoint, params) {\n return endpoint.api //\n .post('/authentication/login_client', {}, { headers: params })\n .then(function (r) { return r.data; });\n};\n/**\n * Validate a token. Only Verdocs tokens will be accepted. Most applications can decode tokens locally,\n * because tokens will be validated when API calls are made anyway. However, high-security applications\n * may use this endpoint to check if a token has been revoked.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {valid} = await Auth.validateToken({ token });\n * if (!valid) {\n * window.alert('Session invalid or expired. Please re-authenticate.');\n * }\n * ```\n */\nexport var validateToken = function (endpoint, params) {\n return endpoint.api //\n .post('/token/isValid', params)\n .then(function (r) { return r.data; });\n};\n/**\n * If called before the session expires, this will refresh the caller's session and tokens.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n * import {Transport} from '@verdocs/js-sdk/HTTP';\n *\n * const {accessToken} = await Auth.refreshTokens();\n * Transport.setAuthToken(accessToken);\n * ```\n */\nexport var refreshTokens = function (endpoint) {\n return endpoint.api //\n .get('/token')\n .then(function (r) { return r.data; });\n};\n/**\n * Update the caller's password. To help prevent CSRF attack vectors, the user's old password and email address are required.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {status, message} = await Auth.updatePassword({ email, oldPassword, newPassword });\n * if (status !== 'OK') {\n * window.alert(`Password reset error: ${message}`);\n * }\n * ```\n */\nexport var updatePassword = function (endpoint, params) {\n return endpoint.api //\n .put('/user/update_password', params)\n .then(function (r) { return r.data; });\n};\n/**\n * Update the caller's email address.\n *\n * ```typescript\n * import {Auth} from '@verdocs/js-sdk/Auth';\n *\n * const {profiles} = await Auth.updateEmail({ email: newEmail });\n * ```\n */\nexport var updateEmail = function (endpoint, params) {\n return endpoint.api //\n .put('/user/update_email', params)\n .then(function (r) { return r.data; });\n};\n","@import '../../../theme.scss';\n\nverdocs-auth {\n font-family: $verdocs-primary-font;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .login-form,\n .signup-form {\n background: $verdocs-grey-4;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n display: flex;\n padding: 20px;\n width: 300px;\n max-width: 100%;\n }\n\n .logo {\n margin: 20px 0 30px;\n width: 128px;\n max-width: 100%;\n }\n\n h3 {\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.75;\n margin: 0;\n }\n\n h4 {\n text-align: center;\n font-weight: 400;\n font-size: 14px;\n line-height: 1.43;\n margin: 0;\n }\n\n .status-result {\n display: none;\n\n &.debug {\n white-space: pre-wrap;\n font-size: 14px;\n background: #fff;\n padding: 10px;\n display: block;\n flex-direction: row;\n justify-content: center;\n }\n }\n\n form {\n width: 100%;\n }\n\n verdocs-text-input {\n margin-bottom: 10px;\n }\n}\n","import {Auth} from '@verdocs/js-sdk/Users';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {TSession} from '@verdocs/js-sdk/Sessions/Types';\nimport {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface IAuthStatus {\n authenticated: boolean;\n session: TSession;\n}\n\n/**\n * Display an authentication dialog that allows the user to login or sign up. Callbacks are provided for events that\n * occur during the process (especially successful completion). The success callback will be fired immediately if the\n * user is already authenticated with a valid session, so this component may not always display visibly.\n *\n * To simplify some types of authentication flows, a visibility flag can force this component to never display. This\n * allows you to susbcribe to notifications from the\n *\n * This embed is responsive / mobile-friendly, but the calling application should provide at least a 300px wide\n * container to allow sufficient space for the required forms.\n *\n * As noted below, the primary event is `authenticated`. This will always be fired at least once, immediately after\n * the widget is rendered and the user's status has been checked. It may be fired again as the user completes (or\n * cancels) authentication steps.\n *\n * Authentication is required to demonstrate this Element. You may do this in Storybook by using the Auth\n * embed. This Element will reuse the same session produced by logging in via that Embed.\n *\n * ```typescript\n * interface IAuthStatus {\n * // If true, the user is authenticated with a valid session\n * authenticated: boolean;\n *\n * // Details for the user's session\n * session: IActiveSession | null;\n * }\n * ```\n */\n@Component({\n tag: 'verdocs-auth',\n styleUrl: 'verdocs-auth.scss',\n shadow: false,\n})\nexport class VerdocsAuth {\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 * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display\n * login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may\n * use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.\n */\n @Prop() visible: boolean = true;\n\n /**\n * By default, a Verdocs logo will be displayed above the login/signup forms. This may be used to\n * override its source. (Alternatively, you may simply hide it via CSS overrides.) Logos should be\n * in SVG format for best results.\n */\n @Prop() logo: string = 'https://verdocs.com/assets/blue-logo.svg';\n\n /**\n * If the user is authenticated, this embed will normally render invisibly. If debug is set true, a summary\n * if the user's session details will be displayed instead. This may be useful while debugging authentication\n * flows in new applications.\n */\n @Prop() debug: boolean = false;\n\n /**\n * Event fired when session authentication process has completed. Check the event contents for completion status.\n */\n @Event({composed: true}) authenticated: EventEmitter<IAuthStatus>;\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 @State() isAuthenticated: boolean = false;\n @State() displayMode: string = 'login';\n @State() username: string = '';\n @State() password: string = '';\n @State() loggingIn: boolean = false;\n @State() activeSession: TSession = null;\n @State() loginError: string | null = null;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n if (this.endpoint.session) {\n console.log('[AUTH] Authenticated');\n this.isAuthenticated = true;\n this.activeSession = this.endpoint.session;\n this.authenticated?.emit({authenticated: true, session: this.endpoint.session});\n } else {\n console.log('[AUTH] Anonymous');\n this.authenticated?.emit({authenticated: false, session: null});\n }\n }\n\n handleLogin() {\n this.loggingIn = true;\n Auth.authenticateUser(this.endpoint, {username: this.username, password: this.password})\n .then(r => {\n this.loggingIn = false;\n this.endpoint.setToken(r.accessToken);\n this.activeSession = this.endpoint.session;\n this.isAuthenticated = true;\n this.authenticated?.emit({authenticated: true, session: this.endpoint.session});\n })\n .catch(e => {\n console.log('[AUTH] Authentication error', e.response, JSON.stringify(e));\n this.loggingIn = false;\n this.activeSession = null;\n this.authenticated?.emit({authenticated: false, session: null});\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n\n if (e?.response?.status === 403) {\n this.loginError = 'Please check your username and password and try again.';\n }\n });\n }\n\n handleLogout() {\n this.endpoint.clearSession();\n this.isAuthenticated = false;\n this.authenticated?.emit({authenticated: false, session: null});\n }\n\n handleClearError() {\n this.loginError = null;\n }\n\n render() {\n if (!this.visible) {\n return <div style={{display: 'none'}}>Verdocs Auth Placeholder</div>;\n }\n\n if (this.isAuthenticated) {\n if (this.debug) {\n return (\n <div class=\"status-result debug\">\n <verdocs-button label=\"Logout\" disabled={this.loggingIn} onClick={() => this.handleLogout()} />\n </div>\n );\n }\n\n return <div class=\"status-result\">Authenticated</div>;\n }\n\n if (this.displayMode === 'signup') {\n return (\n <div class=\"signup-form\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n\n <h3>Sign up for an account</h3>\n <h4>\n Already have an account?\n <verdocs-button label=\"Log In\" variant=\"text\" onClick={() => (this.displayMode = 'login')} disabled={this.loggingIn} />\n </h4>\n\n <form onSubmit={() => this.handleLogin()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.username} onInput={(e: any) => (this.username = e.target.value)} disabled={this.loggingIn} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.loggingIn}\n />\n\n <verdocs-button\n label=\"Signup\"\n disabled={this.loggingIn}\n onClick={() => this.handleLogin()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n </form>\n </div>\n );\n }\n\n return (\n <div class=\"login-form\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n\n <h3>Log in to your account</h3>\n <h4>\n Don't have an account?\n <verdocs-button label=\"Sign Up\" variant=\"text\" onClick={() => (this.displayMode = 'signup')} disabled={this.loggingIn} />\n </h4>\n\n <form onSubmit={() => this.handleLogin()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.username} onInput={(e: any) => (this.username = e.target.value)} disabled={this.loggingIn} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.loggingIn}\n />\n\n <verdocs-button\n label=\"Forgot Your Password?\"\n variant=\"text\"\n onClick={() => (this.displayMode = 'signup')}\n disabled={this.loggingIn}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 20px'}}\n />\n\n <verdocs-button label=\"Login\" disabled={this.loggingIn} onClick={() => this.handleLogin()} style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}} />\n </form>\n\n {this.loginError ? <verdocs-ok-dialog heading=\"Login Error\" message={this.loginError} onNext={() => this.handleClearError()} /> : <div />}\n </div>\n );\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function i(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r["throw"](e))}catch(e){s(e)}}function l(e){e.done?n(e.value):o(e.value).then(i,a)}l((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,i;return i={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function a(e){return function(t){return l([e,t])}}function l(i){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,o&&(s=i[0]&2?o["return"]:i[0]?o["throw"]||((s=o["return"])&&s.call(o),0):o.next)&&!(s=s.call(o,i[1])).done)return s;if(o=0,s)i=[i[0]&2,s.value];switch(i[0]){case 0:case 1:s=i;break;case 4:n.label++;return{value:i[1],done:false};case 5:n.label++;o=i[1];i=[0];continue;case 7:i=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(i[0]===6||i[0]===2)){n=0;continue}if(i[0]===3&&(!s||i[1]>s[0]&&i[1]<s[3])){n.label=i[1];break}if(i[0]===6&&n.label<s[1]){n.label=s[1];s=i;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(i);break}if(s[2])n.ops.pop();n.trys.pop();continue}i=t.call(e,n)}catch(e){i=[6,e];o=0}finally{r=s=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";import"./Types-ab9f6af8.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function i(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r["throw"](e))}catch(e){s(e)}}function l(e){e.done?n(e.value):o(e.value).then(i,a)}l((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,i;return i={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function a(e){return function(t){return l([e,t])}}function l(i){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,o&&(s=i[0]&2?o["return"]:i[0]?o["throw"]||((s=o["return"])&&s.call(o),0):o.next)&&!(s=s.call(o,i[1])).done)return s;if(o=0,s)i=[i[0]&2,s.value];switch(i[0]){case 0:case 1:s=i;break;case 4:n.label++;return{value:i[1],done:false};case 5:n.label++;o=i[1];i=[0];continue;case 7:i=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(i[0]===6||i[0]===2)){n=0;continue}if(i[0]===3&&(!s||i[1]>s[0]&&i[1]<s[3])){n.label=i[1];break}if(i[0]===6&&n.label<s[1]){n.label=s[1];s=i;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(i);break}if(s[2])n.ops.pop();n.trys.pop();continue}i=t.call(e,n)}catch(e){i=[6,e];o=0}finally{r=s=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";import"./Types-ab9f6af8.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-76dbf9b9.js";import{l as loadTemplate}from"./Templates-7ae1294e.js";import{S as SDKError}from"./errors-9b5498c8.js";import"./Token-54690789.js";import"./Templates-0638b1e4.js";import"./templateStore-a6dfb726.js";import"./index-fd7b8a34.js";import"./utils-53001d87.js";var verdocsBuildCss='verdocs-build{display:-ms-flexbox;display:flex;font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}';var VerdocsBuild=function(){function e(e){registerInstance(this,e);this.sdkError=createEvent(this,"sdkError",7);this.fields=[];this.endpoint=VerdocsEndpoint.getDefault();this.templateId=null;this.step="create";this.pdfUrl=null;this.template=null}e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n,r;return __generator(this,(function(o){switch(o.label){case 0:this.endpoint.loadSession();if(!this.endpoint.session){console.log("[BUILD] Unable to start builder session, must be authenticated");return[2]}if(!this.templateId){console.log("[BUILD] No template ID specified, showing upload option");this.step="create";return[2]}o.label=1;case 1:o.trys.push([1,3,,4]);console.log("[BUILD] Loading template ".concat(this.templateId));return[4,loadTemplate(this.endpoint,this.templateId)];case 2:o.sent();this.step="fields";return[3,4];case 3:r=o.sent();console.log("[BUILD] Error loading template",r);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new SDKError(r.message,(t=r.response)===null||t===void 0?void 0:t.status,(n=r.response)===null||n===void 0?void 0:n.data));return[3,4];case 4:return[2]}}))}))};e.prototype.handleCancel=function(e){console.log("Cancel",e.detail);this.step=""};e.prototype.handleTemplateCreated=function(e){console.log("Created",e.detail);this.step="properties"};e.prototype.handlePropertiesUpdated=function(e){console.log("updated",e.detail);this.step="recipients"};e.prototype.handleRecipientsUpdated=function(e){console.log("updated",e.detail);this.step="fields"};e.prototype.render=function(){var e=this;return h(Host,null,this.step==="create"&&h("verdocs-template-create",{onCancel:function(t){return e.handleCancel(t)},onNext:function(t){return e.handleTemplateCreated(t)}}),this.step==="properties"&&h("verdocs-template-properties",{onCancel:function(t){return e.handleCancel(t)},onNext:function(t){return e.handlePropertiesUpdated(t)}}),this.step==="recipients"&&h("verdocs-template-recipients",{onCancel:function(t){return e.handleCancel(t)},onNext:function(t){return e.handleRecipientsUpdated(t)}}),this.step==="fields"&&h("verdocs-template-fields",{onCancel:function(t){return e.handleCancel(t)},onNext:function(t){return e.handleCancel(t)}}))};return e}();VerdocsBuild.style=verdocsBuildCss;export{VerdocsBuild as verdocs_build};
|
|
2
2
|
//# sourceMappingURL=verdocs-build.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/embeds/verdocs-build/verdocs-build.scss?tag=verdocs-build","src/components/embeds/verdocs-build/verdocs-build.tsx"],"names":["verdocsBuildCss","VerdocsBuild","this","fields","VerdocsEndpoint","getDefault","class_1","prototype","componentWillLoad","endpoint","loadSession","session","console","log","templateId","step","concat","loadTemplate","_d","sent","e_1","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","handleCancel","e","detail","handleTemplateCreated","handlePropertiesUpdated","handleRecipientsUpdated","render","_this","h","Host","onCancel","onNext"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["src/components/embeds/verdocs-build/verdocs-build.scss?tag=verdocs-build","src/components/embeds/verdocs-build/verdocs-build.tsx"],"names":["verdocsBuildCss","VerdocsBuild","this","fields","VerdocsEndpoint","getDefault","class_1","prototype","componentWillLoad","endpoint","loadSession","session","console","log","templateId","step","concat","loadTemplate","_d","sent","e_1","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","handleCancel","e","detail","handleTemplateCreated","handlePropertiesUpdated","handleRecipientsUpdated","render","_this","h","Host","onCancel","onNext"],"mappings":"w2DAAA,IAAMA,gBAAkB,kOCcXC,aAAY,+FAqBvBC,KAAAC,OAA2B,iBAjBSC,gBAAgBC,6BAKhB,eAQpB,qBACE,mBACoB,KAIhCC,EAAAC,UAAAC,kBAAN,mIACEN,KAAKO,SAASC,cACd,IAAKR,KAAKO,SAASE,QAAS,CAC1BC,QAAQC,IAAI,kEACZ,MAAA,CAAA,GAGF,IAAKX,KAAKY,WAAY,CACpBF,QAAQC,IAAI,2DACZX,KAAKa,KAAO,SACZ,MAAA,CAAA,0CAIAH,QAAQC,IAAI,4BAAAG,OAA4Bd,KAAKY,aAC7C,MAAA,CAAA,EAAMG,aAAaf,KAAKO,SAAUP,KAAKY,oBAAvCI,EAAAC,OACAjB,KAAKa,KAAO,uCAEZH,QAAQC,IAAI,iCAAkCO,IAC9CC,EAAAnB,KAAKoB,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,KAAK,IAAIC,SAASJ,EAAEK,SAASC,EAAAN,EAAEO,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,QAAQC,EAAAT,EAAEO,YAAQ,MAAAE,SAAA,OAAA,EAAAA,EAAEC,4CAIhFxB,EAAAC,UAAAwB,aAAA,SAAaC,GACXpB,QAAQC,IAAI,SAAUmB,EAAEC,QACxB/B,KAAKa,KAAO,IAGdT,EAAAC,UAAA2B,sBAAA,SAAsBF,GACpBpB,QAAQC,IAAI,UAAWmB,EAAEC,QACzB/B,KAAKa,KAAO,cAGdT,EAAAC,UAAA4B,wBAAA,SAAwBH,GACtBpB,QAAQC,IAAI,UAAWmB,EAAEC,QACzB/B,KAAKa,KAAO,cAGdT,EAAAC,UAAA6B,wBAAA,SAAwBJ,GACtBpB,QAAQC,IAAI,UAAWmB,EAAEC,QACzB/B,KAAKa,KAAO,UAGdT,EAAAC,UAAA8B,OAAA,WAAA,IAAAC,EAAApC,KACE,OACEqC,EAACC,KAAI,KACFtC,KAAKa,OAAS,UAAYwB,EAAA,0BAAA,CAAyBE,SAAU,SAAAT,GAAK,OAAAM,EAAKP,aAAaC,IAAIU,OAAQ,SAAAV,GAAK,OAAAM,EAAKJ,sBAAsBF,MAChI9B,KAAKa,OAAS,cAAgBwB,EAAA,8BAAA,CAA6BE,SAAU,SAAAT,GAAK,OAAAM,EAAKP,aAAaC,IAAIU,OAAQ,SAAAV,GAAK,OAAAM,EAAKH,wBAAwBH,MAC1I9B,KAAKa,OAAS,cAAgBwB,EAAA,8BAAA,CAA6BE,SAAU,SAAAT,GAAK,OAAAM,EAAKP,aAAaC,IAAIU,OAAQ,SAAAV,GAAK,OAAAM,EAAKF,wBAAwBJ,MAC1I9B,KAAKa,OAAS,UAAYwB,EAAA,0BAAA,CAAyBE,SAAU,SAAAT,GAAK,OAAAM,EAAKP,aAAaC,IAAIU,OAAQ,SAAAV,GAAK,OAAAM,EAAKP,aAAaC,iBAxEvG","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-build {\n display: flex;\n font-family: $verdocs-primary-font;\n justify-content: center;\n align-items: center;\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {loadTemplate} from '../../../utils/Templates';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a template building experience.\n */\n@Component({\n tag: 'verdocs-build',\n styleUrl: 'verdocs-build.scss',\n shadow: false,\n})\nexport class VerdocsBuild {\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.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() step = 'create';\n @State() pdfUrl = null;\n @State() template: ITemplate | null = null;\n\n fields: ITemplateField[] = [];\n\n async componentWillLoad() {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[BUILD] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[BUILD] No template ID specified, showing upload option`);\n this.step = 'create';\n return;\n }\n\n try {\n console.log(`[BUILD] Loading template ${this.templateId}`);\n await loadTemplate(this.endpoint, this.templateId);\n this.step = 'fields';\n } catch (e) {\n console.log('[BUILD] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleCancel(e: any) {\n console.log('Cancel', e.detail);\n this.step = '';\n }\n\n handleTemplateCreated(e: any) {\n console.log('Created', e.detail);\n this.step = 'properties';\n }\n\n handlePropertiesUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'recipients';\n }\n\n handleRecipientsUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'fields';\n }\n\n render() {\n return (\n <Host>\n {this.step === 'create' && <verdocs-template-create onCancel={e => this.handleCancel(e)} onNext={e => this.handleTemplateCreated(e)} />}\n {this.step === 'properties' && <verdocs-template-properties onCancel={e => this.handleCancel(e)} onNext={e => this.handlePropertiesUpdated(e)} />}\n {this.step === 'recipients' && <verdocs-template-recipients onCancel={e => this.handleCancel(e)} onNext={e => this.handleRecipientsUpdated(e)} />}\n {this.step === 'fields' && <verdocs-template-fields onCancel={e => this.handleCancel(e)} onNext={e => this.handleCancel(e)} />}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h}from"./index-f78d163d.js";import"./Types-ab9f6af8.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-
|
|
1
|
+
import{r as registerInstance,c as createEvent,h}from"./index-f78d163d.js";import"./Types-ab9f6af8.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-76dbf9b9.js";import"./Token-54690789.js";var verdocsContactPickerCss='verdocs-contact-picker{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;background-color:#ffffff}verdocs-contact-picker form{background-color:#f5f5fa;padding:12px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-contact-picker form .row{width:300px;display:-ms-flexbox;display:flex;position:relative;margin:0 0 20px 0;-ms-flex-direction:column;flex-direction:column}verdocs-contact-picker form label{display:block;font-size:14px;font-weight:500;margin:0 0 4px 0;color:#5c6575}verdocs-contact-picker form input{border:none;font-size:18px;padding:3px 6px 3px 0;background:transparent;border-bottom:1px solid #33364b}verdocs-contact-picker form input:focus{outline:none}verdocs-contact-picker form .dropdown{left:0;right:0;top:49px;z-index:100;position:absolute;background:#ffffff;-webkit-box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1);box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.1)}verdocs-contact-picker form .dropdown .suggestion{display:-ms-flexbox;display:flex;padding:6px 12px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker form .dropdown .suggestion svg{fill:#666666}verdocs-contact-picker form .dropdown .suggestion .avatar{width:48px;height:48px;-ms-flex:0 0 48px;flex:0 0 48px;margin-right:8px;border-radius:100%}verdocs-contact-picker form .dropdown .suggestion .details{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-contact-picker form .dropdown .suggestion .name{font-size:16px;font-weight:500;margin-bottom:3px;color:#092c4c}verdocs-contact-picker form .dropdown .suggestion .destination{font-size:14px;margin-bottom:3px;color:#33364b}verdocs-contact-picker form .dropdown .suggestion:hover{background:#eee;cursor:pointer}verdocs-contact-picker .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin-top:16px;-ms-flex-direction:row;flex-direction:row}verdocs-contact-picker .buttons .flex-fill{-ms-flex:1;flex:1}verdocs-contact-picker ::-webkit-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::-moz-placeholder{color:#aaaaaa}verdocs-contact-picker :-ms-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::-ms-input-placeholder{color:#aaaaaa}verdocs-contact-picker ::placeholder{color:#aaaaaa}verdocs-contact-picker [data-lastpass-icon-root]{display:none !important}';var messageIcon='<svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiBox-root css-1om0hkc" focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z"></path></svg>';var delegateIcon='<svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiSvgIcon-root MuiSvgIcon-fontSizeLarge css-zjt8k" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="AssignmentIndIcon" tabindex="-1" title="AssignmentInd"><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 4c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.1V19z"></path></svg>';var placeholderIcon='<svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiSvgIcon-root MuiSvgIcon-fontSizeLarge css-zjt8k" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="AccountCircleIcon" tabindex="-1" title="AccountCircle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20z"></path></svg>';var VerdocsContactPicker=function(){function e(e){registerInstance(this,e);this.searchContacts=createEvent(this,"searchContacts",7);this.cancel=createEvent(this,"cancel",7);this.next=createEvent(this,"next",7);this.endpoint=VerdocsEndpoint.getDefault();this.templateRole=null;this.contactSuggestions=[];this.name=undefined;this.email=undefined;this.phone=undefined;this.message=undefined;this.showSuggestions=false;this.showMessage=false;this.delegator=false}e.prototype.componentWillLoad=function(){if(this.templateRole){this.name=this.templateRole.full_name||"";this.email=this.templateRole.email||"";this.phone=this.templateRole.phone||"";this.delegator=this.templateRole.delegator||false;this.message=this.templateRole.message||"";this.showMessage=this.message!==""}};e.prototype.handleNameChange=function(e){var o;this.name=e.target.value;(o=this.searchContacts)===null||o===void 0?void 0:o.emit({query:this.name})};e.prototype.handleEmailChange=function(e){this.email=e.target.value};e.prototype.handlePhoneChange=function(e){this.phone=e.target.value};e.prototype.handleMessageChange=function(e){this.message=e.target.value};e.prototype.handleCancel=function(e){var o;e.stopPropagation();this.showSuggestions=false;(o=this.cancel)===null||o===void 0?void 0:o.emit()};e.prototype.handleSubmit=function(e){var o;e.stopPropagation();this.showSuggestions=false;(o=this.next)===null||o===void 0?void 0:o.emit({full_name:this.name,email:this.email,phone:this.phone,message:this.message,delegator:this.delegator})};e.prototype.handleSelectSuggestion=function(e,o){e.stopPropagation();this.name=o.name;this.email=o.email;this.phone=o.phone;this.showSuggestions=false};e.prototype.render=function(){var e=this;return h("form",{onSubmit:function(e){return e.preventDefault()},onClick:function(e){return e.stopPropagation()},autocomplete:"off"},h("div",{class:"row"},h("label",{htmlFor:"verdocs-contact-picker-name"},"Name:"),h("input",{id:"verdocs-contact-picker-name",name:"verdocs-contact-picker-name",type:"text","data-lpignore":"true",autocomplete:"off",value:this.name,placeholder:"Recipient Name...",onFocus:function(){var o;return e.showSuggestions=((o=e.contactSuggestions)===null||o===void 0?void 0:o.length)>0},onInput:function(o){return e.handleNameChange(o)}}),this.showSuggestions&&h("div",{class:"dropdown"},this.contactSuggestions.map((function(o){var t;return h("div",{key:(t=o.id)!==null&&t!==void 0?t:o.name,class:"suggestion",onClick:function(t){return e.handleSelectSuggestion(t,o)}},o.avatar?h("img",{alt:"Avatar",class:"avatar",src:o.avatar}):h("div",{class:"avatar",innerHTML:placeholderIcon}),h("div",{class:"details"},h("div",{class:"name"},o.name),o.email&&h("div",{class:"destination"},o.email),o.phone&&h("div",{class:"destination"},o.phone)))})))),h("div",{class:"row"},h("label",{htmlFor:"verdocs-contact-picker-email"},"Email:"),h("input",{id:"verdocs-contact-picker-email",name:"verdocs-contact-picker-email",type:"text","data-lpignore":"true",autoComplete:"off",value:this.email,placeholder:"Email Address...",onFocus:function(){return e.showSuggestions=false},onInput:function(o){return e.handleEmailChange(o)}})),h("div",{class:"row"},h("label",{htmlFor:"verdocs-contact-picker-phone"},"Phone:"),h("input",{id:"verdocs-contact-picker-phone",name:"verdocs-contact-picker-phone",type:"text","data-lpignore":"true",autocomplete:"off",value:this.phone,placeholder:"Phone Number...",onFocus:function(){return e.showSuggestions=false},onInput:function(o){return e.handlePhoneChange(o)}})),this.showMessage&&h("div",{class:"row"},h("label",{htmlFor:"verdocs-contact-picker-message"},"Message:"),h("input",{id:"verdocs-contact-picker-message",name:"verdocs-contact-picker-message",type:"text","data-lpignore":"true",autocomplete:"off",value:this.message,placeholder:"Invitation Message...",onFocus:function(){return e.showSuggestions=false},onInput:function(o){return e.handleMessageChange(o)}})),h("div",{class:"buttons"},h("verdocs-toggle-button",{icon:messageIcon,size:"small",active:this.showMessage,onToggle:function(o){e.showMessage=o.detail.active;e.showSuggestions=false}}),h("verdocs-toggle-button",{icon:delegateIcon,size:"small",active:this.delegator,onToggle:function(o){e.delegator=o.detail.active;e.showSuggestions=false}}),h("div",{class:"flex-fill"}),h("verdocs-button",{variant:"outline",label:"Cancel",size:"small",onClick:function(o){return e.handleCancel(o)}}),h("verdocs-button",{label:"OK",size:"small",onClick:function(o){return e.handleSubmit(o)}})))};return e}();VerdocsContactPicker.style=verdocsContactPickerCss;export{VerdocsContactPicker as verdocs_contact_picker};
|
|
2
2
|
//# sourceMappingURL=verdocs-contact-picker.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/elements/verdocs-contact-picker/verdocs-contact-picker.scss?tag=verdocs-contact-picker","src/components/elements/verdocs-contact-picker/verdocs-contact-picker.tsx"],"names":["verdocsContactPickerCss","messageIcon","delegateIcon","placeholderIcon","VerdocsContactPicker","VerdocsEndpoint","getDefault","prototype","componentWillLoad","this","templateRole","name","full_name","email","phone","delegator","message","showMessage","handleNameChange","e","target","value","_a","searchContacts","emit","query","handleEmailChange","handlePhoneChange","handleMessageChange","handleCancel","stopPropagation","showSuggestions","cancel","handleSubmit","next","handleSelectSuggestion","suggestion","render","_this","h","onSubmit","preventDefault","onClick","autocomplete","class","htmlFor","id","type","data-lpignore","placeholder","onFocus","contactSuggestions","length","onInput","map","key","avatar","alt","src","innerHTML","autoComplete","icon","size","active","onToggle","detail","variant","label"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-contact-picker {\n font-family: $verdocs-primary-font;\n background-color: $verdocs-grey-4;\n\n form {\n background-color: $verdocs-grey-3;\n padding: 12px;\n display: flex;\n flex-direction: column;\n\n .row {\n width: 300px;\n display: flex;\n position: relative;\n margin: 0 0 20px 0;\n flex-direction: column;\n }\n\n label {\n display: block;\n font-size: 14px;\n font-weight: 500;\n margin: 0 0 4px 0;\n color: $verdocs-bg-4;\n }\n\n input {\n border: none;\n font-size: 18px;\n padding: 3px 6px 3px 0;\n background: transparent;\n border-bottom: 1px solid $verdocs-dark-blue;\n\n &:focus {\n outline: none;\n }\n }\n\n .dropdown {\n left: 0;\n right: 0;\n top: 49px;\n z-index: 100;\n position: absolute;\n background: #ffffff;\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);\n\n .suggestion {\n display: flex;\n padding: 6px 12px;\n align-items: center;\n flex-direction: row;\n\n svg {\n fill: #666666;\n }\n\n .avatar {\n width: 48px;\n height: 48px;\n flex: 0 0 48px;\n margin-right: 8px;\n border-radius: 100%;\n }\n\n .details {\n display: flex;\n flex-direction: column;\n }\n\n .name {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 3px;\n color: $verdocs-grey-0;\n }\n\n .destination {\n font-size: 14px;\n margin-bottom: 3px;\n color: $verdocs-grey-1;\n }\n\n &:hover {\n background: #eee;\n cursor: pointer;\n }\n }\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 8px;\n margin-top: 16px;\n flex-direction: row;\n\n .flex-fill {\n flex: 1;\n }\n }\n\n ::placeholder {\n color: $verdocs-bg-2;\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IRole} from '@verdocs/js-sdk/Templates/Types';\nimport {Component, h, Event, EventEmitter, Prop, State} from '@stencil/core';\n\nconst messageIcon =\n '<svg class=\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiBox-root css-1om0hkc\" focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z\"></path></svg>';\n\nconst delegateIcon =\n '<svg class=\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiSvgIcon-root MuiSvgIcon-fontSizeLarge css-zjt8k\" focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" data-testid=\"AssignmentIndIcon\" tabindex=\"-1\" title=\"AssignmentInd\"><path d=\"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 4c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.1V19z\"></path></svg>';\n\nconst placeholderIcon =\n '<svg class=\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiSvgIcon-root MuiSvgIcon-fontSizeLarge css-zjt8k\" focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" data-testid=\"AccountCircleIcon\" tabindex=\"-1\" title=\"AccountCircle\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20z\"></path></svg>';\n\nexport interface IContactSearchEvent {\n // The text the user has entered in the search field\n query: string;\n}\n\nexport interface IContactSelectEvent {\n full_name: string;\n email: string;\n phone: string;\n message: string;\n delegator: boolean;\n}\n\nexport interface IEmailContact {\n // Optional but recommended. An internal identifier used to identify the contact in the calling system.\n id?: any;\n\n // The user's avatar. If not set, a placeholder will be shown. To hide avatars entirely, use CSS to set\n // `verdocs-contact-picker .avatar { display: none; }`\n avatar?: string;\n\n // The recipient's name, as it should be displayed to the user.\n name: string;\n\n // The email address for the contact.\n email: string;\n\n // An optional phone number for the contact. This number must be able SMS messages. If both email and phone are provided,\n // notifications will be sent to both locations.\n phone?: string;\n\n [key: string]: any;\n}\n\nexport interface IPhoneContact {\n // Optional but recommended. An internal identifier used to identify the contact in the calling system.\n id?: any;\n\n // The user's avatar. If not set, a placeholder will be shown. To hide avatars entirely, use CSS to set\n // `verdocs-contact-picker .avatar { display: none; }`\n avatar?: string;\n\n // The recipient's name, as it should be displayed to the user.\n name: string;\n\n // The email address for the contact.\n email?: string;\n\n // An optional phone number for the contact. This number must be able SMS messages. If both email and phone are provided,\n // notifications will be sent to both locations.\n phone: string;\n\n [key: string]: any;\n}\n\n/**\n * Displays a contact picker suitable for filling out Recipient objects when sending Documents.\n *\n * This picker can also be integrated with a backend to provide contact list / suggestion / address-book style behavior. As the\n * user interacts with the component, the text entered in the name field is sent back to the parent via the `searchContacts` event.\n * The parent can use that text as a query string to call a backend to obtain appropriate contacts to show. This list may also be\n * hard-coded ahead of time to provide the user with smart suggestions on initial display, such as \"Recently Used\" contacts, or\n * to always display the user's own contact record.\n */\n@Component({\n tag: 'verdocs-contact-picker',\n styleUrl: 'verdocs-contact-picker.scss',\n shadow: false,\n})\nexport class VerdocsContactPicker {\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 role that this contact will be assigned to.\n */\n @Prop() templateRole: IRole | null = null;\n\n /**\n * If set, suggestions will be displayed in a drop-down list to the user. It is recommended that the number\n * of suggestions be limited to the 5 best matching records.\n */\n @Prop() contactSuggestions: (IEmailContact | IPhoneContact)[] = [];\n\n /**\n * Event fired when the user enters text in the search field. The calling application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired when the user changes the type.\n */\n @Event({composed: true}) next: EventEmitter<IContactSelectEvent>;\n\n @State() name: string;\n @State() email: string;\n @State() phone: string;\n @State() message: string;\n @State() showSuggestions: boolean = false;\n @State() showMessage: boolean = false;\n @State() delegator: boolean = false;\n\n componentWillLoad() {\n if (this.templateRole) {\n this.name = this.templateRole.full_name || '';\n this.email = this.templateRole.email || '';\n this.phone = this.templateRole.phone || '';\n this.delegator = this.templateRole.delegator || false;\n this.message = this.templateRole.message || '';\n this.showMessage = this.message !== '';\n }\n }\n\n handleNameChange(e: any) {\n this.name = e.target.value;\n this.searchContacts?.emit({query: this.name});\n }\n\n handleEmailChange(e: any) {\n this.email = e.target.value;\n }\n\n handlePhoneChange(e: any) {\n this.phone = e.target.value;\n }\n\n handleMessageChange(e: any) {\n this.message = e.target.value;\n }\n\n handleCancel(e) {\n e.stopPropagation();\n this.showSuggestions = false;\n this.cancel?.emit();\n }\n\n handleSubmit(e) {\n e.stopPropagation();\n\n this.showSuggestions = false;\n this.next?.emit({\n full_name: this.name,\n email: this.email,\n phone: this.phone,\n message: this.message,\n delegator: this.delegator,\n });\n }\n\n handleSelectSuggestion(e: any, suggestion: IEmailContact | IPhoneContact) {\n e.stopPropagation();\n\n this.name = suggestion.name;\n this.email = suggestion.email;\n this.phone = suggestion.phone;\n this.showSuggestions = false;\n }\n\n render() {\n return (\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <div class=\"row\">\n <label htmlFor=\"verdocs-contact-picker-name\">Name:</label>\n <input\n id=\"verdocs-contact-picker-name\"\n name=\"verdocs-contact-picker-name\"\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"off\"\n value={this.name}\n placeholder=\"Recipient Name...\"\n onFocus={() => (this.showSuggestions = this.contactSuggestions?.length > 0)}\n // onBlur={() => (this.showSuggestions = false)}\n onInput={e => this.handleNameChange(e)}\n />\n\n {this.showSuggestions && (\n <div class=\"dropdown\">\n {this.contactSuggestions.map(suggestion => (\n <div key={suggestion.id ?? suggestion.name} class=\"suggestion\" onClick={e => this.handleSelectSuggestion(e, suggestion)}>\n {suggestion.avatar ? <img alt=\"Avatar\" class=\"avatar\" src={suggestion.avatar} /> : <div class=\"avatar\" innerHTML={placeholderIcon} />}\n <div class=\"details\">\n <div class=\"name\">{suggestion.name}</div>\n {suggestion.email && <div class=\"destination\">{suggestion.email}</div>}\n {suggestion.phone && <div class=\"destination\">{suggestion.phone}</div>}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n\n <div class=\"row\">\n <label htmlFor=\"verdocs-contact-picker-email\">Email:</label>\n <input\n id=\"verdocs-contact-picker-email\"\n name=\"verdocs-contact-picker-email\"\n type=\"text\"\n data-lpignore=\"true\"\n autoComplete=\"off\"\n value={this.email}\n placeholder=\"Email Address...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={e => this.handleEmailChange(e)}\n />\n </div>\n\n <div class=\"row\">\n <label htmlFor=\"verdocs-contact-picker-phone\">Phone:</label>\n <input\n id=\"verdocs-contact-picker-phone\"\n name=\"verdocs-contact-picker-phone\"\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"off\"\n value={this.phone}\n placeholder=\"Phone Number...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={e => this.handlePhoneChange(e)}\n />\n </div>\n\n {this.showMessage && (\n <div class=\"row\">\n <label htmlFor=\"verdocs-contact-picker-message\">Message:</label>\n <input\n id=\"verdocs-contact-picker-message\"\n name=\"verdocs-contact-picker-message\"\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"off\"\n value={this.message}\n placeholder=\"Invitation Message...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={e => this.handleMessageChange(e)}\n />\n </div>\n )}\n\n <div class=\"buttons\">\n <verdocs-toggle-button\n icon={messageIcon}\n size=\"small\"\n active={this.showMessage}\n onToggle={e => {\n this.showMessage = e.detail.active;\n this.showSuggestions = false;\n }}\n />\n <verdocs-toggle-button\n icon={delegateIcon}\n size=\"small\"\n active={this.delegator}\n onToggle={e => {\n this.delegator = e.detail.active;\n this.showSuggestions = false;\n }}\n />\n\n <div class=\"flex-fill\" />\n\n <verdocs-button variant=\"outline\" label=\"Cancel\" size=\"small\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"OK\" size=\"small\" onClick={e => this.handleSubmit(e)} />\n </div>\n </form>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["src/components/elements/verdocs-contact-picker/verdocs-contact-picker.scss?tag=verdocs-contact-picker","src/components/elements/verdocs-contact-picker/verdocs-contact-picker.tsx"],"names":["verdocsContactPickerCss","messageIcon","delegateIcon","placeholderIcon","VerdocsContactPicker","VerdocsEndpoint","getDefault","prototype","componentWillLoad","this","templateRole","name","full_name","email","phone","delegator","message","showMessage","handleNameChange","e","target","value","_a","searchContacts","emit","query","handleEmailChange","handlePhoneChange","handleMessageChange","handleCancel","stopPropagation","showSuggestions","cancel","handleSubmit","next","handleSelectSuggestion","suggestion","render","_this","h","onSubmit","preventDefault","onClick","autocomplete","class","htmlFor","id","type","data-lpignore","placeholder","onFocus","contactSuggestions","length","onInput","map","key","avatar","alt","src","innerHTML","autoComplete","icon","size","active","onToggle","detail","variant","label"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-contact-picker {\n font-family: $verdocs-primary-font;\n background-color: $verdocs-grey-4;\n\n form {\n background-color: $verdocs-grey-3;\n padding: 12px;\n display: flex;\n flex-direction: column;\n\n .row {\n width: 300px;\n display: flex;\n position: relative;\n margin: 0 0 20px 0;\n flex-direction: column;\n }\n\n label {\n display: block;\n font-size: 14px;\n font-weight: 500;\n margin: 0 0 4px 0;\n color: $verdocs-bg-4;\n }\n\n input {\n border: none;\n font-size: 18px;\n padding: 3px 6px 3px 0;\n background: transparent;\n border-bottom: 1px solid $verdocs-dark-blue;\n\n &:focus {\n outline: none;\n }\n }\n\n .dropdown {\n left: 0;\n right: 0;\n top: 49px;\n z-index: 100;\n position: absolute;\n background: #ffffff;\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);\n\n .suggestion {\n display: flex;\n padding: 6px 12px;\n align-items: center;\n flex-direction: row;\n\n svg {\n fill: #666666;\n }\n\n .avatar {\n width: 48px;\n height: 48px;\n flex: 0 0 48px;\n margin-right: 8px;\n border-radius: 100%;\n }\n\n .details {\n display: flex;\n flex-direction: column;\n }\n\n .name {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 3px;\n color: $verdocs-grey-0;\n }\n\n .destination {\n font-size: 14px;\n margin-bottom: 3px;\n color: $verdocs-grey-1;\n }\n\n &:hover {\n background: #eee;\n cursor: pointer;\n }\n }\n }\n }\n\n .buttons {\n display: flex;\n column-gap: 8px;\n margin-top: 16px;\n flex-direction: row;\n\n .flex-fill {\n flex: 1;\n }\n }\n\n ::placeholder {\n color: $verdocs-bg-2;\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IRole} from '@verdocs/js-sdk/Templates/Types';\nimport {Component, h, Event, EventEmitter, Prop, State} from '@stencil/core';\n\nconst messageIcon =\n '<svg class=\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiBox-root css-1om0hkc\" focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z\"></path></svg>';\n\nconst delegateIcon =\n '<svg class=\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiSvgIcon-root MuiSvgIcon-fontSizeLarge css-zjt8k\" focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" data-testid=\"AssignmentIndIcon\" tabindex=\"-1\" title=\"AssignmentInd\"><path d=\"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 4c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.1V19z\"></path></svg>';\n\nconst placeholderIcon =\n '<svg class=\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiSvgIcon-root MuiSvgIcon-fontSizeLarge css-zjt8k\" focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" data-testid=\"AccountCircleIcon\" tabindex=\"-1\" title=\"AccountCircle\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20z\"></path></svg>';\n\nexport interface IContactSearchEvent {\n // The text the user has entered in the search field\n query: string;\n}\n\nexport interface IContactSelectEvent {\n full_name: string;\n email: string;\n phone: string;\n message: string;\n delegator: boolean;\n}\n\nexport interface IEmailContact {\n // Optional but recommended. An internal identifier used to identify the contact in the calling system.\n id?: any;\n\n // The user's avatar. If not set, a placeholder will be shown. To hide avatars entirely, use CSS to set\n // `verdocs-contact-picker .avatar { display: none; }`\n avatar?: string;\n\n // The recipient's name, as it should be displayed to the user.\n name: string;\n\n // The email address for the contact.\n email: string;\n\n // An optional phone number for the contact. This number must be able SMS messages. If both email and phone are provided,\n // notifications will be sent to both locations.\n phone?: string;\n\n [key: string]: any;\n}\n\nexport interface IPhoneContact {\n // Optional but recommended. An internal identifier used to identify the contact in the calling system.\n id?: any;\n\n // The user's avatar. If not set, a placeholder will be shown. To hide avatars entirely, use CSS to set\n // `verdocs-contact-picker .avatar { display: none; }`\n avatar?: string;\n\n // The recipient's name, as it should be displayed to the user.\n name: string;\n\n // The email address for the contact.\n email?: string;\n\n // An optional phone number for the contact. This number must be able SMS messages. If both email and phone are provided,\n // notifications will be sent to both locations.\n phone: string;\n\n [key: string]: any;\n}\n\n/**\n * Displays a contact picker suitable for filling out Recipient objects when sending Documents.\n *\n * This picker can also be integrated with a backend to provide contact list / suggestion / address-book style behavior. As the\n * user interacts with the component, the text entered in the name field is sent back to the parent via the `searchContacts` event.\n * The parent can use that text as a query string to call a backend to obtain appropriate contacts to show. This list may also be\n * hard-coded ahead of time to provide the user with smart suggestions on initial display, such as \"Recently Used\" contacts, or\n * to always display the user's own contact record.\n */\n@Component({\n tag: 'verdocs-contact-picker',\n styleUrl: 'verdocs-contact-picker.scss',\n shadow: false,\n})\nexport class VerdocsContactPicker {\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 role that this contact will be assigned to.\n */\n @Prop() templateRole: IRole | null = null;\n\n /**\n * If set, suggestions will be displayed in a drop-down list to the user. It is recommended that the number\n * of suggestions be limited to the 5 best matching records.\n */\n @Prop() contactSuggestions: (IEmailContact | IPhoneContact)[] = [];\n\n /**\n * Event fired when the user enters text in the search field. The calling application may use this to update\n * the `contactSuggestions` property.\n */\n @Event({composed: true}) searchContacts: EventEmitter<IContactSearchEvent>;\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired when the user changes the type.\n */\n @Event({composed: true}) next: EventEmitter<IContactSelectEvent>;\n\n @State() name: string;\n @State() email: string;\n @State() phone: string;\n @State() message: string;\n @State() showSuggestions: boolean = false;\n @State() showMessage: boolean = false;\n @State() delegator: boolean = false;\n\n componentWillLoad() {\n if (this.templateRole) {\n this.name = this.templateRole.full_name || '';\n this.email = this.templateRole.email || '';\n this.phone = this.templateRole.phone || '';\n this.delegator = this.templateRole.delegator || false;\n this.message = this.templateRole.message || '';\n this.showMessage = this.message !== '';\n }\n }\n\n handleNameChange(e: any) {\n this.name = e.target.value;\n this.searchContacts?.emit({query: this.name});\n }\n\n handleEmailChange(e: any) {\n this.email = e.target.value;\n }\n\n handlePhoneChange(e: any) {\n this.phone = e.target.value;\n }\n\n handleMessageChange(e: any) {\n this.message = e.target.value;\n }\n\n handleCancel(e) {\n e.stopPropagation();\n this.showSuggestions = false;\n this.cancel?.emit();\n }\n\n handleSubmit(e) {\n e.stopPropagation();\n\n this.showSuggestions = false;\n this.next?.emit({\n full_name: this.name,\n email: this.email,\n phone: this.phone,\n message: this.message,\n delegator: this.delegator,\n });\n }\n\n handleSelectSuggestion(e: any, suggestion: IEmailContact | IPhoneContact) {\n e.stopPropagation();\n\n this.name = suggestion.name;\n this.email = suggestion.email;\n this.phone = suggestion.phone;\n this.showSuggestions = false;\n }\n\n render() {\n return (\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <div class=\"row\">\n <label htmlFor=\"verdocs-contact-picker-name\">Name:</label>\n <input\n id=\"verdocs-contact-picker-name\"\n name=\"verdocs-contact-picker-name\"\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"off\"\n value={this.name}\n placeholder=\"Recipient Name...\"\n onFocus={() => (this.showSuggestions = this.contactSuggestions?.length > 0)}\n // onBlur={() => (this.showSuggestions = false)}\n onInput={e => this.handleNameChange(e)}\n />\n\n {this.showSuggestions && (\n <div class=\"dropdown\">\n {this.contactSuggestions.map(suggestion => (\n <div key={suggestion.id ?? suggestion.name} class=\"suggestion\" onClick={e => this.handleSelectSuggestion(e, suggestion)}>\n {suggestion.avatar ? <img alt=\"Avatar\" class=\"avatar\" src={suggestion.avatar} /> : <div class=\"avatar\" innerHTML={placeholderIcon} />}\n <div class=\"details\">\n <div class=\"name\">{suggestion.name}</div>\n {suggestion.email && <div class=\"destination\">{suggestion.email}</div>}\n {suggestion.phone && <div class=\"destination\">{suggestion.phone}</div>}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n\n <div class=\"row\">\n <label htmlFor=\"verdocs-contact-picker-email\">Email:</label>\n <input\n id=\"verdocs-contact-picker-email\"\n name=\"verdocs-contact-picker-email\"\n type=\"text\"\n data-lpignore=\"true\"\n autoComplete=\"off\"\n value={this.email}\n placeholder=\"Email Address...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={e => this.handleEmailChange(e)}\n />\n </div>\n\n <div class=\"row\">\n <label htmlFor=\"verdocs-contact-picker-phone\">Phone:</label>\n <input\n id=\"verdocs-contact-picker-phone\"\n name=\"verdocs-contact-picker-phone\"\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"off\"\n value={this.phone}\n placeholder=\"Phone Number...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={e => this.handlePhoneChange(e)}\n />\n </div>\n\n {this.showMessage && (\n <div class=\"row\">\n <label htmlFor=\"verdocs-contact-picker-message\">Message:</label>\n <input\n id=\"verdocs-contact-picker-message\"\n name=\"verdocs-contact-picker-message\"\n type=\"text\"\n data-lpignore=\"true\"\n autocomplete=\"off\"\n value={this.message}\n placeholder=\"Invitation Message...\"\n onFocus={() => (this.showSuggestions = false)}\n onInput={e => this.handleMessageChange(e)}\n />\n </div>\n )}\n\n <div class=\"buttons\">\n <verdocs-toggle-button\n icon={messageIcon}\n size=\"small\"\n active={this.showMessage}\n onToggle={e => {\n this.showMessage = e.detail.active;\n this.showSuggestions = false;\n }}\n />\n <verdocs-toggle-button\n icon={delegateIcon}\n size=\"small\"\n active={this.delegator}\n onToggle={e => {\n this.delegator = e.detail.active;\n this.showSuggestions = false;\n }}\n />\n\n <div class=\"flex-fill\" />\n\n <verdocs-button variant=\"outline\" label=\"Cancel\" size=\"small\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"OK\" size=\"small\" onClick={e => this.handleSubmit(e)} />\n </div>\n </form>\n );\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,h,H as Host}from"./index-f78d163d.js";import{g as getRGBA}from"./Colors-1b298092.js";import{g as getFieldSettings}from"./utils-
|
|
1
|
+
import{r as registerInstance,h,H as Host}from"./index-f78d163d.js";import{g as getRGBA}from"./Colors-1b298092.js";import{g as getFieldSettings}from"./utils-53001d87.js";import"./Token-54690789.js";var verdocsFieldCheckboxCss='@charset "UTF-8";verdocs-field-checkbox{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-checkbox.disabled{opacity:0.5}verdocs-field-checkbox label>input[type=checkbox]{display:none}verdocs-field-checkbox label>input[type=checkbox]+*::before{content:"";position:absolute;display:block;top:1px;left:1px;width:10px;height:10px;border-radius:2px;border:1px solid rgba(0, 0, 0, 0.7)}verdocs-field-checkbox label>input[type=checkbox]:checked+*{color:#55bc81}verdocs-field-checkbox label>input[type=checkbox]:checked+*::before{content:"✓";color:white;text-align:center;background:#55bc81;border-color:#55bc81}verdocs-field-checkbox.required label>input[type=checkbox]+*::before{border:1px solid #cc0000}verdocs-field-checkbox.hide{display:none}verdocs-field-checkbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';var VerdocsFieldCheckbox=function(){function e(e){registerInstance(this,e);this.field=null;this.option=0;this.disabled=false;this.done=false;this.roleindex=0}e.prototype.render=function(){var e,o,i,t;var d=getFieldSettings(this.field);var r=(o=(e=d.options)===null||e===void 0?void 0:e[this.option])!==null&&o!==void 0?o:{checked:false};var s=(t=(i=this.disabled)!==null&&i!==void 0?i:d.disabled)!==null&&t!==void 0?t:false;var c=this.field["rgba"]||getRGBA(this.roleindex);if(this.done){return h(Host,{class:{done:this.done}},r.checked?"✓":"☐")}return h(Host,{class:{required:d.required,disabled:s},style:{backgroundColor:c}},h("label",null,h("input",{type:"checkbox",tabIndex:d.order,checked:r.checked,disabled:s,required:d.required,value:r.id}),h("span",null)))};return e}();VerdocsFieldCheckbox.style=verdocsFieldCheckboxCss;export{VerdocsFieldCheckbox as verdocs_field_checkbox};
|
|
2
2
|
//# sourceMappingURL=verdocs-field-checkbox.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/elements/verdocs-field-checkbox
|
|
1
|
+
{"version":3,"sources":["src/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.scss?tag=verdocs-field-checkbox","src/components/elements/verdocs-field-checkbox/verdocs-field-checkbox.tsx"],"names":["verdocsFieldCheckboxCss","VerdocsFieldCheckbox","prototype","render","settings","getFieldSettings","this","field","option","_b","_a","options","checked","disabled","_d","_c","backgroundColor","getRGBA","roleindex","done","h","Host","class","required","style","type","tabIndex","order","value","id"],"mappings":"qMAAA,IAAMA,wBAA0B,ghCCcnBC,qBAAoB,6DAIyB,iBAK/B,gBAKI,gBAKJ,qBAKI,EAE7BA,EAAAC,UAAAC,OAAA,uBACE,IAAMC,EAAWC,iBAAiBC,KAAKC,OACvC,IAAMC,GAASC,GAAAC,EAAAN,EAASO,WAAO,MAAAD,SAAA,OAAA,EAAAA,EAAGJ,KAAKE,WAAO,MAAAC,SAAA,EAAAA,EAAI,CAACG,QAAS,OAC5D,IAAMC,GAAWC,GAAAC,EAAAT,KAAKO,YAAQ,MAAAE,SAAA,EAAAA,EAAIX,EAASS,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,IAAME,EAAkBV,KAAKC,MAAM,SAAWU,QAAQX,KAAKY,WAE3D,GAAIZ,KAAKa,KAAM,CACb,OAAOC,EAACC,KAAI,CAACC,MAAO,CAACH,KAAMb,KAAKa,OAAQX,EAAOI,QAAU,IAAM,KAGjE,OACEQ,EAACC,KAAI,CAACC,MAAO,CAACC,SAAUnB,EAASmB,SAAUV,SAAQA,GAAGW,MAAO,CAACR,gBAAeA,IAC3EI,EAAA,QAAA,KACEA,EAAA,QAAA,CAAOK,KAAK,WAAWC,SAAUtB,EAASuB,MAAOf,QAASJ,EAAOI,QAASC,SAAUA,EAAUU,SAAUnB,EAASmB,SAAUK,MAAOpB,EAAOqB,KACzIT,EAAA,OAAA,kBAxCuB","sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.kallmanation.com/styling-a-checkbox-with-only-css\nverdocs-field-checkbox {\n font-family: $verdocs-primary-font;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n }\n\n label > input[type='checkbox'] {\n display: none;\n }\n\n label > input[type='checkbox'] + *::before {\n content: '';\n position: absolute;\n display: block;\n top: 1px;\n left: 1px;\n width: 10px;\n height: 10px;\n border-radius: 2px;\n //background: $verdocs-grey-3;\n border: 1px solid rgba(0, 0, 0, 0.7);\n }\n\n label > input[type='checkbox']:checked + * {\n color: $verdocs-green;\n }\n\n label > input[type='checkbox']:checked + *::before {\n content: '✓';\n color: white;\n text-align: center;\n background: $verdocs-green;\n border-color: $verdocs-green;\n }\n\n &.required {\n label > input[type='checkbox'] + *::before {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {Component, h, Host, Prop} from '@stencil/core';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a checkbox.\n */\n@Component({\n tag: 'verdocs-field-checkbox',\n styleUrl: 'verdocs-field-checkbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldCheckbox {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * The index of the settings option this particular checkbox is for\n */\n @Prop() option: number = 0;\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() disabled?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop() done?: boolean = false;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n render() {\n const settings = getFieldSettings(this.field);\n const option = settings.options?.[this.option] ?? {checked: false};\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n if (this.done) {\n return <Host class={{done: this.done}}>{option.checked ? '✓' : '☐'}</Host>;\n }\n\n return (\n <Host class={{required: settings.required, disabled}} style={{backgroundColor}}>\n <label>\n <input type=\"checkbox\" tabIndex={settings.order} checked={option.checked} disabled={disabled} required={settings.required} value={option.id} />\n <span />\n </label>\n </Host>\n );\n }\n}\n"]}
|