@verdocs/web-sdk 1.9.9 → 1.9.14
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 → Envelopes-aec4ee3d.js} +4 -15
- package/dist/cjs/Envelopes-aec4ee3d.js.map +1 -0
- package/dist/cjs/Templates-0051d647.js +31 -0
- package/dist/cjs/Templates-0051d647.js.map +1 -0
- package/dist/cjs/VerdocsEndpoint-8c408e5b.js +3569 -0
- package/dist/cjs/VerdocsEndpoint-8c408e5b.js.map +1 -0
- package/dist/cjs/{templateStore-92828c3c.js → index-eb130f52.js} +2 -41
- package/dist/cjs/index-eb130f52.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/templateStore-974781a8.js +46 -0
- package/dist/cjs/templateStore-974781a8.js.map +1 -0
- package/dist/cjs/{utils-84236321.js → utils-e0f38696.js} +23 -3
- package/dist/cjs/utils-e0f38696.js.map +1 -0
- package/dist/cjs/verdocs-auth.cjs.entry.js +4 -4
- package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +30 -3
- package/dist/cjs/verdocs-build.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +1 -20
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-button.cjs.entry.js +1 -7
- package/dist/cjs/verdocs-button.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-checkbox.cjs.entry.js +1 -6
- package/dist/cjs/verdocs-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +4 -4
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-document-page_2.cjs.entry.js +94 -0
- package/dist/cjs/verdocs-document-page_2.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-dropdown_3.cjs.entry.js +6 -11
- package/dist/cjs/verdocs-dropdown_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js +2 -7
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-date.cjs.entry.js +2 -15
- package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +9 -11
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +4 -3
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-help-icon_2.cjs.entry.js +4 -7
- package/dist/cjs/verdocs-help-icon_2.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +3 -6
- package/dist/cjs/verdocs-initial-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-kba-dialog.cjs.entry.js +4 -7
- package/dist/cjs/verdocs-kba-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +10 -8
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-preview.cjs.entry.js +17 -11
- package/dist/cjs/verdocs-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -6
- package/dist/cjs/verdocs-radio-button.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-search.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-send.cjs.entry.js +4 -4
- package/dist/cjs/verdocs-send.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +93 -24
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js +73 -77
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-toggle.cjs.entry.js +0 -22
- package/dist/cjs/verdocs-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-upload-dialog.cjs.entry.js +9 -22
- package/dist/cjs/verdocs-upload-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-view.cjs.entry.js +331 -0
- package/dist/cjs/verdocs-view.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -3
- package/dist/collection/components/controls/verdocs-button/verdocs-button.js +7 -26
- package/dist/collection/components/controls/verdocs-button/verdocs-button.js.map +1 -1
- package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js +8 -9
- package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +9 -1
- package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js.map +1 -1
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +15 -25
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js.map +1 -1
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.stories.js +7 -2
- package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +14 -22
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js.map +1 -1
- package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.js +17 -26
- package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.js.map +1 -1
- package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js +7 -2
- package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js +1 -34
- package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js.map +1 -1
- package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js +4 -6
- package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +0 -13
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js.map +1 -1
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js +3 -5
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js.map +1 -1
- package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js +0 -26
- package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js.map +1 -1
- package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +5 -23
- package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +4 -25
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.stories.js +8 -7
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.stories.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js +6 -27
- package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.stories.js +10 -9
- package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.stories.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +30 -32
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.stories.js +9 -8
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.stories.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +7 -25
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.stories.js +8 -7
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.stories.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.css +2 -1
- package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.js +7 -28
- package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.stories.js +35 -7
- package/dist/collection/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.stories.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +15 -40
- package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js.map +1 -1
- package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js +4 -4
- 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 +3 -9
- 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.js +1 -4
- 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 -20
- 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 -24
- 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 +1 -70
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +1 -1
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +1 -1
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-create/verdocs-template-create.js +18 -19
- package/dist/collection/components/elements/verdocs-template-create/verdocs-template-create.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.css +14 -1
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +27 -35
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.stories.js +4 -4
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.stories.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js +4 -25
- package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.stories.js +3 -3
- package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.stories.js.map +1 -1
- package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.js +7 -23
- package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +3 -3
- package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +26 -4
- package/dist/collection/components/embeds/verdocs-build/verdocs-build.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.css +15 -0
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +14 -7
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +2 -2
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +126 -49
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +122 -199
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +2 -3
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js.map +1 -1
- package/dist/collection/utils/Envelopes.js +31 -0
- package/dist/collection/utils/Envelopes.js.map +1 -0
- package/dist/collection/utils/Templates.js +0 -15
- package/dist/collection/utils/Templates.js.map +1 -1
- package/dist/collection/utils/envelopeStore.js +28 -0
- package/dist/collection/utils/envelopeStore.js.map +1 -0
- package/dist/collection/utils/utils.js +21 -2
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/{esm/Envelopes-df05b3c7.js → components/Envelopes.js} +5 -15
- package/dist/components/Envelopes.js.map +1 -0
- package/dist/components/Templates.js +0 -15
- package/dist/components/Templates.js.map +1 -1
- package/dist/components/VerdocsEndpoint.js +2185 -1051
- package/dist/components/VerdocsEndpoint.js.map +1 -1
- package/dist/components/index.d.ts +0 -2
- package/dist/components/index.js +0 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +196 -0
- package/dist/components/index2.js.map +1 -0
- package/dist/components/templateStore.js +1 -192
- package/dist/components/templateStore.js.map +1 -1
- package/dist/components/utils.js +22 -3
- package/dist/components/utils.js.map +1 -1
- package/dist/components/verdocs-auth.js +3 -3
- package/dist/components/verdocs-auth.js.map +1 -1
- package/dist/components/verdocs-build.js +59 -54
- package/dist/components/verdocs-build.js.map +1 -1
- package/dist/components/verdocs-button-panel2.js.map +1 -1
- package/dist/components/verdocs-button2.js +2 -8
- package/dist/components/verdocs-button2.js.map +1 -1
- package/dist/components/verdocs-checkbox2.js +2 -7
- package/dist/components/verdocs-checkbox2.js.map +1 -1
- package/dist/components/verdocs-contact-picker2.js +3 -3
- package/dist/components/verdocs-contact-picker2.js.map +1 -1
- package/dist/components/verdocs-document-page2.js +1 -4
- package/dist/components/verdocs-document-page2.js.map +1 -1
- package/dist/components/verdocs-dropdown2.js +4 -6
- package/dist/components/verdocs-dropdown2.js.map +1 -1
- package/dist/components/verdocs-field-attachment.js +3 -8
- package/dist/components/verdocs-field-attachment.js.map +1 -1
- package/dist/components/verdocs-field-checkbox2.js +2 -6
- package/dist/components/verdocs-field-checkbox2.js.map +1 -1
- package/dist/components/verdocs-field-date.js +1 -14
- package/dist/components/verdocs-field-date.js.map +1 -1
- package/dist/components/verdocs-field-textarea.js +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-initial-dialog2.js +3 -7
- package/dist/components/verdocs-initial-dialog2.js.map +1 -1
- package/dist/components/verdocs-kba-dialog.js +4 -8
- package/dist/components/verdocs-kba-dialog.js.map +1 -1
- package/dist/components/verdocs-ok-dialog2.js +11 -10
- package/dist/components/verdocs-ok-dialog2.js.map +1 -1
- package/dist/components/verdocs-preview.js +16 -29
- package/dist/components/verdocs-preview.js.map +1 -1
- package/dist/components/verdocs-radio-button2.js +2 -7
- package/dist/components/verdocs-radio-button2.js.map +1 -1
- package/dist/components/verdocs-select-input2.js +3 -15
- package/dist/components/verdocs-select-input2.js.map +1 -1
- package/dist/components/verdocs-send.js +2 -2
- package/dist/components/verdocs-send.js.map +1 -1
- package/dist/components/verdocs-sign.js +102 -59
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-signature-dialog2.js +4 -5
- package/dist/components/verdocs-signature-dialog2.js.map +1 -1
- package/dist/components/verdocs-template-create2.js +42 -12
- package/dist/components/verdocs-template-create2.js.map +1 -1
- package/dist/components/verdocs-template-fields2.js +37 -68
- package/dist/components/verdocs-template-fields2.js.map +1 -1
- package/dist/components/verdocs-template-properties2.js +3 -24
- package/dist/components/verdocs-template-properties2.js.map +1 -1
- package/dist/components/verdocs-template-recipients2.js +5 -7
- package/dist/components/verdocs-template-recipients2.js.map +1 -1
- package/dist/components/verdocs-template-sender-dialog2.js +4 -8
- package/dist/components/verdocs-template-sender-dialog2.js.map +1 -1
- package/dist/components/verdocs-text-input2.js +1 -10
- package/dist/components/verdocs-text-input2.js.map +1 -1
- package/dist/components/verdocs-toggle.js +0 -22
- package/dist/components/verdocs-toggle.js.map +1 -1
- package/dist/components/verdocs-toolbar-icon2.js +5 -7
- package/dist/components/verdocs-toolbar-icon2.js.map +1 -1
- package/dist/components/verdocs-upload-dialog2.js +9 -23
- package/dist/components/verdocs-upload-dialog2.js.map +1 -1
- package/dist/components/verdocs-view.js +353 -1
- package/dist/components/verdocs-view.js.map +1 -1
- package/dist/docs.json +121 -876
- package/dist/esm/Envelopes-b031f847.js +93 -0
- package/dist/esm/Envelopes-b031f847.js.map +1 -0
- package/dist/esm/Templates-1034fade.js +29 -0
- package/dist/esm/Templates-1034fade.js.map +1 -0
- package/dist/esm/VerdocsEndpoint-dac04424.js +3566 -0
- package/dist/esm/VerdocsEndpoint-dac04424.js.map +1 -0
- package/dist/esm/{templateStore-3b26e38d.js → index-fd7b8a34.js} +2 -41
- package/dist/esm/index-fd7b8a34.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/templateStore-96a39844.js +44 -0
- package/dist/esm/templateStore-96a39844.js.map +1 -0
- package/dist/esm/{utils-3f23facc.js → utils-99a3c1f0.js} +23 -4
- package/dist/esm/utils-99a3c1f0.js.map +1 -0
- package/dist/esm/verdocs-auth.entry.js +4 -4
- package/dist/esm/verdocs-auth.entry.js.map +1 -1
- package/dist/esm/verdocs-build.entry.js +30 -3
- package/dist/esm/verdocs-build.entry.js.map +1 -1
- package/dist/esm/verdocs-button-panel_3.entry.js +2 -21
- package/dist/esm/verdocs-button-panel_3.entry.js.map +1 -1
- package/dist/esm/verdocs-button.entry.js +2 -8
- package/dist/esm/verdocs-button.entry.js.map +1 -1
- package/dist/esm/verdocs-checkbox.entry.js +2 -7
- package/dist/esm/verdocs-checkbox.entry.js.map +1 -1
- package/dist/esm/verdocs-contact-picker.entry.js +4 -4
- package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm/verdocs-document-page_2.entry.js +89 -0
- package/dist/esm/verdocs-document-page_2.entry.js.map +1 -0
- package/dist/esm/verdocs-dropdown_3.entry.js +6 -11
- package/dist/esm/verdocs-dropdown_3.entry.js.map +1 -1
- package/dist/esm/verdocs-field-attachment.entry.js +3 -8
- package/dist/esm/verdocs-field-attachment.entry.js.map +1 -1
- package/dist/esm/verdocs-field-date.entry.js +2 -15
- package/dist/esm/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm/verdocs-field-dropdown.entry.js +1 -1
- package/dist/esm/verdocs-field-initial.entry.js +1 -1
- package/dist/esm/verdocs-field-payment.entry.js +1 -1
- package/dist/esm/verdocs-field-signature_3.entry.js +9 -11
- package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textarea.entry.js +2 -2
- package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textbox.entry.js +4 -3
- package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm/verdocs-field-timestamp.entry.js +1 -1
- package/dist/esm/verdocs-help-icon_2.entry.js +4 -7
- package/dist/esm/verdocs-help-icon_2.entry.js.map +1 -1
- package/dist/esm/verdocs-initial-dialog.entry.js +3 -6
- package/dist/esm/verdocs-initial-dialog.entry.js.map +1 -1
- package/dist/esm/verdocs-kba-dialog.entry.js +4 -7
- package/dist/esm/verdocs-kba-dialog.entry.js.map +1 -1
- package/dist/esm/verdocs-ok-dialog.entry.js +10 -8
- package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
- package/dist/esm/verdocs-preview.entry.js +17 -11
- package/dist/esm/verdocs-preview.entry.js.map +1 -1
- package/dist/esm/verdocs-quick-functions_3.entry.js +1 -1
- package/dist/esm/verdocs-radio-button.entry.js +2 -7
- package/dist/esm/verdocs-radio-button.entry.js.map +1 -1
- package/dist/esm/verdocs-search.entry.js +1 -1
- package/dist/esm/verdocs-send.entry.js +4 -4
- package/dist/esm/verdocs-send.entry.js.map +1 -1
- package/dist/esm/verdocs-sign.entry.js +94 -25
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-template-create_4.entry.js +71 -75
- package/dist/esm/verdocs-template-create_4.entry.js.map +1 -1
- package/dist/esm/verdocs-toggle.entry.js +0 -22
- package/dist/esm/verdocs-toggle.entry.js.map +1 -1
- package/dist/esm/verdocs-upload-dialog.entry.js +9 -22
- package/dist/esm/verdocs-upload-dialog.entry.js.map +1 -1
- package/dist/esm/verdocs-view.entry.js +327 -0
- package/dist/esm/verdocs-view.entry.js.map +1 -0
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/Envelopes-b031f847.js +2 -0
- package/dist/esm-es5/Envelopes-b031f847.js.map +1 -0
- package/dist/esm-es5/Templates-1034fade.js +2 -0
- package/dist/esm-es5/Templates-1034fade.js.map +1 -0
- package/dist/esm-es5/VerdocsEndpoint-dac04424.js +2 -0
- package/dist/esm-es5/VerdocsEndpoint-dac04424.js.map +1 -0
- package/dist/esm-es5/index-fd7b8a34.js +2 -0
- package/dist/esm-es5/index-fd7b8a34.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/templateStore-96a39844.js +2 -0
- package/dist/esm-es5/templateStore-96a39844.js.map +1 -0
- package/dist/esm-es5/utils-99a3c1f0.js +2 -0
- package/dist/esm-es5/utils-99a3c1f0.js.map +1 -0
- package/dist/esm-es5/verdocs-auth.entry.js +1 -1
- package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-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-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-button.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_2.entry.js +2 -0
- package/dist/esm-es5/verdocs-document-page_2.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-dropdown_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-dropdown_3.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-signature_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
- package/dist/esm-es5/verdocs-help-icon_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-help-icon_2.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-initial-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-initial-dialog.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-kba-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-kba-dialog.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-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-radio-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-radio-button.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-send.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-toggle.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-upload-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-upload-dialog.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +2 -0
- package/dist/esm-es5/verdocs-view.entry.js.map +1 -0
- 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-button/verdocs-button.d.ts +6 -8
- package/dist/types/components/controls/verdocs-button/verdocs-button.stories.d.ts +2 -2
- package/dist/types/components/controls/verdocs-button-panel/verdocs-button-panel.d.ts +9 -1
- package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +14 -12
- package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.stories.d.ts +2 -1
- package/dist/types/components/controls/verdocs-dropdown/verdocs-dropdown.d.ts +10 -1
- package/dist/types/components/controls/verdocs-radio-button/verdocs-radio-button.d.ts +16 -13
- package/dist/types/components/controls/verdocs-radio-button/verdocs-radio-button.stories.d.ts +2 -1
- package/dist/types/components/controls/verdocs-select-input/verdocs-select-input.d.ts +0 -9
- package/dist/types/components/controls/verdocs-select-input/verdocs-select-input.stories.d.ts +2 -2
- package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.d.ts +0 -3
- package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.stories.d.ts +2 -2
- package/dist/types/components/controls/verdocs-toggle/verdocs-toggle.d.ts +0 -4
- package/dist/types/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.d.ts +0 -3
- package/dist/types/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.d.ts +1 -5
- package/dist/types/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.stories.d.ts +3 -3
- package/dist/types/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.d.ts +2 -6
- package/dist/types/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.stories.d.ts +3 -3
- package/dist/types/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.d.ts +9 -8
- package/dist/types/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.stories.d.ts +4 -4
- package/dist/types/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.d.ts +4 -7
- package/dist/types/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.stories.d.ts +3 -3
- package/dist/types/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.d.ts +2 -8
- package/dist/types/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.stories.d.ts +4 -4
- package/dist/types/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.d.ts +7 -9
- package/dist/types/components/elements/verdocs-contact-picker/verdocs-contact-picker.d.ts +1 -1
- package/dist/types/components/elements/verdocs-contact-picker/verdocs-contact-picker.stories.d.ts +3 -3
- package/dist/types/components/elements/verdocs-field-attachment/verdocs-field-attachment.d.ts +0 -7
- package/dist/types/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.d.ts +1 -13
- package/dist/types/components/elements/verdocs-field-date/verdocs-field-date.d.ts +0 -20
- package/dist/types/components/elements/verdocs-template-create/verdocs-template-create.d.ts +3 -5
- package/dist/types/components/elements/verdocs-template-fields/verdocs-template-fields.d.ts +2 -2
- package/dist/types/components/elements/verdocs-template-fields/verdocs-template-fields.stories.d.ts +3 -3
- package/dist/types/components/elements/verdocs-template-properties/verdocs-template-properties.d.ts +1 -2
- package/dist/types/components/elements/verdocs-template-properties/verdocs-template-properties.stories.d.ts +3 -3
- package/dist/types/components/elements/verdocs-template-recipients/verdocs-template-recipients.d.ts +2 -6
- package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +2 -2
- package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +3 -1
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +23 -8
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +5 -40
- package/dist/types/components/embeds/verdocs-view/verdocs-view.stories.d.ts +1 -2
- package/dist/types/components.d.ts +48 -389
- package/dist/types/utils/Envelopes.d.ts +2 -0
- package/dist/types/utils/envelopeStore.d.ts +10 -0
- package/dist/types/utils/utils.d.ts +10 -2
- package/dist/verdocs-web-sdk/{p-ff4840d2.system.entry.js → p-0a2efec0.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-ff4840d2.system.entry.js.map → p-0a2efec0.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-0a3d0ca9.js +2 -0
- package/dist/verdocs-web-sdk/p-0a3d0ca9.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f5a5e049.system.entry.js → p-0b2290c6.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-0b2290c6.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-0f6da8c7.system.js +2 -0
- package/dist/verdocs-web-sdk/p-0f6da8c7.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-d2d3b56d.system.entry.js → p-112c8e05.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-d2d3b56d.system.entry.js.map → p-112c8e05.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-15584ecb.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-15584ecb.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js +2 -0
- package/dist/verdocs-web-sdk/p-1cd2f7dc.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-202a569e.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-202a569e.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-21ec6ff0.system.js +2 -0
- package/dist/verdocs-web-sdk/p-21ec6ff0.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-2b822750.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2b822750.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-2cf3843a.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2cf3843a.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f11b14a1.entry.js → p-2fe5b678.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-f11b14a1.entry.js.map → p-2fe5b678.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-30424967.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-30424967.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-32c7bce8.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-32da34af.system.js +2 -0
- package/dist/verdocs-web-sdk/p-32da34af.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-2510c268.entry.js → p-32e3a428.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-2510c268.entry.js.map → p-32e3a428.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-3585534a.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-3585534a.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-62ffe7a3.system.entry.js → p-35fec075.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-35fec075.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-37a75b0e.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-bdc40f6e.entry.js → p-4b4c610f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-4b4c610f.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-8c549b7f.entry.js → p-5b636344.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-8c549b7f.entry.js.map → p-5b636344.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-5bb42252.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-5bb42252.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5bfc608d.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-5d341c89.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5e6134d8.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-5e6134d8.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5ea05a1d.js +2 -0
- package/dist/verdocs-web-sdk/p-5ea05a1d.js.map +1 -0
- package/dist/verdocs-web-sdk/p-6121f103.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-6121f103.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-6802bdd2.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f972b493.system.entry.js → p-6a8ac53e.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-6a8ac53e.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-71f1e3c9.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-71f1e3c9.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-7e7b1a27.system.entry.js → p-78468adf.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-78468adf.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-78ec7db1.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-78ec7db1.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-60f92123.system.entry.js → p-7a5c37cd.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-7a5c37cd.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-04708900.system.entry.js → p-8095fab3.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-04708900.system.entry.js.map → p-8095fab3.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-036fc9f9.entry.js → p-868f497f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-036fc9f9.entry.js.map → p-868f497f.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-f5482845.entry.js → p-8ef53023.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-8ef53023.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-9236d9df.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-9236d9df.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-92b0fc42.js +2 -0
- package/dist/verdocs-web-sdk/p-92b0fc42.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-5a9ad57d.entry.js → p-a59f1f82.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-a59f1f82.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a760546b.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a760546b.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a7ac4da8.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a7ac4da8.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-1935d358.system.entry.js → p-a8c25a4a.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-a8c25a4a.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a9068845.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a9068845.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-0d12be64.system.entry.js → p-aa2d9932.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-0d12be64.system.entry.js.map → p-aa2d9932.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-aa3a42a4.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-aa3a42a4.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-acfdfb92.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-3bc4c242.entry.js → p-af1063e3.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-af1063e3.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-b77e5b39.entry.js → p-b2dea632.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-b2dea632.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-cf8ecaaf.system.entry.js → p-b5882803.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-cf8ecaaf.system.entry.js.map → p-b5882803.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/{p-68319ca5.system.entry.js → p-b6c24f97.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-68319ca5.system.entry.js.map → p-b6c24f97.system.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b9cdae44.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-2da21c85.entry.js → p-baa985a4.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-2da21c85.entry.js.map → p-baa985a4.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-be8004c0.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-be8004c0.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-becd8d7e.js +2 -0
- package/dist/verdocs-web-sdk/p-becd8d7e.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-c2ad9de3.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c2ad9de3.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c4357387.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c4357387.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-6f1440dd.js → p-c5a43bb3.js} +2 -2
- package/dist/verdocs-web-sdk/p-c5a43bb3.js.map +1 -0
- package/dist/verdocs-web-sdk/p-cb7d9ff5.js +2 -0
- package/dist/verdocs-web-sdk/p-cb7d9ff5.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f9901184.system.js → p-cd7b475a.system.js} +2 -2
- package/dist/verdocs-web-sdk/p-cd7b475a.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-b5b9d603.entry.js → p-ce27dc71.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-ce27dc71.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d1a97a03.system.js +2 -0
- package/dist/verdocs-web-sdk/p-d1a97a03.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d5f48c21.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d5f48c21.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-4425de92.system.entry.js → p-dd864f36.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-dd864f36.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-df44cc61.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e4569806.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-e4569806.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e4fa4969.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-e4fa4969.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e96a04c2.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-e96a04c2.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ed71080a.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-ed71080a.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-4226119d.entry.js → p-f19e600e.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-f19e600e.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f8c49765.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f8c49765.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-6f938ce3.entry.js → p-f9a9b3a2.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-6f938ce3.entry.js.map → p-f9a9b3a2.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-fac05414.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-fac05414.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-fc93f2f3.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-48321abf.system.entry.js → p-ff0b44f9.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-ff0b44f9.system.entry.js.map +1 -0
- 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 +2 -2
- package/dist/cjs/Envelopes-22a0c02f.js.map +0 -1
- package/dist/cjs/TemplateDocuments-01c6e570.js +0 -45
- package/dist/cjs/TemplateDocuments-01c6e570.js.map +0 -1
- package/dist/cjs/Templates-3e6d5043.js +0 -63
- package/dist/cjs/Templates-3e6d5043.js.map +0 -1
- package/dist/cjs/VerdocsEndpoint-db38e942.js +0 -2435
- package/dist/cjs/VerdocsEndpoint-db38e942.js.map +0 -1
- package/dist/cjs/templateStore-92828c3c.js.map +0 -1
- package/dist/cjs/utils-84236321.js.map +0 -1
- package/dist/cjs/verdocs-document-page.cjs.entry.js +0 -84
- package/dist/cjs/verdocs-document-page.cjs.entry.js.map +0 -1
- package/dist/cjs/verdocs-loader_4.cjs.entry.js +0 -577
- package/dist/cjs/verdocs-loader_4.cjs.entry.js.map +0 -1
- package/dist/collection/components/dialogs/verdocs-upload-dialog/paperclip.svg +0 -3
- package/dist/collection/components/dialogs/verdocs-upload-dialog/trash.svg +0 -3
- package/dist/collection/components/elements/verdocs-field-attachment/paperclip.svg +0 -3
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.css +0 -16
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.js +0 -390
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.js.map +0 -1
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.js +0 -15
- package/dist/collection/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.js.map +0 -1
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.css +0 -16
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.js +0 -388
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.js.map +0 -1
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.js +0 -15
- package/dist/collection/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.js.map +0 -1
- package/dist/components/Pages.js +0 -20
- package/dist/components/Pages.js.map +0 -1
- package/dist/components/TemplateDocuments.js +0 -42
- package/dist/components/TemplateDocuments.js.map +0 -1
- package/dist/components/verdocs-view-envelope-document.d.ts +0 -11
- package/dist/components/verdocs-view-envelope-document.js +0 -8
- package/dist/components/verdocs-view-envelope-document.js.map +0 -1
- package/dist/components/verdocs-view-envelope-document2.js +0 -306
- package/dist/components/verdocs-view-envelope-document2.js.map +0 -1
- package/dist/components/verdocs-view-template-document.d.ts +0 -11
- package/dist/components/verdocs-view-template-document.js +0 -8
- package/dist/components/verdocs-view-template-document.js.map +0 -1
- package/dist/components/verdocs-view-template-document2.js +0 -209
- package/dist/components/verdocs-view-template-document2.js.map +0 -1
- package/dist/components/verdocs-view2.js +0 -253
- package/dist/components/verdocs-view2.js.map +0 -1
- package/dist/esm/Envelopes-df05b3c7.js.map +0 -1
- package/dist/esm/TemplateDocuments-89ba2276.js +0 -42
- package/dist/esm/TemplateDocuments-89ba2276.js.map +0 -1
- package/dist/esm/Templates-035e0ea2.js +0 -60
- package/dist/esm/Templates-035e0ea2.js.map +0 -1
- package/dist/esm/VerdocsEndpoint-82f4600d.js +0 -2432
- package/dist/esm/VerdocsEndpoint-82f4600d.js.map +0 -1
- package/dist/esm/templateStore-3b26e38d.js.map +0 -1
- package/dist/esm/utils-3f23facc.js.map +0 -1
- package/dist/esm/verdocs-document-page.entry.js +0 -80
- package/dist/esm/verdocs-document-page.entry.js.map +0 -1
- package/dist/esm/verdocs-loader_4.entry.js +0 -570
- package/dist/esm/verdocs-loader_4.entry.js.map +0 -1
- package/dist/esm-es5/Envelopes-df05b3c7.js +0 -2
- package/dist/esm-es5/Envelopes-df05b3c7.js.map +0 -1
- package/dist/esm-es5/TemplateDocuments-89ba2276.js +0 -2
- package/dist/esm-es5/TemplateDocuments-89ba2276.js.map +0 -1
- package/dist/esm-es5/Templates-035e0ea2.js +0 -2
- package/dist/esm-es5/Templates-035e0ea2.js.map +0 -1
- package/dist/esm-es5/VerdocsEndpoint-82f4600d.js +0 -2
- package/dist/esm-es5/VerdocsEndpoint-82f4600d.js.map +0 -1
- package/dist/esm-es5/templateStore-3b26e38d.js +0 -2
- package/dist/esm-es5/templateStore-3b26e38d.js.map +0 -1
- package/dist/esm-es5/utils-3f23facc.js +0 -2
- package/dist/esm-es5/utils-3f23facc.js.map +0 -1
- package/dist/esm-es5/verdocs-document-page.entry.js +0 -2
- package/dist/esm-es5/verdocs-document-page.entry.js.map +0 -1
- package/dist/esm-es5/verdocs-loader_4.entry.js +0 -2
- package/dist/esm-es5/verdocs-loader_4.entry.js.map +0 -1
- package/dist/types/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.d.ts +0 -79
- package/dist/types/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.stories.d.ts +0 -7
- package/dist/types/components/elements/verdocs-view-template-document/verdocs-view-template-document.d.ts +0 -77
- package/dist/types/components/elements/verdocs-view-template-document/verdocs-view-template-document.stories.d.ts +0 -7
- package/dist/verdocs-web-sdk/p-03677b65.system.js +0 -2
- package/dist/verdocs-web-sdk/p-03677b65.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-04373c06.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-04373c06.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-0824553f.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-0824553f.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-152dd2f0.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-152dd2f0.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-16c77fbb.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-16c77fbb.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-1935d358.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-3035b6c5.system.js +0 -2
- package/dist/verdocs-web-sdk/p-3035b6c5.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-3bc4c242.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-4226119d.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-4425de92.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-48321abf.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-52179311.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-52179311.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-5713fea6.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-5713fea6.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-5a9ad57d.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-5c40246d.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-5c40246d.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-60f92123.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-6258ec3f.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6258ec3f.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-629237fc.js +0 -2
- package/dist/verdocs-web-sdk/p-629237fc.js.map +0 -1
- package/dist/verdocs-web-sdk/p-62ffe7a3.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-656369a3.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-656369a3.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-6d0c6604.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-6d0c6604.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-6e1ada33.system.js +0 -2
- package/dist/verdocs-web-sdk/p-6e1ada33.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-6f1440dd.js.map +0 -1
- package/dist/verdocs-web-sdk/p-70c732b7.js +0 -2
- package/dist/verdocs-web-sdk/p-70c732b7.js.map +0 -1
- package/dist/verdocs-web-sdk/p-7a476918.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-7a476918.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-7ce27ce2.js +0 -2
- package/dist/verdocs-web-sdk/p-7ce27ce2.js.map +0 -1
- package/dist/verdocs-web-sdk/p-7e7b1a27.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-824da7e4.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-824da7e4.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-82df4878.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-82df4878.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8fd9dc5a.js +0 -2
- package/dist/verdocs-web-sdk/p-8fd9dc5a.js.map +0 -1
- package/dist/verdocs-web-sdk/p-9727d90b.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-9727d90b.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-98a23073.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-98a23073.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-9e1dda0b.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-9e1dda0b.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-9f8576e1.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-9f8576e1.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a4041773.system.js +0 -2
- package/dist/verdocs-web-sdk/p-a4041773.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a43e5fb3.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a43e5fb3.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a717d591.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a717d591.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a8699c5d.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a8699c5d.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b348e0ee.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-b348e0ee.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b5b9d603.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b77e5b39.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-b8e6a9b6.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-b8e6a9b6.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-bdc40f6e.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-bf8a6175.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-bf8a6175.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c0c61629.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-c0c61629.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c1a9eb1f.js +0 -2
- package/dist/verdocs-web-sdk/p-c1a9eb1f.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c51715f2.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-c51715f2.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c827cc19.system.js +0 -2
- package/dist/verdocs-web-sdk/p-c827cc19.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-cf2d7761.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-cf2d7761.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-d2b22759.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-d2b22759.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f29b8035.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-f29b8035.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f5482845.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f5a5e049.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f972b493.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f9901184.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-fb13e1ce.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fb13e1ce.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-fc2d6d85.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fc2d6d85.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-fe512c19.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-fe512c19.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-ff1e07ee.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-ff1e07ee.system.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","src/components/controls/verdocs-loader/verdocs-loader.tsx","src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","src/components/embeds/verdocs-view/verdocs-view.tsx","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.scss?tag=verdocs-view-envelope-document","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.tsx","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.scss?tag=verdocs-view-template-document","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.tsx"],"names":["verdocsLoaderCss","VerdocsLoader","exports","class_1","prototype","render","h","Host","verdocsViewCss","VerdocsView","VerdocsEndpoint","getDefault","name","type","class_2","componentWillLoad","this","endpoint","loadSession","componentDidLoad","templateId","envelopeId","console","error","warn","log","_d","getTemplate","template","_f","sent","_e","getEnvelope","envelope","e_1","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","_this","documentId","template_document","id","onPageRendered","p","pageRendered","detail","envelope_document_id","verdocsViewEnvelopeDocumentCss","VerdocsViewEnvelopeDocument","domPages","sourcePageMetrics","class_3","concat","getEnvelopeDocument","envelopeDocument","e_2","renderPage","pageNumber","domPage","pageMetrics","renderedPage","pages","e","handlePageRendered","stopPropagation","__spreadArray","sort","a","b","sequence","map","page","pageImageUri","display_uri","virtualWidth","virtualHeight","layers","pageLayers","verdocsViewTemplateDocumentCss","VerdocsViewTemplateDocument","class_4","getTemplateDocument","templateDocument","e_3"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelope} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {getEnvelope} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View all of the documents attached to a template or envelope. All documents are displayed, in order. This embed wraps\n * verdocs-view-envelope-document or verdocs-view-template-document, as appropriate, and those controls may be used if\n * fine-grained control over which documents are displayed (or their order) is required.\n */\n@Component({\n tag: 'verdocs-view',\n styleUrl: 'verdocs-view.scss',\n shadow: false,\n})\nexport class VerdocsView {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to render. Set ONE OF templateId or envelopeId.\n */\n @Prop() templateId: string = '';\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\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() template?: ITemplate = null;\n @State() envelope?: IEnvelope = null;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.templateId && !this.envelopeId) {\n console.error(`[VIEW] Must specify one of templateId or envelopeId`);\n return;\n }\n\n if (this.templateId && this.envelopeId) {\n console.warn(`[VIEW] Both templateId and envelopeId specified, using templateId`);\n }\n\n try {\n if (this.templateId) {\n console.log('[VIEW] Loading template', this.templateId);\n this.template = await getTemplate(this.endpoint, this.templateId);\n console.log('[VIEW] Loaded template', this.template);\n } else if (this.envelopeId) {\n console.log('[VIEW] Loading envelope', this.envelopeId);\n this.envelope = await getEnvelope(this.endpoint, this.envelopeId);\n console.log('[VIEW] Loaded envelope', this.envelope);\n }\n\n // console.log(`[VIEW] Loading template ${this.templateId}`);\n // const template = await getTemplate(this.endpoint, this.templateId);\n //\n // console.log('[VIEW] Got template', this.template);\n // this.template = template;\n // this.pageNumbers = integerSequence(1, template.pages.length);\n //\n // const pageUris: Record<number, string> = {};\n // for await (let page of template.pages) {\n // console.log('[VIEW] Loading page', page);\n // // TODO: Make an endpoint to get all of the pages for a template\n // // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,\n // // not the primary mechanism.\n // const image = await getPageImage(this.endpoint, this.templateId, page.sequence);\n // // TODO: Make this uri to match the rest of the terminology?\n // pageUris[page.sequence] = image.url;\n // console.log('[VIEW] Got image Uri', image.url);\n // this.loadProgress = page.sequence / template.pages.length;\n // }\n //\n // this.pageUris = pageUris;\n // this.loadProgress = 100;\n //\n // // this.pdfUrl = `${this.endpoint.getBaseURL()}/templates/${this.templateId}/documents/${template.template_document?.id}?file=true`;\n } catch (e) {\n console.log('[VIEW] Error loading data', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Determine whether a page is \"rotated\" (in either direction)\n // isRotated(rotation) {\n // return rotation !== 0 && rotation % 180 !== 0;\n // }\n\n // Render one document page. Note that pageNumber is 1-based.\n // async renderPage(pageNumber: number): Promise<void> {\n // const domPage = this.domPages[pageNumber];\n //\n // // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n // if (!domPage) {\n // console.log('[VIEW] Skipping rendering page not yet in DOM', {pageNumber});\n // return;\n // }\n //\n // const pageMetrics = this.sourcePageMetrics[pageNumber];\n //\n // console.log('[VIEW] Rendering page', {pageNumber, pageMetrics, domPage});\n // try {\n // // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // // console.log('[VIEW] Page viewport', domPage.xScale, viewport);\n //\n // // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // // if (!canvas) {\n // // console.log('[VIEW] Unable to find canvas element');\n // // return;\n // // }\n // //\n // // canvas.width = domPage.renderedWidth;\n // // canvas.height = domPage.renderedHeight;\n // // const canvasContext = canvas.getContext('2d');\n // // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // // await pdfPage.render({canvasContext, viewport});\n //\n // this.pageRendered.emit({\n // renderedPage: domPage,\n // sourcePageMetrics: pageMetrics,\n // pages: this.domPages,\n // });\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering page', e);\n // }\n // }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW] Loading error', e);\n // });\n // }\n\n // async handlePageRendered(e: any) {\n // e.stopPropagation();\n //\n // const domPage = e.detail as IDocumentPageInfo;\n // this.domPages[domPage.pageNumber] = domPage;\n // await this.renderPage(domPage.pageNumber);\n // }\n\n render() {\n console.log('[VIEW] Rendering', this.templateId, this.envelopeId);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {this.template && (\n <verdocs-view-template-document\n endpoint={this.endpoint}\n templateId={this.templateId}\n documentId={this.template.template_document?.id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n {this.envelope && (\n <verdocs-view-envelope-document\n endpoint={this.endpoint}\n envelopeId={this.envelopeId}\n documentId={this.envelope.envelope_document_id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view-envelope-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelopeDocument} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getEnvelopeDocument} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View a single document attached to an envelope. Note that envelopes always require authentication to access them. If you are viewing\n * this component in Storybook, visit Embeds > Auth first to log in, then paste a valid envelopeId and documentId in the properties\n * below from your account to view that envelope. If you want to see an anonymous-access use case, this component is functionally similar\n * to ViewTemplateDocument, which is pre-configured to display a public template.\n */\n@Component({\n tag: 'verdocs-view-envelope-document',\n styleUrl: 'verdocs-view-envelope-document.scss',\n shadow: false,\n})\nexport class VerdocsViewEnvelopeDocument {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The document ID to render\n */\n @Prop() documentId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\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() envelopeDocument: IEnvelopeDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.envelopeId || !this.documentId) {\n console.log(`[VIEW-ENVELOPE] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-ENVELOPE] Loading envelope ${this.envelopeId}`);\n this.envelopeDocument = await getEnvelopeDocument(this.endpoint, this.envelopeId, this.documentId);\n if (!this.envelopeDocument) {\n console.error('[VIEW-ENVELOPE] Unable to load envelope document', this.envelopeId, this.documentId);\n }\n\n console.log('[VIEW-ENVELOPE] Got envelope document', this.envelopeDocument);\n } catch (e) {\n console.log('[VIEW-ENVELOPE] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Render one document page. Note that pageNumber is 1-based.\n async renderPage(pageNumber: number): Promise<void> {\n const domPage = this.domPages[pageNumber];\n\n // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n if (!domPage) {\n console.log('[VIEW-ENVELOPE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n console.log('[VIEW-ENVELOPE] Rendering page', {pageNumber, pageMetrics, domPage});\n try {\n // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // console.log('[VIEW-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] Unable to find canvas element');\n // return;\n // }\n //\n // canvas.width = domPage.renderedWidth;\n // canvas.height = domPage.renderedHeight;\n // const canvasContext = canvas.getContext('2d');\n // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // await pdfPage.render({canvasContext, viewport});\n\n this.pageRendered.emit({\n renderedPage: domPage,\n sourcePageMetrics: pageMetrics,\n pages: this.domPages,\n });\n } catch (e) {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.warn('[VIEW-ENVELOPE] Error rendering page', e);\n }\n }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW-TEMPLATE] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW-TEMPLATE] Loading error', e);\n // });\n // }\n\n async handlePageRendered(e: any) {\n e.stopPropagation();\n\n const domPage = e.detail as IDocumentPageInfo;\n this.domPages[domPage.pageNumber] = domPage;\n await this.renderPage(domPage.pageNumber);\n }\n\n render() {\n console.log('[VIEW-ENVELOPE] Rendering pages', this.envelopeDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view-template-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {getTemplateDocument} from '@verdocs/js-sdk/Templates/TemplateDocuments';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {ITemplateDocument} from '@verdocs/js-sdk/Templates/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View a single document attached to a template. Note that if you are accessing a template that is not public, you must be authenticated.\n * You can authenticate within this Storybook via the Embeds > Auth control.\n */\n@Component({\n tag: 'verdocs-view-template-document',\n styleUrl: 'verdocs-view-template-document.scss',\n shadow: false,\n})\nexport class VerdocsViewTemplateDocument {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to render\n */\n @Prop() templateId: string = '';\n\n /**\n * The document ID to render within the template\n */\n @Prop() documentId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\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() templateDocument: ITemplateDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.templateId || !this.documentId) {\n console.log(`[VIEW-TEMPLATE] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-TEMPLATE] Loading template ${this.templateId}`);\n this.templateDocument = await getTemplateDocument(this.endpoint, this.templateId, this.documentId);\n if (!this.templateDocument) {\n console.error('[VIEW-TEMPLATE] Unable to load template document', this.templateId, this.documentId);\n }\n\n console.log('[VIEW-TEMPLATE] Got template', this.templateDocument);\n } catch (e) {\n console.log('[VIEW-TEMPLATE] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Render one document page. Note that pageNumber is 1-based.\n async renderPage(pageNumber: number): Promise<void> {\n const domPage = this.domPages[pageNumber];\n\n // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n if (!domPage) {\n console.log('[VIEW-TEMPLATE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n // console.log('[VIEW-TEMPLATE] Rendering page', {pageNumber, pageMetrics, domPage});\n try {\n // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // console.log('[VIEW-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] Unable to find canvas element');\n // return;\n // }\n //\n // canvas.width = domPage.renderedWidth;\n // canvas.height = domPage.renderedHeight;\n // const canvasContext = canvas.getContext('2d');\n // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // await pdfPage.render({canvasContext, viewport});\n\n this.pageRendered.emit({\n renderedPage: domPage,\n sourcePageMetrics: pageMetrics,\n pages: this.domPages,\n });\n } catch (e) {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.warn('[VIEW-TEMPLATE] Error rendering page', e);\n }\n }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW-TEMPLATE] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW-TEMPLATE] Loading error', e);\n // });\n // }\n\n async handlePageRendered(e: any) {\n e.stopPropagation();\n\n const domPage = e.detail as IDocumentPageInfo;\n this.domPages[domPage.pageNumber] = domPage;\n await this.renderPage(domPage.pageNumber);\n }\n\n render() {\n console.log('[VIEW-TEMPLATE] Rendering pages', this.templateDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.templateDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/elements/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/elements/verdocs-field-textarea/verdocs-field-textarea.tsx"],"names":["verdocsFieldTextareaCss","settingsIcon","VerdocsFieldTextarea","[object Object]","this","focused","el","focus","fieldFocus","emit","fieldBlur","e","fieldChange","target","value","fieldInput","settings","getFieldSettings","field","disabled","_b","_a","backgroundColor","getRGBA","roleindex","h","Host","class","required","style","placeholder","tabIndex","order","ref","onBlur","handleBlur","onFocus","handleFocus","onChange","handleChange","onInput","handleInput","editable","icon","label","options","onFieldChange","console","log"],"mappings":"iIAAA,MAAMA,EAA0B,2yBCMhC,MAAMC,EACJ,+rCAUWC,EAAoB,sMAMyB,4CAU3B,oBAMA,oBAKA,qBA2BA,eAEV,MAETC,mBACRC,KAAKC,QAAU,KACfD,KAAKE,GAAGC,QACRH,KAAKI,WAAWC,KAAK,MAGvBN,aACEC,KAAKC,QAAU,MACfD,KAAKM,UAAUD,KAAK,MAGtBN,cACEC,KAAKC,QAAU,KACfD,KAAKI,WAAWC,KAAK,MAGvBN,aAAaQ,GACXP,KAAKQ,YAAYH,KAAKE,EAAEE,OAAOC,OAGjCX,YAAYQ,GACVP,KAAKW,WAAWN,KAAKE,EAAEE,OAAOC,OAGhCX,iBACE,MAAMa,EAAWC,EAAiBb,KAAKc,OACvC,MAAMC,GAAWC,GAAAC,EAAAjB,KAAKe,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,MAAME,EAAkBlB,KAAKc,MAAM,SAAWK,EAAQnB,KAAKoB,WAE3D,OACEC,EAACC,EAAI,CAACC,MAAO,CAACtB,QAASD,KAAKC,QAASuB,SAAUZ,EAASY,SAAUT,SAAAA,GAAWU,MAAO,CAACP,gBAAAA,IACnFG,EAAA,WAAA,CACEK,YAAad,EAASc,aAAe,GACrCC,SAAUf,EAASgB,MACnBlB,MAAOE,EAASF,MAChBK,SAAUA,EACVS,SAAUZ,EAASY,SACnBK,IAAK3B,GAAOF,KAAKE,GAAKA,EACtB4B,OAAQ,IAAM9B,KAAK+B,aACnBC,QAAS,IAAMhC,KAAKiC,cACpBC,SAAU3B,GAAKP,KAAKmC,aAAa5B,GACjC6B,QAAS7B,GAAKP,KAAKqC,YAAY9B,KAGhCP,KAAKsC,UACJjB,EAAA,uBAAA,CAAsBkB,KAAM1C,GAC1BwB,EAAA,KAAA,KAAA,kBACAA,EAAA,OAAA,KACEA,EAAA,uBAAA,CACEmB,MAAM,YACNC,QAAS,CACP,CAACD,MAAO,QAAS9B,MAAO,SACxB,CAAC8B,MAAO,SAAU9B,MAAO,WAE3BgC,cAAenC,IACboC,QAAQC,IAAI,iBAAkBrC,MAIlCc,EAAA,qBAAA,CAAoBmB,MAAM,aAAa9B,MAAM,GAAGgB,YAAY,uBAAuBU,QAAS7B,GAAKoC,QAAQC,IAAI,MAAOrC,KACpHc,EAAA,qBAAA,CAAoBmB,MAAM,cAAc9B,MAAM,GAAGgB,YAAY,sBAAsBU,QAAS7B,GAAKoC,QAAQC,IAAI,MAAOrC","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-textarea {\n font-family: $verdocs-primary-font;\n width: 150px;\n height: 15px;\n display: block;\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 textarea {\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {Component, h, Host, Prop, Event, EventEmitter, State, Method} from '@stencil/core';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {getFieldSettings} from '../../../utils/utils';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\n\nconst settingsIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" width=\"20\"><path d=\"m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z\"/></svg>';\n\n/**\n * Display a multi-line text input field.\n */\n@Component({\n tag: 'verdocs-field-textarea',\n styleUrl: 'verdocs-field-textarea.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextarea {\n private el: HTMLTextAreaElement;\n\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 * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop() editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop() moveable?: boolean = false;\n\n /**\n * Event fired when the input field loses focus.\n */\n @Event({composed: true}) fieldFocus: EventEmitter<boolean>;\n\n /**\n * Event fired when the input field gains focus.\n */\n @Event({composed: true}) fieldBlur: EventEmitter<boolean>;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) fieldInput: EventEmitter<string>;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n @State() focused = false;\n\n @Method() async focusField() {\n this.focused = true;\n this.el.focus();\n this.fieldFocus.emit(true);\n }\n\n handleBlur() {\n this.focused = false;\n this.fieldBlur.emit(true);\n }\n\n handleFocus() {\n this.focused = true;\n this.fieldFocus.emit(true);\n }\n\n handleChange(e: any) {\n this.fieldChange.emit(e.target.value);\n }\n\n handleInput(e: any) {\n this.fieldInput.emit(e.target.value);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n return (\n <Host class={{focused: this.focused, required: settings.required, disabled}} style={{backgroundColor}}>\n <textarea\n placeholder={settings.placeholder || ''}\n tabIndex={settings.order}\n value={settings.value}\n disabled={disabled}\n required={settings.required}\n ref={el => (this.el = el)}\n onBlur={() => this.handleBlur()}\n onFocus={() => this.handleFocus()}\n onChange={e => this.handleChange(e)}\n onInput={e => this.handleInput(e)}\n />\n\n {this.editable && (\n <verdocs-button-panel icon={settingsIcon}>\n <h6>Field Settings</h6>\n <form>\n <verdocs-select-input\n label=\"Recipient\"\n options={[\n {label: 'Buyer', value: 'Buyer'},\n {label: 'Seller', value: 'Seller'},\n ]}\n onFieldChange={e => {\n console.log('select changed', e);\n }}\n />\n\n <verdocs-text-input label=\"Field Name\" value=\"\" placeholder=\"Stored field name...\" onInput={e => console.log('ipt', e)} />\n <verdocs-text-input label=\"Placeholder\" value=\"\" placeholder=\"Placeholder text...\" onInput={e => console.log('ipt', e)} />\n </form>\n </verdocs-button-panel>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/embeds/verdocs-send/verdocs-send.scss?tag=verdocs-send","src/components/embeds/verdocs-send/verdocs-send.tsx"],"names":["verdocsSendCss","editIcon","startIcon","stepIcon","doneIcon","VerdocsSend","this","levels","VerdocsEndpoint","getDefault","Math","random","toString","substring","[object Object]","sessionContacts","result","endpoint","loadSession","_a","session","profile","push","id","name","first_name","last_name","email","phone","e","console","log","templateId","template","getTemplate","roles","rolesAtLevel","forEach","role","level","sequence","length","Object","keys","map","levelStr","sort","a","b","h","class","innerHTML","preventDefault","recipientsAssigned","detail","showPickerForId","stopPropagation","send","emit","values","cancel","roleNames","_b","allRecipientsAssigned","filter","recipient","isValidEmail","isValidPhone","_c","Host","getLevelIcon","style","backgroundColor","getRGBA","getRoleIndex","onClick","handleClickRole","full_name","onCancel","contactSuggestions","templateRole","onSearchContacts","onContactSelected","handleSelectContact","label","size","variant","onPress","handleCancel","disabled","handleSend"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-send {\n display: flex;\n padding: 10px;\n position: relative;\n background: #ffffff;\n flex-direction: column;\n font-family: $verdocs-primary-font;\n\n .recipients {\n position: relative;\n }\n\n // To avoid the need to compute things like heights, this layer is simply displayed \"on top\" of all the level rows. Its\n // background obscures the horizontal lines.\n .left-line {\n top: 32px;\n left: 20px;\n z-index: 1;\n width: 12px;\n bottom: 30px;\n position: absolute;\n background: #ffffff;\n border-left: 3px dotted #9b9b9b;\n }\n\n .level {\n display: flex;\n column-gap: 10px;\n margin-left: 50px;\n position: relative;\n flex-direction: row;\n padding: 8px 0 4px 0;\n border-bottom: 1px solid #97979744;\n\n .level-icon {\n top: 14px;\n z-index: 2;\n left: -40px;\n width: 24px;\n height: 24px;\n position: absolute;\n background: #ffffff;\n\n svg {\n fill: #00000089;\n }\n }\n\n .recipient {\n height: 30px;\n display: flex;\n flex: 0 0 30px;\n color: #000000;\n cursor: pointer;\n font-size: 14px;\n align-items: center;\n border-radius: 30px;\n flex-direction: row;\n background: #dddddd;\n white-space: nowrap;\n padding: 2px 10px 2px 14px;\n\n .icon {\n width: 22px;\n height: 22px;\n flex: 0 0 22px;\n margin: 0 0 0 10px;\n\n svg {\n width: 22px;\n height: 22px;\n fill: #333333;\n outline: none;\n }\n }\n }\n\n .complete {\n flex: 1;\n height: 30px;\n display: flex;\n color: #000000;\n font-size: 14px;\n align-items: center;\n flex-direction: row;\n padding: 3px 10px 3px 2px;\n }\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n column-gap: 15px;\n flex-direction: row;\n }\n\n verdocs-contact-picker {\n left: 0;\n top: 41px;\n z-index: 10;\n position: absolute;\n border: 1px solid #dddddd;\n box-shadow: 0 0 6px 3px rgb(0 0 0 / 10%);\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {IRole, ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {getRoleIndex} from '../../../utils/utils';\nimport {SDKError} from '../../../utils/errors';\n\n// TODO: Evaluating this pattern for simple icons vs. importing external SVG files. Try to standardize on an approach soon.\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\ntype TAnnotatedRole = IRole & {id: string};\n\n/**\n * Display a form to collect recipient information for a new Document. If used anonymously, the specified `templateId` must be public.\n * If the user is authenticated\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipientsAssigned: IRole[]}>;\n\n /**\n * The user canceled the process.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() template: ITemplate | null = null;\n\n @State() pdfUrl = null;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n @State() showPickerForId = '';\n\n @State() sessionContacts = [];\n\n @State() recipientsAssigned: Record<string, TAnnotatedRole> = {};\n\n levels: number[] = [];\n\n async componentWillLoad() {\n this.sessionContacts = [];\n try {\n const result = await this.endpoint.loadSession();\n\n if (result.session?.profile) {\n this.sessionContacts.push({\n id: result.session.profile.id,\n name: `${result.session.profile.first_name} ${result.session.profile.last_name}`,\n email: result.session.profile.email,\n phone: result.session.profile.phone,\n });\n }\n } catch (e) {\n console.log('Error loading session', e);\n }\n }\n\n async componentDidLoad() {\n console.log('[SEND] Showing template', this.templateId);\n\n try {\n console.log(`[SEND] Loading template ${this.templateId}`);\n const template = await getTemplate(this.endpoint, this.templateId);\n\n console.log('[SEND] Got template', template);\n this.template = template;\n\n if (template?.roles) {\n const rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n template.roles.forEach(role => {\n const level = role.sequence - 1;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id});\n });\n\n this.rolesAtLevel = rolesAtLevel;\n this.levels = Object.keys(rolesAtLevel).map(levelStr => +levelStr);\n this.levels.sort((a, b) => a - b);\n }\n } catch (e) {\n console.log('[SEND] Error getting template', e);\n }\n }\n\n getLevelIcon(level: number) {\n if (level < 0) {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level >= this.levels.length) {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: TAnnotatedRole) {\n e.preventDefault();\n e.detail; // IContactSelectEvent\n this.recipientsAssigned[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: TAnnotatedRole) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e) {\n e.stopPropagation();\n this.send?.emit({recipientsAssigned: Object.values(this.recipientsAssigned)});\n }\n\n handleCancel(e) {\n e.stopPropagation();\n this.cancel?.emit();\n }\n\n render() {\n const roleNames = this.template?.roles?.map(role => role.name) || [];\n const allRecipientsAssigned =\n Object.values(this.recipientsAssigned).filter(recipient => {\n console.log('valid email', isValidEmail(recipient.email), recipient.email);\n console.log('valid phone', isValidPhone(recipient.phone), recipient.phone);\n return isValidEmail(recipient.email) || isValidPhone(recipient.phone);\n }).length >= this.template?.roles.length;\n console.log('assigned', allRecipientsAssigned);\n\n return (\n <Host class={{}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon(-1)}\n <div class=\"complete\">Send Document</div>\n </div>\n\n {this.levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon(level)}\n\n {this.rolesAtLevel[level].map(role => (\n <div class=\"recipient\" style={{backgroundColor: getRGBA(getRoleIndex(roleNames, role.name))}} onClick={e => this.handleClickRole(e, role)}>\n {this.recipientsAssigned[role.id]?.full_name ?? role.name}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-contact-picker\n onCancel={() => (this.showPickerForId = '')}\n contactSuggestions={this.sessionContacts}\n templateRole={this.recipientsAssigned[role.id] ?? role}\n onSearchContacts={e => console.log('Search', e.detail)}\n onContactSelected={e => this.handleSelectContact(e, role)}\n />\n )}\n </div>\n ))}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon(this.levels.length)}\n <div class=\"complete\">Document Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onPress={e => this.handleCancel(e)} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRecipientsAssigned} onPress={e => this.handleSend(e)} />\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/embeds/verdocs-send/verdocs-send.scss?tag=verdocs-send","src/components/embeds/verdocs-send/verdocs-send.tsx"],"names":["verdocsSendCss","editIcon","startIcon","stepIcon","doneIcon","VerdocsSend","exports","this","levels","VerdocsEndpoint","getDefault","concat","Math","random","toString","substring","class_1","prototype","componentWillLoad","sessionContacts","endpoint","loadSession","result","_d","sent","_a","session","profile","push","id","name","first_name","last_name","email","phone","console","log","e_1","componentDidLoad","templateId","getTemplate","template","roles","rolesAtLevel_1","forEach","role","level","sequence","length","__assign","rolesAtLevel","Object","keys","map","levelStr","sort","a","b","e_2","getLevelIcon","h","class","innerHTML","handleSelectContact","e","preventDefault","recipientsAssigned","detail","showPickerForId","handleClickRole","stopPropagation","handleSend","send","emit","values","handleCancel","cancel","render","_this","roleNames","_b","allRecipientsAssigned","filter","recipient","isValidEmail","isValidPhone","_c","Host","style","backgroundColor","getRGBA","getRoleIndex","onClick","full_name","onCancel","contactSuggestions","templateRole","onSearchContacts","onContactSelected","label","size","variant","onPress","disabled"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-send {\n display: flex;\n padding: 10px;\n position: relative;\n background: #ffffff;\n flex-direction: column;\n font-family: $verdocs-primary-font;\n\n .recipients {\n position: relative;\n }\n\n // To avoid the need to compute things like heights, this layer is simply displayed \"on top\" of all the level rows. Its\n // background obscures the horizontal lines.\n .left-line {\n top: 32px;\n left: 20px;\n z-index: 1;\n width: 12px;\n bottom: 30px;\n position: absolute;\n background: #ffffff;\n border-left: 3px dotted #9b9b9b;\n }\n\n .level {\n display: flex;\n column-gap: 10px;\n margin-left: 50px;\n position: relative;\n flex-direction: row;\n padding: 8px 0 4px 0;\n border-bottom: 1px solid #97979744;\n\n .level-icon {\n top: 14px;\n z-index: 2;\n left: -40px;\n width: 24px;\n height: 24px;\n position: absolute;\n background: #ffffff;\n\n svg {\n fill: #00000089;\n }\n }\n\n .recipient {\n height: 30px;\n display: flex;\n flex: 0 0 30px;\n color: #000000;\n cursor: pointer;\n font-size: 14px;\n align-items: center;\n border-radius: 30px;\n flex-direction: row;\n background: #dddddd;\n white-space: nowrap;\n padding: 2px 10px 2px 14px;\n\n .icon {\n width: 22px;\n height: 22px;\n flex: 0 0 22px;\n margin: 0 0 0 10px;\n\n svg {\n width: 22px;\n height: 22px;\n fill: #333333;\n outline: none;\n }\n }\n }\n\n .complete {\n flex: 1;\n height: 30px;\n display: flex;\n color: #000000;\n font-size: 14px;\n align-items: center;\n flex-direction: row;\n padding: 3px 10px 3px 2px;\n }\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n column-gap: 15px;\n flex-direction: row;\n }\n\n verdocs-contact-picker {\n left: 0;\n top: 41px;\n z-index: 10;\n position: absolute;\n border: 1px solid #dddddd;\n box-shadow: 0 0 6px 3px rgb(0 0 0 / 10%);\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {IRole, ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {getRoleIndex} from '../../../utils/utils';\nimport {SDKError} from '../../../utils/errors';\n\n// TODO: Evaluating this pattern for simple icons vs. importing external SVG files. Try to standardize on an approach soon.\nconst editIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"></path></svg>';\n\nconst startIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z\"></path></svg>';\n\nconst stepIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"></path></svg>';\n\nconst doneIcon =\n '<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" tabindex=\"-1\"><path d=\"m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z\"></path></svg>';\n\ntype TAnnotatedRole = IRole & {id: string};\n\n/**\n * Display a form to collect recipient information for a new Document. If used anonymously, the specified `templateId` must be public.\n * If the user is authenticated\n */\n@Component({\n tag: 'verdocs-send',\n styleUrl: 'verdocs-send.scss',\n shadow: false,\n})\nexport class VerdocsSend {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * The user completed the form and clicked send.\n */\n @Event({composed: true}) send: EventEmitter<{recipientsAssigned: IRole[]}>;\n\n /**\n * The user canceled the process.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() template: ITemplate | null = null;\n\n @State() pdfUrl = null;\n\n @State() containerId = `verdocs-send-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n @State() showPickerForId = '';\n\n @State() sessionContacts = [];\n\n @State() recipientsAssigned: Record<string, TAnnotatedRole> = {};\n\n levels: number[] = [];\n\n async componentWillLoad() {\n this.sessionContacts = [];\n try {\n const result = await this.endpoint.loadSession();\n\n if (result.session?.profile) {\n this.sessionContacts.push({\n id: result.session.profile.id,\n name: `${result.session.profile.first_name} ${result.session.profile.last_name}`,\n email: result.session.profile.email,\n phone: result.session.profile.phone,\n });\n }\n } catch (e) {\n console.log('Error loading session', e);\n }\n }\n\n async componentDidLoad() {\n console.log('[SEND] Showing template', this.templateId);\n\n try {\n console.log(`[SEND] Loading template ${this.templateId}`);\n const template = await getTemplate(this.endpoint, this.templateId);\n\n console.log('[SEND] Got template', template);\n this.template = template;\n\n if (template?.roles) {\n const rolesAtLevel: Record<number, TAnnotatedRole[]> = {};\n\n template.roles.forEach(role => {\n const level = role.sequence - 1;\n rolesAtLevel[level] ||= [];\n const id = `r-${level}-${rolesAtLevel[level].length}`;\n rolesAtLevel[level].push({...role, id});\n });\n\n this.rolesAtLevel = rolesAtLevel;\n this.levels = Object.keys(rolesAtLevel).map(levelStr => +levelStr);\n this.levels.sort((a, b) => a - b);\n }\n } catch (e) {\n console.log('[SEND] Error getting template', e);\n }\n }\n\n getLevelIcon(level: number) {\n if (level < 0) {\n return <div class=\"level-icon\" innerHTML={startIcon} />;\n } else if (level >= this.levels.length) {\n return <div class=\"level-icon\" innerHTML={doneIcon} />;\n } else {\n return <div class=\"level-icon\" innerHTML={stepIcon} />;\n }\n }\n\n handleSelectContact(e: any, role: TAnnotatedRole) {\n e.preventDefault();\n e.detail; // IContactSelectEvent\n this.recipientsAssigned[role.id] = {...role, ...e.detail};\n this.showPickerForId = '';\n }\n\n handleClickRole(e: any, role: TAnnotatedRole) {\n e.stopPropagation();\n this.showPickerForId = role.id;\n }\n\n handleSend(e) {\n e.stopPropagation();\n this.send?.emit({recipientsAssigned: Object.values(this.recipientsAssigned)});\n }\n\n handleCancel(e) {\n e.stopPropagation();\n this.cancel?.emit();\n }\n\n render() {\n const roleNames = this.template?.roles?.map(role => role.name) || [];\n const allRecipientsAssigned =\n Object.values(this.recipientsAssigned).filter(recipient => {\n console.log('valid email', isValidEmail(recipient.email), recipient.email);\n console.log('valid phone', isValidPhone(recipient.phone), recipient.phone);\n return isValidEmail(recipient.email) || isValidPhone(recipient.phone);\n }).length >= this.template?.roles.length;\n console.log('assigned', allRecipientsAssigned);\n\n return (\n <Host class={{}}>\n <div class=\"recipients\">\n <div class=\"left-line\" />\n <div class={`level level-start`}>\n {this.getLevelIcon(-1)}\n <div class=\"complete\">Send Document</div>\n </div>\n\n {this.levels.map(level => (\n <div class={`level level-${level}`}>\n {this.getLevelIcon(level)}\n\n {this.rolesAtLevel[level].map(role => (\n <div class=\"recipient\" style={{backgroundColor: getRGBA(getRoleIndex(roleNames, role.name))}} onClick={e => this.handleClickRole(e, role)}>\n {this.recipientsAssigned[role.id]?.full_name ?? role.name}\n <div class=\"icon\" innerHTML={editIcon} />\n {this.showPickerForId === role.id && (\n <verdocs-contact-picker\n onCancel={() => (this.showPickerForId = '')}\n contactSuggestions={this.sessionContacts}\n templateRole={this.recipientsAssigned[role.id] ?? role}\n onSearchContacts={e => console.log('Search', e.detail)}\n onContactSelected={e => this.handleSelectContact(e, role)}\n />\n )}\n </div>\n ))}\n </div>\n ))}\n\n <div class={`level level-done`}>\n {this.getLevelIcon(this.levels.length)}\n <div class=\"complete\">Document Complete</div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" size=\"small\" variant=\"outline\" onPress={e => this.handleCancel(e)} />\n <verdocs-button label=\"Send\" size=\"small\" disabled={!allRecipientsAssigned} onPress={e => this.handleSend(e)} />\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/elements/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/elements/verdocs-field-textarea/verdocs-field-textarea.tsx"],"names":["verdocsFieldTextareaCss","settingsIcon","VerdocsFieldTextarea","exports","class_1","prototype","focusField","this","focused","el","focus","fieldFocus","emit","handleBlur","fieldBlur","handleFocus","handleChange","e","fieldChange","target","value","handleInput","fieldInput","render","_this","settings","getFieldSettings","field","disabled","_b","_a","backgroundColor","getRGBA","roleindex","h","Host","class","required","style","placeholder","tabIndex","order","ref","onBlur","onFocus","onChange","onInput","editable","icon","label","options","onFieldChange","console","log"],"mappings":"+qDAAA,IAAMA,EAA0B,2yBCMhC,IAAMC,EACJ,6rCAUWC,EAAoBC,EAAA,yBAAA,0MAMyB,4CAU3B,oBAMA,oBAKA,qBA2BA,eAEV,MAEHC,EAAAC,UAAAC,WAAN,gGACRC,KAAKC,QAAU,KACfD,KAAKE,GAAGC,QACRH,KAAKI,WAAWC,KAAK,uBAGvBR,EAAAC,UAAAQ,WAAA,WACEN,KAAKC,QAAU,MACfD,KAAKO,UAAUF,KAAK,OAGtBR,EAAAC,UAAAU,YAAA,WACER,KAAKC,QAAU,KACfD,KAAKI,WAAWC,KAAK,OAGvBR,EAAAC,UAAAW,aAAA,SAAaC,GACXV,KAAKW,YAAYN,KAAKK,EAAEE,OAAOC,QAGjChB,EAAAC,UAAAgB,YAAA,SAAYJ,GACVV,KAAKe,WAAWV,KAAKK,EAAEE,OAAOC,QAGhChB,EAAAC,UAAAkB,OAAA,WAAA,IAAAC,EAAAjB,aACE,IAAMkB,EAAWC,EAAiBnB,KAAKoB,OACvC,IAAMC,GAAWC,GAAAC,EAAAvB,KAAKqB,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,IAAME,EAAkBxB,KAAKoB,MAAM,SAAWK,EAAQzB,KAAK0B,WAE3D,OACEC,EAACC,EAAI,CAACC,MAAO,CAAC5B,QAASD,KAAKC,QAAS6B,SAAUZ,EAASY,SAAUT,SAAQA,GAAGU,MAAO,CAACP,gBAAeA,IAClGG,EAAA,WAAA,CACEK,YAAad,EAASc,aAAe,GACrCC,SAAUf,EAASgB,MACnBrB,MAAOK,EAASL,MAChBQ,SAAUA,EACVS,SAAUZ,EAASY,SACnBK,IAAK,SAAAjC,GAAE,OAAKe,EAAKf,GAAKA,GACtBkC,OAAQ,WAAM,OAAAnB,EAAKX,cACnB+B,QAAS,WAAM,OAAApB,EAAKT,eACpB8B,SAAU,SAAA5B,GAAK,OAAAO,EAAKR,aAAaC,IACjC6B,QAAS,SAAA7B,GAAK,OAAAO,EAAKH,YAAYJ,MAGhCV,KAAKwC,UACJb,EAAA,uBAAA,CAAsBc,KAAM/C,GAC1BiC,EAAA,KAAA,KAAA,kBACAA,EAAA,OAAA,KACEA,EAAA,uBAAA,CACEe,MAAM,YACNC,QAAS,CACP,CAACD,MAAO,QAAS7B,MAAO,SACxB,CAAC6B,MAAO,SAAU7B,MAAO,WAE3B+B,cAAe,SAAAlC,GACbmC,QAAQC,IAAI,iBAAkBpC,MAIlCiB,EAAA,qBAAA,CAAoBe,MAAM,aAAa7B,MAAM,GAAGmB,YAAY,uBAAuBO,QAAS,SAAA7B,GAAK,OAAAmC,QAAQC,IAAI,MAAOpC,MACpHiB,EAAA,qBAAA,CAAoBe,MAAM,cAAc7B,MAAM,GAAGmB,YAAY,sBAAsBO,QAAS,SAAA7B,GAAK,OAAAmC,QAAQC,IAAI,MAAOpC,mBAtHjG","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-textarea {\n font-family: $verdocs-primary-font;\n width: 150px;\n height: 15px;\n display: block;\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 textarea {\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.75s 2;\n }\n}\n","import {Component, h, Host, Prop, Event, EventEmitter, State, Method} from '@stencil/core';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {getFieldSettings} from '../../../utils/utils';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\n\nconst settingsIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" width=\"20\"><path d=\"m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z\"/></svg>';\n\n/**\n * Display a multi-line text input field.\n */\n@Component({\n tag: 'verdocs-field-textarea',\n styleUrl: 'verdocs-field-textarea.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextarea {\n private el: HTMLTextAreaElement;\n\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 * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop() editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop() moveable?: boolean = false;\n\n /**\n * Event fired when the input field loses focus.\n */\n @Event({composed: true}) fieldFocus: EventEmitter<boolean>;\n\n /**\n * Event fired when the input field gains focus.\n */\n @Event({composed: true}) fieldBlur: EventEmitter<boolean>;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) fieldInput: EventEmitter<string>;\n\n /**\n * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n @State() focused = false;\n\n @Method() async focusField() {\n this.focused = true;\n this.el.focus();\n this.fieldFocus.emit(true);\n }\n\n handleBlur() {\n this.focused = false;\n this.fieldBlur.emit(true);\n }\n\n handleFocus() {\n this.focused = true;\n this.fieldFocus.emit(true);\n }\n\n handleChange(e: any) {\n this.fieldChange.emit(e.target.value);\n }\n\n handleInput(e: any) {\n this.fieldInput.emit(e.target.value);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n return (\n <Host class={{focused: this.focused, required: settings.required, disabled}} style={{backgroundColor}}>\n <textarea\n placeholder={settings.placeholder || ''}\n tabIndex={settings.order}\n value={settings.value}\n disabled={disabled}\n required={settings.required}\n ref={el => (this.el = el)}\n onBlur={() => this.handleBlur()}\n onFocus={() => this.handleFocus()}\n onChange={e => this.handleChange(e)}\n onInput={e => this.handleInput(e)}\n />\n\n {this.editable && (\n <verdocs-button-panel icon={settingsIcon}>\n <h6>Field Settings</h6>\n <form>\n <verdocs-select-input\n label=\"Recipient\"\n options={[\n {label: 'Buyer', value: 'Buyer'},\n {label: 'Seller', value: 'Seller'},\n ]}\n onFieldChange={e => {\n console.log('select changed', e);\n }}\n />\n\n <verdocs-text-input label=\"Field Name\" value=\"\" placeholder=\"Stored field name...\" onInput={e => console.log('ipt', e)} />\n <verdocs-text-input label=\"Placeholder\" value=\"\" placeholder=\"Placeholder text...\" onInput={e => console.log('ipt', e)} />\n </form>\n </verdocs-button-panel>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s,H as e}from"./p-ff1278ed.js";const o='verdocs-initial-dialog{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;display:none}verdocs-initial-dialog.open{display:block}verdocs-initial-dialog .background-overlay{position:absolute;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#0000007f}verdocs-initial-dialog .dialog{width:100%;max-width:340px;border-radius:4px;overflow:hidden;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);background:#f9f9f9}verdocs-initial-dialog .heading{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;padding:20px 20px 0 20px;line-height:28px;font-size:20px;font-weight:500}verdocs-initial-dialog .content{font-size:14px;padding:20px}verdocs-initial-dialog .buttons{display:-ms-flexbox;display:flex;margin:20px 0 0 0;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center}verdocs-initial-dialog .buttons verdocs-button{margin-left:16px}verdocs-initial-dialog canvas{background:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 auto;width:300px;height:79px;max-width:100%;-webkit-box-shadow:0 0 6px 0 #0000001f;box-shadow:0 0 6px 0 #0000001f}verdocs-initial-dialog .disclaimer{text-align:justify;padding:8px 0;font-size:11px;line-height:14px;color:rgba(0, 0, 0, 0.54)}verdocs-initial-dialog .as-shown{font-size:11px;margin:4px 0 20px 4px;color:rgba(0, 0, 0, 0.54)}verdocs-initial-dialog .tabs{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}verdocs-initial-dialog .tabs .tab{padding:8px 15px;cursor:pointer}verdocs-initial-dialog .tabs .tab.active{border-bottom:2px solid #cccccc}verdocs-initial-dialog .tabs .tab:hover{color:#55bc81}';const a=class{constructor(s){i(this,s);this.adopt=t(this,"adopt",7);this.cancel=t(this,"cancel",7);this.initials="";this.open=false;this.fontLoaded=false;this.enteredInitials="";this.mode="type"}componentWillLoad(){this.enteredInitials=this.initials.toUpperCase();const i=new FontFace("Dancing Script","url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)");i.load().then((i=>{document.fonts.add(i);this.fontLoaded=true}))}componentDidLoad(){this.redrawSignature()}componentDidUpdate(){this.redrawSignature()}redrawSignature(){if(!this.canvasElement){return}const i=this.canvasElement.width;const t=this.canvasElement.getContext("2d");t.clearRect(0,0,this.canvasElement.width,this.canvasElement.height);let s=100;do{s-=2;t.font=`${s}px Dancing Script`}while(t.measureText(this.enteredInitials).width>i-32);t.textAlign="center";t.textBaseline="middle";t.font=`${s}px Dancing Script`;t.fillText(this.enteredInitials,this.canvasElement.width/2,this.canvasElement.height/2)}handleDismiss(i){i.stopPropagation();if(i.target.className==="background-overlay"){this.handleCancel()}}handleNameChange(i){this.enteredInitials=i.target.value}handleAdopt(){const i=this.canvasElement.toDataURL("image/png");this.adopt.emit(i);this.open=false}handleCancel(){this.cancel.emit();this.open=false}render(){return s(e,{class:{open:this.open}},s("div",{class:"background-overlay",onClick:i=>this.handleDismiss(i)},s("div",{class:"dialog"},s("div",{class:"heading"},"Create Your Initial"),s("div",{class:"content"},s("verdocs-text-input",{placeholder:"Initials...",label:"Initials",value:this.enteredInitials,onInput:i=>this.handleNameChange(i)}),s("div",{class:"as-shown"},"As shown on driver's license or govt. ID card."),s("div",{class:"tabs"},s("div",{class:{tab:true,active:this.mode==="type"},onClick:()=>this.mode="type"},"Type"),s("div",{class:{tab:true,active:this.mode==="draw"},onClick:()=>this.mode="draw"},"Draw")),this.fontLoaded?s("canvas",{ref:i=>this.canvasElement=i}):s("div",{style:{display:"none"}}),s("div",{class:"disclaimer"},"By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents, including legally binding contracts — just the same as a pen-and-paper signature or initial."),s("div",{class:"buttons"},s("verdocs-button",{label:"CANCEL",variant:"outline",onPress:()=>this.handleCancel()}),s("verdocs-button",{label:"Adopt & Sign",onPress:()=>this.handleAdopt()}))))))}};a.style=o;export{a as verdocs_initial_dialog};
|
|
2
|
-
//# sourceMappingURL=p-52179311.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.scss?tag=verdocs-initial-dialog","src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.tsx"],"names":["verdocsInitialDialogCss","VerdocsInitialDialog","[object Object]","this","enteredInitials","initials","toUpperCase","ds","FontFace","load","then","font","document","fonts","add","fontLoaded","redrawSignature","canvasElement","canvasWidth","width","context","getContext","clearRect","height","fontSize","measureText","textAlign","textBaseline","fillText","e","stopPropagation","target","className","handleCancel","value","data","toDataURL","adopt","emit","open","cancel","h","Host","class","onClick","handleDismiss","placeholder","label","onInput","handleNameChange","tab","active","mode","ref","el","style","display","variant","onPress","handleAdopt"],"mappings":"yDAAA,MAAMA,EAA0B,81DCUnBC,EAAoB,yGAMJ,aAKH,sBAYF,2BAEa,aAEX,OAExBC,oBACEC,KAAKC,gBAAkBD,KAAKE,SAASC,cAErC,MAAMC,EAAK,IAAIC,SAAS,iBAAkB,oHAC1CD,EAAGE,OAAOC,MAAKC,IACbC,SAASC,MAAMC,IAAIH,GACnBR,KAAKY,WAAa,QAItBb,mBACEC,KAAKa,kBAGPd,qBACEC,KAAKa,kBAGPd,kBACE,IAAKC,KAAKc,cAAe,CACvB,OAGF,MAAMC,EAAcf,KAAKc,cAAcE,MAEvC,MAAMC,EAAUjB,KAAKc,cAAcI,WAAW,MAC9CD,EAAQE,UAAU,EAAG,EAAGnB,KAAKc,cAAcE,MAAOhB,KAAKc,cAAcM,QAErE,IAAIC,EAAW,IACf,EAAG,CACDA,GAAY,EACZJ,EAAQT,KAAO,GAAGa,2BACXJ,EAAQK,YAAYtB,KAAKC,iBAAiBe,MAAQD,EAAc,IAEzEE,EAAQM,UAAY,SACpBN,EAAQO,aAAe,SACvBP,EAAQT,KAAO,GAAGa,qBAClBJ,EAAQQ,SAASzB,KAAKC,gBAAiBD,KAAKc,cAAcE,MAAQ,EAAGhB,KAAKc,cAAcM,OAAS,GAInGrB,cAAc2B,GACZA,EAAEC,kBACF,GAAID,EAAEE,OAAOC,YAAc,qBAAsB,CAC/C7B,KAAK8B,gBAIT/B,iBAAiB2B,GACf1B,KAAKC,gBAAkByB,EAAEE,OAAOG,MAGlChC,cACE,MAAMiC,EAAOhC,KAAKc,cAAcmB,UAAU,aAC1CjC,KAAKkC,MAAMC,KAAKH,GAChBhC,KAAKoC,KAAO,MAGdrC,eACEC,KAAKqC,OAAOF,OACZnC,KAAKoC,KAAO,MAiKdrC,SACE,OACEuC,EAACC,EAAI,CAACC,MAAO,CAACJ,KAAMpC,KAAKoC,OACvBE,EAAA,MAAA,CAAKE,MAAM,qBAAqBC,QAASf,GAAK1B,KAAK0C,cAAchB,IAC/DY,EAAA,MAAA,CAAKE,MAAM,UACTF,EAAA,MAAA,CAAKE,MAAM,WAAS,uBAEpBF,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,qBAAA,CAAoBK,YAAY,cAAcC,MAAM,WAAWb,MAAO/B,KAAKC,gBAAiB4C,QAASnB,GAAK1B,KAAK8C,iBAAiBpB,KAChIY,EAAA,MAAA,CAAKE,MAAM,YAAU,kDAErBF,EAAA,MAAA,CAAKE,MAAM,QACTF,EAAA,MAAA,CAAKE,MAAO,CAACO,IAAK,KAAMC,OAAQhD,KAAKiD,OAAS,QAASR,QAAS,IAAOzC,KAAKiD,KAAO,QAAO,QAG1FX,EAAA,MAAA,CAAKE,MAAO,CAACO,IAAK,KAAMC,OAAQhD,KAAKiD,OAAS,QAASR,QAAS,IAAOzC,KAAKiD,KAAO,QAAO,SAK3FjD,KAAKY,WAAa0B,EAAA,SAAA,CAAQY,IAAKC,GAAOnD,KAAKc,cAAgBqC,IAA+Bb,EAAA,MAAA,CAAKc,MAAO,CAACC,QAAS,UAEjHf,EAAA,MAAA,CAAKE,MAAM,cAAY,iQAKvBF,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,iBAAA,CAAgBM,MAAM,SAASU,QAAQ,UAAUC,QAAS,IAAMvD,KAAK8B,iBACrEQ,EAAA,iBAAA,CAAgBM,MAAM,eAAeW,QAAS,IAAMvD,KAAKwD","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-initial-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n display: none;\n\n &.open {\n display: block;\n }\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n width: 100%;\n max-width: 340px;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n background: $dialog-bg;\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n padding: 20px 20px 0 20px;\n line-height: 28px;\n font-size: 20px;\n font-weight: 500;\n }\n\n .content {\n font-size: 14px;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n canvas {\n background: #fff;\n box-sizing: border-box;\n margin: 0 auto;\n width: 300px;\n // TODO: The original app had an aspect ratio of (80 / 305) * (signatureBodyWidth - 20)\n height: 79px;\n max-width: 100%;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n text-align: justify;\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .as-shown {\n font-size: 11px;\n margin: 4px 0 20px 4px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n\n .tab {\n padding: 8px 15px;\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid $light-border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n }\n }\n}\n","import {Component, Prop, Host, h, Event, EventEmitter, State} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify an initials image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their initials with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-initial-dialog',\n styleUrl: 'verdocs-initial-dialog.scss',\n})\nexport class VerdocsInitialDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() initials: string = '';\n\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() open: boolean = false;\n\n /**\n * Event fired when the initials are adopted.\n */\n @Event({composed: true}) adopt: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredInitials: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredInitials = this.initials.toUpperCase();\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n if (!this.canvasElement) {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredInitials).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredInitials, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n e.stopPropagation();\n if (e.target.className === 'background-overlay') {\n this.handleCancel();\n }\n }\n\n handleNameChange(e: any) {\n this.enteredInitials = e.target.value;\n }\n\n handleAdopt() {\n const data = this.canvasElement.toDataURL('image/png');\n this.adopt.emit(data);\n this.open = false;\n }\n\n handleCancel() {\n this.cancel.emit();\n this.open = false;\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host class={{open: this.open}}>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Initial</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Initials...\" label=\"Initials\" value={this.enteredInitials} onInput={e => this.handleNameChange(e)} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n <div class=\"tabs\">\n <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>\n Type\n </div>\n <div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>\n Draw\n </div>\n </div>\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts — just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" variant=\"outline\" onPress={() => this.handleCancel()} />\n <verdocs-button label=\"Adopt & Sign\" onPress={() => this.handleAdopt()} />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as o,h as i,H as t}from"./p-ff1278ed.js";var a=function(e){return new Promise((function(o,i){var t=new FileReader;t.onload=function(){return o({lastModified:e.lastModified,size:e.size,type:e.type,name:e.name,data:t.result})};t.onerror=i;if(e){t.readAsDataURL(e)}else{i(new Error("Invalid file"))}}))};const s=`<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">\n <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13" />\n</svg>\n`;const l=`<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">\n <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />\n</svg>\n`;const n='verdocs-upload-dialog{font-family:"Barlow", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-upload-dialog div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-upload-dialog .background-overlay{position:absolute;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#0000007f}verdocs-upload-dialog .dialog{width:300px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;background:#ffffff;padding:16px;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4)}verdocs-upload-dialog .heading{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;font-size:20px;font-weight:500}verdocs-upload-dialog .buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-upload-dialog .buttons verdocs-button{margin-left:16px}verdocs-upload-dialog .drop-target{padding:30px 15px;width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#f5f5f5;border:2px dashed #979797;min-height:260px;text-align:center;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;color:rgba(0, 0, 0, 0.54);opacity:1;margin:20px 0}verdocs-upload-dialog .drop-target p{margin:12px 0}verdocs-upload-dialog .drop-target.dragging-over{border:5px solid #4c56cb}verdocs-upload-dialog .drop-target>verdocs-button{margin:12px 0;display:inline-block}verdocs-upload-dialog .attachments{height:56px;font-size:0;margin:20px 0;padding:0 16px;line-height:56px;white-space:normal;-webkit-box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.14);box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.14)}verdocs-upload-dialog .attachments .attachment{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-upload-dialog .attachments .attachment .icon{width:18px;height:18px;line-height:18px}verdocs-upload-dialog .attachments .attachment .icon.trash{cursor:pointer}verdocs-upload-dialog .attachments .attachment .name{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;padding:0 8px;font-size:14px;font-weight:400}';const r=class{constructor(i){e(this,i);this.cancel=o(this,"cancel",7);this.done=o(this,"done",7);this.open=false;this.draggingOver=false;this.decodedFiles=[]}handleCancel(){this.cancel.emit();this.open=false}handleDismiss(e){if(e.target.className==="background-overlay"){e.preventDefault();this.handleCancel()}}handleDone(){this.done.emit(this.decodedFiles);this.open=false}handleDragOver(e){e.preventDefault();this.draggingOver=true}handleDragLeave(e){e.preventDefault();this.draggingOver=false}async handleDrop(e){e.preventDefault();this.draggingOver=false;let o=[];if(e.dataTransfer.items){for(let i=0;i<e.dataTransfer.items.length;i++){if(e.dataTransfer.items[i].kind==="file"){const t=e.dataTransfer.items[i].getAsFile();o.push(t)}}}else{o=e.dataTransfer.files}this.decodedFiles=await Promise.all(o.map(a))}handleRemoveAttachment(e){const o=[...this.decodedFiles];o.splice(e,1);this.decodedFiles=o}handleSelectFile(){var e;(e=this.fileInput)===null||e===void 0?void 0:e.click()}async handleFileChange(e){var o,i,t;console.log("fileChange",e);console.log("files",(o=this.fileInput)===null||o===void 0?void 0:o.files);let s=[];for(let e=0;e<((i=this.fileInput)===null||i===void 0?void 0:i.files.length);e++){s.push((t=this.fileInput)===null||t===void 0?void 0:t.files[e])}this.decodedFiles=await Promise.all(s.map(a))}render(){return i(t,{style:{display:this.open?"block":"none"}},i("div",{class:"background-overlay",onClick:e=>this.handleDismiss(e)},i("div",{class:"dialog"},i("div",{class:"heading"},"Upload attachment"),this.decodedFiles.length<1?i("div",{class:{"drop-target":true,"dragging-over":this.draggingOver},onDragOver:e=>this.handleDragOver(e),onDragLeave:e=>this.handleDragLeave(e),onDrop:e=>this.handleDrop(e)},i("p",null,"Drag and drop a file here..."),i("p",null,"- or -"),i("verdocs-button",{label:"Select a file...",onPress:()=>this.handleSelectFile()}),i("input",{type:"file",ref:e=>this.fileInput=e,style:{display:"none"},onChange:e=>this.handleFileChange(e)})):i("div",{class:"attachments"},this.decodedFiles.map(((e,o)=>i("div",{class:"attachment"},i("div",{class:"icon",innerHTML:s}),i("div",{class:"name"},e.name),i("div",{class:"icon trash",innerHTML:l,onClick:()=>this.handleRemoveAttachment(o)}))))),i("div",{class:"buttons"},i("verdocs-button",{label:"Cancel",variant:"outline",onPress:()=>this.handleCancel()}),i("verdocs-button",{label:"Done",onPress:()=>this.handleDone(),disabled:this.decodedFiles.length<1})))))}};r.style=n;export{r as verdocs_upload_dialog};
|
|
2
|
-
//# sourceMappingURL=p-5713fea6.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["node_modules/@verdocs/js-sdk/Utils/Files.js","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.scss?tag=verdocs-upload-dialog","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.tsx"],"names":["fileToDataUrl","file","Promise","resolve","reject","reader","FileReader","onload","lastModified","size","type","name","data","result","onerror","readAsDataURL","Error","verdocsUploadDialogCss","VerdocsUploadDialog","[object Object]","this","cancel","emit","open","e","target","className","preventDefault","handleCancel","done","decodedFiles","draggingOver","droppedFiles","dataTransfer","items","i","length","kind","getAsFile","push","files","all","map","index","newFiles","splice","_a","fileInput","click","console","log","_b","_c","h","Host","style","display","class","onClick","handleDismiss","drop-target","dragging-over","onDragOver","handleDragOver","onDragLeave","handleDragLeave","onDrop","handleDrop","label","onPress","handleSelectFile","ref","el","onChange","handleFileChange","innerHTML","Paperclip","Trash","handleRemoveAttachment","variant","handleDone","disabled"],"mappings":"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","sourcesContent":["/**\n * Given a File, extract the file's content as a base64 encoded data URL. The response will have a prefix that\n * includes the MIME type of the file, e.g. \"data:image/jpeg;base64,iVBORw0K......\"\n */\nexport var fileToDataUrl = function (file) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onload = function () {\n return resolve({\n lastModified: file.lastModified,\n size: file.size,\n type: file.type,\n name: file.name,\n data: reader.result,\n });\n };\n reader.onerror = reject;\n if (file) {\n reader.readAsDataURL(file);\n }\n else {\n reject(new Error('Invalid file'));\n }\n });\n};\n","@import '../../../theme.scss';\n\nverdocs-upload-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n width: 300px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: $verdocs-grey-4;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n font-size: 20px;\n font-weight: 500;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n .drop-target {\n padding: 30px 15px;\n width: 100%;\n display: flex;\n flex-direction: column;\n background-color: #f5f5f5;\n border: 2px dashed #979797;\n min-height: 260px;\n text-align: center;\n justify-content: center;\n align-items: center;\n color: rgba(0, 0, 0, 0.54);\n opacity: 1;\n margin: 20px 0;\n\n p {\n margin: 12px 0;\n }\n\n &.dragging-over {\n border: 5px solid $verdocs-deep-blue;\n }\n\n > verdocs-button {\n margin: 12px 0;\n display: inline-block;\n }\n }\n\n .attachments {\n height: 56px;\n font-size: 0;\n margin: 20px 0;\n padding: 0 16px;\n line-height: 56px;\n white-space: normal;\n box-shadow: 0 1px 3px 0 rgb(0 0 0 / 20%), 0 2px 2px 0 rgb(0 0 0 / 12%), 0 0 2px 0 rgb(0 0 0 / 14%);\n\n .attachment {\n display: flex;\n align-items: center;\n flex-direction: row;\n\n .icon {\n width: 18px;\n height: 18px;\n line-height: 18px;\n\n &.trash {\n cursor: pointer;\n }\n }\n\n .name {\n flex: 1;\n display: flex;\n padding: 0 8px;\n font-size: 14px;\n font-weight: 400;\n }\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\nimport {fileToDataUrl, FileWithData} from '@verdocs/js-sdk/Utils/Files';\nimport Paperclip from './paperclip.svg';\nimport Trash from './trash.svg';\n\n/**\n * Display a file upload experience.\n */\n@Component({\n tag: 'verdocs-upload-dialog',\n styleUrl: 'verdocs-upload-dialog.scss',\n})\nexport class VerdocsUploadDialog {\n private fileInput?: HTMLInputElement;\n\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() open: boolean = false;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the closure reason.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the closure reason.\n */\n @Event({composed: true}) done: EventEmitter<FileWithData[]>;\n\n @State() draggingOver = false;\n\n @State() decodedFiles = [] as FileWithData[];\n\n handleCancel() {\n this.cancel.emit();\n this.open = false;\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.done.emit(this.decodedFiles);\n this.open = false;\n }\n\n handleDragOver(e) {\n e.preventDefault();\n this.draggingOver = true;\n }\n\n handleDragLeave(e) {\n e.preventDefault();\n this.draggingOver = false;\n }\n\n async handleDrop(e) {\n e.preventDefault();\n this.draggingOver = false;\n\n // Required for cross-browser support. Note that dataTransfer.items is of type DataTransferItemList and is not an array.\n let droppedFiles = [] as File[];\n if (e.dataTransfer.items) {\n for (let i = 0; i < e.dataTransfer.items.length; i++) {\n if (e.dataTransfer.items[i].kind === 'file') {\n const file = e.dataTransfer.items[i].getAsFile();\n droppedFiles.push(file);\n }\n }\n } else {\n droppedFiles = e.dataTransfer.files;\n }\n\n this.decodedFiles = await Promise.all(droppedFiles.map(fileToDataUrl));\n }\n\n handleRemoveAttachment(index: number) {\n const newFiles = [...this.decodedFiles];\n newFiles.splice(index, 1);\n this.decodedFiles = newFiles;\n }\n\n handleSelectFile() {\n this.fileInput?.click();\n }\n\n async handleFileChange(e) {\n console.log('fileChange', e);\n console.log('files', this.fileInput?.files);\n let droppedFiles = [] as File[];\n for (let i = 0; i < this.fileInput?.files.length; i++) {\n droppedFiles.push(this.fileInput?.files[i]);\n }\n this.decodedFiles = await Promise.all(droppedFiles.map(fileToDataUrl));\n }\n\n render() {\n return (\n <Host style={{display: this.open ? 'block' : 'none'}}>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Upload attachment</div>\n\n {this.decodedFiles.length < 1 ? (\n <div\n class={{'drop-target': true, 'dragging-over': this.draggingOver}}\n onDragOver={e => this.handleDragOver(e)}\n onDragLeave={e => this.handleDragLeave(e)}\n onDrop={e => this.handleDrop(e)}\n >\n <p>Drag and drop a file here...</p>\n <p>- or -</p>\n\n <verdocs-button label=\"Select a file...\" onPress={() => this.handleSelectFile()} />\n <input type=\"file\" ref={el => (this.fileInput = el as HTMLInputElement)} style={{display: 'none'}} onChange={e => this.handleFileChange(e)} />\n </div>\n ) : (\n <div class=\"attachments\">\n {this.decodedFiles.map((file, index) => (\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={Paperclip} />\n <div class=\"name\">{file.name}</div>\n <div class=\"icon trash\" innerHTML={Trash} onClick={() => this.handleRemoveAttachment(index)} />\n </div>\n ))}\n </div>\n )}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onPress={() => this.handleCancel()} />\n <verdocs-button label=\"Done\" onPress={() => this.handleDone()} disabled={this.decodedFiles.length < 1} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
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","[object Object]","this","loadSession","session","console","log","isAuthenticated","activeSession","_a","authenticated","emit","_b","loggingIn","Auth.authenticateUser","username","password","setToken","accessToken","catch","e","response","JSON","stringify","sdkError","SDKError","message","_c","status","_d","_e","loginError","clearSession","visible","h","style","display","debug","class","label","disabled","onPress","handleLogout","displayMode","src","logo","alt","variant","onClick","onSubmit","handleLogin","autocomplete","value","onInput","target","type","justifyContent","margin","open","heading","onClosed","handleClearError"],"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 +0,0 @@
|
|
|
1
|
-
import{r as e,c as o,h as i,H as t}from"./p-ff1278ed.js";import{c as d}from"./p-ec26fc38.js";import{g as s}from"./p-7ce27ce2.js";const r=`<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#50BE80"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M7 10l5 5 5-5H7z"/></svg>\n`;const n='verdocs-dropdown{font-family:"Barlow", sans-serif;display:block}verdocs-dropdown .arrow{width:32px;height:26px;background:#fff;cursor:pointer;border-radius:4px;-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;border:1px solid #cccccc;-ms-flex-pack:center;justify-content:center}verdocs-dropdown .arrow svg{fill:#55bc81;-webkit-transition:0.3s;transition:0.3s}verdocs-dropdown .items{width:200px;display:none;z-index:10000;border-radius:5px;background:#33354c;border:1px solid #654dcb}verdocs-dropdown .items[data-show]{display:block}verdocs-dropdown .option{width:100%;color:#fff;border:none;display:block;text-align:left;background:none;padding:10px 20px}verdocs-dropdown .option:hover{cursor:pointer;background:#55bc81}verdocs-dropdown .option[disabled]{color:#aaaaaa}verdocs-dropdown .option[disabled]:hover{color:#aaaaaa;cursor:inherit;background:transparent}verdocs-dropdown.open .items{display:block}verdocs-dropdown.open .arrow{background:#4c56cb;border:1px solid #707ae5}verdocs-dropdown.open .arrow svg{-webkit-transform:scaleY(-1);transform:scaleY(-1);fill:#fff}';const a=class{constructor(i){e(this,i);this.optionSelected=o(this,"optionSelected",7);this.options=[];this.open=undefined;this.isOpen=undefined}componentWillLoad(){this.isOpen=!!this.open}componentDidLoad(){this.popper=d(this.dropdownButton,this.dropdownMenu,{placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,6]}}]})}handleSelectOption(e,o){e.stopPropagation();this.isOpen=false;this.optionSelected.emit(o);this.hide()}showDropdown(){var e,o;this.isOpen=true;this.dropdownMenu.setAttribute("data-show","");this.dropdownMenu.removeAttribute("aria-hidden");(e=this.popper)===null||e===void 0?void 0:e.setOptions((e=>({...e,modifiers:[...e.modifiers,{name:"eventListeners",enabled:true}]})));(o=this.popper)===null||o===void 0?void 0:o.update()}handleHideDropdown(e){var o,i;if(((o=e===null||e===void 0?void 0:e.target)===null||o===void 0?void 0:o.localName)==="button"&&((i=e===null||e===void 0?void 0:e.target)===null||i===void 0?void 0:i.className)==="arrow"){return}this.hide()}toggleDropdown(e){e.stopPropagation();if(this.isOpen){this.hide()}else{this.showDropdown()}}hide(){var e;this.isOpen=false;this.dropdownMenu.removeAttribute("data-show");this.dropdownMenu.setAttribute("aria-hidden","true");(e=this.popper)===null||e===void 0?void 0:e.setOptions((e=>({...e,modifiers:[...e.modifiers,{name:"eventListeners",enabled:false}]})))}render(){var e;return i(t,{class:{storybook:!!(window===null||window===void 0?void 0:window["STORYBOOK_ENV"]),open:!!this.isOpen}},i("button",{class:"arrow",innerHTML:r,"aria-label":"Open Menu",onClick:e=>this.toggleDropdown(e),onBlur:e=>this.handleHideDropdown(e),ref:e=>this.dropdownButton=e}),i("div",{class:"items","aria-hidden":!this.open,ref:e=>this.dropdownMenu=e},(e=this.options)===null||e===void 0?void 0:e.map((e=>i("button",{onClick:o=>this.handleSelectOption(o,e),class:"option",disabled:e.disabled},e.label)))))}};a.style=n;const l='@charset "UTF-8";verdocs-field-checkbox{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-checkbox.disabled{opacity:0.5}verdocs-field-checkbox label>input[type=checkbox]{display:none}verdocs-field-checkbox label>input[type=checkbox]+*::before{content:"";position:absolute;display:block;top:1px;left:1px;width:10px;height:10px;border-radius:2px;background:#f5f5fa;border:1px solid rgba(0, 0, 0, 0.7)}verdocs-field-checkbox label>input[type=checkbox]:checked+*{color:#55bc81}verdocs-field-checkbox label>input[type=checkbox]:checked+*::before{content:"✓";color:white;text-align:center;background:#55bc81;border-color:#55bc81}verdocs-field-checkbox.required label>input[type=checkbox]+*::before{border:1px solid #cc0000}verdocs-field-checkbox.hide{display:none}verdocs-field-checkbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';const c=class{constructor(i){e(this,i);this.fieldChange=o(this,"fieldChange",7);this.field=null;this.recipient=undefined;this.option=0;this.disabled=false}handleChange(e){this.fieldChange.emit({option:this.option,value:e.target.checked})}render(){var e,o,d,r;const n=s(this.field);const a=(o=(e=n.options)===null||e===void 0?void 0:e[this.option])!==null&&o!==void 0?o:{checked:false};const l=(r=(d=this.disabled)!==null&&d!==void 0?d:n.disabled)!==null&&r!==void 0?r:false;return i(t,{class:{required:n.required,disabled:l}},i("label",null,i("input",{type:"checkbox",tabIndex:n.order,checked:a.checked,disabled:l,required:n.required,onChange:e=>this.handleChange(e)}),i("span",null)))}};c.style=l;const p='verdocs-field-radio-button{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:14px;height:14px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100%}verdocs-field-radio-button.disabled{opacity:0.5}verdocs-field-radio-button input[type=radio]{position:absolute;opacity:0}verdocs-field-radio-button input[type=radio]+label:before{content:"";background:#f5f5fa;border-radius:100%;border:1px solid rgba(0, 0, 0, 0.6);display:inline-block;width:10px;height:10px;position:absolute;left:1px;top:1px;cursor:pointer;text-align:center;-webkit-transition:all 250ms ease;transition:all 250ms ease}verdocs-field-radio-button input[type=radio]:checked+label:before{background-color:#55bc81;-webkit-box-shadow:inset 0 0 0 2px #f5f5fa;box-shadow:inset 0 0 0 2px #f5f5fa}verdocs-field-radio-button input[type=radio]:focus+label:before{outline:none;border-color:#55bc81}verdocs-field-radio-button input[type=radio]:disabled+label:before{-webkit-box-shadow:inset 0 0 0 4px #f5f5fa;box-shadow:inset 0 0 0 4px #f5f5fa;border-color:#a0a0d0;background:#a0a0d0}verdocs-field-radio-button input[type=radio]+label:empty:before{margin-right:0}verdocs-field-radio-button.required input[type=radio]+label:before{border:1px solid #cc0000}verdocs-field-radio-button.hide{display:none}verdocs-field-radio-button.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';const b=class{constructor(i){e(this,i);this.fieldChange=o(this,"fieldChange",7);this.field=null;this.recipient=undefined;this.option=0;this.disabled=false}handleChange(e){console.log("changed",e);this.fieldChange.emit({option:this.option,value:e.target.checked})}render(){var e,o;const d=s(this.field);const r=(o=(e=this.disabled)!==null&&e!==void 0?e:d.disabled)!==null&&o!==void 0?o:false;return i(t,{class:{required:d.required,disabled:r}},i("input",{type:"radio",tabIndex:d.order,value:d.value,name:d.name,id:`${d.name}=${d.value}`,checked:d.checked,disabled:r,required:d.required,onChange:e=>this.handleChange(e)}),i("label",{htmlFor:`${d.name}=${d.value}`}))}};b.style=p;export{a as verdocs_dropdown,c as verdocs_field_checkbox,b as verdocs_field_radio_button};
|
|
2
|
-
//# sourceMappingURL=p-5c40246d.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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","[object Object]","this","isOpen","open","popper","createPopper","dropdownButton","dropdownMenu","placement","modifiers","name","options","offset","e","option","stopPropagation","optionSelected","emit","hide","setAttribute","removeAttribute","_a","setOptions","enabled","_b","update","target","localName","className","showDropdown","h","Host","class","storybook","window","innerHTML","SortDown","aria-label","onClick","toggleDropdown","onBlur","handleHideDropdown","ref","el","aria-hidden","map","handleSelectOption","disabled","label","verdocsFieldCheckboxCss","VerdocsFieldCheckbox","fieldChange","value","checked","settings","getFieldSettings","field","_d","_c","required","type","tabIndex","order","onChange","handleChange","verdocsFieldRadioButtonCss","VerdocsFieldRadioButton","console","log","id","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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/controls/verdocs-help-icon/verdocs-help-icon.scss?tag=verdocs-help-icon","src/components/controls/verdocs-help-icon/verdocs-help-icon.tsx","src/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.scss?tag=verdocs-template-sender-dialog","src/components/dialogs/verdocs-template-sender-dialog/verdocs-template-sender-dialog.tsx"],"names":["verdocsHelpIconCss","helpIcon","VerdocsHelpIcon","exports","concat","Math","random","toString","substring","class_1","prototype","componentDidLoad","this","popperInstance","createPopper","icon","tooltip","disconnectedCallback","destroy","show","_a","setAttribute","_b","update","catch","hide","removeAttribute","render","_this","h","Host","class","aria-describedby","containerId","innerHTML","onMouseEnter","onFocus","onMouseLeave","onBlur","ref","el","id","role","data-popper-placement","text","data-popper-arrow","verdocsTemplateSenderDialogCss","VerdocsTemplateSenderDialog","TemplateSenderTypes","EVERYONE","class_2","componentWillLoad","newValue","value","handleCancel","cancel","emit","open","handleDismiss","e","target","className","preventDefault","handleDone","done","sender","handleSelectSetting","style","display","onClick","checked","name","onSelected","EVERYONE_AS_CREATOR","ORGANIZATION_MEMBER","ORGANIZATION_MEMBER_AS_CREATOR","CREATOR","label","variant","onPress"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-help-icon {\n font-family: $verdocs-primary-font;\n display: inline-block;\n\n .icon {\n display: inline-block;\n\n svg {\n fill: $choice-available-color;\n }\n }\n\n .tooltip {\n display: none;\n box-shadow: 0 0 10px 1px #999999;\n background: #ffffff;\n color: $label-color;\n max-width: 240px;\n font-weight: bold;\n position: relative;\n padding: 5px 10px;\n font-size: 13px;\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}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop, State} from '@stencil/core';\n\nconst helpIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\"><path d=\"M11.925 18q.55 0 .938-.387.387-.388.387-.938 0-.55-.387-.925-.388-.375-.938-.375-.55 0-.925.375t-.375.925q0 .55.375.938.375.387.925.387Zm-.95-3.85h1.95q0-.8.2-1.287.2-.488 1.025-1.288.65-.625 1.025-1.213.375-.587.375-1.437 0-1.425-1.025-2.175Q13.5 6 12.1 6q-1.425 0-2.35.775t-1.275 1.85l1.775.7q.125-.45.55-.975.425-.525 1.275-.525.725 0 1.1.412.375.413.375.888 0 .475-.287.9-.288.425-.713.775-1.075.95-1.325 1.475-.25.525-.25 1.875ZM12 22.2q-2.125 0-3.988-.8-1.862-.8-3.237-2.175Q3.4 17.85 2.6 15.988 1.8 14.125 1.8 12t.8-3.988q.8-1.862 2.175-3.237Q6.15 3.4 8.012 2.6 9.875 1.8 12 1.8t3.988.8q1.862.8 3.237 2.175Q20.6 6.15 21.4 8.012q.8 1.863.8 3.988t-.8 3.988q-.8 1.862-2.175 3.237Q17.85 20.6 15.988 21.4q-1.863.8-3.988.8Zm0-2.275q3.325 0 5.625-2.3t2.3-5.625q0-3.325-2.3-5.625T12 4.075q-3.325 0-5.625 2.3T4.075 12q0 3.325 2.3 5.625t5.625 2.3ZM12 12Z\"/></svg>';\n\n/**\n * Displays a simple help icon. Upon hover or focus, a tooltip will be displayed with help text.\n */\n@Component({\n tag: 'verdocs-help-icon',\n styleUrl: 'verdocs-help-icon.scss',\n shadow: false,\n})\nexport class VerdocsHelpIcon {\n icon: HTMLDivElement;\n tooltip: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * Help text to display on hover/focus\n */\n @Prop() text: string = '';\n\n @State() containerId = `verdocs-help-icon-${Math.random().toString(36).substring(2, 11)}`;\n\n componentDidLoad() {\n this.popperInstance = createPopper(this.icon, this.tooltip, {\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\n show() {\n this.tooltip?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n }\n\n hide() {\n this.tooltip?.removeAttribute('data-show');\n }\n\n render() {\n return (\n <Host class={{}}>\n <div\n aria-describedby={this.containerId}\n class=\"icon\"\n innerHTML={helpIcon}\n onMouseEnter={() => this.show()}\n onFocus={() => this.show()}\n onMouseLeave={() => this.hide()}\n onBlur={() => this.hide()}\n ref={el => (this.icon = el as HTMLDivElement)}\n />\n <div\n id={this.containerId}\n role=\"tooltip\"\n class=\"tooltip\"\n // style=\"display: none; visibility: visible; margin: 0px; position: absolute; inset: 0px auto auto 0px; transform: translate(951px, 5510px);\"\n data-popper-placement=\"bottom\"\n ref={el => (this.tooltip = el as HTMLDivElement)}\n >\n {this.text}\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-template-sender-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n width: 340px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: $verdocs-grey-4;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n font-size: 20px;\n font-weight: 500;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n .options {\n row-gap: 10px;\n\n .option {\n display: flex;\n flex-direction: row;\n\n .description {\n margin-left: 10px;\n\n .name {\n display: inline-block;\n vertical-align: top;\n margin-top: 4px;\n margin-right: 4px;\n }\n }\n }\n }\n}\n","import {TemplateSenderTypes} from '@verdocs/js-sdk/Templates/Types';\nimport {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\n\n/**\n * Display a dialog that allows a template sender to be selected.\n */\n@Component({\n tag: 'verdocs-template-sender-dialog',\n styleUrl: 'verdocs-template-sender-dialog.scss',\n})\nexport class VerdocsTemplateSenderDialog {\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() value: TemplateSenderTypes = TemplateSenderTypes.EVERYONE;\n\n /**\n * Whether the dialog is currently being displayed. This allows it to be added to the DOM before being displayed.\n */\n @Prop() open: boolean = false;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the closure reason.\n */\n @Event({composed: true}) cancel: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the closure reason.\n */\n @Event({composed: true}) done: EventEmitter<{sender: TemplateSenderTypes}>;\n\n @State() newValue: TemplateSenderTypes = TemplateSenderTypes.EVERYONE;\n\n componentWillLoad() {\n this.newValue = this.value;\n }\n\n handleCancel() {\n this.cancel.emit();\n this.open = false;\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.done.emit({sender: this.newValue});\n this.open = false;\n }\n\n handleSelectSetting(value: TemplateSenderTypes) {\n this.newValue = value;\n }\n\n render() {\n return (\n <Host style={{display: this.open ? 'block' : 'none'}}>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"options\">\n <div class=\"option\">\n <verdocs-radio-button\n checked={this.value === TemplateSenderTypes.EVERYONE}\n name=\"template-sender\"\n value={TemplateSenderTypes.EVERYONE}\n onSelected={() => this.handleSelectSetting(TemplateSenderTypes.EVERYONE)}\n />\n <div class=\"description\">\n <div class=\"name\">Anyone on the Web</div>\n <verdocs-help-icon text=\"Anyone can use this template. (Make its visibility is set to to 'Public' or 'Shared'.)\" />\n </div>\n </div>\n <div class=\"option\">\n <verdocs-radio-button\n checked={this.value === TemplateSenderTypes.EVERYONE_AS_CREATOR}\n name=\"template-sender\"\n value={TemplateSenderTypes.EVERYONE_AS_CREATOR}\n onSelected={() => this.handleSelectSetting(TemplateSenderTypes.EVERYONE_AS_CREATOR)}\n />\n <div class=\"description\">\n <div class=\"name\">Anyone on the Web as me</div>\n <verdocs-help-icon text=\"Anyone can use this template on my behalf. (Make sure its visibility is set to 'Public' or 'Shared'.)\" />\n </div>\n </div>\n <div class=\"option\">\n <verdocs-radio-button\n checked={this.value === TemplateSenderTypes.ORGANIZATION_MEMBER}\n name=\"template-sender\"\n value={TemplateSenderTypes.ORGANIZATION_MEMBER}\n onSelected={() => this.handleSelectSetting(TemplateSenderTypes.ORGANIZATION_MEMBER)}\n />\n <div class=\"description\">\n <div class=\"name\">Anyone in my organization</div>\n <verdocs-help-icon text=\"Anyone in my organization can use this template. (Make sure its visibility is set to 'Shared')\" />\n </div>\n </div>\n <div class=\"option\">\n <verdocs-radio-button\n checked={this.value === TemplateSenderTypes.ORGANIZATION_MEMBER_AS_CREATOR}\n name=\"template-sender\"\n value={TemplateSenderTypes.ORGANIZATION_MEMBER_AS_CREATOR}\n onSelected={() => this.handleSelectSetting(TemplateSenderTypes.ORGANIZATION_MEMBER_AS_CREATOR)}\n />\n <div class=\"description\">\n <div class=\"name\">Anyone in my organization as me</div>\n <verdocs-help-icon text=\"Anyone in my organization can use this template on my behalf. (Make sure its visibility is set to to 'Shared'.)\" />\n </div>\n </div>\n <div class=\"option\">\n <verdocs-radio-button\n checked={this.value === TemplateSenderTypes.CREATOR}\n name=\"template-sender\"\n value={TemplateSenderTypes.CREATOR}\n onSelected={() => this.handleSelectSetting(TemplateSenderTypes.CREATOR)}\n />\n <div class=\"description\">\n <div class=\"name\">Me</div>\n <verdocs-help-icon text=\"Only I can use this template.\" />\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onPress={() => this.handleCancel()} />\n <verdocs-button label=\"Done\" onPress={() => this.handleDone()} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
System.register(["./p-97329951.system.js"],(function(e){"use strict";var t,o,i,a;return{setters:[function(e){t=e.r;o=e.c;i=e.h;a=e.H}],execute:function(){var r='verdocs-radio-button{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-radio-button.disabled{opacity:0.5}verdocs-radio-button input[type=radio]{position:absolute;opacity:0}verdocs-radio-button input[type=radio]+label:before{content:"";background:#f5f5fa;border-radius:100%;border:1px solid rgba(0, 0, 0, 0.6);display:inline-block;width:16px;height:16px;position:absolute;left:1px;top:1px;cursor:pointer;text-align:center;-webkit-transition:all 250ms ease;transition:all 250ms ease}verdocs-radio-button input[type=radio]:checked+label:before{background-color:#55bc81;-webkit-box-shadow:inset 0 0 0 2px #f5f5fa;box-shadow:inset 0 0 0 2px #f5f5fa}verdocs-radio-button input[type=radio]:focus+label:before{outline:none;border-color:#55bc81}verdocs-radio-button input[type=radio]:disabled+label:before{-webkit-box-shadow:inset 0 0 0 4px #f5f5fa;box-shadow:inset 0 0 0 4px #f5f5fa;border-color:#a0a0d0;background:#a0a0d0}verdocs-radio-button input[type=radio]+label:empty:before{margin-right:0}verdocs-radio-button.required input[type=radio]+label:before{border:1px solid #cc0000}verdocs-radio-button.hide{display:none}verdocs-radio-button.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';var n=e("verdocs_radio_button",function(){function e(e){t(this,e);this.selected=o(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 i(a,{class:{disabled:this.disabled}},i("input",{type:"radio",value:this.value,name:this.name,id:"verdocs-radio-button-".concat(this.name,"-").concat(this.value),checked:this.checked,disabled:this.disabled,onChange:function(t){return e.handleChange(t)}}),i("label",{htmlFor:"verdocs-radio-button-".concat(this.name,"-").concat(this.value)}))};return e}());n.style=r}}}));
|
|
2
|
-
//# sourceMappingURL=p-6258ec3f.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/controls/verdocs-radio-button/verdocs-radio-button.scss?tag=verdocs-radio-button","src/components/controls/verdocs-radio-button/verdocs-radio-button.tsx"],"names":["verdocsRadioButtonCss","VerdocsRadioButton","exports","class_1","prototype","handleChange","e","console","log","target","checked","this","selected","emit","value","render","_this","h","Host","class","disabled","type","name","id","concat","onChange","htmlFor"],"mappings":"0JAAA,IAAMA,EAAwB,s7CCYjBC,EAAkBC,EAAA,uBAAA,mFAIF,gBAKJ,cAKC,iBAKK,MAS7BC,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,EAAI,CAACC,MAAO,CAACC,SAAUT,KAAKS,WAC3BH,EAAA,QAAA,CACEI,KAAK,QACLP,MAAOH,KAAKG,MACZQ,KAAMX,KAAKW,KACXC,GAAI,wBAAAC,OAAwBb,KAAKW,KAAI,KAAAE,OAAIb,KAAKG,OAC9CJ,QAASC,KAAKD,QACdU,SAAUT,KAAKS,SACfK,SAAU,SAAAnB,GAAK,OAAAU,EAAKX,aAAaC,MAEnCW,EAAA,QAAA,CAAOS,QAAS,wBAAAF,OAAwBb,KAAKW,KAAI,KAAAE,OAAIb,KAAKG,oBA7CnC","sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-radio-button {\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 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: 16px;\n height: 16px;\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 {Component, h, Host, Prop, Event, EventEmitter} from '@stencil/core';\n\n/**\n * Displays a radio button. Note that this is different from the `verdocs-field-radio-button` component, which is designed\n * to be used in signing experiences and contains settings that connect to template fields. This is just a simple radio\n * button for UI displays e.g. dialogs and .\n */\n@Component({\n tag: 'verdocs-radio-button',\n styleUrl: 'verdocs-radio-button.scss',\n shadow: false,\n})\nexport class VerdocsRadioButton {\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=\"radio\"\n value={this.value}\n name={this.name}\n id={`verdocs-radio-button-${this.name}-${this.value}`}\n checked={this.checked}\n disabled={this.disabled}\n onChange={e => this.handleChange(e)}\n />\n <label htmlFor={`verdocs-radio-button-${this.name}-${this.value}`} />\n </Host>\n );\n }\n}\n"]}
|