@verdocs/web-sdk 1.9.6 → 1.9.9
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-22a0c02f.js +109 -0
- package/dist/cjs/Envelopes-22a0c02f.js.map +1 -0
- package/dist/cjs/TemplateDocuments-01c6e570.js +45 -0
- package/dist/cjs/TemplateDocuments-01c6e570.js.map +1 -0
- package/dist/cjs/{Templates-038bcae4.js → Templates-3e6d5043.js} +20 -3
- package/dist/cjs/Templates-3e6d5043.js.map +1 -0
- package/dist/{esm/VerdocsEndpoint-9acb111c.js → cjs/VerdocsEndpoint-db38e942.js} +5 -384
- package/dist/cjs/VerdocsEndpoint-db38e942.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/utils-84236321.js.map +1 -1
- package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +3 -3
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-document-page.cjs.entry.js +84 -0
- package/dist/cjs/verdocs-document-page.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-dropdown_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-initial.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-loader_4.cjs.entry.js +577 -0
- package/dist/cjs/verdocs-loader_4.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-organization-card.cjs.entry.js +2346 -4
- package/dist/cjs/verdocs-organization-card.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-preview.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-search.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-send.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +79 -20
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-status-indicator.cjs.entry.js +10 -10
- package/dist/cjs/verdocs-status-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js +25 -39
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-toggle-button.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +1 -0
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +3 -3
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js.map +1 -1
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.css +37 -28
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js +5 -4
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js.map +1 -1
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.stories.js +4 -2
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.js +19 -19
- package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.js.map +1 -1
- package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.stories.js +1 -1
- package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.css +3 -0
- package/dist/collection/components/controls/verdocs-toggle-button/verdocs-toggle-button.css +5 -0
- package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.css +4 -0
- package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js +1 -1
- package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
- package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.js +1 -1
- package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.js.map +1 -1
- package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.css +3 -0
- package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.js +26 -12
- package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js +2 -2
- package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js +2 -2
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +2 -2
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js +2 -2
- package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +2 -2
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js +2 -2
- package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +2 -2
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js +2 -2
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +2 -2
- 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.css +3 -0
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +2 -2
- 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.js +2 -2
- package/dist/collection/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +6 -8
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js +17 -3
- package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js.map +1 -1
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.css +16 -0
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.js +390 -0
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.js.map +1 -0
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.js +15 -0
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.css +16 -0
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.js +388 -0
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.js.map +1 -0
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.js +15 -0
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +1 -1
- package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-build/utils.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/utils.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +25 -25
- 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 -3
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +117 -113
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +3 -3
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js.map +1 -1
- package/dist/collection/utils/Types.js.map +1 -1
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/TemplateDocuments.js +42 -0
- package/dist/components/TemplateDocuments.js.map +1 -0
- package/dist/components/VerdocsEndpoint.js +1 -383
- package/dist/components/VerdocsEndpoint.js.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/utils.js.map +1 -1
- package/dist/components/verdocs-auth.js.map +1 -1
- package/dist/components/verdocs-build.js +48 -36
- package/dist/components/verdocs-build.js.map +1 -1
- package/dist/components/verdocs-checkbox2.js +1 -1
- package/dist/components/verdocs-checkbox2.js.map +1 -1
- package/dist/components/verdocs-contact-picker2.js +2 -2
- package/dist/components/verdocs-contact-picker2.js.map +1 -1
- package/dist/components/verdocs-document-page2.js +22 -9
- package/dist/components/verdocs-document-page2.js.map +1 -1
- package/dist/components/verdocs-field-attachment.js.map +1 -1
- package/dist/components/verdocs-field-checkbox2.js.map +1 -1
- package/dist/components/verdocs-field-date.js.map +1 -1
- package/dist/components/verdocs-field-dropdown.js.map +1 -1
- package/dist/components/verdocs-field-initial.js.map +1 -1
- package/dist/components/verdocs-field-payment.js.map +1 -1
- package/dist/components/verdocs-field-radio-button2.js.map +1 -1
- package/dist/components/verdocs-field-signature2.js.map +1 -1
- package/dist/components/verdocs-field-textarea.js.map +1 -1
- package/dist/components/verdocs-field-textbox.js +1 -1
- package/dist/components/verdocs-field-textbox.js.map +1 -1
- package/dist/components/verdocs-field-timestamp.js.map +1 -1
- package/dist/components/verdocs-organization-card.js +2346 -4
- package/dist/components/verdocs-organization-card.js.map +1 -1
- package/dist/components/verdocs-preview.js +18 -6
- package/dist/components/verdocs-preview.js.map +1 -1
- package/dist/components/verdocs-search-activity2.js +1 -1
- package/dist/components/verdocs-search-activity2.js.map +1 -1
- package/dist/components/verdocs-sign.js +105 -35
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-status-indicator.js +11 -11
- package/dist/components/verdocs-status-indicator.js.map +1 -1
- package/dist/components/verdocs-template-create2.js +1 -25
- package/dist/components/verdocs-template-create2.js.map +1 -1
- package/dist/components/verdocs-template-fields2.js +38 -28
- package/dist/components/verdocs-template-fields2.js.map +1 -1
- package/dist/components/verdocs-template-properties2.js +15 -1
- package/dist/components/verdocs-template-properties2.js.map +1 -1
- package/dist/components/verdocs-text-input2.js +1 -1
- package/dist/components/verdocs-text-input2.js.map +1 -1
- package/dist/components/verdocs-toggle-button2.js +1 -1
- package/dist/components/verdocs-toggle-button2.js.map +1 -1
- package/dist/components/verdocs-view-envelope-document.d.ts +11 -0
- package/dist/components/verdocs-view-envelope-document.js +8 -0
- package/dist/components/verdocs-view-envelope-document.js.map +1 -0
- package/dist/components/verdocs-view-envelope-document2.js +306 -0
- package/dist/components/verdocs-view-envelope-document2.js.map +1 -0
- package/dist/components/verdocs-view-template-document.d.ts +11 -0
- package/dist/components/verdocs-view-template-document.js +8 -0
- package/dist/components/verdocs-view-template-document.js.map +1 -0
- package/dist/components/verdocs-view-template-document2.js +209 -0
- package/dist/components/verdocs-view-template-document2.js.map +1 -0
- package/dist/components/verdocs-view2.js +102 -95
- package/dist/components/verdocs-view2.js.map +1 -1
- package/dist/docs.json +444 -51
- package/dist/esm/Envelopes-df05b3c7.js +103 -0
- package/dist/esm/Envelopes-df05b3c7.js.map +1 -0
- package/dist/esm/TemplateDocuments-89ba2276.js +42 -0
- package/dist/esm/TemplateDocuments-89ba2276.js.map +1 -0
- package/dist/esm/{Templates-0b30ee66.js → Templates-035e0ea2.js} +19 -3
- package/dist/esm/Templates-035e0ea2.js.map +1 -0
- package/dist/{cjs/VerdocsEndpoint-0dcde19d.js → esm/VerdocsEndpoint-82f4600d.js} +2 -391
- package/dist/esm/VerdocsEndpoint-82f4600d.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/utils-3f23facc.js.map +1 -1
- package/dist/esm/verdocs-auth.entry.js +1 -1
- package/dist/esm/verdocs-auth.entry.js.map +1 -1
- package/dist/esm/verdocs-build.entry.js +1 -1
- package/dist/esm/verdocs-button-panel_3.entry.js +1 -1
- package/dist/esm/verdocs-button-panel_3.entry.js.map +1 -1
- package/dist/esm/verdocs-checkbox.entry.js +1 -1
- package/dist/esm/verdocs-checkbox.entry.js.map +1 -1
- package/dist/esm/verdocs-contact-picker.entry.js +3 -3
- package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm/verdocs-document-page.entry.js +80 -0
- package/dist/esm/verdocs-document-page.entry.js.map +1 -0
- package/dist/esm/verdocs-dropdown_3.entry.js.map +1 -1
- package/dist/esm/verdocs-field-attachment.entry.js.map +1 -1
- package/dist/esm/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm/verdocs-field-dropdown.entry.js.map +1 -1
- package/dist/esm/verdocs-field-initial.entry.js.map +1 -1
- package/dist/esm/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm/verdocs-field-timestamp.entry.js.map +1 -1
- package/dist/esm/verdocs-loader_4.entry.js +570 -0
- package/dist/esm/verdocs-loader_4.entry.js.map +1 -0
- package/dist/esm/verdocs-organization-card.entry.js +2346 -4
- package/dist/esm/verdocs-organization-card.entry.js.map +1 -1
- package/dist/esm/verdocs-preview.entry.js +2 -3
- package/dist/esm/verdocs-preview.entry.js.map +1 -1
- package/dist/esm/verdocs-quick-functions_3.entry.js +2 -2
- package/dist/esm/verdocs-quick-functions_3.entry.js.map +1 -1
- package/dist/esm/verdocs-search.entry.js +1 -1
- package/dist/esm/verdocs-send.entry.js +1 -1
- package/dist/esm/verdocs-sign.entry.js +78 -19
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-status-indicator.entry.js +10 -10
- package/dist/esm/verdocs-status-indicator.entry.js.map +1 -1
- package/dist/esm/verdocs-template-create_4.entry.js +23 -37
- package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
- package/dist/esm/verdocs-toggle-button.entry.js +1 -1
- package/dist/esm/verdocs-toggle-button.entry.js.map +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/Envelopes-df05b3c7.js +2 -0
- package/dist/esm-es5/Envelopes-df05b3c7.js.map +1 -0
- package/dist/esm-es5/TemplateDocuments-89ba2276.js +2 -0
- package/dist/esm-es5/TemplateDocuments-89ba2276.js.map +1 -0
- package/dist/{verdocs-web-sdk/p-db54004b.system.js → esm-es5/Templates-035e0ea2.js} +2 -2
- package/dist/esm-es5/Templates-035e0ea2.js.map +1 -0
- package/dist/esm-es5/VerdocsEndpoint-82f4600d.js +2 -0
- package/dist/esm-es5/VerdocsEndpoint-82f4600d.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/utils-3f23facc.js.map +1 -1
- 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-button-panel_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel_3.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-checkbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-document-page.entry.js +2 -0
- package/dist/esm-es5/verdocs-document-page.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-dropdown_3.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-attachment.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +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.map +1 -1
- package/dist/esm-es5/verdocs-loader_4.entry.js +2 -0
- package/dist/esm-es5/verdocs-loader_4.entry.js.map +1 -0
- 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-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
- package/dist/esm-es5/verdocs-status-indicator.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-toggle-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-toggle-button.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
- package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +3 -3
- package/dist/types/components/controls/verdocs-organization-card/verdocs-organization-card.d.ts +1 -1
- package/dist/types/components/controls/verdocs-status-indicator/verdocs-status-indicator.d.ts +3 -3
- package/dist/types/components/controls/verdocs-status-indicator/verdocs-status-indicator.stories.d.ts +2 -2
- package/dist/types/components/elements/verdocs-document-page/verdocs-document-page.d.ts +9 -5
- package/dist/types/components/elements/verdocs-field-attachment/verdocs-field-attachment.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-initial/verdocs-field-initial.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-payment/verdocs-field-payment.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-signature/verdocs-field-signature.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-textarea/verdocs-field-textarea.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -1
- package/dist/types/components/elements/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +1 -1
- package/dist/types/components/elements/verdocs-template-properties/verdocs-template-properties.d.ts +7 -1
- package/dist/types/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.d.ts +79 -0
- package/dist/types/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.d.ts +7 -0
- package/dist/types/components/elements/verdocs-view-template-document/verdocs-view-template-document.d.ts +77 -0
- package/dist/types/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.d.ts +7 -0
- package/dist/types/components/embeds/verdocs-auth/verdocs-auth.d.ts +2 -1
- package/dist/types/components/embeds/verdocs-build/utils.d.ts +1 -1
- package/dist/types/components/embeds/verdocs-sign/utils.d.ts +1 -1
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +4 -4
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.stories.d.ts +2 -2
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +14 -21
- package/dist/types/components/embeds/verdocs-view/verdocs-view.stories.d.ts +3 -2
- package/dist/types/components.d.ts +188 -24
- package/dist/types/utils/Types.d.ts +2 -0
- package/dist/types/utils/utils.d.ts +2 -2
- package/dist/verdocs-web-sdk/p-03677b65.system.js +2 -0
- package/dist/verdocs-web-sdk/p-03677b65.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-036fc9f9.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-c62e6e90.entry.js → p-04373c06.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-c62e6e90.entry.js.map → p-04373c06.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-04708900.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-0824553f.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-0824553f.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-ae201e5f.system.entry.js → p-0d12be64.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ae201e5f.system.entry.js.map → p-0d12be64.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-152dd2f0.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-152dd2f0.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-1935d358.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-2510c268.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-26ef299e.entry.js → p-2da21c85.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-26ef299e.entry.js.map → p-2da21c85.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-3bc4c242.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-3e76685d.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-3e76685d.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-a84616dc.entry.js → p-4226119d.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-a84616dc.entry.js.map → p-4226119d.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-ae293f80.system.entry.js → p-4425de92.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ae293f80.system.entry.js.map → p-4425de92.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-48321abf.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-46028ce3.entry.js → p-5a9ad57d.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-46028ce3.entry.js.map → p-5a9ad57d.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-5c40246d.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-629237fc.js +2 -0
- package/dist/verdocs-web-sdk/p-629237fc.js.map +1 -0
- package/dist/verdocs-web-sdk/p-62ffe7a3.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-68319ca5.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-0145b317.system.entry.js → p-6d0c6604.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-0145b317.system.entry.js.map → p-6d0c6604.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-6e1ada33.system.js +2 -0
- package/dist/verdocs-web-sdk/p-6e1ada33.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-6f1440dd.js +2 -0
- package/dist/verdocs-web-sdk/p-6f1440dd.js.map +1 -0
- package/dist/verdocs-web-sdk/p-6f938ce3.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-70c732b7.js +2 -0
- package/dist/verdocs-web-sdk/p-70c732b7.js.map +1 -0
- package/dist/verdocs-web-sdk/p-74207eb0.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-74207eb0.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-7a476918.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-7a476918.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-7ce27ce2.js.map +1 -1
- package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-7ee5530d.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-824da7e4.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-824da7e4.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-82df4878.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-4b89126c.entry.js.map → p-82df4878.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-83135a56.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-83135a56.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-8c549b7f.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-98a23073.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-9f8576e1.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-9f8576e1.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a4041773.system.js.map +1 -1
- package/dist/verdocs-web-sdk/p-a43e5fb3.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a43e5fb3.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a717d591.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a717d591.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a8699c5d.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/{p-2f4c5964.system.entry.js.map → p-a8699c5d.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-b348e0ee.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b348e0ee.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-b8e6a9b6.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-bdc40f6e.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-bf8a6175.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-c0c61629.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c0c61629.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-c1a9eb1f.js +2 -0
- package/dist/verdocs-web-sdk/p-c1a9eb1f.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-d5729782.system.entry.js → p-c3e82de2.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-c3e82de2.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c51715f2.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c51715f2.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c827cc19.system.js +2 -0
- package/dist/verdocs-web-sdk/p-c827cc19.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-cf2d7761.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-cf2d7761.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-11e316c1.system.entry.js → p-cf8ecaaf.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-11e316c1.system.entry.js.map → p-cf8ecaaf.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-d2b22759.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-d2d3b56d.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-01d396e5.entry.js → p-f11b14a1.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-01d396e5.entry.js.map → p-f11b14a1.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-2f7e61e9.entry.js → p-f29b8035.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-2f7e61e9.entry.js.map → p-f29b8035.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-cef66554.system.entry.js → p-f972b493.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-cef66554.system.entry.js.map → p-f972b493.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-f9901184.system.js +2 -0
- package/dist/verdocs-web-sdk/p-f9901184.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-9a37ff31.system.entry.js → p-fb13e1ce.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-9a37ff31.system.entry.js.map → p-fb13e1ce.system.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-a2db6777.entry.js → p-fd0a605f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-fd0a605f.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-fe512c19.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-fe512c19.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ff1e07ee.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-ff1e07ee.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ff4840d2.system.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 +3 -5
- package/dist/cjs/Pages-1baca663.js +0 -23
- package/dist/cjs/Pages-1baca663.js.map +0 -1
- package/dist/cjs/Templates-038bcae4.js.map +0 -1
- package/dist/cjs/VerdocsEndpoint-0dcde19d.js.map +0 -1
- package/dist/cjs/verdocs-document-page_3.cjs.entry.js +0 -291
- package/dist/cjs/verdocs-document-page_3.cjs.entry.js.map +0 -1
- package/dist/collection/components/controls/verdocs-organization-card/user-group.svg +0 -1
- package/dist/esm/Pages-2af466b6.js +0 -20
- package/dist/esm/Pages-2af466b6.js.map +0 -1
- package/dist/esm/Templates-0b30ee66.js.map +0 -1
- package/dist/esm/VerdocsEndpoint-9acb111c.js.map +0 -1
- package/dist/esm/verdocs-document-page_3.entry.js +0 -285
- package/dist/esm/verdocs-document-page_3.entry.js.map +0 -1
- package/dist/esm-es5/Pages-2af466b6.js +0 -2
- package/dist/esm-es5/Pages-2af466b6.js.map +0 -1
- package/dist/esm-es5/Templates-0b30ee66.js +0 -2
- package/dist/esm-es5/Templates-0b30ee66.js.map +0 -1
- package/dist/esm-es5/VerdocsEndpoint-9acb111c.js +0 -2
- package/dist/esm-es5/VerdocsEndpoint-9acb111c.js.map +0 -1
- package/dist/esm-es5/verdocs-document-page_3.entry.js +0 -2
- package/dist/esm-es5/verdocs-document-page_3.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-000476c3.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-000476c3.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-03a00681.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-03a00681.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-0ec0e42d.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-0ec0e42d.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-10d804cf.js +0 -2
- package/dist/verdocs-web-sdk/p-10d804cf.js.map +0 -1
- package/dist/verdocs-web-sdk/p-186e7901.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-186e7901.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-1cace026.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-1cace026.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-1ec3941b.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-1ec3941b.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2f4c5964.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-42ee012b.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-42ee012b.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-476f20a0.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-476f20a0.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-4b89126c.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-513168f7.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-513168f7.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-51353418.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-51353418.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-69a5099d.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-69a5099d.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-6de53dcc.js +0 -2
- package/dist/verdocs-web-sdk/p-6de53dcc.js.map +0 -1
- package/dist/verdocs-web-sdk/p-741b882d.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-741b882d.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-7999a83a.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-7999a83a.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-7a63bdd1.system.js +0 -2
- package/dist/verdocs-web-sdk/p-7a63bdd1.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8cb4e511.js +0 -2
- package/dist/verdocs-web-sdk/p-8cb4e511.js.map +0 -1
- package/dist/verdocs-web-sdk/p-98c97dc8.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-98c97dc8.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-98ddc053.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-98ddc053.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a2db6777.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-d5729782.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-d84dbdf9.system.js +0 -2
- package/dist/verdocs-web-sdk/p-d84dbdf9.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-db54004b.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-fb9d23c3.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fb9d23c3.entry.js.map +0 -1
- package/fixup-pdfjs.js +0 -80
|
@@ -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","onPress","displayMode","src","logo","alt","variant","onClick","onSubmit","autocomplete","value","onInput","target","type","justifyContent","margin","open","heading","onClosed"],"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 {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport {VerdocsEndpoint, TSession} from '@verdocs/js-sdk';\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} onPress={() => 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 onPress={() => 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} onPress={() => this.handleLogin()} style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}} />\n </form>\n\n {this.loginError ? <verdocs-ok-dialog open={true} heading=\"Login Error\" message={this.loginError} onClosed={() => 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","onPress","displayMode","src","logo","alt","variant","onClick","onSubmit","autocomplete","value","onInput","target","type","justifyContent","margin","open","heading","onClosed"],"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} onPress={() => 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 onPress={() => 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} onPress={() => this.handleLogin()} style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}} />\n </form>\n\n {this.loginError ? <verdocs-ok-dialog open={true} heading=\"Login Error\" message={this.loginError} onClosed={() => 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,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r["throw"](e))}catch(e){i(e)}}function l(e){e.done?n(e.value):o(e.value).then(a,s)}l((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(a){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,o&&(i=a[0]&2?o["return"]:a[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,a[1])).done)return i;if(o=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;o=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(i=n.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){n.label=a[1];break}if(a[0]===6&&n.label<i[1]){n.label=i[1];i=a;break}if(i&&n.label<i[2]){n.label=i[2];n.ops.push(a);break}if(i[2])n.ops.pop();n.trys.pop();continue}a=t.call(e,n)}catch(e){a=[6,e];o=0}finally{r=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[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,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r["throw"](e))}catch(e){i(e)}}function l(e){e.done?n(e.value):o(e.value).then(a,s)}l((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(a){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,o&&(i=a[0]&2?o["return"]:a[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,a[1])).done)return i;if(o=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;o=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(i=n.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){n.label=a[1];break}if(a[0]===6&&n.label<i[1]){n.label=i[1];i=a;break}if(i&&n.label<i[2]){n.label=i[2];n.ops.push(a);break}if(i[2])n.ops.pop();n.trys.pop();continue}a=t.call(e,n)}catch(e){a=[6,e];o=0}finally{r=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[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-82f4600d.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.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){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)},onTemplateCreated:function(t){return e.handleTemplateCreated(t)}}),this.step==="properties"&&h("verdocs-template-properties",{onCancel:function(t){return e.handleCancel(t)},onSettingsUpdated:function(t){return e.handlePropertiesUpdated(t)}}),this.step==="recipients"&&h("verdocs-template-recipients",{onCancel:function(t){return e.handleCancel(t)},onSettingsUpdated:function(t){return e.handleRecipientsUpdated(t)}}),this.step==="fields"&&h("verdocs-template-fields",{onCancel:function(t){return e.handleCancel(t)},onSettingsUpdated: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,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,h,H as Host,c as createEvent}from"./index-f78d163d.js";import{c as createPopper}from"./popper-f860750c.js";var verdocsButtonPanelCss='verdocs-button-panel{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:inline-block}verdocs-button-panel .icon{display:inline-block;cursor:pointer}verdocs-button-panel .icon svg{fill:#cccccc}verdocs-button-panel .icon:hover svg{fill:#ffffff}.verdocs-button-panel-content{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;-webkit-box-shadow:0 0 10px 1px #999999;box-shadow:0 0 10px 1px #999999;display:none;background:#ffffff;color:#33364b;width:280px;font-weight:bold;padding:15px;font-size:14px;position:relative;border-radius:4px;z-index:10000}.verdocs-button-panel-content .arrow,.verdocs-button-panel-content .arrow::before{position:absolute;width:8px;height:8px;background:inherit}.verdocs-button-panel-content .arrow{visibility:hidden;top:-4px}.verdocs-button-panel-content .arrow::before{visibility:visible;content:"";-webkit-transform:rotate(45deg);transform:rotate(45deg)}.verdocs-button-panel-content[data-show]{display:block}.verdocs-button-panel-content[data-popper-placement^=top]>.arrow{bottom:-4px}.verdocs-button-panel-content[data-popper-placement^=bottom]>.arrow{top:-4px}.verdocs-button-panel-content[data-popper-placement^=left]>.arrow{right:-4px}.verdocs-button-panel-content[data-popper-placement^=right]>.arrow{left:-4px}.verdocs-button-panel-content h6{color:#092c4c;font-size:16px;font-weight:bold;margin:0 0 8px 0}.verdocs-button-panel-content form{margin:0;padding:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.verdocs-button-panel-content label{display:block;font-size:14px;font-weight:bold;margin:0 0 3px 0;color:#33364b}.verdocs-button-panel-content input{-ms-flex:1;flex:1;height:34px;display:-ms-flexbox;display:flex;font-size:14px;margin:0 0 10px 0}';var VerdocsButtonPanel=function(){function e(e){registerInstance(this,e);this.showing=false;this.icon=""}e.prototype.componentDidRender=function(){document.body.appendChild(this.panelEl);if(this.popperInstance){this.popperInstance.destroy()}this.popperInstance=createPopper(this.iconEl,this.panelEl,{})};e.prototype.disconnectedCallback=function(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}if(this.panelEl){this.panelEl.remove()}};e.prototype.toggle=function(e){var t=this;var o,n,i,l;e.stopPropagation();if(this.showing){(o=this.panelEl)===null||o===void 0?void 0:o.removeAttribute("data-show");(n=this.hiderEl)===null||n===void 0?void 0:n.remove();this.showing=false}else{(i=this.panelEl)===null||i===void 0?void 0:i.setAttribute("data-show","");(l=this.popperInstance)===null||l===void 0?void 0:l.update().catch((function(){}));this.showing=true;this.hiderEl=document.createElement("div");this.hiderEl.style.zIndex="100";this.hiderEl.style.position="absolute";this.hiderEl.style.top="0px";this.hiderEl.style.left="0px";this.hiderEl.style.right="0px";this.hiderEl.style.bottom="0px";this.hiderEl.onclick=function(e){return t.toggle(e)};document.body.appendChild(this.hiderEl)}};e.prototype.render=function(){var e=this;return h(Host,null,h("div",{class:"icon",innerHTML:this.icon,onClick:function(t){return e.toggle(t)},ref:function(t){return e.iconEl=t}}),h("div",{role:"tooltip",class:"verdocs-button-panel-content","data-popper-placement":"bottom",ref:function(t){return e.panelEl=t}},h("div",{"data-popper-arrow":"true",class:"arrow"}),h("slot",null)))};return e}();VerdocsButtonPanel.style=verdocsButtonPanelCss;var verdocsSelectInputCss='verdocs-select-input{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-select-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:28px;padding:4px 12px}verdocs-select-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element:focus{border:1px solid #7d88ff}verdocs-select-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}';var VerdocsSelectInput=function(){function e(e){registerInstance(this,e);this.fieldChange=createEvent(this,"fieldChange",7);this.value="";this.label="";this.options=undefined;this.disabled=false;this._value=""}e.prototype.componentWillLoad=function(){this._value=this.value};e.prototype.componentDidLoad=function(){};e.prototype.handleInput=function(e){var t;this._value=e.target.value;(t=this.fieldChange)===null||t===void 0?void 0:t.emit(e.target.value)};e.prototype.render=function(){var e=this;return h(Host,{class:"input-field"},h("label",null,this.label?h("div",{class:"input-label"},this.label+":"):h("div",null),h("select",{class:"input-element",disabled:this.disabled,onInput:function(t){return e.handleInput(t)}},this.options.map((function(t){return h("option",{value:t.value,selected:t.value===e.value},t.label)})))))};return e}();VerdocsSelectInput.style=verdocsSelectInputCss;var verdocsTextInputCss='verdocs-text-input{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-text-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:28px;padding:4px 12px;outline:none}verdocs-text-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:focus{outline:1px solid #7d88ff}verdocs-text-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}';var VerdocsTextInput=function(){function e(e){registerInstance(this,e);this.value="";this.label="";this.placeholder="";this.autocomplete="";this.type="text";this.disabled=false;this._value=""}e.prototype.componentWillLoad=function(){};e.prototype.componentDidLoad=function(){};e.prototype.render=function(){return h(Host,{class:"input-field"},h("label",null,this.label?h("div",{class:"input-label"},this.label+":"):h("div",null),h("input",{type:this.type,value:this.value,class:"input-element","data-lpignore":"true",disabled:this.disabled,placeholder:this.placeholder,autoComplete:this.autocomplete})))};return e}();VerdocsTextInput.style=verdocsTextInputCss;export{VerdocsButtonPanel as verdocs_button_panel,VerdocsSelectInput as verdocs_select_input,VerdocsTextInput as verdocs_text_input};
|
|
1
|
+
import{r as registerInstance,h,H as Host,c as createEvent}from"./index-f78d163d.js";import{c as createPopper}from"./popper-f860750c.js";var verdocsButtonPanelCss='verdocs-button-panel{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;display:inline-block}verdocs-button-panel .icon{display:inline-block;cursor:pointer}verdocs-button-panel .icon svg{fill:#cccccc}verdocs-button-panel .icon:hover svg{fill:#ffffff}.verdocs-button-panel-content{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;-webkit-box-shadow:0 0 10px 1px #999999;box-shadow:0 0 10px 1px #999999;display:none;background:#ffffff;color:#33364b;width:280px;font-weight:bold;padding:15px;font-size:14px;position:relative;border-radius:4px;z-index:10000}.verdocs-button-panel-content .arrow,.verdocs-button-panel-content .arrow::before{position:absolute;width:8px;height:8px;background:inherit}.verdocs-button-panel-content .arrow{visibility:hidden;top:-4px}.verdocs-button-panel-content .arrow::before{visibility:visible;content:"";-webkit-transform:rotate(45deg);transform:rotate(45deg)}.verdocs-button-panel-content[data-show]{display:block}.verdocs-button-panel-content[data-popper-placement^=top]>.arrow{bottom:-4px}.verdocs-button-panel-content[data-popper-placement^=bottom]>.arrow{top:-4px}.verdocs-button-panel-content[data-popper-placement^=left]>.arrow{right:-4px}.verdocs-button-panel-content[data-popper-placement^=right]>.arrow{left:-4px}.verdocs-button-panel-content h6{color:#092c4c;font-size:16px;font-weight:bold;margin:0 0 8px 0}.verdocs-button-panel-content form{margin:0;padding:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.verdocs-button-panel-content label{display:block;font-size:14px;font-weight:bold;margin:0 0 3px 0;color:#33364b}.verdocs-button-panel-content input{-ms-flex:1;flex:1;height:34px;display:-ms-flexbox;display:flex;font-size:14px;margin:0 0 10px 0}';var VerdocsButtonPanel=function(){function e(e){registerInstance(this,e);this.showing=false;this.icon=""}e.prototype.componentDidRender=function(){document.body.appendChild(this.panelEl);if(this.popperInstance){this.popperInstance.destroy()}this.popperInstance=createPopper(this.iconEl,this.panelEl,{})};e.prototype.disconnectedCallback=function(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}if(this.panelEl){this.panelEl.remove()}};e.prototype.toggle=function(e){var t=this;var o,n,i,l;e.stopPropagation();if(this.showing){(o=this.panelEl)===null||o===void 0?void 0:o.removeAttribute("data-show");(n=this.hiderEl)===null||n===void 0?void 0:n.remove();this.showing=false}else{(i=this.panelEl)===null||i===void 0?void 0:i.setAttribute("data-show","");(l=this.popperInstance)===null||l===void 0?void 0:l.update().catch((function(){}));this.showing=true;this.hiderEl=document.createElement("div");this.hiderEl.style.zIndex="100";this.hiderEl.style.position="absolute";this.hiderEl.style.top="0px";this.hiderEl.style.left="0px";this.hiderEl.style.right="0px";this.hiderEl.style.bottom="0px";this.hiderEl.onclick=function(e){return t.toggle(e)};document.body.appendChild(this.hiderEl)}};e.prototype.render=function(){var e=this;return h(Host,null,h("div",{class:"icon",innerHTML:this.icon,onClick:function(t){return e.toggle(t)},ref:function(t){return e.iconEl=t}}),h("div",{role:"tooltip",class:"verdocs-button-panel-content","data-popper-placement":"bottom",ref:function(t){return e.panelEl=t}},h("div",{"data-popper-arrow":"true",class:"arrow"}),h("slot",null)))};return e}();VerdocsButtonPanel.style=verdocsButtonPanelCss;var verdocsSelectInputCss='verdocs-select-input{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-select-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:28px;padding:4px 12px}verdocs-select-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-select-input .input-element:focus{border:1px solid #7d88ff}verdocs-select-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}';var VerdocsSelectInput=function(){function e(e){registerInstance(this,e);this.fieldChange=createEvent(this,"fieldChange",7);this.value="";this.label="";this.options=undefined;this.disabled=false;this._value=""}e.prototype.componentWillLoad=function(){this._value=this.value};e.prototype.componentDidLoad=function(){};e.prototype.handleInput=function(e){var t;this._value=e.target.value;(t=this.fieldChange)===null||t===void 0?void 0:t.emit(e.target.value)};e.prototype.render=function(){var e=this;return h(Host,{class:"input-field"},h("label",null,this.label?h("div",{class:"input-label"},this.label+":"):h("div",null),h("select",{class:"input-element",disabled:this.disabled,onInput:function(t){return e.handleInput(t)}},this.options.map((function(t){return h("option",{value:t.value,selected:t.value===e.value},t.label)})))))};return e}();VerdocsSelectInput.style=verdocsSelectInputCss;var verdocsTextInputCss='verdocs-text-input{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-text-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:28px;padding:4px 12px;outline:none}verdocs-text-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:focus{outline:1px solid #7d88ff}verdocs-text-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}verdocs-text-input [data-lastpass-icon-root]{display:none !important}';var VerdocsTextInput=function(){function e(e){registerInstance(this,e);this.value="";this.label="";this.placeholder="";this.autocomplete="";this.type="text";this.disabled=false;this._value=""}e.prototype.componentWillLoad=function(){};e.prototype.componentDidLoad=function(){};e.prototype.render=function(){return h(Host,{class:"input-field"},h("label",null,this.label?h("div",{class:"input-label"},this.label+":"):h("div",null),h("input",{type:this.type,value:this.value,class:"input-element","data-lpignore":"true",disabled:this.disabled,placeholder:this.placeholder,autoComplete:this.autocomplete})))};return e}();VerdocsTextInput.style=verdocsTextInputCss;export{VerdocsButtonPanel as verdocs_button_panel,VerdocsSelectInput as verdocs_select_input,VerdocsTextInput as verdocs_text_input};
|
|
2
2
|
//# sourceMappingURL=verdocs-button-panel_3.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/controls/verdocs-button-panel/verdocs-button-panel.scss?tag=verdocs-button-panel","src/components/controls/verdocs-button-panel/verdocs-button-panel.tsx","src/components/controls/verdocs-select-input/verdocs-select-input.scss?tag=verdocs-select-input","src/components/controls/verdocs-select-input/verdocs-select-input.tsx","src/components/controls/verdocs-text-input/verdocs-text-input.scss?tag=verdocs-text-input","src/components/controls/verdocs-text-input/verdocs-text-input.tsx"],"names":["verdocsButtonPanelCss","VerdocsButtonPanel","this","showing","prototype","componentDidRender","document","body","appendChild","panelEl","popperInstance","destroy","createPopper","iconEl","disconnectedCallback","remove","toggle","e","_this","stopPropagation","_a","removeAttribute","_b","hiderEl","_c","setAttribute","_d","update","catch","createElement","style","zIndex","position","top","left","right","bottom","onclick","render","h","Host","class","innerHTML","icon","onClick","ref","el","role","data-popper-placement","data-popper-arrow","verdocsSelectInputCss","VerdocsSelectInput","componentWillLoad","_value","value","componentDidLoad","handleInput","target","fieldChange","emit","label","disabled","onInput","options","map","option","selected","verdocsTextInputCss","VerdocsTextInput","type","data-lpignore","placeholder","autoComplete","autocomplete"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-button-panel {\n font-family: $verdocs-primary-font;\n display: inline-block;\n\n .icon {\n display: inline-block;\n cursor: pointer;\n\n svg {\n fill: $light-border-color;\n }\n\n &:hover {\n svg {\n fill: $verdocs-grey-4;\n }\n }\n }\n}\n\n.verdocs-button-panel-content {\n font-family: $verdocs-primary-font;\n box-shadow: 0 0 10px 1px #999999;\n display: none;\n background: #ffffff;\n color: $label-color;\n width: 280px;\n font-weight: bold;\n padding: 15px;\n font-size: 14px;\n position: relative;\n border-radius: 4px;\n z-index: 10000;\n\n .arrow,\n .arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n top: -4px;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n }\n\n &[data-show] {\n display: block;\n }\n\n &[data-popper-placement^='top'] > .arrow {\n bottom: -4px;\n }\n\n &[data-popper-placement^='bottom'] > .arrow {\n top: -4px;\n }\n\n &[data-popper-placement^='left'] > .arrow {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] > .arrow {\n left: -4px;\n }\n\n h6 {\n color: $verdocs-grey-0;\n font-size: 16px;\n font-weight: bold;\n margin: 0 0 8px 0;\n }\n\n form {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n }\n\n label {\n display: block;\n font-size: 14px;\n font-weight: bold;\n margin: 0 0 3px 0;\n color: $verdocs-grey-1;\n }\n\n input {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 14px;\n margin: 0 0 10px 0;\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop} from '@stencil/core';\n\n/**\n * Displays a clickable icon. When clicked, a customizable drop-down panel will be displayed.\n */\n@Component({\n tag: 'verdocs-button-panel',\n styleUrl: 'verdocs-button-panel.scss',\n shadow: false,\n})\nexport class VerdocsButtonPanel {\n iconEl: HTMLDivElement;\n panelEl: HTMLDivElement;\n hiderEl?: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n componentDidRender() {\n document.body.appendChild(this.panelEl);\n if (this.popperInstance) {\n this.popperInstance.destroy();\n }\n\n this.popperInstance = createPopper(this.iconEl, this.panelEl, {\n // placement: 'top-end',\n // modifiers: [{name: 'offset', options: {offset: [0, 10]}}],\n });\n }\n\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n\n if (this.panelEl) {\n this.panelEl.remove();\n }\n }\n\n showing = false;\n toggle(e: any) {\n e.stopPropagation();\n\n if (this.showing) {\n this.panelEl?.removeAttribute('data-show');\n this.hiderEl?.remove();\n this.showing = false;\n } else {\n this.panelEl?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n this.showing = true;\n\n this.hiderEl = document.createElement('div');\n this.hiderEl.style.zIndex = '100';\n this.hiderEl.style.position = 'absolute';\n this.hiderEl.style.top = '0px';\n this.hiderEl.style.left = '0px';\n this.hiderEl.style.right = '0px';\n this.hiderEl.style.bottom = '0px';\n this.hiderEl.onclick = (e: any) => this.toggle(e);\n document.body.appendChild(this.hiderEl);\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"icon\" innerHTML={this.icon} onClick={(e: any) => this.toggle(e)} ref={el => (this.iconEl = el)} />\n <div role=\"tooltip\" class=\"verdocs-button-panel-content\" data-popper-placement=\"bottom\" ref={el => (this.panelEl = el as HTMLDivElement)}>\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n <slot />\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-select-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 28px;\n padding: 4px 12px;\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n border: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n}\n","import {Component, Prop, State, Host, h, Event, EventEmitter} from '@stencil/core';\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emmit.\n */\n@Component({\n tag: 'verdocs-select-input',\n styleUrl: 'verdocs-select-input.scss',\n})\nexport class VerdocsSelectInput {\n /**\n * The initial value for the input field.\n */\n @Prop() value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The options to list.\n */\n @Prop() options: {label: string; value: string}[];\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n @State() _value: string = '';\n\n /**\n * Event fired when the selection has changed\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n componentWillLoad() {\n this._value = this.value;\n }\n\n componentDidLoad() {}\n\n handleInput(e: any) {\n this._value = e.target.value;\n this.fieldChange?.emit(e.target.value);\n }\n\n render() {\n return (\n <Host class=\"input-field\">\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <select class=\"input-element\" disabled={this.disabled} onInput={e => this.handleInput(e)}>\n {this.options.map(option => (\n <option value={option.value} selected={option.value === this.value}>\n {option.label}\n </option>\n ))}\n </select>\n </label>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-text-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 28px;\n padding: 4px 12px;\n outline: none;\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n outline: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n}\n","import {Component, Prop, State, Host, h} from '@stencil/core';\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emmit.\n */\n@Component({\n tag: 'verdocs-text-input',\n styleUrl: 'verdocs-text-input.scss',\n})\nexport class VerdocsTextInput {\n /**\n * The initial value for the input field.\n */\n @Prop() value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The placeholder for the field.\n */\n @Prop() placeholder: string = '';\n\n /**\n * If desired, the autocomplete attribute to set.\n */\n @Prop() autocomplete: string = '';\n\n /**\n * The type of field to render. Only text-type fields are allowed here for the current styling. Additional types\n * (e.g. a date picker) will be supported by other controls in the future.\n */\n @Prop() type: 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url' = 'text';\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n @State() _value: string = '';\n\n componentWillLoad() {\n // this._value = this.value;\n }\n\n componentDidLoad() {}\n\n // handleInput(e: any) {\n // this._value = e.target.value;\n // }\n\n render() {\n return (\n <Host class=\"input-field\">\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <input\n type={this.type}\n value={this.value}\n class=\"input-element\"\n data-lpignore=\"true\"\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoComplete={this.autocomplete}\n // onInput={e => this.handleInput(e)}\n />\n </label>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["src/components/controls/verdocs-button-panel/verdocs-button-panel.scss?tag=verdocs-button-panel","src/components/controls/verdocs-button-panel/verdocs-button-panel.tsx","src/components/controls/verdocs-select-input/verdocs-select-input.scss?tag=verdocs-select-input","src/components/controls/verdocs-select-input/verdocs-select-input.tsx","src/components/controls/verdocs-text-input/verdocs-text-input.scss?tag=verdocs-text-input","src/components/controls/verdocs-text-input/verdocs-text-input.tsx"],"names":["verdocsButtonPanelCss","VerdocsButtonPanel","this","showing","prototype","componentDidRender","document","body","appendChild","panelEl","popperInstance","destroy","createPopper","iconEl","disconnectedCallback","remove","toggle","e","_this","stopPropagation","_a","removeAttribute","_b","hiderEl","_c","setAttribute","_d","update","catch","createElement","style","zIndex","position","top","left","right","bottom","onclick","render","h","Host","class","innerHTML","icon","onClick","ref","el","role","data-popper-placement","data-popper-arrow","verdocsSelectInputCss","VerdocsSelectInput","componentWillLoad","_value","value","componentDidLoad","handleInput","target","fieldChange","emit","label","disabled","onInput","options","map","option","selected","verdocsTextInputCss","VerdocsTextInput","type","data-lpignore","placeholder","autoComplete","autocomplete"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-button-panel {\n font-family: $verdocs-primary-font;\n display: inline-block;\n\n .icon {\n display: inline-block;\n cursor: pointer;\n\n svg {\n fill: $light-border-color;\n }\n\n &:hover {\n svg {\n fill: $verdocs-grey-4;\n }\n }\n }\n}\n\n.verdocs-button-panel-content {\n font-family: $verdocs-primary-font;\n box-shadow: 0 0 10px 1px #999999;\n display: none;\n background: #ffffff;\n color: $label-color;\n width: 280px;\n font-weight: bold;\n padding: 15px;\n font-size: 14px;\n position: relative;\n border-radius: 4px;\n z-index: 10000;\n\n .arrow,\n .arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n top: -4px;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n }\n\n &[data-show] {\n display: block;\n }\n\n &[data-popper-placement^='top'] > .arrow {\n bottom: -4px;\n }\n\n &[data-popper-placement^='bottom'] > .arrow {\n top: -4px;\n }\n\n &[data-popper-placement^='left'] > .arrow {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] > .arrow {\n left: -4px;\n }\n\n h6 {\n color: $verdocs-grey-0;\n font-size: 16px;\n font-weight: bold;\n margin: 0 0 8px 0;\n }\n\n form {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n }\n\n label {\n display: block;\n font-size: 14px;\n font-weight: bold;\n margin: 0 0 3px 0;\n color: $verdocs-grey-1;\n }\n\n input {\n flex: 1;\n height: 34px;\n display: flex;\n font-size: 14px;\n margin: 0 0 10px 0;\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop} from '@stencil/core';\n\n/**\n * Displays a clickable icon. When clicked, a customizable drop-down panel will be displayed.\n */\n@Component({\n tag: 'verdocs-button-panel',\n styleUrl: 'verdocs-button-panel.scss',\n shadow: false,\n})\nexport class VerdocsButtonPanel {\n iconEl: HTMLDivElement;\n panelEl: HTMLDivElement;\n hiderEl?: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n componentDidRender() {\n document.body.appendChild(this.panelEl);\n if (this.popperInstance) {\n this.popperInstance.destroy();\n }\n\n this.popperInstance = createPopper(this.iconEl, this.panelEl, {\n // placement: 'top-end',\n // modifiers: [{name: 'offset', options: {offset: [0, 10]}}],\n });\n }\n\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n\n if (this.panelEl) {\n this.panelEl.remove();\n }\n }\n\n showing = false;\n toggle(e: any) {\n e.stopPropagation();\n\n if (this.showing) {\n this.panelEl?.removeAttribute('data-show');\n this.hiderEl?.remove();\n this.showing = false;\n } else {\n this.panelEl?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n this.showing = true;\n\n this.hiderEl = document.createElement('div');\n this.hiderEl.style.zIndex = '100';\n this.hiderEl.style.position = 'absolute';\n this.hiderEl.style.top = '0px';\n this.hiderEl.style.left = '0px';\n this.hiderEl.style.right = '0px';\n this.hiderEl.style.bottom = '0px';\n this.hiderEl.onclick = (e: any) => this.toggle(e);\n document.body.appendChild(this.hiderEl);\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"icon\" innerHTML={this.icon} onClick={(e: any) => this.toggle(e)} ref={el => (this.iconEl = el)} />\n <div role=\"tooltip\" class=\"verdocs-button-panel-content\" data-popper-placement=\"bottom\" ref={el => (this.panelEl = el as HTMLDivElement)}>\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n <slot />\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-select-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 28px;\n padding: 4px 12px;\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n border: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n}\n","import {Component, Prop, State, Host, h, Event, EventEmitter} from '@stencil/core';\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emmit.\n */\n@Component({\n tag: 'verdocs-select-input',\n styleUrl: 'verdocs-select-input.scss',\n})\nexport class VerdocsSelectInput {\n /**\n * The initial value for the input field.\n */\n @Prop() value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The options to list.\n */\n @Prop() options: {label: string; value: string}[];\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n @State() _value: string = '';\n\n /**\n * Event fired when the selection has changed\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n componentWillLoad() {\n this._value = this.value;\n }\n\n componentDidLoad() {}\n\n handleInput(e: any) {\n this._value = e.target.value;\n this.fieldChange?.emit(e.target.value);\n }\n\n render() {\n return (\n <Host class=\"input-field\">\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <select class=\"input-element\" disabled={this.disabled} onInput={e => this.handleInput(e)}>\n {this.options.map(option => (\n <option value={option.value} selected={option.value === this.value}>\n {option.label}\n </option>\n ))}\n </select>\n </label>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-text-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 28px;\n padding: 4px 12px;\n outline: none;\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n outline: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\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 {Component, Prop, State, Host, h} from '@stencil/core';\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emmit.\n */\n@Component({\n tag: 'verdocs-text-input',\n styleUrl: 'verdocs-text-input.scss',\n})\nexport class VerdocsTextInput {\n /**\n * The initial value for the input field.\n */\n @Prop() value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The placeholder for the field.\n */\n @Prop() placeholder: string = '';\n\n /**\n * If desired, the autocomplete attribute to set.\n */\n @Prop() autocomplete: string = '';\n\n /**\n * The type of field to render. Only text-type fields are allowed here for the current styling. Additional types\n * (e.g. a date picker) will be supported by other controls in the future.\n */\n @Prop() type: 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url' = 'text';\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n @State() _value: string = '';\n\n componentWillLoad() {\n // this._value = this.value;\n }\n\n componentDidLoad() {}\n\n // handleInput(e: any) {\n // this._value = e.target.value;\n // }\n\n render() {\n return (\n <Host class=\"input-field\">\n <label>\n {this.label ? <div class=\"input-label\">{this.label + ':'}</div> : <div />}\n <input\n type={this.type}\n value={this.value}\n class=\"input-element\"\n data-lpignore=\"true\"\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoComplete={this.autocomplete}\n // onInput={e => this.handleInput(e)}\n />\n </label>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";var verdocsCheckboxCss='verdocs-checkbox{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:20px;height:20px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100%}verdocs-checkbox.disabled{opacity:0.5}verdocs-checkbox.hide{display:none}verdocs-checkbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-checkbox input[type=checkbox]{width:18px;height:18px}';var VerdocsCheckbox=function(){function e(e){registerInstance(this,e);this.selected=createEvent(this,"selected",7);this.checked=false;this.name="";this.value="";this.disabled=false}e.prototype.handleChange=function(e){console.log("changed",e.target.checked);this.selected.emit({value:this.value})};e.prototype.render=function(){var e=this;return h(Host,{class:{disabled:this.disabled}},h("input",{type:"checkbox",value:this.value,name:this.name,id:"verdocs-checkbox-".concat(this.name,"-").concat(this.value),checked:this.checked,disabled:this.disabled,onChange:function(t){return e.handleChange(t)}}))};return e}();VerdocsCheckbox.style=verdocsCheckboxCss;export{VerdocsCheckbox as verdocs_checkbox};
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host}from"./index-f78d163d.js";var verdocsCheckboxCss='verdocs-checkbox{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:20px;height:20px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100%}verdocs-checkbox.disabled{opacity:0.5}verdocs-checkbox.hide{display:none}verdocs-checkbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#3f9d67}';var VerdocsCheckbox=function(){function e(e){registerInstance(this,e);this.selected=createEvent(this,"selected",7);this.checked=false;this.name="";this.value="";this.disabled=false}e.prototype.handleChange=function(e){console.log("changed",e.target.checked);this.selected.emit({value:this.value})};e.prototype.render=function(){var e=this;return h(Host,{class:{disabled:this.disabled}},h("input",{type:"checkbox",value:this.value,name:this.name,id:"verdocs-checkbox-".concat(this.name,"-").concat(this.value),checked:this.checked,disabled:this.disabled,onChange:function(t){return e.handleChange(t)}}))};return e}();VerdocsCheckbox.style=verdocsCheckboxCss;export{VerdocsCheckbox as verdocs_checkbox};
|
|
2
2
|
//# sourceMappingURL=verdocs-checkbox.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/controls/verdocs-checkbox/verdocs-checkbox.scss?tag=verdocs-checkbox","src/components/controls/verdocs-checkbox/verdocs-checkbox.tsx"],"names":["verdocsCheckboxCss","VerdocsCheckbox","prototype","handleChange","e","console","log","target","checked","this","selected","emit","value","render","_this","h","Host","class","disabled","type","name","id","concat","onChange"],"mappings":"oFAAA,IAAMA,mBAAqB,
|
|
1
|
+
{"version":3,"sources":["src/components/controls/verdocs-checkbox/verdocs-checkbox.scss?tag=verdocs-checkbox","src/components/controls/verdocs-checkbox/verdocs-checkbox.tsx"],"names":["verdocsCheckboxCss","VerdocsCheckbox","prototype","handleChange","e","console","log","target","checked","this","selected","emit","value","render","_this","h","Host","class","disabled","type","name","id","concat","onChange"],"mappings":"oFAAA,IAAMA,mBAAqB,+iBCYdC,gBAAe,4GAIC,gBAKJ,cAKC,iBAKK,MAS7BA,EAAAC,UAAAC,aAAA,SAAaC,GACXC,QAAQC,IAAI,UAAWF,EAAEG,OAAOC,SAChCC,KAAKC,SAASC,KAAK,CAACC,MAAOH,KAAKG,SAGlCX,EAAAC,UAAAW,OAAA,WAAA,IAAAC,EAAAL,KACE,OACEM,EAACC,KAAI,CAACC,MAAO,CAACC,SAAUT,KAAKS,WAC3BH,EAAA,QAAA,CACEI,KAAK,WACLP,MAAOH,KAAKG,MACZQ,KAAMX,KAAKW,KACXC,GAAI,oBAAAC,OAAoBb,KAAKW,KAAI,KAAAE,OAAIb,KAAKG,OAC1CJ,QAASC,KAAKD,QACdU,SAAUT,KAAKS,SACfK,SAAU,SAAAnB,GAAK,OAAAU,EAAKX,aAAaC,iBA3Cf","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-checkbox {\n font-family: $verdocs-primary-font;\n width: 20px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n &.disabled {\n opacity: 0.5;\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n\n input[type='checkbox'] {\n width: 18px;\n height: 18px;\n accent-color: $verdocs-green-accent;\n }\n}\n","import {Component, h, Host, Prop, Event, EventEmitter} from '@stencil/core';\n\n/**\n * Displays a check box. Note that this is different from the `verdocs-field-checkbox` component, which is designed\n * to be used in signing experiences and contains settings that connect to template fields. This is just a simple check box\n * for UI displays e.g. dialog boxes.\n */\n@Component({\n tag: 'verdocs-checkbox',\n styleUrl: 'verdocs-checkbox.scss',\n shadow: false,\n})\nexport class VerdocsCheckbox {\n /**\n * Whether the radio button is currently selected.\n */\n @Prop() checked: boolean = false;\n\n /**\n * HTML form field name for the input.\n */\n @Prop() name: string = '';\n\n /**\n * Value to track with the input.\n */\n @Prop() value: string = '';\n\n /**\n * If set, the button will still be displayed but not selectable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) selected: EventEmitter<{value: string}>;\n\n handleChange(e: any) {\n console.log('changed', e.target.checked);\n this.selected.emit({value: this.value});\n }\n\n render() {\n return (\n <Host class={{disabled: this.disabled}}>\n <input\n type=\"checkbox\"\n value={this.value}\n name={this.name}\n id={`verdocs-checkbox-${this.name}-${this.value}`}\n checked={this.checked}\n disabled={this.disabled}\n onChange={e => this.handleChange(e)}\n />\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-82f4600d.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.contactSelected=createEvent(this,"contactSelected",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 t;this.name=e.target.value;(t=this.searchContacts)===null||t===void 0?void 0:t.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 t;e.stopPropagation();this.showSuggestions=false;(t=this.cancel)===null||t===void 0?void 0:t.emit()};e.prototype.handleSubmit=function(e){var t;e.stopPropagation();this.showSuggestions=false;(t=this.contactSelected)===null||t===void 0?void 0:t.emit({full_name:this.name,email:this.email,phone:this.phone,message:this.message,delegator:this.delegator})};e.prototype.handleSelectSuggestion=function(e,t){e.stopPropagation();this.name=t.name;this.email=t.email;this.phone=t.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 t;return e.showSuggestions=((t=e.contactSuggestions)===null||t===void 0?void 0:t.length)>0},onInput:function(t){return e.handleNameChange(t)}}),this.showSuggestions&&h("div",{class:"dropdown"},this.contactSuggestions.map((function(t){var o;return h("div",{key:(o=t.id)!==null&&o!==void 0?o:t.name,class:"suggestion",onClick:function(o){return e.handleSelectSuggestion(o,t)}},t.avatar?h("img",{alt:"Avatar",class:"avatar",src:t.avatar}):h("div",{class:"avatar",innerHTML:placeholderIcon}),h("div",{class:"details"},h("div",{class:"name"},t.name),t.email&&h("div",{class:"destination"},t.email),t.phone&&h("div",{class:"destination"},t.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(t){return e.handleEmailChange(t)}})),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(t){return e.handlePhoneChange(t)}})),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(t){return e.handleMessageChange(t)}})),h("div",{class:"buttons"},h("verdocs-toggle-button",{icon:messageIcon,size:"small",active:this.showMessage,onToggle:function(t){e.showMessage=t.detail.active;e.showSuggestions=false}}),h("verdocs-toggle-button",{icon:delegateIcon,size:"small",active:this.delegator,onToggle:function(t){e.delegator=t.detail.active;e.showSuggestions=false}}),h("div",{class:"flex-fill"}),h("verdocs-button",{variant:"outline",label:"Cancel",size:"small",onPress:function(t){return e.handleCancel(t)}}),h("verdocs-button",{label:"OK",size:"small",onPress:function(t){return e.handleSubmit(t)}})))};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","contactSelected","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","icon","size","active","onToggle","detail","variant","label","onPress"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-contact-picker {\n font-family: $verdocs-primary-font;\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","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}) contactSelected: 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.contactSelected?.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\" onPress={e => this.handleCancel(e)} />\n <verdocs-button label=\"OK\" size=\"small\" onPress={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","contactSelected","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","onPress"],"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}) contactSelected: 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.contactSelected?.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\" onPress={e => this.handleCancel(e)} />\n <verdocs-button label=\"OK\" size=\"small\" onPress={e => this.handleSubmit(e)} />\n </div>\n </form>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host,a as getElement}from"./index-f78d163d.js";var verdocsDocumentPageCss="verdocs-document-page{width:100%;position:relative}verdocs-document-page .verdocs-document-page-layer{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:0 0 10px 5px #0000000f;box-shadow:0 0 10px 5px #0000000f}verdocs-document-page .verdocs-document-page-layer.img{max-width:100%}";var VerdocsDocumentPage=function(){function t(t){registerInstance(this,t);this.pageRendered=createEvent(this,"pageRendered",7);this.pageImageUri="";this.pageNumber=1;this.virtualWidth=612;this.virtualHeight=792;this.layers=[{name:"page",type:"canvas"}];this.containerId="verdocs-document-page-".concat(Math.random().toString(36).substring(2,11));this.renderedWidth=this.virtualWidth;this.renderedHeight=this.virtualHeight;this.naturalWidth=this.virtualWidth;this.naturalHeight=this.virtualHeight;this.aspectRatio=this.virtualWidth/this.virtualHeight;this.skipFirstNotification=true}t.prototype.componentDidLoad=function(){var t=this;this.resizeObserver=new ResizeObserver((function(e){for(var i=0,r=e;i<r.length;i++){var a=r[i];var n=a.contentRect.width;t.renderedWidth=n;t.renderedHeight=t.virtualHeight*(n/t.virtualWidth)}t.notifyRenderedSize()}));this.resizeObserver.observe(this.container)};t.prototype.disconnectedCallback=function(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()};t.prototype.notifyRenderedSize=function(){if(this.skipFirstNotification){this.skipFirstNotification=false;return}this.pageRendered.emit({container:this.container,containerId:this.containerId,pageNumber:this.pageNumber,virtualWidth:this.virtualWidth,virtualHeight:this.virtualHeight,renderedWidth:this.renderedWidth,renderedHeight:this.renderedHeight,naturalWidth:this.naturalWidth,naturalHeight:this.naturalHeight,xScale:this.renderedWidth/this.naturalWidth,yScale:this.renderedHeight/this.naturalHeight})};t.prototype.render=function(){var t=this;var e="".concat(this.renderedHeight,"px");return h(Host,{id:"".concat(this.containerId),style:{height:e}},this.layers.map((function(i){return i.type==="div"?h("div",{class:"verdocs-document-page-layer",id:"".concat(t.containerId,"-").concat(i.name),style:{height:e}}):h("img",{class:"verdocs-document-page-layer img",id:"".concat(t.containerId,"-").concat(i.name),src:t.pageImageUri,alt:"Page ".concat(t.pageNumber),"aria-hidden":true,onLoad:function(e){t.naturalWidth=e.target.naturalWidth;t.naturalHeight=e.target.naturalHeight;t.aspectRatio=t.naturalWidth/t.naturalHeight;console.log("[DOCPAGE] Loaded dimensions",{width:t.naturalWidth,height:t.naturalHeight,aspectRatio:t.aspectRatio})}})})))};Object.defineProperty(t.prototype,"container",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();VerdocsDocumentPage.style=verdocsDocumentPageCss;export{VerdocsDocumentPage as verdocs_document_page};
|
|
2
|
+
//# sourceMappingURL=verdocs-document-page.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["src/components/elements/verdocs-document-page/verdocs-document-page.scss?tag=verdocs-document-page","src/components/elements/verdocs-document-page/verdocs-document-page.tsx"],"names":["verdocsDocumentPageCss","VerdocsDocumentPage","name","type","concat","Math","random","toString","substring","this","virtualWidth","virtualHeight","prototype","componentDidLoad","_this","resizeObserver","ResizeObserver","entries","_i","entries_1","length","entry","renderedWidth","contentRect","width","renderedHeight","notifyRenderedSize","observe","container","disconnectedCallback","_a","disconnect","skipFirstNotification","pageRendered","emit","containerId","pageNumber","naturalWidth","naturalHeight","xScale","yScale","render","height","h","Host","id","style","layers","map","layer","class","src","pageImageUri","alt","aria-hidden","onLoad","e","target","aspectRatio","console","log"],"mappings":"oGAAA,IAAMA,uBAAyB,+SCelBC,oBAAmB,yHAOC,mBAMF,oBAME,uBAMC,gBAcD,CAAC,CAACC,KAAM,OAAQC,KAAM,4BAO9B,yBAAAC,OAAyBC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,wBAEvDC,KAAKC,iCACJD,KAAKE,gCACPF,KAAKC,gCACJD,KAAKE,+BACPF,KAAKC,aAAeD,KAAKE,yCAEvB,KAEjCV,EAAAW,UAAAC,iBAAA,WAAA,IAAAC,EAAAL,KACEA,KAAKM,eAAiB,IAAIC,gBAAe,SAAAC,GACvC,IAAoB,IAAAC,EAAA,EAAAC,EAAAF,EAAAC,EAAAC,EAAAC,OAAAF,IAAS,CAAxB,IAAMG,EAAKF,EAAAD,GACd,IAAMI,EAAgBD,EAAME,YAAYC,MACxCV,EAAKQ,cAAgBA,EACrBR,EAAKW,eAAiBX,EAAKH,eAAiBW,EAAgBR,EAAKJ,cAGnEI,EAAKY,wBAGPjB,KAAKM,eAAeY,QAAQlB,KAAKmB,YAGnC3B,EAAAW,UAAAiB,qBAAA,kBACEC,EAAArB,KAAKM,kBAAc,MAAAe,SAAA,OAAA,EAAAA,EAAEC,cASvB9B,EAAAW,UAAAc,mBAAA,WAGE,GAAIjB,KAAKuB,sBAAuB,CAC9BvB,KAAKuB,sBAAwB,MAC7B,OAGFvB,KAAKwB,aAAaC,KAAK,CACrBN,UAAWnB,KAAKmB,UAChBO,YAAa1B,KAAK0B,YAClBC,WAAY3B,KAAK2B,WACjB1B,aAAcD,KAAKC,aACnBC,cAAeF,KAAKE,cACpBW,cAAeb,KAAKa,cACpBG,eAAgBhB,KAAKgB,eACrBY,aAAc5B,KAAK4B,aACnBC,cAAe7B,KAAK6B,cACpBC,OAAQ9B,KAAKa,cAAgBb,KAAK4B,aAClCG,OAAQ/B,KAAKgB,eAAiBhB,KAAK6B,iBAIvCrC,EAAAW,UAAA6B,OAAA,WAAA,IAAA3B,EAAAL,KACE,IAAMiC,EAAS,GAAAtC,OAAGK,KAAKgB,eAAc,MAErC,OACEkB,EAACC,KAAI,CAACC,GAAI,GAAAzC,OAAGK,KAAK0B,aAAeW,MAAO,CAACJ,OAAMA,IAC5CjC,KAAKsC,OAAOC,KAAI,SAAAC,GACf,OAAAA,EAAM9C,OAAS,MACbwC,EAAA,MAAA,CAAKO,MAAM,8BAA8BL,GAAI,GAAAzC,OAAGU,EAAKqB,YAAW,KAAA/B,OAAI6C,EAAM/C,MAAQ4C,MAAO,CAACJ,OAAMA,KAEhGC,EAAA,MAAA,CACEO,MAAM,kCACNL,GAAI,GAAAzC,OAAGU,EAAKqB,YAAW,KAAA/B,OAAI6C,EAAM/C,MAEjCiD,IAAKrC,EAAKsC,aACVC,IAAK,QAAAjD,OAAQU,EAAKsB,YAAYkB,cACjB,KACbC,OAAQ,SAACC,GACP1C,EAAKuB,aAAemB,EAAEC,OAAOpB,aAC7BvB,EAAKwB,cAAgBkB,EAAEC,OAAOnB,cAC9BxB,EAAK4C,YAAc5C,EAAKuB,aAAevB,EAAKwB,cAC5CqB,QAAQC,IAAI,8BAA+B,CAACpC,MAAOV,EAAKuB,aAAcK,OAAQ5B,EAAKwB,cAAeoB,YAAa5C,EAAK4C,2JA3HpG","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n max-width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-document-page',\n styleUrl: 'verdocs-document-page.scss',\n shadow: false,\n})\nexport class VerdocsDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The URL of the image to render as the page background.\n */\n @Prop() pageImageUri: string = '';\n\n /**\n * The page number being rendered. Not used internally, but included in callbacks/events beacuse page numbers\n * are used everywhere in document handling. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-document-page-ker2fr1p9\">\n * <div id=\"verdocs-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n componentDidLoad(): void {\n this.resizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n });\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n container: this.container,\n containerId: this.containerId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n xScale: this.renderedWidth / this.naturalWidth,\n yScale: this.renderedHeight / this.naturalHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : (\n <img\n class=\"verdocs-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n // style={{height}}\n src={this.pageImageUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n onLoad={(e: any) => {\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n console.log('[DOCPAGE] Loaded dimensions', {width: this.naturalWidth, height: this.naturalHeight, aspectRatio: this.aspectRatio});\n }}\n />\n ),\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/controls/verdocs-dropdown/verdocs-dropdown.scss?tag=verdocs-dropdown","src/components/controls/verdocs-dropdown/verdocs-dropdown.tsx","src/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.scss?tag=verdocs-field-checkbox","src/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.tsx","src/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.scss?tag=verdocs-field-radio-button","src/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.tsx"],"names":["verdocsDropdownCss","VerdocsDropdown","class_1","prototype","componentWillLoad","this","isOpen","open","componentDidLoad","popper","createPopper","dropdownButton","dropdownMenu","placement","modifiers","name","options","offset","handleSelectOption","e","option","stopPropagation","optionSelected","emit","hide","showDropdown","setAttribute","removeAttribute","_a","setOptions","__assign","__spreadArray","enabled","_b","update","handleHideDropdown","target","localName","className","toggleDropdown","render","_this","h","Host","class","storybook","window","innerHTML","SortDown","aria-label","onClick","onBlur","ref","el","aria-hidden","map","disabled","label","verdocsFieldCheckboxCss","VerdocsFieldCheckbox","handleChange","fieldChange","value","checked","settings","getFieldSettings","field","_d","_c","required","type","tabIndex","order","onChange","verdocsFieldRadioButtonCss","VerdocsFieldRadioButton","console","log","id","concat","htmlFor"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-dropdown {\n font-family: $primary-font;\n display: block;\n\n .arrow {\n width: 32px;\n height: 26px;\n background: #fff;\n cursor: pointer;\n border-radius: 4px;\n align-items: center;\n display: inline-flex;\n border: 1px solid $light-border-color;\n justify-content: center;\n }\n\n .arrow svg {\n fill: $primary-color;\n transition: 0.3s;\n }\n\n .items {\n width: 200px;\n display: none;\n z-index: 10000;\n border-radius: 5px;\n background: $medium-bg;\n border: 1px solid $item-border-color;\n }\n\n .items[data-show] {\n display: block;\n }\n\n .option {\n width: 100%;\n color: #fff;\n border: none;\n display: block;\n text-align: left;\n background: none;\n padding: 10px 20px;\n }\n\n .option:hover {\n cursor: pointer;\n background: $primary-color;\n }\n\n .option[disabled] {\n color: $light-disabled-color;\n }\n\n .option[disabled]:hover {\n color: $light-disabled-color;\n cursor: inherit;\n background: transparent;\n }\n\n &.open {\n .items {\n display: block;\n }\n\n .arrow {\n background: $secondary-color;\n border: 1px solid $border-color;\n }\n\n .arrow svg {\n transform: scaleY(-1);\n fill: #fff;\n }\n }\n}\n","import {Host} from '@stencil/core';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport SortDown from './down-arrow.svg';\n\nexport interface IMenuOption {\n label: string;\n id?: any;\n faIcon?: any;\n disabled?: boolean;\n}\n\n/**\n * Display a drop-down menu button. A menu of the specified options will be displayed when the button is pressed. The menu will be hidden\n * when the button is pressed again, or an option is selected.\n */\n@Component({\n tag: 'verdocs-dropdown',\n styleUrl: 'verdocs-dropdown.scss',\n})\nexport class VerdocsDropdown {\n private dropdownButton?: HTMLButtonElement;\n private dropdownMenu?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The menu options to display.\n */\n @Prop() options: IMenuOption[] = [];\n\n /**\n * If set, the component will be open by default. This is primarily intended to be used for testing.\n */\n @Prop() open: boolean;\n\n /**\n * If set, the component will be open by default.\n */\n @State() isOpen: boolean;\n\n /**\n * Event fired when a menu option is clicked.\n * Web Component events need to be \"composed\" to cross the Shadow DOM and be received by parent frameworks.\n */\n @Event({composed: true}) optionSelected: EventEmitter<IMenuOption>;\n\n componentWillLoad() {\n this.isOpen = !!this.open;\n }\n\n componentDidLoad() {\n this.popper = createPopper(this.dropdownButton, this.dropdownMenu, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [0, 6]}}]});\n }\n\n handleSelectOption(e: any, option: IMenuOption) {\n e.stopPropagation();\n this.isOpen = false;\n this.optionSelected.emit(option);\n this.hide();\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n this.isOpen = true;\n this.dropdownMenu.setAttribute('data-show', '');\n this.dropdownMenu.removeAttribute('aria-hidden');\n\n this.popper?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }));\n\n this.popper?.update();\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown(e: any) {\n e.stopPropagation();\n\n if (this.isOpen) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.isOpen = false;\n this.dropdownMenu.removeAttribute('data-show');\n this.dropdownMenu.setAttribute('aria-hidden', 'true');\n this.popper?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }));\n }\n\n render() {\n return (\n <Host class={{storybook: !!window?.['STORYBOOK_ENV'], open: !!this.isOpen}}>\n <button\n class=\"arrow\"\n innerHTML={SortDown}\n aria-label=\"Open Menu\"\n onClick={e => this.toggleDropdown(e)}\n onBlur={e => this.handleHideDropdown(e)}\n ref={el => (this.dropdownButton = el as HTMLButtonElement)}\n />\n\n <div class=\"items\" aria-hidden={!this.open} ref={el => (this.dropdownMenu = el as HTMLDivElement)}>\n {this.options?.map(option => (\n <button onClick={e => this.handleSelectOption(e, option)} class=\"option\" disabled={option.disabled}>\n {option.label}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n","@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 {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Documents/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and 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 recipient completing the form, if known.\n */\n @Prop() recipient?: IRecipient;\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 * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<{option: number; value: boolean}>;\n\n handleChange(e: any) {\n this.fieldChange.emit({option: this.option, value: e.target.checked});\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const option = settings.options?.[this.option] ?? {checked: false};\n\n const disabled = this.disabled ?? settings.disabled ?? false;\n return (\n <Host class={{required: settings.required, disabled}}>\n <label>\n <input type=\"checkbox\" tabIndex={settings.order} checked={option.checked} disabled={disabled} required={settings.required} onChange={e => this.handleChange(e)} />\n <span />\n </label>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-field-radio-button {\n font-family: $verdocs-primary-font;\n width: 14px;\n height: 14px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n &.disabled {\n opacity: 0.5;\n }\n\n input[type='radio'] {\n position: absolute;\n opacity: 0;\n\n + label {\n &:before {\n content: '';\n background: $verdocs-grey-3;\n border-radius: 100%;\n border: 1px solid rgba(0, 0, 0, 0.6);\n display: inline-block;\n width: 10px;\n height: 10px;\n position: absolute;\n left: 1px;\n top: 1px;\n cursor: pointer;\n text-align: center;\n transition: all 250ms ease;\n }\n }\n\n &:checked {\n + label {\n &:before {\n background-color: $verdocs-green;\n box-shadow: inset 0 0 0 2px $verdocs-grey-3;\n }\n }\n }\n\n &:focus {\n + label {\n &:before {\n outline: none;\n border-color: $verdocs-green;\n }\n }\n }\n\n &:disabled {\n + label {\n &:before {\n box-shadow: inset 0 0 0 4px $verdocs-grey-3;\n border-color: darken($verdocs-grey-3, 25%);\n background: darken($verdocs-grey-3, 25%);\n }\n }\n }\n\n + label {\n &:empty {\n &:before {\n margin-right: 0;\n }\n }\n }\n }\n\n &.required {\n input[type='radio'] {\n + label {\n &:before {\n border: 1px solid $verdocs-red-1;\n }\n }\n }\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Documents/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a radio button.\n */\n@Component({\n tag: 'verdocs-field-radio-button',\n styleUrl: 'verdocs-field-radio-button.scss',\n shadow: false,\n})\nexport class VerdocsFieldRadioButton {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * The recipient completing the form, if known.\n */\n @Prop() recipient?: IRecipient;\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 * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<{option: number; value: boolean}>;\n\n handleChange(e: any) {\n console.log('changed', e);\n this.fieldChange.emit({option: this.option, value: e.target.checked});\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const disabled = this.disabled ?? settings.disabled ?? false;\n return (\n <Host class={{required: settings.required, disabled}}>\n <input\n type=\"radio\"\n tabIndex={settings.order}\n value={settings.value}\n name={settings.name}\n id={`${settings.name}=${settings.value}`}\n checked={settings.checked}\n disabled={disabled}\n required={settings.required}\n onChange={e => this.handleChange(e)}\n />\n <label htmlFor={`${settings.name}=${settings.value}`} />\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["src/components/controls/verdocs-dropdown/verdocs-dropdown.scss?tag=verdocs-dropdown","src/components/controls/verdocs-dropdown/verdocs-dropdown.tsx","src/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.scss?tag=verdocs-field-checkbox","src/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.tsx","src/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.scss?tag=verdocs-field-radio-button","src/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.tsx"],"names":["verdocsDropdownCss","VerdocsDropdown","class_1","prototype","componentWillLoad","this","isOpen","open","componentDidLoad","popper","createPopper","dropdownButton","dropdownMenu","placement","modifiers","name","options","offset","handleSelectOption","e","option","stopPropagation","optionSelected","emit","hide","showDropdown","setAttribute","removeAttribute","_a","setOptions","__assign","__spreadArray","enabled","_b","update","handleHideDropdown","target","localName","className","toggleDropdown","render","_this","h","Host","class","storybook","window","innerHTML","SortDown","aria-label","onClick","onBlur","ref","el","aria-hidden","map","disabled","label","verdocsFieldCheckboxCss","VerdocsFieldCheckbox","handleChange","fieldChange","value","checked","settings","getFieldSettings","field","_d","_c","required","type","tabIndex","order","onChange","verdocsFieldRadioButtonCss","VerdocsFieldRadioButton","console","log","id","concat","htmlFor"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-dropdown {\n font-family: $primary-font;\n display: block;\n\n .arrow {\n width: 32px;\n height: 26px;\n background: #fff;\n cursor: pointer;\n border-radius: 4px;\n align-items: center;\n display: inline-flex;\n border: 1px solid $light-border-color;\n justify-content: center;\n }\n\n .arrow svg {\n fill: $primary-color;\n transition: 0.3s;\n }\n\n .items {\n width: 200px;\n display: none;\n z-index: 10000;\n border-radius: 5px;\n background: $medium-bg;\n border: 1px solid $item-border-color;\n }\n\n .items[data-show] {\n display: block;\n }\n\n .option {\n width: 100%;\n color: #fff;\n border: none;\n display: block;\n text-align: left;\n background: none;\n padding: 10px 20px;\n }\n\n .option:hover {\n cursor: pointer;\n background: $primary-color;\n }\n\n .option[disabled] {\n color: $light-disabled-color;\n }\n\n .option[disabled]:hover {\n color: $light-disabled-color;\n cursor: inherit;\n background: transparent;\n }\n\n &.open {\n .items {\n display: block;\n }\n\n .arrow {\n background: $secondary-color;\n border: 1px solid $border-color;\n }\n\n .arrow svg {\n transform: scaleY(-1);\n fill: #fff;\n }\n }\n}\n","import {Host} from '@stencil/core';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport SortDown from './down-arrow.svg';\n\nexport interface IMenuOption {\n label: string;\n id?: any;\n faIcon?: any;\n disabled?: boolean;\n}\n\n/**\n * Display a drop-down menu button. A menu of the specified options will be displayed when the button is pressed. The menu will be hidden\n * when the button is pressed again, or an option is selected.\n */\n@Component({\n tag: 'verdocs-dropdown',\n styleUrl: 'verdocs-dropdown.scss',\n})\nexport class VerdocsDropdown {\n private dropdownButton?: HTMLButtonElement;\n private dropdownMenu?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The menu options to display.\n */\n @Prop() options: IMenuOption[] = [];\n\n /**\n * If set, the component will be open by default. This is primarily intended to be used for testing.\n */\n @Prop() open: boolean;\n\n /**\n * If set, the component will be open by default.\n */\n @State() isOpen: boolean;\n\n /**\n * Event fired when a menu option is clicked.\n * Web Component events need to be \"composed\" to cross the Shadow DOM and be received by parent frameworks.\n */\n @Event({composed: true}) optionSelected: EventEmitter<IMenuOption>;\n\n componentWillLoad() {\n this.isOpen = !!this.open;\n }\n\n componentDidLoad() {\n this.popper = createPopper(this.dropdownButton, this.dropdownMenu, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [0, 6]}}]});\n }\n\n handleSelectOption(e: any, option: IMenuOption) {\n e.stopPropagation();\n this.isOpen = false;\n this.optionSelected.emit(option);\n this.hide();\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n this.isOpen = true;\n this.dropdownMenu.setAttribute('data-show', '');\n this.dropdownMenu.removeAttribute('aria-hidden');\n\n this.popper?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }));\n\n this.popper?.update();\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown(e: any) {\n e.stopPropagation();\n\n if (this.isOpen) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.isOpen = false;\n this.dropdownMenu.removeAttribute('data-show');\n this.dropdownMenu.setAttribute('aria-hidden', 'true');\n this.popper?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }));\n }\n\n render() {\n return (\n <Host class={{storybook: !!window?.['STORYBOOK_ENV'], open: !!this.isOpen}}>\n <button\n class=\"arrow\"\n innerHTML={SortDown}\n aria-label=\"Open Menu\"\n onClick={e => this.toggleDropdown(e)}\n onBlur={e => this.handleHideDropdown(e)}\n ref={el => (this.dropdownButton = el as HTMLButtonElement)}\n />\n\n <div class=\"items\" aria-hidden={!this.open} ref={el => (this.dropdownMenu = el as HTMLDivElement)}>\n {this.options?.map(option => (\n <button onClick={e => this.handleSelectOption(e, option)} class=\"option\" disabled={option.disabled}>\n {option.label}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n","@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 {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and 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 recipient completing the form, if known.\n */\n @Prop() recipient?: IRecipient;\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 * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<{option: number; value: boolean}>;\n\n handleChange(e: any) {\n this.fieldChange.emit({option: this.option, value: e.target.checked});\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const option = settings.options?.[this.option] ?? {checked: false};\n\n const disabled = this.disabled ?? settings.disabled ?? false;\n return (\n <Host class={{required: settings.required, disabled}}>\n <label>\n <input type=\"checkbox\" tabIndex={settings.order} checked={option.checked} disabled={disabled} required={settings.required} onChange={e => this.handleChange(e)} />\n <span />\n </label>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-field-radio-button {\n font-family: $verdocs-primary-font;\n width: 14px;\n height: 14px;\n display: block;\n font-size: 11px;\n position: relative;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n &.disabled {\n opacity: 0.5;\n }\n\n input[type='radio'] {\n position: absolute;\n opacity: 0;\n\n + label {\n &:before {\n content: '';\n background: $verdocs-grey-3;\n border-radius: 100%;\n border: 1px solid rgba(0, 0, 0, 0.6);\n display: inline-block;\n width: 10px;\n height: 10px;\n position: absolute;\n left: 1px;\n top: 1px;\n cursor: pointer;\n text-align: center;\n transition: all 250ms ease;\n }\n }\n\n &:checked {\n + label {\n &:before {\n background-color: $verdocs-green;\n box-shadow: inset 0 0 0 2px $verdocs-grey-3;\n }\n }\n }\n\n &:focus {\n + label {\n &:before {\n outline: none;\n border-color: $verdocs-green;\n }\n }\n }\n\n &:disabled {\n + label {\n &:before {\n box-shadow: inset 0 0 0 4px $verdocs-grey-3;\n border-color: darken($verdocs-grey-3, 25%);\n background: darken($verdocs-grey-3, 25%);\n }\n }\n }\n\n + label {\n &:empty {\n &:before {\n margin-right: 0;\n }\n }\n }\n }\n\n &.required {\n input[type='radio'] {\n + label {\n &:before {\n border: 1px solid $verdocs-red-1;\n }\n }\n }\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter} from '@stencil/core';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a radio button.\n */\n@Component({\n tag: 'verdocs-field-radio-button',\n styleUrl: 'verdocs-field-radio-button.scss',\n shadow: false,\n})\nexport class VerdocsFieldRadioButton {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * The recipient completing the form, if known.\n */\n @Prop() recipient?: IRecipient;\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 * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<{option: number; value: boolean}>;\n\n handleChange(e: any) {\n console.log('changed', e);\n this.fieldChange.emit({option: this.option, value: e.target.checked});\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const disabled = this.disabled ?? settings.disabled ?? false;\n return (\n <Host class={{required: settings.required, disabled}}>\n <input\n type=\"radio\"\n tabIndex={settings.order}\n value={settings.value}\n name={settings.name}\n id={`${settings.name}=${settings.value}`}\n checked={settings.checked}\n disabled={disabled}\n required={settings.required}\n onChange={e => this.handleChange(e)}\n />\n <label htmlFor={`${settings.name}=${settings.value}`} />\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/elements/verdocs-field-attachment/verdocs-field-attachment.scss?tag=verdocs-field-attachment","src/components/elements/verdocs-field-attachment/verdocs-field-attachment.tsx"],"names":["verdocsFieldAttachmentCss","VerdocsFieldAttachment","class_1","prototype","focusField","this","handleShow","_this","dialog","document","createElement","open","addEventListener","_a","remove","body","append","render","settings","x","y","field","_b","setting","disabled","_d","_c","h","Host","class","required","innerHTML","Paperclip","onClick"],"mappings":"21DAAA,IAAMA,0BAA4B,2lBCcrBC,uBAAsB,gHAIuB,4CAU3B,MASbC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,8BAKPJ,EAAAC,UAAAG,WAAA,WAAA,IAAAC,EAAAF,KACEA,KAAKG,OAASC,SAASC,cAAc,yBACrCL,KAAKG,OAAOG,KAAO,KACnBN,KAAKG,OAAOI,iBAAiB,UAAU,WAAA,IAAAC,EAAM,OAAAA,EAAAN,EAAKC,UAAM,MAAAK,SAAA,OAAA,EAAAA,EAAEC,YAC1DL,SAASG,iBAAiB,QAAQ,WAAA,IAAAC,EAAM,OAAAA,EAAAN,EAAKC,UAAM,MAAAK,SAAA,OAAA,EAAAA,EAAEC,YACrDL,SAASM,KAAKC,OAAOX,KAAKG,SAG5BN,EAAAC,UAAAc,OAAA,WAAA,IAAAV,EAAAF,iBACE,IAAIa,EAA2D,CAACC,EAAG,EAAGC,EAAG,GACzE,GAAI,aAAcf,KAAKgB,SAASR,EAAAR,KAAKgB,SAAK,MAAAR,SAAA,OAAA,EAAAA,EAAEK,UAAU,CACpDA,EAAWb,KAAKgB,MAAMH,cACjB,GAAI,YAAab,KAAKgB,SAASC,EAAAjB,KAAKgB,SAAK,MAAAC,SAAA,OAAA,EAAAA,EAAEC,SAAS,CACzDL,EAAWb,KAAKgB,MAAME,QAGxB,IAAMC,GAAWC,GAAAC,EAAArB,KAAKmB,YAAQ,MAAAE,SAAA,EAAAA,EAAIR,EAASM,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,OACEE,EAACC,KAAI,CAACC,MAAO,CAACC,SAAUZ,EAASY,SAAUN,SAAQA,IACjDG,EAAA,OAAA,CAAMI,UAAWC,UAAWC,QAAS,WAAM,OAACT,GAAYjB,EAAKD,2BAhDlC","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-attachment {\n font-family: $verdocs-primary-font;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n\n span {\n cursor: inherit;\n }\n }\n\n span {\n width: 20px;\n cursor: pointer;\n }\n\n &.required {\n span {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {Component, h, Host, Prop, Event, EventEmitter, Method} from '@stencil/core';\nimport {ITemplateField, ITemplateFieldSetting} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IDocumentFieldSettings, IRecipient} from '@verdocs/js-sdk/
|
|
1
|
+
{"version":3,"sources":["src/components/elements/verdocs-field-attachment/verdocs-field-attachment.scss?tag=verdocs-field-attachment","src/components/elements/verdocs-field-attachment/verdocs-field-attachment.tsx"],"names":["verdocsFieldAttachmentCss","VerdocsFieldAttachment","class_1","prototype","focusField","this","handleShow","_this","dialog","document","createElement","open","addEventListener","_a","remove","body","append","render","settings","x","y","field","_b","setting","disabled","_d","_c","h","Host","class","required","innerHTML","Paperclip","onClick"],"mappings":"21DAAA,IAAMA,0BAA4B,2lBCcrBC,uBAAsB,gHAIuB,4CAU3B,MASbC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,8BAKPJ,EAAAC,UAAAG,WAAA,WAAA,IAAAC,EAAAF,KACEA,KAAKG,OAASC,SAASC,cAAc,yBACrCL,KAAKG,OAAOG,KAAO,KACnBN,KAAKG,OAAOI,iBAAiB,UAAU,WAAA,IAAAC,EAAM,OAAAA,EAAAN,EAAKC,UAAM,MAAAK,SAAA,OAAA,EAAAA,EAAEC,YAC1DL,SAASG,iBAAiB,QAAQ,WAAA,IAAAC,EAAM,OAAAA,EAAAN,EAAKC,UAAM,MAAAK,SAAA,OAAA,EAAAA,EAAEC,YACrDL,SAASM,KAAKC,OAAOX,KAAKG,SAG5BN,EAAAC,UAAAc,OAAA,WAAA,IAAAV,EAAAF,iBACE,IAAIa,EAA2D,CAACC,EAAG,EAAGC,EAAG,GACzE,GAAI,aAAcf,KAAKgB,SAASR,EAAAR,KAAKgB,SAAK,MAAAR,SAAA,OAAA,EAAAA,EAAEK,UAAU,CACpDA,EAAWb,KAAKgB,MAAMH,cACjB,GAAI,YAAab,KAAKgB,SAASC,EAAAjB,KAAKgB,SAAK,MAAAC,SAAA,OAAA,EAAAA,EAAEC,SAAS,CACzDL,EAAWb,KAAKgB,MAAME,QAGxB,IAAMC,GAAWC,GAAAC,EAAArB,KAAKmB,YAAQ,MAAAE,SAAA,EAAAA,EAAIR,EAASM,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,OACEE,EAACC,KAAI,CAACC,MAAO,CAACC,SAAUZ,EAASY,SAAUN,SAAQA,IACjDG,EAAA,OAAA,CAAMI,UAAWC,UAAWC,QAAS,WAAM,OAACT,GAAYjB,EAAKD,2BAhDlC","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-attachment {\n font-family: $verdocs-primary-font;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.disabled {\n opacity: 0.5;\n\n span {\n cursor: inherit;\n }\n }\n\n span {\n width: 20px;\n cursor: pointer;\n }\n\n &.required {\n span {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {Component, h, Host, Prop, Event, EventEmitter, Method} from '@stencil/core';\nimport {ITemplateField, ITemplateFieldSetting} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IDocumentFieldSettings, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport Paperclip from './paperclip.svg';\n\n/**\n * Displays a signature field. Various field types are supported, including traditional Signature and Initials types as well as\n * input types like text and checkbox.\n */\n@Component({\n tag: 'verdocs-field-attachment',\n styleUrl: 'verdocs-field-attachment.scss',\n shadow: false,\n})\nexport class VerdocsFieldAttachment {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * The recipient completing the form, if known.\n */\n @Prop() recipient?: IRecipient;\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 * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n @Method() async focusField() {\n this.handleShow();\n }\n\n private dialog?: any;\n\n handleShow() {\n this.dialog = document.createElement('verdocs-upload-dialog');\n this.dialog.open = true;\n this.dialog.addEventListener('cancel', () => this.dialog?.remove());\n document.addEventListener('done', () => this.dialog?.remove());\n document.body.append(this.dialog);\n }\n\n render() {\n let settings: IDocumentFieldSettings | ITemplateFieldSetting = {x: 0, y: 0};\n if ('settings' in this.field && this.field?.settings) {\n settings = this.field.settings;\n } else if ('setting' in this.field && this.field?.setting) {\n settings = this.field.setting;\n }\n\n const disabled = this.disabled ?? settings.disabled ?? false;\n return (\n <Host class={{required: settings.required, disabled}}>\n <span innerHTML={Paperclip} onClick={() => !disabled && this.handleShow()} />\n </Host>\n );\n }\n}\n"]}
|