@verdocs/web-sdk 1.9.9 → 1.9.10
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/Templates-399073ea.js +31 -0
- package/dist/cjs/Templates-399073ea.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/verdocs-auth.cjs.entry.js +3 -3
- package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +28 -2
- 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 +3 -3
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-dropdown_3.cjs.entry.js +5 -10
- 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 +1 -14
- package/dist/cjs/verdocs-field-date.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js +8 -10
- package/dist/cjs/verdocs-field-signature_3.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-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-loader_4.cjs.entry.js +0 -24
- package/dist/cjs/verdocs-loader_4.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 +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-send.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-send.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js +23 -43
- 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-web-sdk.cjs.js +1 -1
- 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-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.js +11 -6
- 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-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 +2 -2
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +0 -24
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
- package/dist/collection/utils/Templates.js +0 -15
- package/dist/collection/utils/Templates.js.map +1 -1
- package/dist/components/Templates.js +0 -15
- package/dist/components/Templates.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 +25 -2
- 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-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-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 +2 -2
- 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 +13 -11
- package/dist/components/verdocs-template-create2.js.map +1 -1
- package/dist/components/verdocs-template-fields2.js +2 -2
- 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-view2.js +0 -24
- package/dist/components/verdocs-view2.js.map +1 -1
- package/dist/docs.json +76 -301
- package/dist/esm/Templates-91922342.js +29 -0
- package/dist/esm/Templates-91922342.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/verdocs-auth.entry.js +3 -3
- package/dist/esm/verdocs-auth.entry.js.map +1 -1
- package/dist/esm/verdocs-build.entry.js +28 -2
- 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 +3 -3
- package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm/verdocs-dropdown_3.entry.js +5 -10
- 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 +1 -14
- package/dist/esm/verdocs-field-date.entry.js.map +1 -1
- package/dist/esm/verdocs-field-signature_3.entry.js +8 -10
- package/dist/esm/verdocs-field-signature_3.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textarea.entry.js +1 -1
- package/dist/esm/verdocs-field-textarea.entry.js.map +1 -1
- package/dist/esm/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm/verdocs-field-textbox.entry.js.map +1 -1
- package/dist/esm/verdocs-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-loader_4.entry.js +0 -24
- package/dist/esm/verdocs-loader_4.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 +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-send.entry.js +2 -2
- package/dist/esm/verdocs-send.entry.js.map +1 -1
- package/dist/esm/verdocs-sign.entry.js +2 -2
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-template-create_4.entry.js +23 -43
- 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-web-sdk.js +1 -1
- package/dist/esm-es5/Templates-91922342.js +2 -0
- package/dist/esm-es5/Templates-91922342.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/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-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-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-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-loader_4.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-radio-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-radio-button.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-send.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-create_4.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-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-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.d.ts +42 -170
- 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-a8699c5d.system.entry.js → p-142295dd.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-a8699c5d.system.entry.js.map → p-142295dd.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-202a569e.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-202a569e.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-259fd8de.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-259fd8de.entry.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-2bb98709.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-2bb98709.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-7a476918.entry.js → p-2fbd4e25.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-2fbd4e25.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-36700fe4.js +2 -0
- package/dist/verdocs-web-sdk/p-36700fe4.js.map +1 -0
- package/dist/verdocs-web-sdk/p-37a75b0e.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/p-3a4126d5.system.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-4425de92.system.entry.js → p-473165ae.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-473165ae.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-82df4878.entry.js → p-48d9e0d6.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-82df4878.entry.js.map → p-48d9e0d6.entry.js.map} +0 -0
- package/dist/verdocs-web-sdk/p-508192bb.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-508192bb.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5bfc608d.entry.js.map +1 -1
- 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-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-63d01d16.system.js +2 -0
- package/dist/verdocs-web-sdk/p-63d01d16.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-650e0b71.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-650e0b71.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-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-1935d358.system.entry.js → p-8574c48b.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-8574c48b.system.entry.js.map +1 -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-4226119d.entry.js → p-932571a1.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-932571a1.entry.js.map +1 -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-bdc40f6e.entry.js → p-ab23a9d1.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-ab23a9d1.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-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-b95cb372.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b95cb372.entry.js.map +1 -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-bcae2278.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-bcae2278.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js.map +1 -1
- package/dist/verdocs-web-sdk/p-c2ad9de3.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-c2ad9de3.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-62ffe7a3.system.entry.js → p-c37ea778.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-c37ea778.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ca6a1398.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-ca6a1398.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-a43e5fb3.system.entry.js → p-ccf983c7.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-ccf983c7.system.entry.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-d5f48c21.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-d5f48c21.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-5a9ad57d.entry.js → p-d6390915.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-d6390915.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f972b493.system.entry.js → p-dee9037d.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-dee9037d.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-9f8576e1.entry.js → p-e47e3154.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-e47e3154.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-48321abf.system.entry.js → p-ed8e3256.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-ed8e3256.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f06218ed.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f06218ed.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f5eb353f.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f5eb353f.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-152dd2f0.system.entry.js → p-fc3a0e2d.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-fc3a0e2d.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-fe512c19.entry.js.map +1 -1
- package/dist/verdocs-web-sdk/{p-3bc4c242.entry.js → p-ffff808d.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-ffff808d.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 +1 -1
- package/dist/cjs/Templates-3e6d5043.js +0 -63
- package/dist/cjs/Templates-3e6d5043.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/components/Pages.js +0 -20
- package/dist/components/Pages.js.map +0 -1
- package/dist/esm/Templates-035e0ea2.js +0 -60
- package/dist/esm/Templates-035e0ea2.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/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.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-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-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-7a476918.entry.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-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.map +0 -1
- 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-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-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-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-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/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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/elements/verdocs-field-signature/verdocs-field-signature.scss?tag=verdocs-field-signature","src/components/elements/verdocs-field-signature/verdocs-field-signature.tsx","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.scss?tag=verdocs-signature-dialog","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.scss?tag=verdocs-toolbar-icon","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.tsx"],"names":["verdocsFieldSignatureCss","settingsIcon","VerdocsFieldSignature","exports","class_1","prototype","focusField","this","handleShow","console","log","hideDialog","_a","dialog","remove","handleAdopt","e","tempSignature","detail","fieldChange","emit","_this","document","createElement","open","fullName","recipient","full_name","name","addEventListener","body","append","render","settings","getFieldSettings","field","value","base64","disabled","_b","backgroundColor","getRGBA","roleindex","h","Host","class","required","_c","style","src","alt","onClick","editable","icon","label","options","placeholder","onInput","verdocsSignatureDialogCss","VerdocsSignatureDialog","class_2","componentWillLoad","enteredName","ds","FontFace","load","then","font","fonts","add","fontLoaded","componentDidLoad","redrawSignature","componentDidUpdate","canvasElement","canvasWidth","width","context","getContext","clearRect","height","fontSize","concat","measureText","textAlign","textBaseline","fillText","handleCancel","stopPropagation","cancel","handleNameChange","target","preventDefault","data","toDataURL","adopt","tab","active","mode","ref","el","display","size","variant","onPress","verdocsToolbarIconCss","VerdocsToolbarIcon","Math","random","toString","substring","class_3","popperInstance","createPopper","iconEl","tooltip","disconnectedCallback","destroy","show","setAttribute","update","catch","hide","removeAttribute","handlePress","press","aria-describedby","containerId","innerHTML","onMouseEnter","onFocus","onMouseLeave","onBlur","id","role","data-popper-placement","text","data-popper-arrow"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-signature {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n letter-spacing: 0.3px;\n background-color: transparent;\n transform-origin: bottom left;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n &.disabled {\n opacity: 0.5;\n }\n\n img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n }\n\n button {\n box-sizing: border-box;\n border: none;\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\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 verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n}\n","import {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {Component, h, Host, Prop, Event, EventEmitter, Method, State} from '@stencil/core';\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 * Displays a signature field. If a signature already exists, it will be displayed and the field will be disabled. Otherwise, a placeholder\n * button will be shown. Clicking the button will show a dialog to adopt a signature.\n */\n@Component({\n tag: 'verdocs-field-signature',\n styleUrl: 'verdocs-field-signature.scss',\n shadow: false,\n})\nexport class VerdocsFieldSignature {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * If set, the signature creation dialog will be initialized with this text.\n */\n @Prop() name?: string = '';\n\n /**\n * If set, the signature creation dialog will be initialized from this object.\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 * If set, the field will be colored using this index value to select the background color.\n */\n @Prop() roleindex?: number = 0;\n\n /**\n * Event emitted when the field has changed.\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}) settingsPress: EventEmitter;\n\n @Method() async focusField() {\n this.handleShow();\n console.log('focused', this);\n }\n\n @State()\n tempSignature: string = '';\n\n private dialog?: any;\n\n hideDialog() {\n this.dialog?.remove();\n this.dialog = null;\n }\n\n handleAdopt(e: any) {\n console.log('[SIGNATURE] Adopted signature');\n this.tempSignature = e.detail;\n this.fieldChange?.emit(this.tempSignature);\n this.hideDialog();\n }\n\n handleShow() {\n this.dialog = document.createElement('verdocs-signature-dialog');\n this.dialog.open = true;\n this.dialog.fullName = this.recipient?.full_name || this.name;\n this.dialog.addEventListener('cancel', () => this.hideDialog());\n this.dialog.addEventListener('adopt', e => this.handleAdopt(e));\n document.body.append(this.dialog);\n }\n\n render() {\n const settings = getFieldSettings(this.field);\n const value = this.tempSignature || settings.base64;\n const disabled = this.disabled ?? settings.disabled ?? false;\n const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);\n\n return (\n <Host class={{required: this.field?.required, disabled}} style={{backgroundColor}}>\n {value ? <img src={this.tempSignature || settings.base64} alt=\"Signature\" /> : <button onClick={() => !disabled && this.handleShow()}>Signature</button>}\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 />\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","@import '../../../theme.scss';\n\nverdocs-signature-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\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 .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: $verdocs-grey-3;\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: $verdocs-grey-4;\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, h, Event, EventEmitter, State, Host} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: 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 a signature is 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() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredName = this.name;\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.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.enteredName).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.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n this.cancel.emit();\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.adopt.emit(data);\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}} onClick={e => this.handleCancel(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Signature</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Full Name...\" label=\"Full Name\" value={this.enteredName} onInput={e => this.handleNameChange(e)} onClick={e => e.stopPropagation()} />\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\" size=\"normal\" variant=\"outline\" onPress={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onPress={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-toolbar-icon {\n font-family: $verdocs-primary-font;\n display: inline-block;\n\n .icon {\n display: inline-block;\n cursor: pointer;\n\n svg {\n fill: $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 padding: 5px 10px;\n font-size: 13px;\n position: relative;\n border-radius: 4px;\n z-index: 10000;\n\n .arrow,\n .arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n top: -4px;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n }\n\n &[data-show] {\n display: block;\n }\n\n &[data-popper-placement^='top'] > .arrow {\n bottom: -4px;\n }\n\n &[data-popper-placement^='bottom'] > .arrow {\n top: -4px;\n }\n\n &[data-popper-placement^='left'] > .arrow {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] > .arrow {\n left: -4px;\n }\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, Event, EventEmitter, h, Host, Prop, State} from '@stencil/core';\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-toolbar-icon',\n styleUrl: 'verdocs-toolbar-icon.scss',\n shadow: false,\n})\nexport class VerdocsToolbarIcon {\n iconEl: HTMLDivElement;\n tooltip: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * Help text to display on hover/focus\n */\n @Prop() text: string = '';\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n /**\n * Triggered when the icon is pressed\n */\n @Event({composed: true}) press: EventEmitter;\n\n @State() containerId = `verdocs-toolbar-icon-${Math.random().toString(36).substring(2, 11)}`;\n\n componentDidLoad() {\n this.popperInstance = createPopper(this.iconEl, 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 handlePress() {\n this.press?.emit();\n }\n\n render() {\n return (\n <Host class={{}}>\n <div\n aria-describedby={this.containerId}\n class=\"icon\"\n innerHTML={this.icon}\n onMouseEnter={() => this.show()}\n onFocus={() => this.show()}\n onMouseLeave={() => this.hide()}\n onBlur={() => this.hide()}\n onClick={() => this.handlePress()}\n ref={el => (this.iconEl = 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"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as o,h as n}from"./p-ff1278ed.js";const e='verdocs-button button{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;text-transform:uppercase;-ms-flex-pack:center;justify-content:center;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;font-weight:700;cursor:pointer;margin:0}verdocs-button button .icon{margin:0 12px}verdocs-button button .icon svg{fill:#ffffff;display:block}verdocs-button button .label{padding:0 12px}verdocs-button button:disabled{cursor:none}verdocs-button button.small{height:34px;font-size:13px}verdocs-button button.small .icon{margin:0 4px}verdocs-button button.small .icon svg{margin:2px 0 0 0;height:20px}verdocs-button button.small .label{padding:0 4px}verdocs-button button.normal{height:44px;font-size:14px}verdocs-button button.normal .icon.start{margin:0 4px 0 8px}verdocs-button button.normal .icon.end{margin:0 8px 0 4px}verdocs-button button.normal .icon svg{margin:2px 0 0 0;height:22px}verdocs-button button.normal .label{padding:0 10px}verdocs-button button.medium{height:52px;font-size:16px}verdocs-button button.medium .icon.start{margin:0 0 0 18px}verdocs-button button.medium .icon.end{margin:0 18px 0 0}verdocs-button button.medium .icon svg{margin:2px 0 0 0;height:26px}verdocs-button button.medium .label{padding:0 20px}verdocs-button button.large{height:60px;font-size:20px}verdocs-button button.large .icon.start{margin:0 0 0 24px}verdocs-button button.large .icon.end{margin:0 24px 0 0}verdocs-button button.large .icon svg{margin:2px 0 0 0;height:32px}verdocs-button button.large .label{padding:0 34px}verdocs-button button.standard{background:#55bc81;border-radius:4px;outline:none;border:none;color:white}verdocs-button button.standard:disabled{background-color:#999999;cursor:default}verdocs-button button.standard:active:not([disabled]){-webkit-filter:brightness(110%);filter:brightness(110%)}verdocs-button button.text{color:#4c56cb;background:transparent;font-weight:500;padding:0 4px;outline:none;border:none}verdocs-button button.text:disabled{color:#999999;cursor:none}verdocs-button button.text:active:not([disabled]){-webkit-filter:brightness(130%);filter:brightness(130%)}verdocs-button button.text .icon svg{fill:#4c56cb}verdocs-button button.outline{border:1px solid #4c56cb;color:#4c56cb;outline:none;background:transparent;border-radius:4px;padding:0 20px}verdocs-button button.outline:disabled{color:#999999;cursor:none;border:1px solid #999999}verdocs-button button.outline:active{background:#4c56cb;color:white}verdocs-button button.outline .icon svg{fill:#4c56cb}';const s=class{constructor(n){t(this,n);this.press=o(this,"press",3);this.label=undefined;this.startIcon=null;this.endIcon=null;this.size="normal";this.type="button";this.variant="standard";this.disabled=false}handleClick(t){var o;t.stopPropagation();(o=this.press)===null||o===void 0?void 0:o.emit()}render(){return n("button",{disabled:this.disabled,type:this.type,onClick:t=>this.handleClick(t),class:`${this.variant} ${this.size} ${this.type}`},this.startIcon?n("span",{class:"icon start",innerHTML:this.startIcon}):null,n("span",{class:"label"},this.label),this.endIcon?n("span",{class:"icon end",innerHTML:this.endIcon}):null)}};s.style=e;export{s as verdocs_button};
|
|
2
|
-
//# sourceMappingURL=p-656369a3.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/controls/verdocs-button/verdocs-button.scss?tag=verdocs-button","src/components/controls/verdocs-button/verdocs-button.tsx"],"names":["verdocsButtonCss","VerdocsButton","[object Object]","e","stopPropagation","_a","this","press","emit","h","disabled","type","onClick","handleClick","class","variant","size","startIcon","innerHTML","label","endIcon"],"mappings":"kDAAA,MAAMA,EAAmB,4gFCqBZC,EAAa,gGASW,kBAKF,eAKuB,mBAKV,sBAKK,yBAKvB,MAO5BC,YAAYC,SACVA,EAAEC,mBACFC,EAAAC,KAAKC,SAAK,MAAAF,SAAA,OAAA,EAAAA,EAAEG,OAGdN,SACE,OACEO,EAAA,SAAA,CAAQC,SAAUJ,KAAKI,SAAUC,KAAML,KAAKK,KAAMC,QAAST,GAAKG,KAAKO,YAAYV,GAAIW,MAAO,GAAGR,KAAKS,WAAWT,KAAKU,QAAQV,KAAKK,QAC9HL,KAAKW,UAAYR,EAAA,OAAA,CAAMK,MAAM,aAAaI,UAAWZ,KAAKW,YAAgB,KAC3ER,EAAA,OAAA,CAAMK,MAAM,SAASR,KAAKa,OACzBb,KAAKc,QAAUX,EAAA,OAAA,CAAMK,MAAM,WAAWI,UAAWZ,KAAKc,UAAc","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-button {\n button {\n font-family: $verdocs-primary-font;\n text-transform: uppercase;\n justify-content: center;\n display: inline-flex;\n align-items: center;\n font-weight: 700;\n cursor: pointer;\n margin: 0;\n\n .icon {\n margin: 0 12px;\n\n svg {\n fill: $verdocs-grey-4;\n display: block;\n }\n }\n\n .label {\n padding: 0 12px;\n }\n\n &:disabled {\n cursor: none;\n }\n\n // Small-sized button size adjustments\n &.small {\n height: 34px;\n font-size: 13px;\n\n .icon {\n margin: 0 4px;\n\n svg {\n margin: 2px 0 0 0;\n height: 20px;\n }\n }\n\n .label {\n padding: 0 4px;\n }\n }\n\n // Normal-sized button size adjustments\n &.normal {\n height: 44px;\n font-size: 14px;\n\n .icon.start {\n margin: 0 4px 0 8px;\n }\n\n .icon.end {\n margin: 0 8px 0 4px;\n }\n\n .icon {\n svg {\n margin: 2px 0 0 0;\n height: 22px;\n }\n }\n\n .label {\n padding: 0 10px;\n }\n }\n\n // Medium-sized button size adjustments\n &.medium {\n height: 52px;\n font-size: 16px;\n\n .icon.start {\n margin: 0 0 0 18px;\n }\n\n .icon.end {\n margin: 0 18px 0 0;\n }\n\n .icon {\n svg {\n margin: 2px 0 0 0;\n height: 26px;\n }\n }\n\n .label {\n padding: 0 20px;\n }\n }\n\n // Large-sized button size adjustments\n &.large {\n height: 60px;\n font-size: 20px;\n\n .icon.start {\n margin: 0 0 0 24px;\n }\n\n .icon.end {\n margin: 0 24px 0 0;\n }\n\n .icon {\n svg {\n margin: 2px 0 0 0;\n height: 32px;\n }\n }\n\n .label {\n padding: 0 34px;\n }\n }\n\n // Standard variant is a solid color\n &.standard {\n background: $verdocs-green;\n border-radius: 4px;\n outline: none;\n border: none;\n color: white;\n\n &:disabled {\n background-color: $disabled-color;\n cursor: default;\n }\n\n &:active:not([disabled]) {\n filter: brightness(110%);\n }\n }\n\n // Text variant is just a label\n &.text {\n color: $secondary-color;\n background: transparent;\n font-weight: 500;\n padding: 0 4px;\n outline: none;\n border: none;\n\n &:disabled {\n color: $disabled-color;\n cursor: none;\n }\n\n &:active:not([disabled]) {\n filter: brightness(130%);\n }\n\n .icon {\n svg {\n fill: $secondary-color;\n }\n }\n }\n\n // Standard variant is a solid color\n &.outline {\n border: 1px solid $secondary-color;\n color: $secondary-color;\n outline: none;\n background: transparent;\n border-radius: 4px;\n padding: 0 20px;\n\n &:disabled {\n color: $disabled-color;\n cursor: none;\n border: 1px solid $disabled-color;\n }\n\n &:active {\n background: $secondary-color;\n color: white;\n }\n\n .icon {\n svg {\n fill: $secondary-color;\n }\n }\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter} from '@stencil/core';\n\n/**\n * Display a simple button.\n *\n * Three variants are supported. `standard` and `outline` buttons look like traditional form buttons and are ideal candidates for 'Ok' and\n * 'Cancel' options in most cases. `text` buttons are intended to be used inline in content blocks or for more subtle button options.\n * (Auth uses text buttons for the Forgot Password and Sign Up options.)\n *\n * Four sizes are also supported. Most use cases will call for the `normal` size, but a `small` size is ideal for more subtle controls, such\n * as pagination or other secondary functions. `medium` buttons are slightly larger to provide balance in forms where other items are also\n * bigger, and `large` buttons are for cases where the page has mostly white-space and the buttons need to fill more space.\n *\n * Icons may be placed either before (\"start\") or after (\"end\") the button label. Icons should be SVG objects passed as strings and will\n * be rendered as HTML inside the button label area. It is important that the root <SVG> tag contains a default `fill=\"#ffffff\"` setting\n * for the base color, and that child elements below it do not. This allows the button color to carry into the icon properly.\n */\n@Component({\n tag: 'verdocs-button',\n styleUrl: 'verdocs-button.scss',\n})\nexport class VerdocsButton {\n /**\n * The label for the button.\n */\n @Prop() label!: string;\n\n /**\n * If desired, a prefix icon for the button\n */\n @Prop() startIcon: string | null = null;\n\n /**\n * If desired, a suffix icon for the button\n */\n @Prop() endIcon: string | null = null;\n\n /**\n * The size (height) of the button.\n */\n @Prop() size: 'small' | 'normal' | 'medium' | 'large' = 'normal';\n\n /**\n * The type of the button.\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * The display variant of the button.\n */\n @Prop() variant: 'standard' | 'text' | 'outline' = 'standard';\n\n /**\n * Whether the button should be disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Event fired when the button is pressed.\n */\n @Event({composed: true, bubbles: false}) press!: EventEmitter;\n\n handleClick(e: any) {\n e.stopPropagation();\n this.press?.emit();\n }\n\n render() {\n return (\n <button disabled={this.disabled} type={this.type} onClick={e => this.handleClick(e)} class={`${this.variant} ${this.size} ${this.type}`}>\n {this.startIcon ? <span class=\"icon start\" innerHTML={this.startIcon} /> : null}\n <span class=\"label\">{this.label}</span>\n {this.endIcon ? <span class=\"icon end\" innerHTML={this.endIcon} /> : null}\n </button>\n );\n }\n}\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r["throw"](e))}catch(e){o(e)}}function l(e){e.done?n(e.value):i(e.value).then(a,s)}l((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(a){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,i&&(o=a[0]&2?i["return"]:a[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;if(i=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;i=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){n.label=a[1];break}if(a[0]===6&&n.label<o[1]){n.label=o[1];o=a;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(a);break}if(o[2])n.ops.pop();n.trys.pop();continue}a=t.call(e,n)}catch(e){a=[6,e];i=0}finally{r=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-97329951.system.js","./p-a7433630.system.js","./p-6e1ada33.system.js"],(function(e){"use strict";var t,n,r,i,o;return{setters:[function(e){t=e.r;n=e.c;r=e.h;i=e.H},function(){},function(e){o=e.V}],execute:function(){var a='verdocs-build{display:-ms-flexbox;display:flex;font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}';var s=e("verdocs_build",function(){function e(e){t(this,e);this.sdkError=n(this,"sdkError",7);this.fields=[];this.endpoint=o.getDefault();this.templateId=null;this.step="create";this.pdfUrl=null;this.template=null}e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2]}))}))};e.prototype.handleCancel=function(e){console.log("Cancel",e.detail);this.step=""};e.prototype.handleTemplateCreated=function(e){console.log("Created",e.detail);this.step="properties"};e.prototype.handlePropertiesUpdated=function(e){console.log("updated",e.detail);this.step="recipients"};e.prototype.handleRecipientsUpdated=function(e){console.log("updated",e.detail);this.step="fields"};e.prototype.render=function(){var e=this;return r(i,null,this.step==="create"&&r("verdocs-template-create",{onCancel:function(t){return e.handleCancel(t)},onTemplateCreated:function(t){return e.handleTemplateCreated(t)}}),this.step==="properties"&&r("verdocs-template-properties",{onCancel:function(t){return e.handleCancel(t)},onSettingsUpdated:function(t){return e.handlePropertiesUpdated(t)}}),this.step==="recipients"&&r("verdocs-template-recipients",{onCancel:function(t){return e.handleCancel(t)},onSettingsUpdated:function(t){return e.handleRecipientsUpdated(t)}}),this.step==="fields"&&r("verdocs-template-fields",{onCancel:function(t){return e.handleCancel(t)},onSettingsUpdated:function(t){return e.handleCancel(t)}}))};return e}());s.style=a}}}));
|
|
2
|
-
//# sourceMappingURL=p-6d0c6604.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/embeds/verdocs-build/verdocs-build.scss?tag=verdocs-build","src/components/embeds/verdocs-build/verdocs-build.tsx"],"names":["verdocsBuildCss","VerdocsBuild","exports","this","fields","VerdocsEndpoint","getDefault","class_1","prototype","componentDidLoad","handleCancel","e","console","log","detail","step","handleTemplateCreated","handlePropertiesUpdated","handleRecipientsUpdated","render","_this","h","Host","onCancel","onTemplateCreated","onSettingsUpdated"],"mappings":"uqDAAA,IAAMA,EAAkB,kOCcXC,EAAYC,EAAA,gBAAA,sEAqBvBC,KAAAC,OAA2B,iBAjBSC,EAAgBC,6BAKhB,eAQpB,qBACE,mBACoB,KAIhCC,EAAAC,UAAAC,iBAAN,iHAEAF,EAAAC,UAAAE,aAAA,SAAaC,GACXC,QAAQC,IAAI,SAAUF,EAAEG,QACxBX,KAAKY,KAAO,IAGdR,EAAAC,UAAAQ,sBAAA,SAAsBL,GACpBC,QAAQC,IAAI,UAAWF,EAAEG,QACzBX,KAAKY,KAAO,cAGdR,EAAAC,UAAAS,wBAAA,SAAwBN,GACtBC,QAAQC,IAAI,UAAWF,EAAEG,QACzBX,KAAKY,KAAO,cAGdR,EAAAC,UAAAU,wBAAA,SAAwBP,GACtBC,QAAQC,IAAI,UAAWF,EAAEG,QACzBX,KAAKY,KAAO,UAGdR,EAAAC,UAAAW,OAAA,WAAA,IAAAC,EAAAjB,KACE,OACEkB,EAACC,EAAI,KACFnB,KAAKY,OAAS,UAAYM,EAAA,0BAAA,CAAyBE,SAAU,SAAAZ,GAAK,OAAAS,EAAKV,aAAaC,IAAIa,kBAAmB,SAAAb,GAAK,OAAAS,EAAKJ,sBAAsBL,MAC3IR,KAAKY,OAAS,cAAgBM,EAAA,8BAAA,CAA6BE,SAAU,SAAAZ,GAAK,OAAAS,EAAKV,aAAaC,IAAIc,kBAAmB,SAAAd,GAAK,OAAAS,EAAKH,wBAAwBN,MACrJR,KAAKY,OAAS,cAAgBM,EAAA,8BAAA,CAA6BE,SAAU,SAAAZ,GAAK,OAAAS,EAAKV,aAAaC,IAAIc,kBAAmB,SAAAd,GAAK,OAAAS,EAAKF,wBAAwBP,MACrJR,KAAKY,OAAS,UAAYM,EAAA,0BAAA,CAAyBE,SAAU,SAAAZ,GAAK,OAAAS,EAAKV,aAAaC,IAAIc,kBAAmB,SAAAd,GAAK,OAAAS,EAAKV,aAAaC,iBAnDlH","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-build {\n display: flex;\n font-family: $verdocs-primary-font;\n justify-content: center;\n align-items: center;\n}\n","import {Event, EventEmitter, Host} from '@stencil/core';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, Prop, State, h} from '@stencil/core';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a template building experience.\n */\n@Component({\n tag: 'verdocs-build',\n styleUrl: 'verdocs-build.scss',\n shadow: false,\n})\nexport class VerdocsBuild {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() step = 'create';\n @State() pdfUrl = null;\n @State() template: ITemplate | null = null;\n\n fields: ITemplateField[] = [];\n\n async componentDidLoad() {}\n\n handleCancel(e: any) {\n console.log('Cancel', e.detail);\n this.step = '';\n }\n\n handleTemplateCreated(e: any) {\n console.log('Created', e.detail);\n this.step = 'properties';\n }\n\n handlePropertiesUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'recipients';\n }\n\n handleRecipientsUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'fields';\n }\n\n render() {\n return (\n <Host>\n {this.step === 'create' && <verdocs-template-create onCancel={e => this.handleCancel(e)} onTemplateCreated={e => this.handleTemplateCreated(e)} />}\n {this.step === 'properties' && <verdocs-template-properties onCancel={e => this.handleCancel(e)} onSettingsUpdated={e => this.handlePropertiesUpdated(e)} />}\n {this.step === 'recipients' && <verdocs-template-recipients onCancel={e => this.handleCancel(e)} onSettingsUpdated={e => this.handleRecipientsUpdated(e)} />}\n {this.step === 'fields' && <verdocs-template-fields onCancel={e => this.handleCancel(e)} onSettingsUpdated={e => this.handleCancel(e)} />}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["node_modules/@verdocs/js-sdk/Envelopes/Recipients.js","src/components/embeds/verdocs-sign/verdocs-sign.scss?tag=verdocs-sign","src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"names":["__assign","this","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","updateRecipientStatus","endpoint","envelopeId","roleName","action","params","_a","api","put","concat","role_name","r","data","verdocsSignCss","VerdocsSign","VerdocsEndpoint","getDefault","[object Object]","console","log","session","recipient","signerToken","Envelopes.getSigningSession","roleId","inviteCode","email","profile_id","setToken","agreed","nextButtonLabel","envelope","Envelopes.getEnvelope","document","pdfUrl","getBaseURL","envelope_document_id","recipientIndex","recipients","findIndex","fields","filter","field","recipient_role","sdkError","emit","SDKError","message","_b","response","status","_c","catch","fileName","name","updated_at","split","Envelopes.getEnvelopeFile","xhr","XMLHttpRequest","responseType","onload","a","createElement","href","window","URL","createObjectURL","download","style","display","appendChild","click","remove","url","open","send","detail","id","alert","savePDF","optionId","type","Envelopes.updateEnvelopeField","prepared","_d","_f","_e","error","options","checked","settings","map","option","selected","page","left","rescale","xScale","x","bottom","yScale","position","transform","backgroundColor","getRGBA","h","onFieldChange","handleFieldChange","validator","isValidEmail","isValidPhone","_h","_g","_j","minimum_checked","_k","maximum_checked","_m","_l","requiredFields","required","focusedIndex","focusedField","nextFocusedIndex","nextRequiredField","getFieldId","el","getElementById","focusField","docPage","controlsDiv","containerId","existingField","setControlStyles","setAttribute","addEventListener","pageInfo","renderedPage","pageNumber","forEach","renderField","menuOptions","disabled","Host","class","storybook","onOptionSelected","handleOptionSelected","onChange","handleClickAgree","htmlFor","flex","size","onClick","handleNext","onPageRendered","handlePageRendered","pageLayers"],"mappings":"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","sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/**\n * Update a recipient's status block\n */\nexport var updateRecipientStatus = function (endpoint, envelopeId, roleName, action, params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, endpoint.api //\n .put(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(roleName), __assign({ role_name: roleName, action: action }, (params || {})))\n .then(function (r) { return r.data; })];\n });\n}); };\nexport var getSignerToken = function (endpoint, envelopeId, roleName) {\n return endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(encodeURIComponent(roleName), \"/signer-token\"))\n .then(function (r) { return r.data; });\n};\nexport var getInPersonLink = function (endpoint, envelopeId, roleName) {\n return endpoint.api //\n .get(\"/envelopes/\".concat(envelopeId, \"/recipients/\").concat(encodeURIComponent(roleName), \"?in_person_link=true\"))\n .then(function (r) { return r.data; });\n};\n","@import '../../../theme.scss';\n\nverdocs-sign {\n display: flex;\n overflow: hidden;\n position: relative;\n min-height: 600px;\n flex-direction: column;\n box-sizing: border-box;\n font-family: $verdocs-primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .header {\n flex: 0;\n display: flex;\n z-index: 1000;\n align-items: center;\n transition: all 0.25s;\n justify-content: center;\n background-color: $medium-bg;\n box-shadow: 0 4px 4px 0 rgb(0 0 0 / 24%), 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .intro {\n width: 100%;\n height: 60px;\n display: flex;\n background: #ffffff;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n .inner {\n width: 100%;\n color: #111111;\n padding: 0 14px;\n font-size: 20px;\n font-weight: 500;\n line-height: 28px;\n max-width: 1024px;\n }\n }\n\n &.agreed {\n .intro {\n //display: none;\n }\n }\n\n .toolbar {\n width: 100%;\n margin: 0 auto;\n padding: 0 14px;\n position: relative;\n }\n\n .tools {\n width: 100%;\n color: #fff;\n height: 56px;\n display: flex;\n font-size: 12px;\n align-items: center;\n flex-direction: row;\n background-color: $medium-bg;\n }\n\n .cover {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n position: absolute;\n background: rgba(0, 0, 0, 0.5);\n }\n\n .document {\n flex: 1;\n height: 100%;\n display: flex;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .agree {\n flex: 1;\n flex-direction: row;\n display: flex;\n align-items: center;\n margin-right: 10px;\n\n .intro {\n display: none;\n }\n\n .header {\n flex: 0 0 56px;\n }\n\n .agree-checkbox {\n background: #ccc;\n flex: 0 0 20px;\n display: flex;\n width: 20px;\n height: 20px;\n border-radius: 3px;\n position: relative;\n margin: 0 10px 0 14px;\n\n input[type='checkbox']:checked + label:after {\n filter: alpha(opacity=100);\n opacity: 1;\n }\n\n label {\n left: 2px;\n top: 2px;\n width: 16px;\n height: 16px;\n cursor: pointer;\n position: absolute;\n background: #33354c;\n box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.8);\n\n .agree-checkbox label:hover::after {\n filter: alpha(opacity=30);\n opacity: 0.3;\n }\n\n &:after {\n top: 2px;\n left: 3px;\n width: 8px;\n opacity: 0;\n height: 5px;\n content: '';\n position: absolute;\n background: transparent;\n filter: alpha(opacity=0);\n transform: rotate(-45deg);\n border: 2px solid #fcfff4;\n border-top: none;\n border-right: none;\n }\n }\n }\n }\n}\n","import {Event, EventEmitter, Host} from '@stencil/core';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Envelopes} from '@verdocs/js-sdk/Envelopes';\nimport {getRGBA} from '@verdocs/js-sdk/Utils/Colors';\nimport {rescale} from '@verdocs/js-sdk/Utils/Fields';\nimport {Component, Prop, State, h} from '@stencil/core';\nimport {updateRecipientStatus} from '@verdocs/js-sdk/Envelopes/Recipients';\nimport {isValidEmail, isValidPhone} from '@verdocs/js-sdk/Templates/Validators';\nimport {IEnvelope, IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {IPageRenderEvent} from '../verdocs-view/verdocs-view';\nimport {getFieldId, setControlStyles} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a document signing experience.\n *\n * ***NOTE: This sample document will reset every 10 minutes...***\n */\n@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\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 envelope to sign.\n */\n @Prop() envelopeId: string | null = null;\n\n /**\n * The name of the role that will be signing.\n */\n @Prop() roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop() inviteCode: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() recipient: IRecipient | null = null;\n\n @State() signerToken = null;\n @State() pdfUrl = null;\n @State() recipientIndex: number = -1;\n @State() envelope: IEnvelope | null = null;\n @State() fields: IDocumentField[] = [];\n\n @State() hasSignature = false;\n\n @State() nextButtonLabel = 'Start';\n\n @State() focusedField = '';\n\n async componentDidLoad() {\n try {\n console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.envelopeId}`);\n const {session, recipient, signerToken} = await Envelopes.getSigningSession(this.endpoint, {\n envelopeId: this.envelopeId,\n roleId: this.roleId,\n inviteCode: this.inviteCode,\n });\n\n console.log(`[SIGN] Got signing session ${session.email} / ${session.profile_id}`);\n\n this.recipient = recipient;\n this.signerToken = signerToken;\n this.endpoint.setToken(signerToken);\n\n if (this.recipient.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n const envelope = await Envelopes.getEnvelope(this.endpoint, this.envelopeId);\n this.envelope = envelope;\n console.log('[SIGN] Signing document', document);\n\n this.pdfUrl = `${this.endpoint.getBaseURL()}/documents/${this.envelopeId}/envelope_documents/${envelope.envelope_document_id}?file=true`;\n\n this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);\n if (this.recipientIndex > -1) {\n console.log('Found recipient', this.envelope.recipients[this.recipientIndex]);\n }\n\n this.fields = this.envelope.fields.filter(field => field.recipient_role === this.roleId);\n console.log('Loaded fields', this.fields);\n\n // TODO: Fix service to allow this?\n // const sigs = await getSignatures();\n // console.log('sigs', sigs);\n } catch (e) {\n console.log('Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleClickAgree() {\n console.log('agree clicked');\n updateRecipientStatus(this.endpoint, this.envelopeId, this.roleId, 'update', {agreed: true})\n .then(r => {\n console.log('update result', r);\n this.nextButtonLabel = 'Next';\n this.recipient = r;\n })\n .catch(e => {\n console.log('update failure', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async savePDF() {\n const fileName = `${this.envelope.name} - ${this.envelope.updated_at.split('T')[0]}.pdf`;\n const data = await Envelopes.getEnvelopeFile(this.endpoint, this.envelopeId, this.envelope.envelope_document_id);\n\n // This is better in React than doing window.href= or similar to trigger a download. For a description of the technique\n // see https://stackoverflow.com/questions/8126623/downloading-canvas-element-to-an-image\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'blob';\n xhr.onload = function () {\n let a = document.createElement('a');\n a.href = window.URL.createObjectURL(xhr.response);\n a.download = fileName;\n a.style.display = 'none';\n document.body.appendChild(a);\n a.click();\n a.remove();\n };\n\n const url = `data:application/pdf;base64,${data}`;\n console.log('url', url.length, url);\n xhr.open('GET', `data:application/pdf;base64,${data}`);\n xhr.send();\n }\n\n async handleOptionSelected(e) {\n switch (e.detail.id) {\n case 'later':\n // this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);\n if (!window?.['STORYBOOK_ENV']) {\n window.alert('User intends to sign later.');\n }\n break;\n case 'claim':\n break;\n case 'decline':\n break;\n case 'print':\n break;\n case 'download':\n this.savePDF().catch(() => {});\n break;\n }\n }\n\n async handleFieldChange(field: IDocumentField, e: any, optionId?: string) {\n console.log('fieldChange', field, e.detail);\n switch (field.type) {\n case 'textbox':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('jwt expired');\n }\n console.log('Error updating', e);\n });\n break;\n\n case 'checkbox_group':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options: [{id: optionId, checked: e.detail}]}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'radio_button_group':\n const options = field.settings.options.map(option => ({id: option.id, selected: optionId === option.id}));\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: {options}})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'dropdown':\n Envelopes.updateEnvelopeField(this.endpoint, this.envelopeId, field.name, {prepared: false, value: e.detail})\n .then(r => console.log('Update result', r))\n .catch(e => {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.log('Error updating', e);\n });\n break;\n\n case 'initial':\n console.log('Got initial', e.detail);\n break;\n\n case 'signature':\n console.log('Got signature', e.detail);\n break;\n }\n }\n\n renderCheckboxGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-checkbox style={style} field={field} onFieldChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n renderRadioGroupOption(page: IDocumentPageInfo, field: IDocumentField, option: any) {\n const left = rescale(page.xScale, option.x);\n const bottom = rescale(page.yScale, option.y);\n\n const style = {\n left: `${left}px`,\n bottom: `${bottom}px`,\n position: 'absolute',\n transform: `scale(${page.xScale}, ${page.yScale})`,\n backgroundColor: getRGBA(this.recipientIndex),\n } as any;\n\n return <verdocs-field-radio-button style={style} field={field} onFieldChange={e => this.handleFieldChange(field, e, option.id)} />;\n }\n\n isFieldValid(field: IDocumentField) {\n switch (field.type) {\n case 'textbox':\n switch (field.settings?.validator || '') {\n case 'email':\n return isValidEmail(field.settings?.result || '');\n case 'phone':\n return isValidPhone(field.settings?.result || '');\n default:\n return !!field.settings?.result;\n }\n\n case 'signature':\n case 'initial':\n case 'textarea':\n case 'date':\n case 'timestamp':\n case 'attachment':\n return !!field.settings?.result;\n case 'dropdown':\n return !!field.settings?.value;\n case 'checkbox_group':\n const checked = (field.settings?.options?.filter(option => option.checked) || []).length;\n return checked >= (field.settings?.minimum_checked || 0) && checked <= (field.settings?.maximum_checked || 999);\n case 'radio_button_group':\n return (field.settings?.options?.filter(option => option.selected) || []).length > 0;\n // TODO\n // case 'checkbox':\n // return <verdocs-field-checkbox style={style} value={result || ''} id={id} />;\n // case 'payment':\n // return <verdocs-field-payment style={style} field={field} id={id} />;\n default:\n return false;\n }\n }\n\n // (async () => {\n // await customElements.whenDefined('verdocs-field-signature');\n // const els = document.getElementById('verdocs-field-signature');\n // await els.focusField();\n // })();\n\n handleNext() {\n // Find and focus the next incomplete required field\n const requiredFields = this.fields.filter(field => field.required);\n console.log('required Fields', requiredFields);\n\n const focusedIndex = requiredFields.findIndex(field => field.name === this.focusedField);\n console.log('focused Index', focusedIndex);\n\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= requiredFields.length) {\n nextFocusedIndex = 0;\n }\n\n const nextRequiredField = requiredFields[nextFocusedIndex];\n console.log('next required field', nextRequiredField);\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n console.log('focusing', id, el);\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n renderField(field: IDocumentField, docPage: IDocumentPageInfo /*, index: number*/) {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale, this.recipientIndex);\n return;\n }\n\n let el;\n switch (field.type) {\n case 'attachment':\n case 'checkbox_group':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox':\n el = document.createElement(`verdocs-field-${field.type}`);\n break;\n // return field.settings.options.map((option: any, index) => this.renderCheckboxGroupOption(renderOnPage, field, option, index));\n case 'radio_button_group':\n // el = document.createElement('verdocs-field-signature');\n // el.setAttribute('value', base64);\n break;\n // return field.settings.options.map((option: any, index) => this.renderRadioGroupOption(renderOnPage, field, option, index));\n // case 'attachment':\n // el = document.createElement('verdocs-field-attachment');\n // el.setAttribute('value', result || '');\n // break;\n // case 'payment':\n // el = document.createElement('verdocs-field-payment');\n // break;\n default:\n console.log('[SIGN] Skipping unsupported field type', field);\n }\n\n if (el) {\n el.field = field;\n el.recipient = this.recipient;\n el.setAttribute('id', id);\n el.setAttribute('roleindex', this.recipientIndex);\n el.addEventListener('fieldChange', e => this.handleFieldChange(field, e));\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale, this.recipientIndex);\n controlsDiv.appendChild(el);\n }\n }\n\n handlePageRendered(e) {\n const pageInfo = e.detail as IPageRenderEvent;\n console.log('[SIGN] Page rendered', pageInfo);\n\n const fields = this.fields.filter(field => field.page === pageInfo.renderedPage.pageNumber);\n console.log('[SIGN] Fields on page', fields);\n fields.forEach(field => this.renderField(field, pageInfo.renderedPage));\n // .map((field, index) => this.renderField(field, index));\n // this.pdfPageInfo = e.detail;\n }\n\n render() {\n const menuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n ];\n\n return (\n <Host class={{storybook: !!window?.['STORYBOOK_ENV'], agreed: this.recipient?.agreed}}>\n <div class=\"intro\">\n <div class=\"inner\">Please review and act on these documents.</div>\n </div>\n\n <div class=\"header\">\n <div class=\"inner\">\n <div class=\"toolbar\">\n <div class=\"tools\">\n <verdocs-dropdown options={menuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n\n {!this.recipient?.agreed ? (\n <div class=\"agree\">\n <div class=\"agree-checkbox\">\n <input type=\"checkbox\" value=\"None\" id=\"agree-checkbox-element\" name=\"agree\" onChange={() => this.handleClickAgree()} />\n <label htmlFor=\"agree-checkbox-element\" />\n </div>\n <span>I agree to use electronic records and signatures.</span>\n </div>\n ) : (\n <div style={{flex: '1'}} />\n )}\n <verdocs-button size=\"small\" label={this.nextButtonLabel} disabled={!this.recipient?.agreed} onClick={() => this.handleNext()} />\n </div>\n </div>\n </div>\n </div>\n\n {!this.recipient?.agreed ? <div class=\"cover\" /> : <div style={{display: 'none'}} />}\n\n <div class=\"document\">\n {this.pdfUrl ? (\n <div class=\"inner\">\n <verdocs-view\n envelopeId={this.envelopeId}\n endpoint={this.endpoint}\n onPageRendered={e => this.handlePageRendered(e)}\n pageLayers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n </div>\n ) : (\n <verdocs-loader />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
|