@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["src/components/embeds/verdocs-build/verdocs-build.scss?tag=verdocs-build","src/components/embeds/verdocs-build/verdocs-build.tsx"],"names":["verdocsBuildCss","VerdocsBuild","this","fields","VerdocsEndpoint","getDefault","[object Object]","endpoint","loadSession","session","console","log","templateId","step","loadTemplate","e","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","detail","h","Host","onCancel","handleCancel","onNext","handleTemplateCreated","handlePropertiesUpdated","handleRecipientsUpdated"],"mappings":"qQAAA,MAAMA,EAAkB,oOCcXC,EAAY,kEAqBvBC,KAAAC,OAA2B,iBAjBSC,EAAgBC,6BAKhB,eAQpB,qBACE,mBACoB,KAItCC,oCACEJ,KAAKK,SAASC,cACd,IAAKN,KAAKK,SAASE,QAAS,CAC1BC,QAAQC,IAAI,kEACZ,OAGF,IAAKT,KAAKU,WAAY,CACpBF,QAAQC,IAAI,2DACZT,KAAKW,KAAO,SACZ,OAGF,IACEH,QAAQC,IAAI,4BAA4BT,KAAKU,oBACvCE,EAAaZ,KAAKK,SAAUL,KAAKU,YACvCV,KAAKW,KAAO,SACZ,MAAOE,GACPL,QAAQC,IAAI,iCAAkCI,IAC9CC,EAAAd,KAAKe,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,KAAK,IAAIC,EAASJ,EAAEK,SAASC,EAAAN,EAAEO,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,QAAQC,EAAAT,EAAEO,YAAQ,MAAAE,SAAA,OAAA,EAAAA,EAAEC,QAIhFnB,aAAaS,GACXL,QAAQC,IAAI,SAAUI,EAAEW,QACxBxB,KAAKW,KAAO,GAGdP,sBAAsBS,GACpBL,QAAQC,IAAI,UAAWI,EAAEW,QACzBxB,KAAKW,KAAO,aAGdP,wBAAwBS,GACtBL,QAAQC,IAAI,UAAWI,EAAEW,QACzBxB,KAAKW,KAAO,aAGdP,wBAAwBS,GACtBL,QAAQC,IAAI,UAAWI,EAAEW,QACzBxB,KAAKW,KAAO,SAGdP,SACE,OACEqB,EAACC,EAAI,KACF1B,KAAKW,OAAS,UAAYc,EAAA,0BAAA,CAAyBE,SAAUd,GAAKb,KAAK4B,aAAaf,GAAIgB,OAAQhB,GAAKb,KAAK8B,sBAAsBjB,KAChIb,KAAKW,OAAS,cAAgBc,EAAA,8BAAA,CAA6BE,SAAUd,GAAKb,KAAK4B,aAAaf,GAAIgB,OAAQhB,GAAKb,KAAK+B,wBAAwBlB,KAC1Ib,KAAKW,OAAS,cAAgBc,EAAA,8BAAA,CAA6BE,SAAUd,GAAKb,KAAK4B,aAAaf,GAAIgB,OAAQhB,GAAKb,KAAKgC,wBAAwBnB,KAC1Ib,KAAKW,OAAS,UAAYc,EAAA,0BAAA,CAAyBE,SAAUd,GAAKb,KAAK4B,aAAaf,GAAIgB,OAAQhB,GAAKb,KAAK4B,aAAaf","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-build {\n display: flex;\n font-family: $verdocs-primary-font;\n justify-content: center;\n align-items: center;\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {ITemplate, ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {Component, Prop, State, h, Event, EventEmitter, Host} from '@stencil/core';\nimport {loadTemplate} from '../../../utils/Templates';\nimport {SDKError} from '../../../utils/errors';\n\n/**\n * Display a template building experience.\n */\n@Component({\n tag: 'verdocs-build',\n styleUrl: 'verdocs-build.scss',\n shadow: false,\n})\nexport class VerdocsBuild {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() step = 'create';\n @State() pdfUrl = null;\n @State() template: ITemplate | null = null;\n\n fields: ITemplateField[] = [];\n\n async componentWillLoad() {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[BUILD] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[BUILD] No template ID specified, showing upload option`);\n this.step = 'create';\n return;\n }\n\n try {\n console.log(`[BUILD] Loading template ${this.templateId}`);\n await loadTemplate(this.endpoint, this.templateId);\n this.step = 'fields';\n } catch (e) {\n console.log('[BUILD] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handleCancel(e: any) {\n console.log('Cancel', e.detail);\n this.step = '';\n }\n\n handleTemplateCreated(e: any) {\n console.log('Created', e.detail);\n this.step = 'properties';\n }\n\n handlePropertiesUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'recipients';\n }\n\n handleRecipientsUpdated(e: any) {\n console.log('updated', e.detail);\n this.step = 'fields';\n }\n\n render() {\n return (\n <Host>\n {this.step === 'create' && <verdocs-template-create onCancel={e => this.handleCancel(e)} onNext={e => this.handleTemplateCreated(e)} />}\n {this.step === 'properties' && <verdocs-template-properties onCancel={e => this.handleCancel(e)} onNext={e => this.handlePropertiesUpdated(e)} />}\n {this.step === 'recipients' && <verdocs-template-recipients onCancel={e => this.handleCancel(e)} onNext={e => this.handleRecipientsUpdated(e)} />}\n {this.step === 'fields' && <verdocs-template-fields onCancel={e => this.handleCancel(e)} onNext={e => this.handleCancel(e)} />}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var __assign=this&&this.__assign||function(){__assign=Object.assign||function(e){for(var o,i=1,t=arguments.length;i<t;i++){o=arguments[i];for(var r in o)if(Object.prototype.hasOwnProperty.call(o,r))e[r]=o[r]}return e};return __assign.apply(this,arguments)};var __spreadArray=this&&this.__spreadArray||function(e,o,i){if(i||arguments.length===2)for(var t=0,r=o.length,n;t<r;t++){if(n||!(t in o)){if(!n)n=Array.prototype.slice.call(o,0,t);n[t]=o[t]}}return e.concat(n||Array.prototype.slice.call(o))};System.register(["./p-97329951.system.js","./p-e12b7fbc.system.js","./p-a4041773.system.js"],(function(e){"use strict";var o,i,t,r,n,d;return{setters:[function(e){o=e.r;i=e.c;t=e.h;r=e.H},function(e){n=e.c},function(e){d=e.g}],execute:function(){var s='<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';var a='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}';var l=e("verdocs_dropdown",function(){function e(e){o(this,e);this.optionSelected=i(this,"optionSelected",7);this.options=[];this.isOpen=undefined}e.prototype.componentWillLoad=function(){};e.prototype.componentDidLoad=function(){this.popper=n(this.dropdownButton,this.dropdownMenu,{placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,6]}}]})};e.prototype.handleSelectOption=function(e,o){e.stopPropagation();this.optionSelected.emit(o);this.hide()};e.prototype.showDropdown=function(){var e,o;this.dropdownMenu.setAttribute("data-show","");this.dropdownMenu.removeAttribute("aria-hidden");(e=this.popper)===null||e===void 0?void 0:e.setOptions((function(e){return __assign(__assign({},e),{modifiers:__spreadArray(__spreadArray([],e.modifiers,true),[{name:"eventListeners",enabled:true}],false)})}));(o=this.popper)===null||o===void 0?void 0:o.update()};e.prototype.handleHideDropdown=function(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()};e.prototype.toggleDropdown=function(e){e.stopPropagation();if(this.isOpen){this.hide()}else{this.showDropdown()}};e.prototype.hide=function(){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((function(e){return __assign(__assign({},e),{modifiers:__spreadArray(__spreadArray([],e.modifiers,true),[{name:"eventListeners",enabled:false}],false)})}))};e.prototype.render=function(){var e=this;var o;return t(r,{class:{storybook:!!(window===null||window===void 0?void 0:window["STORYBOOK_ENV"]),open:!!this.isOpen}},t("button",{class:"arrow",innerHTML:s,"aria-label":"Open Menu",onClick:function(o){return e.toggleDropdown(o)},onBlur:function(o){return e.handleHideDropdown(o)},ref:function(o){return e.dropdownButton=o}}),t("div",{class:"items","aria-hidden":!this.isOpen,ref:function(o){return e.dropdownMenu=o}},(o=this.options)===null||o===void 0?void 0:o.map((function(o){return t("button",{onClick:function(i){return e.handleSelectOption(i,o)},class:"option",disabled:o.disabled},o.label)}))))};return e}());l.style=a;var c='@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}';var p=e("verdocs_field_checkbox",function(){function e(e){o(this,e);this.field=null;this.recipient=undefined;this.option=0;this.disabled=false}e.prototype.render=function(){var e,o,i,n;var s=d(this.field);var a=(o=(e=s.options)===null||e===void 0?void 0:e[this.option])!==null&&o!==void 0?o:{checked:false};var l=(n=(i=this.disabled)!==null&&i!==void 0?i:s.disabled)!==null&&n!==void 0?n:false;return t(r,{class:{required:s.required,disabled:l}},t("label",null,t("input",{type:"checkbox",tabIndex:s.order,checked:a.checked,disabled:l,required:s.required}),t("span",null)))};return e}());p.style=c;var u='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}';var f=e("verdocs_field_radio_button",function(){function e(e){o(this,e);this.fieldChange=i(this,"fieldChange",7);this.field=null;this.recipient=undefined;this.option=0;this.disabled=false}e.prototype.handleChange=function(e){console.log("changed",e);this.fieldChange.emit({option:this.option,value:e.target.checked})};e.prototype.render=function(){var e=this;var o,i;var n=d(this.field);var s=(i=(o=this.disabled)!==null&&o!==void 0?o:n.disabled)!==null&&i!==void 0?i:false;return t(r,{class:{required:n.required,disabled:s}},t("input",{type:"radio",tabIndex:n.order,value:n.value,name:n.name,id:"".concat(n.name,"=").concat(n.value),checked:n.checked,disabled:s,required:n.required,onChange:function(o){return e.handleChange(o)}}),t("label",{htmlFor:"".concat(n.name,"=").concat(n.value)}))};return e}());f.style=u}}}));
|
|
2
|
+
//# sourceMappingURL=p-f5eb353f.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["src/components/controls/verdocs-dropdown/verdocs-dropdown.scss?tag=verdocs-dropdown","src/components/controls/verdocs-dropdown/verdocs-dropdown.tsx","src/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.scss?tag=verdocs-field-checkbox","src/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.tsx","src/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.scss?tag=verdocs-field-radio-button","src/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.tsx"],"names":["verdocsDropdownCss","VerdocsDropdown","exports","class_1","prototype","componentWillLoad","componentDidLoad","this","popper","createPopper","dropdownButton","dropdownMenu","placement","modifiers","name","options","offset","handleSelectOption","e","option","stopPropagation","optionSelected","emit","hide","showDropdown","setAttribute","removeAttribute","_a","setOptions","__assign","__spreadArray","enabled","_b","update","handleHideDropdown","target","localName","className","toggleDropdown","isOpen","render","_this","h","Host","class","storybook","window","open","innerHTML","SortDown","aria-label","onClick","onBlur","ref","el","aria-hidden","map","disabled","label","verdocsFieldCheckboxCss","VerdocsFieldCheckbox","class_2","settings","getFieldSettings","field","checked","_d","_c","required","type","tabIndex","order","verdocsFieldRadioButtonCss","VerdocsFieldRadioButton","class_3","handleChange","console","log","fieldChange","value","id","concat","onChange","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 * ```html\n * <verdocs-dropdown\n * options={[\n * {label: 'Option 1', disabled: true},\n * {label: 'Option 2', id: '2'}\n* ]}\n * label=\"OK\" onClick={() => (console.log('OK clicked'))}\n * />\n * ```\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.isOpen} 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 {Component, h, Host, Prop} from '@stencil/core';\nimport {ITemplateField} from '@verdocs/js-sdk/Templates/Types';\nimport {IDocumentField, IRecipient} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getFieldSettings} from '../../../utils/utils';\n\n/**\n * Displays a checkbox.\n */\n@Component({\n tag: 'verdocs-field-checkbox',\n styleUrl: 'verdocs-field-checkbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldCheckbox {\n /**\n * The document or template field to display.\n */\n @Prop() field: IDocumentField | ITemplateField | null = null;\n\n /**\n * The 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 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} />\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,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,n,t,i){function o(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,r){function s(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i["throw"](e))}catch(e){r(e)}}function l(e){e.done?t(e.value):o(e.value).then(s,a)}l((i=i.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var t={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(e){return function(n){return l([e,n])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(t)try{if(i=1,o&&(r=s[0]&2?o["return"]:s[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;if(o=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:t.label++;return{value:s[1],done:false};case 5:t.label++;o=s[1];s=[0];continue;case 7:s=t.ops.pop();t.trys.pop();continue;default:if(!(r=t.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(s[0]===6&&t.label<r[1]){t.label=r[1];r=s;break}if(r&&t.label<r[2]){t.label=r[2];t.ops.push(s);break}if(r[2])t.ops.pop();t.trys.pop();continue}s=n.call(e,t)}catch(e){s=[6,e];o=0}finally{i=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};System.register(["./p-97329951.system.js","./p-f9901184.system.js","./p-a7433630.system.js","./p-7efdefa3.system.js","./p-05eb4fed.system.js","./p-a4041773.system.js","./p-6e1ada33.system.js","./p-187b20b7.system.js"],(function(e){"use strict";var n,t,i,o,r,s,a,l,d,c,u,p,f,h,v,g;return{setters:[function(e){n=e.r;t=e.c;i=e.h;o=e.H},function(e){r=e.g;s=e.a;a=e.b;l=e.u},function(){},function(e){d=e.a;c=e.i},function(e){u=e.g},function(e){p=e.s;f=e.b;h=e.c},function(e){v=e.V},function(e){g=e.S}],execute:function(){var x=undefined&&undefined.__assign||function(){x=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var o in n)if(Object.prototype.hasOwnProperty.call(n,o))e[o]=n[o]}return e};return x.apply(this,arguments)};var b=undefined&&undefined.__awaiter||function(e,n,t,i){function o(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,r){function s(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i["throw"](e))}catch(e){r(e)}}function l(e){e.done?t(e.value):o(e.value).then(s,a)}l((i=i.apply(e,n||[])).next())}))};var m=undefined&&undefined.__generator||function(e,n){var t={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(e){return function(n){return l([e,n])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(t)try{if(i=1,o&&(r=s[0]&2?o["return"]:s[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;if(o=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:t.label++;return{value:s[1],done:false};case 5:t.label++;o=s[1];s=[0];continue;case 7:s=t.ops.pop();t.trys.pop();continue;default:if(!(r=t.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(s[0]===6&&t.label<r[1]){t.label=r[1];r=s;break}if(r&&t.label<r[2]){t.label=r[2];t.ops.push(s);break}if(r[2])t.ops.pop();t.trys.pop();continue}s=n.call(e,t)}catch(e){s=[6,e];o=0}finally{i=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var y=function(e,n,t,i,o){return b(void 0,void 0,void 0,(function(){return m(this,(function(r){return[2,e.api.put("/envelopes/".concat(n,"/recipients/").concat(t),x({role_name:t,action:i},o||{})).then((function(e){return e.data}))]}))}))};var w='verdocs-sign{display:-ms-flexbox;display:flex;overflow:hidden;position:relative;min-height:600px;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif}verdocs-sign div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-sign .header{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex-align:center;align-items:center;-webkit-transition:all 0.25s;transition:all 0.25s;-ms-flex-pack:center;justify-content:center;background-color:#33354c;-webkit-box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12);box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12)}verdocs-sign .header .inner{width:100%;max-width:1028px}verdocs-sign .intro{width:100%;height:60px;display:-ms-flexbox;display:flex;background:#ffffff;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-sign .intro .inner{width:100%;color:#111111;padding:0 14px;font-size:20px;font-weight:500;line-height:28px;max-width:1024px}verdocs-sign .toolbar{width:100%;margin:0 auto;padding:0 14px;position:relative}verdocs-sign .tools{width:100%;color:#fff;height:56px;display:-ms-flexbox;display:flex;font-size:12px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;background-color:#33354c}verdocs-sign .cover{top:0;left:0;right:0;bottom:0;z-index:999;position:absolute;background:rgba(0, 0, 0, 0.5)}verdocs-sign .document{-ms-flex:1;flex:1;height:100%;display:-ms-flexbox;display:flex;position:relative;overflow-y:scroll;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}verdocs-sign .document .inner{width:100%;max-width:1028px}verdocs-sign .agree{-ms-flex:1;flex:1;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-right:10px}verdocs-sign .agree .intro{display:none}verdocs-sign .agree .header{-ms-flex:0 0 56px;flex:0 0 56px}verdocs-sign .agree .agree-checkbox{background:#ccc;-ms-flex:0 0 20px;flex:0 0 20px;display:-ms-flexbox;display:flex;width:20px;height:20px;border-radius:3px;position:relative;margin:0 10px 0 14px}verdocs-sign .agree .agree-checkbox input[type=checkbox]:checked+label:after{filter:alpha(opacity=100);opacity:1}verdocs-sign .agree .agree-checkbox label{left:2px;top:2px;width:16px;height:16px;cursor:pointer;position:absolute;background:#33354c;-webkit-box-shadow:inset 0 -1px 1px rgba(255, 255, 255, 0.8);box-shadow:inset 0 -1px 1px rgba(255, 255, 255, 0.8)}verdocs-sign .agree .agree-checkbox label .agree-checkbox label:hover::after{filter:alpha(opacity=30);opacity:0.3}verdocs-sign .agree .agree-checkbox label:after{top:2px;left:3px;width:8px;opacity:0;height:5px;content:"";position:absolute;background:transparent;filter:alpha(opacity=0);-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border:2px solid #fcfff4;border-top:none;border-right:none}';var k=e("verdocs_sign",function(){function e(e){n(this,e);this.sdkError=t(this,"sdkError",7);this.endpoint=v.getDefault();this.envelopeId=null;this.roleId=null;this.inviteCode=null;this.recipient=null;this.signerToken=null;this.pdfUrl=null;this.recipientIndex=-1;this.envelope=null;this.fields=[];this.hasSignature=false;this.nextButtonLabel="Start";this.focusedField=""}e.prototype.componentDidLoad=function(){return b(this,void 0,void 0,(function(){var e,n,t,i,o,a,l,d,c;var u=this;return m(this,(function(p){switch(p.label){case 0:p.trys.push([0,3,,4]);console.log("[SIGN] Processing invite code for ".concat(this.envelopeId," / ").concat(this.envelopeId));return[4,r(this.endpoint,{envelopeId:this.envelopeId,roleId:this.roleId,inviteCode:this.inviteCode})];case 1:i=p.sent(),o=i.session,a=i.recipient,l=i.signerToken;console.log("[SIGN] Got signing session ".concat(o.email," / ").concat(o.profile_id));this.recipient=a;this.signerToken=l;this.endpoint.setToken(l);if(this.recipient.agreed){this.nextButtonLabel="Next"}return[4,s(this.endpoint,this.envelopeId)];case 2:d=p.sent();this.envelope=d;console.log("[SIGN] Signing document",document);this.pdfUrl="".concat(this.endpoint.getBaseURL(),"/documents/").concat(this.envelopeId,"/envelope_documents/").concat(d.envelope_document_id,"?file=true");this.recipientIndex=this.envelope.recipients.findIndex((function(e){return e.role_name==u.roleId}));if(this.recipientIndex>-1){console.log("Found recipient",this.envelope.recipients[this.recipientIndex])}this.fields=this.envelope.fields.filter((function(e){return e.recipient_role===u.roleId}));console.log("Loaded fields",this.fields);return[3,4];case 3:c=p.sent();console.log("Error with signing session",c);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new g(c.message,(n=c.response)===null||n===void 0?void 0:n.status,(t=c.response)===null||t===void 0?void 0:t.data));return[3,4];case 4:return[2]}}))}))};e.prototype.handleClickAgree=function(){var e=this;console.log("agree clicked");y(this.endpoint,this.envelopeId,this.roleId,"update",{agreed:true}).then((function(n){console.log("update result",n);e.nextButtonLabel="Next";e.recipient=n})).catch((function(n){var t,i,o;console.log("update failure",n);(t=e.sdkError)===null||t===void 0?void 0:t.emit(new g(n.message,(i=n.response)===null||i===void 0?void 0:i.status,(o=n.response)===null||o===void 0?void 0:o.data))}))};e.prototype.savePDF=function(){return b(this,void 0,void 0,(function(){var e,n,t,i;return m(this,(function(o){switch(o.label){case 0:e="".concat(this.envelope.name," - ").concat(this.envelope.updated_at.split("T")[0],".pdf");return[4,a(this.endpoint,this.envelopeId,this.envelope.envelope_document_id)];case 1:n=o.sent();t=new XMLHttpRequest;t.responseType="blob";t.onload=function(){var n=document.createElement("a");n.href=window.URL.createObjectURL(t.response);n.download=e;n.style.display="none";document.body.appendChild(n);n.click();n.remove()};i="data:application/pdf;base64,".concat(n);console.log("url",i.length,i);t.open("GET","data:application/pdf;base64,".concat(n));t.send();return[2]}}))}))};e.prototype.handleOptionSelected=function(e){return b(this,void 0,void 0,(function(){return m(this,(function(n){switch(e.detail.id){case"later":if(!(window===null||window===void 0?void 0:window["STORYBOOK_ENV"])){window.alert("User intends to sign later.")}break;case"claim":break;case"decline":break;case"print":break;case"download":this.savePDF().catch((function(){}));break}return[2]}))}))};e.prototype.handleFieldChange=function(e,n,t){return b(this,void 0,void 0,(function(){var i;var o=this;return m(this,(function(r){console.log("fieldChange",e,n.detail);switch(e.type){case"textbox":l(this.endpoint,this.envelopeId,e.name,{prepared:false,value:n.detail}).then((function(e){return console.log("Update result",e)})).catch((function(e){var n,t,i,r,s,a;(n=o.sdkError)===null||n===void 0?void 0:n.emit(new g(e.message,(t=e.response)===null||t===void 0?void 0:t.status,(i=e.response)===null||i===void 0?void 0:i.data));if(((r=e.response)===null||r===void 0?void 0:r.status)===401&&((a=(s=e.response)===null||s===void 0?void 0:s.data)===null||a===void 0?void 0:a.error)==="jwt expired"){console.log("jwt expired")}console.log("Error updating",e)}));break;case"checkbox_group":l(this.endpoint,this.envelopeId,e.name,{prepared:false,value:{options:[{id:t,checked:n.detail}]}}).then((function(e){return console.log("Update result",e)})).catch((function(e){var n,t,i;(n=o.sdkError)===null||n===void 0?void 0:n.emit(new g(e.message,(t=e.response)===null||t===void 0?void 0:t.status,(i=e.response)===null||i===void 0?void 0:i.data));console.log("Error updating",e)}));break;case"radio_button_group":i=e.settings.options.map((function(e){return{id:e.id,selected:t===e.id}}));l(this.endpoint,this.envelopeId,e.name,{prepared:false,value:{options:i}}).then((function(e){return console.log("Update result",e)})).catch((function(e){var n,t,i;(n=o.sdkError)===null||n===void 0?void 0:n.emit(new g(e.message,(t=e.response)===null||t===void 0?void 0:t.status,(i=e.response)===null||i===void 0?void 0:i.data));console.log("Error updating",e)}));break;case"dropdown":l(this.endpoint,this.envelopeId,e.name,{prepared:false,value:n.detail}).then((function(e){return console.log("Update result",e)})).catch((function(e){var n,t,i;(n=o.sdkError)===null||n===void 0?void 0:n.emit(new g(e.message,(t=e.response)===null||t===void 0?void 0:t.status,(i=e.response)===null||i===void 0?void 0:i.data));console.log("Error updating",e)}));break;case"initial":console.log("Got initial",n.detail);break;case"signature":console.log("Got signature",n.detail);break}return[2]}))}))};e.prototype.renderCheckboxGroupOption=function(e,n,t){var o=this;var r=h(e.xScale,t.x);var s=h(e.yScale,t.y);var a={left:"".concat(r,"px"),bottom:"".concat(s,"px"),position:"absolute",transform:"scale(".concat(e.xScale,", ").concat(e.yScale,")"),backgroundColor:u(this.recipientIndex)};return i("verdocs-field-checkbox",{style:a,field:n,onFieldChange:function(e){return o.handleFieldChange(n,e,t.id)}})};e.prototype.renderRadioGroupOption=function(e,n,t){var o=this;var r=h(e.xScale,t.x);var s=h(e.yScale,t.y);var a={left:"".concat(r,"px"),bottom:"".concat(s,"px"),position:"absolute",transform:"scale(".concat(e.xScale,", ").concat(e.yScale,")"),backgroundColor:u(this.recipientIndex)};return i("verdocs-field-radio-button",{style:a,field:n,onFieldChange:function(e){return o.handleFieldChange(n,e,t.id)}})};e.prototype.isFieldValid=function(e){var n,t,i,o,r,s,a,l,u,p,f,h;switch(e.type){case"textbox":switch(((n=e.settings)===null||n===void 0?void 0:n.validator)||""){case"email":return c(((t=e.settings)===null||t===void 0?void 0:t.result)||"");case"phone":return d(((i=e.settings)===null||i===void 0?void 0:i.result)||"");default:return!!((o=e.settings)===null||o===void 0?void 0:o.result)}case"signature":case"initial":case"textarea":case"date":case"timestamp":case"attachment":return!!((r=e.settings)===null||r===void 0?void 0:r.result);case"dropdown":return!!((s=e.settings)===null||s===void 0?void 0:s.value);case"checkbox_group":var v=(((l=(a=e.settings)===null||a===void 0?void 0:a.options)===null||l===void 0?void 0:l.filter((function(e){return e.checked})))||[]).length;return v>=(((u=e.settings)===null||u===void 0?void 0:u.minimum_checked)||0)&&v<=(((p=e.settings)===null||p===void 0?void 0:p.maximum_checked)||999);case"radio_button_group":return(((h=(f=e.settings)===null||f===void 0?void 0:f.options)===null||h===void 0?void 0:h.filter((function(e){return e.selected})))||[]).length>0;default:return false}};e.prototype.handleNext=function(){var e=this;var n=this.fields.filter((function(e){return e.required}));console.log("required Fields",n);var t=n.findIndex((function(n){return n.name===e.focusedField}));console.log("focused Index",t);var i=t+1;if(i>=n.length){i=0}var o=n[i];console.log("next required field",o);if(o){var r=f(o);var s=document.getElementById(r);console.log("focusing",r,s);s===null||s===void 0?void 0:s.focusField();this.focusedField=o.name}};e.prototype.renderField=function(e,n){var t=this;var i=document.getElementById(n.containerId+"-controls");if(!i){return}var o=f(e);var r=document.getElementById(o);if(r){p(r,e,n.xScale,n.yScale,this.recipientIndex);return}var s;switch(e.type){case"attachment":case"checkbox_group":case"date":case"dropdown":case"initial":case"payment":case"signature":case"timestamp":case"textarea":case"textbox":s=document.createElement("verdocs-field-".concat(e.type));break;case"radio_button_group":break;default:console.log("[SIGN] Skipping unsupported field type",e)}if(s){s.field=e;s.recipient=this.recipient;s.setAttribute("id",o);s.setAttribute("roleindex",this.recipientIndex);s.addEventListener("fieldChange",(function(n){return t.handleFieldChange(e,n)}));p(r,e,n.xScale,n.yScale,this.recipientIndex);i.appendChild(s)}};e.prototype.handlePageRendered=function(e){var n=this;var t=e.detail;console.log("[SIGN] Page rendered",t);var i=this.fields.filter((function(e){return e.page===t.renderedPage.pageNumber}));console.log("[SIGN] Fields on page",i);i.forEach((function(e){return n.renderField(e,t.renderedPage)}))};e.prototype.render=function(){var e=this;var n,t,r,s;var a=[{id:"later",label:"Finish Later"},{id:"claim",label:"Claim the Document",disabled:true},{id:"decline",label:"Decline to Sign"},{id:"print",label:"Print Without Signing"},{id:"download",label:"Download"}];return i(o,{class:{storybook:!!(window===null||window===void 0?void 0:window["STORYBOOK_ENV"]),agreed:(n=this.recipient)===null||n===void 0?void 0:n.agreed}},i("div",{class:"intro"},i("div",{class:"inner"},"Please review and act on these documents.")),i("div",{class:"header"},i("div",{class:"inner"},i("div",{class:"toolbar"},i("div",{class:"tools"},i("verdocs-dropdown",{options:a,onOptionSelected:function(n){return e.handleOptionSelected(n)}}),!((t=this.recipient)===null||t===void 0?void 0:t.agreed)?i("div",{class:"agree"},i("div",{class:"agree-checkbox"},i("input",{type:"checkbox",value:"None",id:"agree-checkbox-element",name:"agree",onChange:function(){return e.handleClickAgree()}}),i("label",{htmlFor:"agree-checkbox-element"})),i("span",null,"I agree to use electronic records and signatures.")):i("div",{style:{flex:"1"}}),i("verdocs-button",{size:"small",label:this.nextButtonLabel,disabled:!((r=this.recipient)===null||r===void 0?void 0:r.agreed),onClick:function(){return e.handleNext()}}))))),!((s=this.recipient)===null||s===void 0?void 0:s.agreed)?i("div",{class:"cover"}):i("div",{style:{display:"none"}}),i("div",{class:"document"},this.pdfUrl?i("div",{class:"inner"},i("verdocs-view",{envelopeId:this.envelopeId,endpoint:this.endpoint,onPageRendered:function(n){return e.handlePageRendered(n)},pageLayers:[{name:"page",type:"canvas"},{name:"controls",type:"div"}]})):i("verdocs-loader",null)))};return e}());k.style=w}}}));
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,n,t,i){function o(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,r){function s(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i["throw"](e))}catch(e){r(e)}}function l(e){e.done?t(e.value):o(e.value).then(s,a)}l((i=i.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var t={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(e){return function(n){return l([e,n])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(t)try{if(i=1,o&&(r=s[0]&2?o["return"]:s[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;if(o=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:t.label++;return{value:s[1],done:false};case 5:t.label++;o=s[1];s=[0];continue;case 7:s=t.ops.pop();t.trys.pop();continue;default:if(!(r=t.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(s[0]===6&&t.label<r[1]){t.label=r[1];r=s;break}if(r&&t.label<r[2]){t.label=r[2];t.ops.push(s);break}if(r[2])t.ops.pop();t.trys.pop();continue}s=n.call(e,t)}catch(e){s=[6,e];o=0}finally{i=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};System.register(["./p-97329951.system.js","./p-f9901184.system.js","./p-a7433630.system.js","./p-7efdefa3.system.js","./p-05eb4fed.system.js","./p-a4041773.system.js","./p-6e1ada33.system.js","./p-187b20b7.system.js"],(function(e){"use strict";var n,t,i,o,r,s,a,l,c,d,u,p,f,h,v,g;return{setters:[function(e){n=e.r;t=e.c;i=e.h;o=e.H},function(e){r=e.g;s=e.a;a=e.b;l=e.u},function(){},function(e){c=e.a;d=e.i},function(e){u=e.g},function(e){p=e.s;f=e.b;h=e.c},function(e){v=e.V},function(e){g=e.S}],execute:function(){var x=undefined&&undefined.__assign||function(){x=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var o in n)if(Object.prototype.hasOwnProperty.call(n,o))e[o]=n[o]}return e};return x.apply(this,arguments)};var b=undefined&&undefined.__awaiter||function(e,n,t,i){function o(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,r){function s(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i["throw"](e))}catch(e){r(e)}}function l(e){e.done?t(e.value):o(e.value).then(s,a)}l((i=i.apply(e,n||[])).next())}))};var m=undefined&&undefined.__generator||function(e,n){var t={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(e){return function(n){return l([e,n])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(t)try{if(i=1,o&&(r=s[0]&2?o["return"]:s[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;if(o=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:t.label++;return{value:s[1],done:false};case 5:t.label++;o=s[1];s=[0];continue;case 7:s=t.ops.pop();t.trys.pop();continue;default:if(!(r=t.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(s[0]===6&&t.label<r[1]){t.label=r[1];r=s;break}if(r&&t.label<r[2]){t.label=r[2];t.ops.push(s);break}if(r[2])t.ops.pop();t.trys.pop();continue}s=n.call(e,t)}catch(e){s=[6,e];o=0}finally{i=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var y=function(e,n,t,i,o){return b(void 0,void 0,void 0,(function(){return m(this,(function(r){return[2,e.api.put("/envelopes/".concat(n,"/recipients/").concat(t),x({role_name:t,action:i},o||{})).then((function(e){return e.data}))]}))}))};var w='verdocs-sign{display:-ms-flexbox;display:flex;overflow:hidden;position:relative;min-height:600px;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif}verdocs-sign div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-sign .header{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex-align:center;align-items:center;-webkit-transition:all 0.25s;transition:all 0.25s;-ms-flex-pack:center;justify-content:center;background-color:#33354c;-webkit-box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12);box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12)}verdocs-sign .header .inner{width:100%;max-width:1028px}verdocs-sign .intro{width:100%;height:60px;display:-ms-flexbox;display:flex;background:#ffffff;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-sign .intro .inner{width:100%;color:#111111;padding:0 14px;font-size:20px;font-weight:500;line-height:28px;max-width:1024px}verdocs-sign .toolbar{width:100%;margin:0 auto;padding:0 14px;position:relative}verdocs-sign .tools{width:100%;color:#fff;height:56px;display:-ms-flexbox;display:flex;font-size:12px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;background-color:#33354c}verdocs-sign .cover{top:0;left:0;right:0;bottom:0;z-index:999;position:absolute;background:rgba(0, 0, 0, 0.5)}verdocs-sign .document{-ms-flex:1;flex:1;height:100%;display:-ms-flexbox;display:flex;position:relative;overflow-y:scroll;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}verdocs-sign .document .inner{width:100%;max-width:1028px}verdocs-sign .agree{-ms-flex:1;flex:1;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-right:10px}verdocs-sign .agree .intro{display:none}verdocs-sign .agree .header{-ms-flex:0 0 56px;flex:0 0 56px}verdocs-sign .agree .agree-checkbox{background:#ccc;-ms-flex:0 0 20px;flex:0 0 20px;display:-ms-flexbox;display:flex;width:20px;height:20px;border-radius:3px;position:relative;margin:0 10px 0 14px}verdocs-sign .agree .agree-checkbox input[type=checkbox]:checked+label:after{filter:alpha(opacity=100);opacity:1}verdocs-sign .agree .agree-checkbox label{left:2px;top:2px;width:16px;height:16px;cursor:pointer;position:absolute;background:#33354c;-webkit-box-shadow:inset 0 -1px 1px rgba(255, 255, 255, 0.8);box-shadow:inset 0 -1px 1px rgba(255, 255, 255, 0.8)}verdocs-sign .agree .agree-checkbox label .agree-checkbox label:hover::after{filter:alpha(opacity=30);opacity:0.3}verdocs-sign .agree .agree-checkbox label:after{top:2px;left:3px;width:8px;opacity:0;height:5px;content:"";position:absolute;background:transparent;filter:alpha(opacity=0);-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border:2px solid #fcfff4;border-top:none;border-right:none}';var k=e("verdocs_sign",function(){function e(e){n(this,e);this.sdkError=t(this,"sdkError",7);this.endpoint=v.getDefault();this.envelopeId=null;this.roleId=null;this.inviteCode=null;this.recipient=null;this.signerToken=null;this.pdfUrl=null;this.recipientIndex=-1;this.envelope=null;this.fields=[];this.hasSignature=false;this.nextButtonLabel="Start";this.focusedField=""}e.prototype.componentDidLoad=function(){return b(this,void 0,void 0,(function(){var e,n,t,i,o,a,l,c,d;var u=this;return m(this,(function(p){switch(p.label){case 0:p.trys.push([0,3,,4]);console.log("[SIGN] Processing invite code for ".concat(this.envelopeId," / ").concat(this.envelopeId));return[4,r(this.endpoint,{envelopeId:this.envelopeId,roleId:this.roleId,inviteCode:this.inviteCode})];case 1:i=p.sent(),o=i.session,a=i.recipient,l=i.signerToken;console.log("[SIGN] Got signing session ".concat(o.email," / ").concat(o.profile_id));this.recipient=a;this.signerToken=l;this.endpoint.setToken(l);if(this.recipient.agreed){this.nextButtonLabel="Next"}return[4,s(this.endpoint,this.envelopeId)];case 2:c=p.sent();this.envelope=c;console.log("[SIGN] Signing document",document);this.pdfUrl="".concat(this.endpoint.getBaseURL(),"/documents/").concat(this.envelopeId,"/envelope_documents/").concat(c.envelope_document_id,"?file=true");this.recipientIndex=this.envelope.recipients.findIndex((function(e){return e.role_name==u.roleId}));if(this.recipientIndex>-1){console.log("Found recipient",this.envelope.recipients[this.recipientIndex])}this.fields=this.envelope.fields.filter((function(e){return e.recipient_role===u.roleId}));console.log("Loaded fields",this.fields);return[3,4];case 3:d=p.sent();console.log("Error with signing session",d);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new g(d.message,(n=d.response)===null||n===void 0?void 0:n.status,(t=d.response)===null||t===void 0?void 0:t.data));return[3,4];case 4:return[2]}}))}))};e.prototype.handleClickAgree=function(){var e=this;console.log("agree clicked");y(this.endpoint,this.envelopeId,this.roleId,"update",{agreed:true}).then((function(n){console.log("update result",n);e.nextButtonLabel="Next";e.recipient=n})).catch((function(n){var t,i,o;console.log("update failure",n);(t=e.sdkError)===null||t===void 0?void 0:t.emit(new g(n.message,(i=n.response)===null||i===void 0?void 0:i.status,(o=n.response)===null||o===void 0?void 0:o.data))}))};e.prototype.savePDF=function(){return b(this,void 0,void 0,(function(){var e,n,t,i;return m(this,(function(o){switch(o.label){case 0:e="".concat(this.envelope.name," - ").concat(this.envelope.updated_at.split("T")[0],".pdf");return[4,a(this.endpoint,this.envelopeId,this.envelope.envelope_document_id)];case 1:n=o.sent();t=new XMLHttpRequest;t.responseType="blob";t.onload=function(){var n=document.createElement("a");n.href=window.URL.createObjectURL(t.response);n.download=e;n.style.display="none";document.body.appendChild(n);n.click();n.remove()};i="data:application/pdf;base64,".concat(n);console.log("url",i.length,i);t.open("GET","data:application/pdf;base64,".concat(n));t.send();return[2]}}))}))};e.prototype.handleOptionSelected=function(e){return b(this,void 0,void 0,(function(){return m(this,(function(n){switch(e.detail.id){case"later":if(!(window===null||window===void 0?void 0:window["STORYBOOK_ENV"])){window.alert("User intends to sign later.")}break;case"claim":break;case"decline":break;case"print":break;case"download":this.savePDF().catch((function(){}));break}return[2]}))}))};e.prototype.handleFieldChange=function(e,n,t){return b(this,void 0,void 0,(function(){var i;var o=this;return m(this,(function(r){console.log("fieldChange",e,n);switch(e.type){case"textbox":l(this.endpoint,this.envelopeId,e.name,{prepared:false,value:n.detail}).then((function(e){return console.log("Update result",e)})).catch((function(e){var n,t,i,r,s,a;(n=o.sdkError)===null||n===void 0?void 0:n.emit(new g(e.message,(t=e.response)===null||t===void 0?void 0:t.status,(i=e.response)===null||i===void 0?void 0:i.data));if(((r=e.response)===null||r===void 0?void 0:r.status)===401&&((a=(s=e.response)===null||s===void 0?void 0:s.data)===null||a===void 0?void 0:a.error)==="jwt expired"){console.log("jwt expired")}console.log("Error updating",e)}));break;case"checkbox_group":l(this.endpoint,this.envelopeId,e.name,{prepared:false,value:{options:[{id:t,checked:n.detail}]}}).then((function(e){return console.log("Update result",e)})).catch((function(e){var n,t,i;(n=o.sdkError)===null||n===void 0?void 0:n.emit(new g(e.message,(t=e.response)===null||t===void 0?void 0:t.status,(i=e.response)===null||i===void 0?void 0:i.data));console.log("Error updating",e)}));break;case"radio_button_group":i=e.settings.options.map((function(e){return{id:e.id,selected:t===e.id}}));l(this.endpoint,this.envelopeId,e.name,{prepared:false,value:{options:i}}).then((function(e){return console.log("Update result",e)})).catch((function(e){var n,t,i;(n=o.sdkError)===null||n===void 0?void 0:n.emit(new g(e.message,(t=e.response)===null||t===void 0?void 0:t.status,(i=e.response)===null||i===void 0?void 0:i.data));console.log("Error updating",e)}));break;case"dropdown":l(this.endpoint,this.envelopeId,e.name,{prepared:false,value:n.detail}).then((function(e){return console.log("Update result",e)})).catch((function(e){var n,t,i;(n=o.sdkError)===null||n===void 0?void 0:n.emit(new g(e.message,(t=e.response)===null||t===void 0?void 0:t.status,(i=e.response)===null||i===void 0?void 0:i.data));console.log("Error updating",e)}));break;case"initial":console.log("Got initial",n.detail);break;case"signature":console.log("Got signature",n.detail);break}return[2]}))}))};e.prototype.renderCheckboxGroupOption=function(e,n,t){var o=this;var r=h(e.xScale,t.x);var s=h(e.yScale,t.y);var a={left:"".concat(r,"px"),bottom:"".concat(s,"px"),position:"absolute",transform:"scale(".concat(e.xScale,", ").concat(e.yScale,")"),backgroundColor:u(this.recipientIndex)};return i("verdocs-field-checkbox",{style:a,field:n,onChange:function(e){return o.handleFieldChange(n,e,t.id)}})};e.prototype.renderRadioGroupOption=function(e,n,t){var o=this;var r=h(e.xScale,t.x);var s=h(e.yScale,t.y);var a={left:"".concat(r,"px"),bottom:"".concat(s,"px"),position:"absolute",transform:"scale(".concat(e.xScale,", ").concat(e.yScale,")"),backgroundColor:u(this.recipientIndex)};return i("verdocs-field-radio-button",{style:a,field:n,onFieldChange:function(e){return o.handleFieldChange(n,e,t.id)}})};e.prototype.isFieldValid=function(e){var n,t,i,o,r,s,a,l,u,p,f,h;switch(e.type){case"textbox":switch(((n=e.settings)===null||n===void 0?void 0:n.validator)||""){case"email":return d(((t=e.settings)===null||t===void 0?void 0:t.result)||"");case"phone":return c(((i=e.settings)===null||i===void 0?void 0:i.result)||"");default:return!!((o=e.settings)===null||o===void 0?void 0:o.result)}case"signature":case"initial":case"textarea":case"date":case"timestamp":case"attachment":return!!((r=e.settings)===null||r===void 0?void 0:r.result);case"dropdown":return!!((s=e.settings)===null||s===void 0?void 0:s.value);case"checkbox_group":var v=(((l=(a=e.settings)===null||a===void 0?void 0:a.options)===null||l===void 0?void 0:l.filter((function(e){return e.checked})))||[]).length;return v>=(((u=e.settings)===null||u===void 0?void 0:u.minimum_checked)||0)&&v<=(((p=e.settings)===null||p===void 0?void 0:p.maximum_checked)||999);case"radio_button_group":return(((h=(f=e.settings)===null||f===void 0?void 0:f.options)===null||h===void 0?void 0:h.filter((function(e){return e.selected})))||[]).length>0;default:return false}};e.prototype.handleNext=function(){var e=this;var n=this.fields.filter((function(e){return e.required}));console.log("required Fields",n);var t=n.findIndex((function(n){return n.name===e.focusedField}));console.log("focused Index",t);var i=t+1;if(i>=n.length){i=0}var o=n[i];console.log("next required field",o);if(o){var r=f(o);var s=document.getElementById(r);console.log("focusing",r,s);s===null||s===void 0?void 0:s.focusField();this.focusedField=o.name}};e.prototype.renderField=function(e,n){var t=this;var i=document.getElementById(n.containerId+"-controls");if(!i){return}var o=f(e);var r=document.getElementById(o);if(r){p(r,e,n.xScale,n.yScale,this.recipientIndex);return}var s;switch(e.type){case"attachment":case"checkbox_group":case"date":case"dropdown":case"initial":case"payment":case"signature":case"timestamp":case"textarea":case"textbox":s=document.createElement("verdocs-field-".concat(e.type));break;case"radio_button_group":break;default:console.log("[SIGN] Skipping unsupported field type",e)}if(s){s.field=e;s.recipient=this.recipient;s.setAttribute("id",o);s.setAttribute("roleindex",this.recipientIndex);s.addEventListener("fieldChange",(function(n){return t.handleFieldChange(e,n)}));p(r,e,n.xScale,n.yScale,this.recipientIndex);i.appendChild(s)}};e.prototype.handlePageRendered=function(e){var n=this;var t=e.detail;console.log("[SIGN] Page rendered",t);var i=this.fields.filter((function(e){return e.page===t.renderedPage.pageNumber}));console.log("[SIGN] Fields on page",i);i.forEach((function(e){return n.renderField(e,t.renderedPage)}))};e.prototype.render=function(){var e=this;var n,t,r,s;var a=[{id:"later",label:"Finish Later"},{id:"claim",label:"Claim the Document",disabled:true},{id:"decline",label:"Decline to Sign"},{id:"print",label:"Print Without Signing"},{id:"download",label:"Download"}];return i(o,{class:{storybook:!!(window===null||window===void 0?void 0:window["STORYBOOK_ENV"]),agreed:(n=this.recipient)===null||n===void 0?void 0:n.agreed}},i("div",{class:"intro"},i("div",{class:"inner"},"Please review and act on these documents.")),i("div",{class:"header"},i("div",{class:"inner"},i("div",{class:"toolbar"},i("div",{class:"tools"},i("verdocs-dropdown",{options:a,onOptionSelected:function(n){return e.handleOptionSelected(n)}}),!((t=this.recipient)===null||t===void 0?void 0:t.agreed)?i("div",{class:"agree"},i("div",{class:"agree-checkbox"},i("input",{type:"checkbox",value:"None",id:"agree-checkbox-element",name:"agree",onChange:function(){return e.handleClickAgree()}}),i("label",{htmlFor:"agree-checkbox-element"})),i("span",null,"I agree to use electronic records and signatures.")):i("div",{style:{flex:"1"}}),i("verdocs-button",{size:"small",label:this.nextButtonLabel,disabled:!((r=this.recipient)===null||r===void 0?void 0:r.agreed),onClick:function(){return e.handleNext()}}))))),!((s=this.recipient)===null||s===void 0?void 0:s.agreed)?i("div",{class:"cover"}):i("div",{style:{display:"none"}}),i("div",{class:"document"},this.pdfUrl?i("div",{class:"inner"},i("verdocs-view",{envelopeId:this.envelopeId,endpoint:this.endpoint,onPageRendered:function(n){return e.handlePageRendered(n)},pageLayers:[{name:"page",type:"canvas"},{name:"controls",type:"div"}]})):i("verdocs-loader",null)))};return e}());k.style=w}}}));
|
|
2
|
+
//# sourceMappingURL=p-fc3a0e2d.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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","exports","VerdocsEndpoint","getDefault","class_1","componentDidLoad","console","log","Envelopes.getSigningSession","roleId","inviteCode","_o","_p","session","recipient","signerToken","email","profile_id","setToken","agreed","nextButtonLabel","Envelopes.getEnvelope","envelope","document","pdfUrl","getBaseURL","envelope_document_id","recipientIndex","recipients","findIndex","_this","fields","filter","field","recipient_role","e_1","sdkError","emit","SDKError","message","_b","response","status","_c","handleClickAgree","catch","savePDF","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","handleOptionSelected","detail","id","alert","handleFieldChange","optionId","type","Envelopes.updateEnvelopeField","prepared","_d","_f","_e","error","options","checked","settings","map","option","selected","renderCheckboxGroupOption","page","left","rescale","xScale","x","bottom","yScale","position","transform","backgroundColor","getRGBA","h","onChange","renderRadioGroupOption","onFieldChange","isFieldValid","validator","isValidEmail","isValidPhone","_h","_g","_j","minimum_checked","_k","maximum_checked","_m","_l","handleNext","requiredFields","required","focusedIndex","focusedField","nextFocusedIndex","nextRequiredField","getFieldId","el","getElementById","focusField","renderField","docPage","controlsDiv","containerId","existingField","setControlStyles","setAttribute","addEventListener","handlePageRendered","pageInfo","renderedPage","pageNumber","forEach","render","menuOptions","disabled","Host","class","storybook","onOptionSelected","htmlFor","flex","size","onClick","onPageRendered","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);\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} onChange={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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","src/components/controls/verdocs-loader/verdocs-loader.tsx","src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","src/components/embeds/verdocs-view/verdocs-view.tsx","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.scss?tag=verdocs-view-envelope-document","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.tsx","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.scss?tag=verdocs-view-template-document","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.tsx"],"names":["verdocsLoaderCss","VerdocsLoader","[object Object]","h","Host","verdocsViewCss","VerdocsView","VerdocsEndpoint","getDefault","name","type","this","endpoint","loadSession","templateId","envelopeId","console","error","warn","log","template","getTemplate","envelope","getEnvelope","e","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","documentId","template_document","id","onPageRendered","p","pageRendered","detail","envelope_document_id","verdocsViewEnvelopeDocumentCss","VerdocsViewEnvelopeDocument","domPages","sourcePageMetrics","envelopeDocument","getEnvelopeDocument","pageNumber","domPage","pageMetrics","renderedPage","pages","stopPropagation","renderPage","sort","a","b","sequence","map","page","pageImageUri","display_uri","virtualWidth","virtualHeight","layers","pageLayers","handlePageRendered","verdocsViewTemplateDocumentCss","VerdocsViewTemplateDocument","templateDocument","getTemplateDocument"],"mappings":"mRAAA,MAAMA,EAAmB,kqUCUZC,EAAa,+BACxBC,SACE,OAAOC,EAACC,EAAI,kBCZhB,MAAMC,EAAiB,ibC8BVC,EAAW,qRAMcC,EAAgBC,6BAKvB,mBAKA,iBAKU,kBAKJ,CACjC,CAACC,KAAM,OAAQC,KAAM,UACrB,CAACD,KAAM,WAAYC,KAAM,sBAkCK,mBACA,KAEhCR,oBACES,KAAKC,SAASC,cAKhBX,mCACE,IAAKS,KAAKG,aAAeH,KAAKI,WAAY,CACxCC,QAAQC,MAAM,uDACd,OAGF,GAAIN,KAAKG,YAAcH,KAAKI,WAAY,CACtCC,QAAQE,KAAK,qEAGf,IACE,GAAIP,KAAKG,WAAY,CACnBE,QAAQG,IAAI,0BAA2BR,KAAKG,YAC5CH,KAAKS,eAAiBC,EAAYV,KAAKC,SAAUD,KAAKG,YACtDE,QAAQG,IAAI,yBAA0BR,KAAKS,eACtC,GAAIT,KAAKI,WAAY,CAC1BC,QAAQG,IAAI,0BAA2BR,KAAKI,YAC5CJ,KAAKW,eAAiBC,EAAYZ,KAAKC,SAAUD,KAAKI,YACtDC,QAAQG,IAAI,yBAA0BR,KAAKW,WA2B7C,MAAOE,GACPR,QAAQG,IAAI,4BAA6BK,IACzCC,EAAAd,KAAKe,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,KAAK,IAAIC,EAASJ,EAAEK,SAASC,EAAAN,EAAEO,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,QAAQC,EAAAT,EAAEO,YAAQ,MAAAE,SAAA,OAAA,EAAAA,EAAEC,QA+HhFhC,eACEc,QAAQG,IAAI,mBAAoBR,KAAKG,WAAYH,KAAKI,YAGtD,OACEZ,EAACC,EAAI,KACFO,KAAKS,UACJjB,EAAA,iCAAA,CACES,SAAUD,KAAKC,SACfE,WAAYH,KAAKG,WACjBqB,YAAYV,EAAAd,KAAKS,SAASgB,qBAAiB,MAAAX,SAAA,OAAA,EAAAA,EAAEY,GAC7CC,eAAgBC,IAAC,IAAAd,EAAI,OAAAA,EAAAd,KAAK6B,gBAAY,MAAAf,SAAA,OAAA,EAAAA,EAAEE,KAAKY,EAAEE,WAGlD9B,KAAKW,UACJnB,EAAA,iCAAA,CACES,SAAUD,KAAKC,SACfG,WAAYJ,KAAKI,WACjBoB,WAAYxB,KAAKW,SAASoB,qBAC1BJ,eAAgBC,IAAC,IAAAd,EAAI,OAAAA,EAAAd,KAAK6B,gBAAY,MAAAf,SAAA,OAAA,EAAAA,EAAEE,KAAKY,EAAEE,uDCtS3D,MAAME,EAAiC,kfC6B1BC,EAA2B,uQAgEtCjC,KAAAkC,SAA8C,GAE9ClC,KAAAmC,kBAAqE,iBA5DjCvC,EAAgBC,6BAKvB,mBAKA,iBAKU,kBAKJ,CACjC,CAACC,KAAM,OAAQC,KAAM,UACrB,CAACD,KAAM,WAAYC,KAAM,8BAkC2B,KAMtDR,oBACES,KAAKC,SAASC,cAKhBX,mCACE,IAAKS,KAAKI,aAAeJ,KAAKwB,WAAY,CACxCnB,QAAQG,IAAI,gDAAgDR,KAAKI,cACjE,OAGF,IACEC,QAAQG,IAAI,oCAAoCR,KAAKI,cACrDJ,KAAKoC,uBAAyBC,EAAoBrC,KAAKC,SAAUD,KAAKI,WAAYJ,KAAKwB,YACvF,IAAKxB,KAAKoC,iBAAkB,CAC1B/B,QAAQC,MAAM,mDAAoDN,KAAKI,WAAYJ,KAAKwB,YAG1FnB,QAAQG,IAAI,wCAAyCR,KAAKoC,kBAC1D,MAAOvB,GACPR,QAAQG,IAAI,yCAA0CK,IACtDC,EAAAd,KAAKe,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,KAAK,IAAIC,EAASJ,EAAEK,SAASC,EAAAN,EAAEO,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,QAAQC,EAAAT,EAAEO,YAAQ,MAAAE,SAAA,OAAA,EAAAA,EAAEC,QAKhFhC,iBAAiB+C,aACf,MAAMC,EAAUvC,KAAKkC,SAASI,GAG9B,IAAKC,EAAS,CACZlC,QAAQG,IAAI,yDAA0D,CAAC8B,WAAAA,IACvE,OAGF,MAAME,EAAcxC,KAAKmC,kBAAkBG,GAE3CjC,QAAQG,IAAI,iCAAkC,CAAC8B,WAAAA,EAAYE,YAAAA,EAAaD,QAAAA,IACxE,IAiBEvC,KAAK6B,aAAab,KAAK,CACrByB,aAAcF,EACdJ,kBAAmBK,EACnBE,MAAO1C,KAAKkC,WAEd,MAAOrB,IACPC,EAAAd,KAAKe,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,KAAK,IAAIC,EAASJ,EAAEK,SAASC,EAAAN,EAAEO,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,QAAQC,EAAAT,EAAEO,YAAQ,MAAAE,SAAA,OAAA,EAAAA,EAAEC,OAC5ElB,QAAQE,KAAK,uCAAwCM,IAyEzDtB,yBAAyBsB,GACvBA,EAAE8B,kBAEF,MAAMJ,EAAU1B,EAAEiB,OAClB9B,KAAKkC,SAASK,EAAQD,YAAcC,QAC9BvC,KAAK4C,WAAWL,EAAQD,YAGhC/C,iBACEc,QAAQG,IAAI,mCAAmCM,EAAAd,KAAKoC,oBAAgB,MAAAtB,SAAA,OAAA,EAAAA,EAAE4B,OAGtE,MAAMA,EAAQ,MAAKvB,EAAAnB,KAAKoC,oBAAgB,MAAAjB,SAAA,OAAA,EAAAA,EAAEuB,QAAS,IACnDA,EAAMG,MAAK,CAACC,EAAGC,IAAMD,EAAEE,SAAWD,EAAEC,WAGpC,OACExD,EAACC,EAAI,KACFiD,EAAMO,KAAIC,GACT1D,EAAA,wBAAA,CACE2D,aAAcD,EAAKE,YACnBC,aAAc,IACdC,cAAe,IAIfhB,WAAYY,EAAKF,SACjBO,OAAQvD,KAAKwD,WACb7B,eAAgBC,GAAK5B,KAAKyD,mBAAmB7B,mDCrQzD,MAAM8B,EAAiC,kfC2B1BC,EAA2B,uQAgEtC3D,KAAAkC,SAA8C,GAE9ClC,KAAAmC,kBAAqE,iBA5DjCvC,EAAgBC,6BAKvB,mBAKA,iBAKU,kBAKJ,CACjC,CAACC,KAAM,OAAQC,KAAM,UACrB,CAACD,KAAM,WAAYC,KAAM,8BAkC2B,KAMtDR,oBACES,KAAKC,SAASC,cAKhBX,mCACE,IAAKS,KAAKG,aAAeH,KAAKwB,WAAY,CACxCnB,QAAQG,IAAI,gDAAgDR,KAAKG,cACjE,OAGF,IACEE,QAAQG,IAAI,oCAAoCR,KAAKG,cACrDH,KAAK4D,uBAAyBC,EAAoB7D,KAAKC,SAAUD,KAAKG,WAAYH,KAAKwB,YACvF,IAAKxB,KAAK4D,iBAAkB,CAC1BvD,QAAQC,MAAM,mDAAoDN,KAAKG,WAAYH,KAAKwB,YAG1FnB,QAAQG,IAAI,+BAAgCR,KAAK4D,kBACjD,MAAO/C,GACPR,QAAQG,IAAI,yCAA0CK,IACtDC,EAAAd,KAAKe,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,KAAK,IAAIC,EAASJ,EAAEK,SAASC,EAAAN,EAAEO,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,QAAQC,EAAAT,EAAEO,YAAQ,MAAAE,SAAA,OAAA,EAAAA,EAAEC,QAKhFhC,iBAAiB+C,aACf,MAAMC,EAAUvC,KAAKkC,SAASI,GAG9B,IAAKC,EAAS,CACZlC,QAAQG,IAAI,yDAA0D,CAAC8B,WAAAA,IACvE,OAGF,MAAME,EAAcxC,KAAKmC,kBAAkBG,GAG3C,IAiBEtC,KAAK6B,aAAab,KAAK,CACrByB,aAAcF,EACdJ,kBAAmBK,EACnBE,MAAO1C,KAAKkC,WAEd,MAAOrB,IACPC,EAAAd,KAAKe,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,KAAK,IAAIC,EAASJ,EAAEK,SAASC,EAAAN,EAAEO,YAAQ,MAAAD,SAAA,OAAA,EAAAA,EAAEE,QAAQC,EAAAT,EAAEO,YAAQ,MAAAE,SAAA,OAAA,EAAAA,EAAEC,OAC5ElB,QAAQE,KAAK,uCAAwCM,IAyEzDtB,yBAAyBsB,GACvBA,EAAE8B,kBAEF,MAAMJ,EAAU1B,EAAEiB,OAClB9B,KAAKkC,SAASK,EAAQD,YAAcC,QAC9BvC,KAAK4C,WAAWL,EAAQD,YAGhC/C,iBACEc,QAAQG,IAAI,mCAAmCM,EAAAd,KAAK4D,oBAAgB,MAAA9C,SAAA,OAAA,EAAAA,EAAE4B,OAGtE,MAAMA,EAAQ,MAAKvB,EAAAnB,KAAK4D,oBAAgB,MAAAzC,SAAA,OAAA,EAAAA,EAAEuB,QAAS,IACnDA,EAAMG,MAAK,CAACC,EAAGC,IAAMD,EAAEE,SAAWD,EAAEC,WAGpC,OACExD,EAACC,EAAI,KACFiD,EAAMO,KAAIC,GACT1D,EAAA,wBAAA,CACE2D,aAAcD,EAAKE,YACnBC,aAAc,IACdC,cAAe,IAIfhB,WAAYY,EAAKF,SACjBO,OAAQvD,KAAKwD,WACb7B,eAAgBC,GAAK5B,KAAKyD,mBAAmB7B","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelope} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {getEnvelope} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View all of the documents attached to a template or envelope. All documents are displayed, in order. This embed wraps\n * verdocs-view-envelope-document or verdocs-view-template-document, as appropriate, and those controls may be used if\n * fine-grained control over which documents are displayed (or their order) is required.\n */\n@Component({\n tag: 'verdocs-view',\n styleUrl: 'verdocs-view.scss',\n shadow: false,\n})\nexport class VerdocsView {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to render. Set ONE OF templateId or envelopeId.\n */\n @Prop() templateId: string = '';\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() template?: ITemplate = null;\n @State() envelope?: IEnvelope = null;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.templateId && !this.envelopeId) {\n console.error(`[VIEW] Must specify one of templateId or envelopeId`);\n return;\n }\n\n if (this.templateId && this.envelopeId) {\n console.warn(`[VIEW] Both templateId and envelopeId specified, using templateId`);\n }\n\n try {\n if (this.templateId) {\n console.log('[VIEW] Loading template', this.templateId);\n this.template = await getTemplate(this.endpoint, this.templateId);\n console.log('[VIEW] Loaded template', this.template);\n } else if (this.envelopeId) {\n console.log('[VIEW] Loading envelope', this.envelopeId);\n this.envelope = await getEnvelope(this.endpoint, this.envelopeId);\n console.log('[VIEW] Loaded envelope', this.envelope);\n }\n\n // console.log(`[VIEW] Loading template ${this.templateId}`);\n // const template = await getTemplate(this.endpoint, this.templateId);\n //\n // console.log('[VIEW] Got template', this.template);\n // this.template = template;\n // this.pageNumbers = integerSequence(1, template.pages.length);\n //\n // const pageUris: Record<number, string> = {};\n // for await (let page of template.pages) {\n // console.log('[VIEW] Loading page', page);\n // // TODO: Make an endpoint to get all of the pages for a template\n // // TODO: When uploading a new template, pre-process its pages into images and comment that the individual page-loader is a utility,\n // // not the primary mechanism.\n // const image = await getPageImage(this.endpoint, this.templateId, page.sequence);\n // // TODO: Make this uri to match the rest of the terminology?\n // pageUris[page.sequence] = image.url;\n // console.log('[VIEW] Got image Uri', image.url);\n // this.loadProgress = page.sequence / template.pages.length;\n // }\n //\n // this.pageUris = pageUris;\n // this.loadProgress = 100;\n //\n // // this.pdfUrl = `${this.endpoint.getBaseURL()}/templates/${this.templateId}/documents/${template.template_document?.id}?file=true`;\n } catch (e) {\n console.log('[VIEW] Error loading data', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Determine whether a page is \"rotated\" (in either direction)\n // isRotated(rotation) {\n // return rotation !== 0 && rotation % 180 !== 0;\n // }\n\n // Render one document page. Note that pageNumber is 1-based.\n // async renderPage(pageNumber: number): Promise<void> {\n // const domPage = this.domPages[pageNumber];\n //\n // // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n // if (!domPage) {\n // console.log('[VIEW] Skipping rendering page not yet in DOM', {pageNumber});\n // return;\n // }\n //\n // const pageMetrics = this.sourcePageMetrics[pageNumber];\n //\n // console.log('[VIEW] Rendering page', {pageNumber, pageMetrics, domPage});\n // try {\n // // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // // console.log('[VIEW] Page viewport', domPage.xScale, viewport);\n //\n // // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // // if (!canvas) {\n // // console.log('[VIEW] Unable to find canvas element');\n // // return;\n // // }\n // //\n // // canvas.width = domPage.renderedWidth;\n // // canvas.height = domPage.renderedHeight;\n // // const canvasContext = canvas.getContext('2d');\n // // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // // await pdfPage.render({canvasContext, viewport});\n //\n // this.pageRendered.emit({\n // renderedPage: domPage,\n // sourcePageMetrics: pageMetrics,\n // pages: this.domPages,\n // });\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering page', e);\n // }\n // }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW] Loading error', e);\n // });\n // }\n\n // async handlePageRendered(e: any) {\n // e.stopPropagation();\n //\n // const domPage = e.detail as IDocumentPageInfo;\n // this.domPages[domPage.pageNumber] = domPage;\n // await this.renderPage(domPage.pageNumber);\n // }\n\n render() {\n console.log('[VIEW] Rendering', this.templateId, this.envelopeId);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {this.template && (\n <verdocs-view-template-document\n endpoint={this.endpoint}\n templateId={this.templateId}\n documentId={this.template.template_document?.id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n {this.envelope && (\n <verdocs-view-envelope-document\n endpoint={this.endpoint}\n envelopeId={this.envelopeId}\n documentId={this.envelope.envelope_document_id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view-envelope-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelopeDocument} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getEnvelopeDocument} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View a single document attached to an envelope. Note that envelopes always require authentication to access them. If you are viewing\n * this component in Storybook, visit Embeds > Auth first to log in, then paste a valid envelopeId and documentId in the properties\n * below from your account to view that envelope. If you want to see an anonymous-access use case, this component is functionally similar\n * to ViewTemplateDocument, which is pre-configured to display a public template.\n */\n@Component({\n tag: 'verdocs-view-envelope-document',\n styleUrl: 'verdocs-view-envelope-document.scss',\n shadow: false,\n})\nexport class VerdocsViewEnvelopeDocument {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The document ID to render\n */\n @Prop() documentId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() envelopeDocument: IEnvelopeDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.envelopeId || !this.documentId) {\n console.log(`[VIEW-ENVELOPE] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-ENVELOPE] Loading envelope ${this.envelopeId}`);\n this.envelopeDocument = await getEnvelopeDocument(this.endpoint, this.envelopeId, this.documentId);\n if (!this.envelopeDocument) {\n console.error('[VIEW-ENVELOPE] Unable to load envelope document', this.envelopeId, this.documentId);\n }\n\n console.log('[VIEW-ENVELOPE] Got envelope document', this.envelopeDocument);\n } catch (e) {\n console.log('[VIEW-ENVELOPE] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Render one document page. Note that pageNumber is 1-based.\n async renderPage(pageNumber: number): Promise<void> {\n const domPage = this.domPages[pageNumber];\n\n // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n if (!domPage) {\n console.log('[VIEW-ENVELOPE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n console.log('[VIEW-ENVELOPE] Rendering page', {pageNumber, pageMetrics, domPage});\n try {\n // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // console.log('[VIEW-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] Unable to find canvas element');\n // return;\n // }\n //\n // canvas.width = domPage.renderedWidth;\n // canvas.height = domPage.renderedHeight;\n // const canvasContext = canvas.getContext('2d');\n // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // await pdfPage.render({canvasContext, viewport});\n\n this.pageRendered.emit({\n renderedPage: domPage,\n sourcePageMetrics: pageMetrics,\n pages: this.domPages,\n });\n } catch (e) {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.warn('[VIEW-ENVELOPE] Error rendering page', e);\n }\n }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW-TEMPLATE] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW-TEMPLATE] Loading error', e);\n // });\n // }\n\n async handlePageRendered(e: any) {\n e.stopPropagation();\n\n const domPage = e.detail as IDocumentPageInfo;\n this.domPages[domPage.pageNumber] = domPage;\n await this.renderPage(domPage.pageNumber);\n }\n\n render() {\n console.log('[VIEW-ENVELOPE] Rendering pages', this.envelopeDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view-template-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {getTemplateDocument} from '@verdocs/js-sdk/Templates/TemplateDocuments';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {ITemplateDocument} from '@verdocs/js-sdk/Templates/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View a single document attached to a template. Note that if you are accessing a template that is not public, you must be authenticated.\n * You can authenticate within this Storybook via the Embeds > Auth control.\n */\n@Component({\n tag: 'verdocs-view-template-document',\n styleUrl: 'verdocs-view-template-document.scss',\n shadow: false,\n})\nexport class VerdocsViewTemplateDocument {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to render\n */\n @Prop() templateId: string = '';\n\n /**\n * The document ID to render within the template\n */\n @Prop() documentId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() templateDocument: ITemplateDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.templateId || !this.documentId) {\n console.log(`[VIEW-TEMPLATE] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-TEMPLATE] Loading template ${this.templateId}`);\n this.templateDocument = await getTemplateDocument(this.endpoint, this.templateId, this.documentId);\n if (!this.templateDocument) {\n console.error('[VIEW-TEMPLATE] Unable to load template document', this.templateId, this.documentId);\n }\n\n console.log('[VIEW-TEMPLATE] Got template', this.templateDocument);\n } catch (e) {\n console.log('[VIEW-TEMPLATE] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Render one document page. Note that pageNumber is 1-based.\n async renderPage(pageNumber: number): Promise<void> {\n const domPage = this.domPages[pageNumber];\n\n // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n if (!domPage) {\n console.log('[VIEW-TEMPLATE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n // console.log('[VIEW-TEMPLATE] Rendering page', {pageNumber, pageMetrics, domPage});\n try {\n // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // console.log('[VIEW-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] Unable to find canvas element');\n // return;\n // }\n //\n // canvas.width = domPage.renderedWidth;\n // canvas.height = domPage.renderedHeight;\n // const canvasContext = canvas.getContext('2d');\n // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // await pdfPage.render({canvasContext, viewport});\n\n this.pageRendered.emit({\n renderedPage: domPage,\n sourcePageMetrics: pageMetrics,\n pages: this.domPages,\n });\n } catch (e) {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.warn('[VIEW-TEMPLATE] Error rendering page', e);\n }\n }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW-TEMPLATE] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW-TEMPLATE] Loading error', e);\n // });\n // }\n\n async handlePageRendered(e: any) {\n e.stopPropagation();\n\n const domPage = e.detail as IDocumentPageInfo;\n this.domPages[domPage.pageNumber] = domPage;\n await this.renderPage(domPage.pageNumber);\n }\n\n render() {\n console.log('[VIEW-TEMPLATE] Rendering pages', this.templateDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.templateDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","src/components/controls/verdocs-loader/verdocs-loader.tsx","src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","src/components/embeds/verdocs-view/verdocs-view.tsx","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.scss?tag=verdocs-view-envelope-document","src/components/elements/verdocs-view-envelope-document/verdocs-view-envelope-document.tsx","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.scss?tag=verdocs-view-template-document","src/components/elements/verdocs-view-template-document/verdocs-view-template-document.tsx"],"names":["verdocsLoaderCss","VerdocsLoader","[object Object]","h","Host","verdocsViewCss","VerdocsView","VerdocsEndpoint","getDefault","name","type","this","endpoint","loadSession","templateId","envelopeId","console","error","warn","log","template","getTemplate","envelope","getEnvelope","e","_a","sdkError","emit","SDKError","message","_b","response","status","_c","data","documentId","template_document","id","onPageRendered","p","pageRendered","detail","envelope_document_id","verdocsViewEnvelopeDocumentCss","VerdocsViewEnvelopeDocument","domPages","sourcePageMetrics","envelopeDocument","getEnvelopeDocument","pageNumber","domPage","pageMetrics","renderedPage","pages","stopPropagation","renderPage","sort","a","b","sequence","map","page","pageImageUri","display_uri","virtualWidth","virtualHeight","layers","pageLayers","handlePageRendered","verdocsViewTemplateDocumentCss","VerdocsViewTemplateDocument","templateDocument","getTemplateDocument"],"mappings":"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","sourcesContent":["@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelope} from '@verdocs/js-sdk/Envelopes/Types';\nimport {ITemplate} from '@verdocs/js-sdk/Templates/Types';\nimport {getTemplate} from '@verdocs/js-sdk/Templates/Templates';\nimport {getEnvelope} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View all of the documents attached to a template or envelope. All documents are displayed, in order. This embed wraps\n * verdocs-view-envelope-document or verdocs-view-template-document, as appropriate, and those controls may be used if\n * fine-grained control over which documents are displayed (or their order) is required.\n */\n@Component({\n tag: 'verdocs-view',\n styleUrl: 'verdocs-view.scss',\n shadow: false,\n})\nexport class VerdocsView {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to render. Set ONE OF templateId or envelopeId.\n */\n @Prop() templateId: string = '';\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() template?: ITemplate = null;\n @State() envelope?: IEnvelope = null;\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.templateId && !this.envelopeId) {\n console.error(`[VIEW] Must specify one of templateId or envelopeId`);\n return;\n }\n\n if (this.templateId && this.envelopeId) {\n console.warn(`[VIEW] Both templateId and envelopeId specified, using templateId`);\n }\n\n try {\n if (this.templateId) {\n console.log('[VIEW] Loading template', this.templateId);\n this.template = await getTemplate(this.endpoint, this.templateId);\n console.log('[VIEW] Loaded template', this.template);\n } else if (this.envelopeId) {\n console.log('[VIEW] Loading envelope', this.envelopeId);\n this.envelope = await getEnvelope(this.endpoint, this.envelopeId);\n console.log('[VIEW] Loaded envelope', this.envelope);\n }\n } catch (e) {\n console.log('[VIEW] Error loading data', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Determine whether a page is \"rotated\" (in either direction)\n // isRotated(rotation) {\n // return rotation !== 0 && rotation % 180 !== 0;\n // }\n\n // Render one document page. Note that pageNumber is 1-based.\n // async renderPage(pageNumber: number): Promise<void> {\n // const domPage = this.domPages[pageNumber];\n //\n // // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n // if (!domPage) {\n // console.log('[VIEW] Skipping rendering page not yet in DOM', {pageNumber});\n // return;\n // }\n //\n // const pageMetrics = this.sourcePageMetrics[pageNumber];\n //\n // console.log('[VIEW] Rendering page', {pageNumber, pageMetrics, domPage});\n // try {\n // // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // // console.log('[VIEW] Page viewport', domPage.xScale, viewport);\n //\n // // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // // if (!canvas) {\n // // console.log('[VIEW] Unable to find canvas element');\n // // return;\n // // }\n // //\n // // canvas.width = domPage.renderedWidth;\n // // canvas.height = domPage.renderedHeight;\n // // const canvasContext = canvas.getContext('2d');\n // // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // // await pdfPage.render({canvasContext, viewport});\n //\n // this.pageRendered.emit({\n // renderedPage: domPage,\n // sourcePageMetrics: pageMetrics,\n // pages: this.domPages,\n // });\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering page', e);\n // }\n // }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW] Loading error', e);\n // });\n // }\n\n // async handlePageRendered(e: any) {\n // e.stopPropagation();\n //\n // const domPage = e.detail as IDocumentPageInfo;\n // this.domPages[domPage.pageNumber] = domPage;\n // await this.renderPage(domPage.pageNumber);\n // }\n\n render() {\n console.log('[VIEW] Rendering', this.templateId, this.envelopeId);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {this.template && (\n <verdocs-view-template-document\n endpoint={this.endpoint}\n templateId={this.templateId}\n documentId={this.template.template_document?.id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n {this.envelope && (\n <verdocs-view-envelope-document\n endpoint={this.endpoint}\n envelopeId={this.envelopeId}\n documentId={this.envelope.envelope_document_id}\n onPageRendered={p => this.pageRendered?.emit(p.detail)}\n />\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view-envelope-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {IEnvelopeDocument} from '@verdocs/js-sdk/Envelopes/Types';\nimport {getEnvelopeDocument} from '@verdocs/js-sdk/Envelopes/Envelopes';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View a single document attached to an envelope. Note that envelopes always require authentication to access them. If you are viewing\n * this component in Storybook, visit Embeds > Auth first to log in, then paste a valid envelopeId and documentId in the properties\n * below from your account to view that envelope. If you want to see an anonymous-access use case, this component is functionally similar\n * to ViewTemplateDocument, which is pre-configured to display a public template.\n */\n@Component({\n tag: 'verdocs-view-envelope-document',\n styleUrl: 'verdocs-view-envelope-document.scss',\n shadow: false,\n})\nexport class VerdocsViewEnvelopeDocument {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The envelope ID to render\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The document ID to render\n */\n @Prop() documentId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() envelopeDocument: IEnvelopeDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.envelopeId || !this.documentId) {\n console.log(`[VIEW-ENVELOPE] Missing required envelope ID ${this.envelopeId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-ENVELOPE] Loading envelope ${this.envelopeId}`);\n this.envelopeDocument = await getEnvelopeDocument(this.endpoint, this.envelopeId, this.documentId);\n if (!this.envelopeDocument) {\n console.error('[VIEW-ENVELOPE] Unable to load envelope document', this.envelopeId, this.documentId);\n }\n\n console.log('[VIEW-ENVELOPE] Got envelope document', this.envelopeDocument);\n } catch (e) {\n console.log('[VIEW-ENVELOPE] Error loading envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Render one document page. Note that pageNumber is 1-based.\n async renderPage(pageNumber: number): Promise<void> {\n const domPage = this.domPages[pageNumber];\n\n // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n if (!domPage) {\n console.log('[VIEW-ENVELOPE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n console.log('[VIEW-ENVELOPE] Rendering page', {pageNumber, pageMetrics, domPage});\n try {\n // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // console.log('[VIEW-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] Unable to find canvas element');\n // return;\n // }\n //\n // canvas.width = domPage.renderedWidth;\n // canvas.height = domPage.renderedHeight;\n // const canvasContext = canvas.getContext('2d');\n // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // await pdfPage.render({canvasContext, viewport});\n\n this.pageRendered.emit({\n renderedPage: domPage,\n sourcePageMetrics: pageMetrics,\n pages: this.domPages,\n });\n } catch (e) {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.warn('[VIEW-ENVELOPE] Error rendering page', e);\n }\n }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW-TEMPLATE] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW-TEMPLATE] Loading error', e);\n // });\n // }\n\n async handlePageRendered(e: any) {\n e.stopPropagation();\n\n const domPage = e.detail as IDocumentPageInfo;\n this.domPages[domPage.pageNumber] = domPage;\n await this.renderPage(domPage.pageNumber);\n }\n\n render() {\n console.log('[VIEW-ENVELOPE] Rendering pages', this.envelopeDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.envelopeDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-view-template-document {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n width: 100%;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, State} from '@stencil/core';\nimport {getTemplateDocument} from '@verdocs/js-sdk/Templates/TemplateDocuments';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {ITemplateDocument} from '@verdocs/js-sdk/Templates/Types';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface ISourcePageMetrics {\n width: number;\n height: number;\n}\n\nexport interface IPageRenderEvent {\n renderedPage: IDocumentPageInfo;\n sourcePageMetrics: ISourcePageMetrics;\n pages: Record<number, IDocumentPageInfo>;\n}\n\n/**\n * View a single document attached to a template. Note that if you are accessing a template that is not public, you must be authenticated.\n * You can authenticate within this Storybook via the Embeds > Auth control.\n */\n@Component({\n tag: 'verdocs-view-template-document',\n styleUrl: 'verdocs-view-template-document.scss',\n shadow: false,\n})\nexport class VerdocsViewTemplateDocument {\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to render\n */\n @Prop() templateId: string = '';\n\n /**\n * The document ID to render within the template\n */\n @Prop() documentId: string = '';\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Layers will be passed through to the individual pages inside this component.\n */\n @Prop() pageLayers: IPageLayer[] = [\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ];\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPageRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() templateDocument: ITemplateDocument | null = null;\n\n domPages: Record<number, IDocumentPageInfo> = {};\n\n sourcePageMetrics: Record<number, {width: number; height: number}> = {};\n\n componentWillLoad() {\n this.endpoint.loadSession();\n }\n\n // TODO: Handling signing vs preview-as-user cases\n // TODO: Handle anonymous case and failure to load due to not being logged in\n async componentDidLoad() {\n if (!this.templateId || !this.documentId) {\n console.log(`[VIEW-TEMPLATE] Missing required template ID ${this.templateId}`);\n return;\n }\n\n try {\n console.log(`[VIEW-TEMPLATE] Loading template ${this.templateId}`);\n this.templateDocument = await getTemplateDocument(this.endpoint, this.templateId, this.documentId);\n if (!this.templateDocument) {\n console.error('[VIEW-TEMPLATE] Unable to load template document', this.templateId, this.documentId);\n }\n\n console.log('[VIEW-TEMPLATE] Got template', this.templateDocument);\n } catch (e) {\n console.log('[VIEW-TEMPLATE] Error loading template', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n // Render one document page. Note that pageNumber is 1-based.\n async renderPage(pageNumber: number): Promise<void> {\n const domPage = this.domPages[pageNumber];\n\n // Two async operations happen here, loading the PDF and rendering the DOM div/canvas placeholders to draw the pages on.\n if (!domPage) {\n console.log('[VIEW-TEMPLATE] Skipping rendering page not yet in DOM', {pageNumber});\n return;\n }\n\n const pageMetrics = this.sourcePageMetrics[pageNumber];\n\n // console.log('[VIEW-TEMPLATE] Rendering page', {pageNumber, pageMetrics, domPage});\n try {\n // const pdfPage = await this.pdfDocument.getPage(pageNumber);\n // const viewport = pdfPage.getViewport({scale: domPage.xScale});\n // console.log('[VIEW-TEMPLATE] Page viewport', domPage.xScale, viewport);\n\n // const canvas = document.getElementById(`${domPage.containerId}-page`) as HTMLCanvasElement | null;\n // if (!canvas) {\n // console.log('[VIEW-TEMPLATE] Unable to find canvas element');\n // return;\n // }\n //\n // canvas.width = domPage.renderedWidth;\n // canvas.height = domPage.renderedHeight;\n // const canvasContext = canvas.getContext('2d');\n // canvasContext.clearRect(0, 0, domPage.renderedWidth, domPage.renderedHeight);\n // await pdfPage.render({canvasContext, viewport});\n\n this.pageRendered.emit({\n renderedPage: domPage,\n sourcePageMetrics: pageMetrics,\n pages: this.domPages,\n });\n } catch (e) {\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n console.warn('[VIEW-TEMPLATE] Error rendering page', e);\n }\n }\n\n // async renderPages(): Promise<void> {\n // const pageNumbersToRender = integerSequence(1, this.numPages);\n // for await (let pageNumber of pageNumbersToRender) {\n // try {\n // await this.renderPage(pageNumber);\n // } catch (e) {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.warn('[VIEW-TEMPLATE] Error rendering pages', e);\n // }\n // }\n // }\n\n // onProgress(progress: OnProgressParameters) {\n // console.log(`[VIEW-TEMPLATE] Progress ${Math.floor((progress.loaded / progress.total) * 100)} (${progress.loaded} / ${progress.total})`);\n // this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n // }\n\n // After a document is done loading, go through its pages to get their dimensions\n // async parsePageMetrics(pdfDocument: pdfjsLib.PDFDocumentProxy) {\n // const pageNumbersToRender = integerSequence(1, pdfDocument.numPages);\n //\n // for await (let pageNumber of pageNumbersToRender) {\n // const pdfPage = await pdfDocument.getPage(1);\n // const [pageX0, pageY0, pageX1, pageY1] = pdfPage.view;\n // this.sourcePageMetrics[pageNumber] = {width: pageX1 - pageX0, height: pageY1 - pageY0};\n // }\n //\n // console.log('[VIEW-TEMPLATE] Parsed page metrics', this.sourcePageMetrics);\n // }\n\n // loadAndRender(src: string): void {\n // console.log('[VIEW-TEMPLATE] Loading', src);\n //\n // const token = this.endpoint.getToken();\n // const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n //\n // const source = {\n // url: src,\n // cMapUrl: CMAPS_URL,\n // cMapPacked: true,\n // httpHeaders,\n // withCredentials: true,\n // stopAtErrors: true,\n // verbosity: pdfjsLib.VerbosityLevel.WARNINGS,\n // // verbosity: pdfjsLib.VerbosityLevel.INFOS,\n // } as DocumentInitParameters;\n //\n // // @ts-ignore\n // const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n // loadingTask.onProgress = this.onProgress;\n // loadingTask.promise\n // .then(async (pdfDocument: pdfjsLib.PDFDocumentProxy) => {\n // await this.parsePageMetrics(pdfDocument);\n //\n // this.pdfDocument = pdfDocument;\n // this.numPages = pdfDocument.numPages;\n // this.fingerprints = pdfDocument.fingerprints;\n // console.log(`[VIEW-TEMPLATE] Got PDF document fingerprints \"${this.fingerprints.join(', ')}\", ${this.numPages} page(s)`);\n //\n // // We don't try to render the pages here, setting loadProtress triggers that by adding the individual page entries in\n // // DOM in render() below. Each page then fires onPageRendered when it is ready to receive content.\n // this.loadProgress = 100;\n // })\n // .catch(e => {\n // this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n // console.log('[VIEW-TEMPLATE] Loading error', e);\n // });\n // }\n\n async handlePageRendered(e: any) {\n e.stopPropagation();\n\n const domPage = e.detail as IDocumentPageInfo;\n this.domPages[domPage.pageNumber] = domPage;\n await this.renderPage(domPage.pageNumber);\n }\n\n render() {\n console.log('[VIEW-TEMPLATE] Rendering pages', this.templateDocument?.pages);\n\n // TODO: The API is supposed to always return these sorted...\n const pages = [...(this.templateDocument?.pages || [])];\n pages.sort((a, b) => a.sequence - b.sequence);\n\n // TODO: Error handling for missing pages. Is it better to skip the page or show a placeholder?\n return (\n <Host>\n {pages.map(page => (\n <verdocs-document-page\n pageImageUri={page.display_uri}\n virtualWidth={612}\n virtualHeight={792}\n // TODO: Store image dimensions in the DB rows and pass them to clients with the page data\n // virtualWidth={this.sourcePageMetrics[pageNumber]?.width || 612}\n // virtualHeight={this.sourcePageMetrics[pageNumber]?.height || 792}\n pageNumber={page.sequence}\n layers={this.pageLayers}\n onPageRendered={p => this.handlePageRendered(p)}\n />\n ))}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as t,h as s,H as i}from"./p-ff1278ed.js";import{g as l}from"./p-7ce27ce2.js";import{g as o}from"./p-6de76553.js";const r='verdocs-field-textarea{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:150px;height:15px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-textarea.disabled{opacity:0.5}verdocs-field-textarea textarea{-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87);font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-textarea textarea.hide{display:none}verdocs-field-textarea.required{border:1px solid #cc0000}verdocs-field-textarea.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';const a='<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>';const n=class{constructor(s){e(this,s);this.fieldFocus=t(this,"fieldFocus",7);this.fieldBlur=t(this,"fieldBlur",7);this.fieldChange=t(this,"fieldChange",7);this.fieldInput=t(this,"fieldInput",7);this.field=null;this.recipient=undefined;this.disabled=false;this.editable=false;this.moveable=false;this.roleindex=0;this.focused=false}async focusField(){this.focused=true;this.el.focus();this.fieldFocus.emit(true)}handleBlur(){this.focused=false;this.fieldBlur.emit(true)}handleFocus(){this.focused=true;this.fieldFocus.emit(true)}handleChange(e){this.fieldChange.emit(e.target.value)}handleInput(e){this.fieldInput.emit(e.target.value)}render(){var e,t;const r=l(this.field);const n=(t=(e=this.disabled)!==null&&e!==void 0?e:r.disabled)!==null&&t!==void 0?t:false;const d=this.field["rgba"]||o(this.roleindex);return s(i,{class:{focused:this.focused,required:r.required,disabled:n},style:{backgroundColor:d}},s("textarea",{placeholder:r.placeholder||"",tabIndex:r.order,value:r.value,disabled:n,required:r.required,ref:e=>this.el=e,onBlur:()=>this.handleBlur(),onFocus:()=>this.handleFocus(),onChange:e=>this.handleChange(e),onInput:e=>this.handleInput(e)}),this.editable&&s("verdocs-button-panel",{icon:a},s("h6",null,"Field Settings"),s("form",null,s("verdocs-select-input",{label:"Recipient",options:[{label:"Buyer",value:"Buyer"},{label:"Seller",value:"Seller"}],
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as t,h as s,H as i}from"./p-ff1278ed.js";import{g as l}from"./p-7ce27ce2.js";import{g as o}from"./p-6de76553.js";const r='verdocs-field-textarea{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;width:150px;height:15px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-textarea.disabled{opacity:0.5}verdocs-field-textarea textarea{-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87);font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;background:none;font-size:11px;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-textarea textarea.hide{display:none}verdocs-field-textarea.required{border:1px solid #cc0000}verdocs-field-textarea.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}';const a='<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>';const n=class{constructor(s){e(this,s);this.fieldFocus=t(this,"fieldFocus",7);this.fieldBlur=t(this,"fieldBlur",7);this.fieldChange=t(this,"fieldChange",7);this.fieldInput=t(this,"fieldInput",7);this.field=null;this.recipient=undefined;this.disabled=false;this.editable=false;this.moveable=false;this.roleindex=0;this.focused=false}async focusField(){this.focused=true;this.el.focus();this.fieldFocus.emit(true)}handleBlur(){this.focused=false;this.fieldBlur.emit(true)}handleFocus(){this.focused=true;this.fieldFocus.emit(true)}handleChange(e){this.fieldChange.emit(e.target.value)}handleInput(e){this.fieldInput.emit(e.target.value)}render(){var e,t;const r=l(this.field);const n=(t=(e=this.disabled)!==null&&e!==void 0?e:r.disabled)!==null&&t!==void 0?t:false;const d=this.field["rgba"]||o(this.roleindex);return s(i,{class:{focused:this.focused,required:r.required,disabled:n},style:{backgroundColor:d}},s("textarea",{placeholder:r.placeholder||"",tabIndex:r.order,value:r.value,disabled:n,required:r.required,ref:e=>this.el=e,onBlur:()=>this.handleBlur(),onFocus:()=>this.handleFocus(),onChange:e=>this.handleChange(e),onInput:e=>this.handleInput(e)}),this.editable&&s("verdocs-button-panel",{icon:a},s("h6",null,"Field Settings"),s("form",null,s("verdocs-select-input",{label:"Recipient",options:[{label:"Buyer",value:"Buyer"},{label:"Seller",value:"Seller"}],onChange:e=>{console.log("select changed",e)}}),s("verdocs-text-input",{label:"Field Name",value:"",placeholder:"Stored field name...",onInput:e=>console.log("ipt",e)}),s("verdocs-text-input",{label:"Placeholder",value:"",placeholder:"Placeholder text...",onInput:e=>console.log("ipt",e)}))))}};n.style=r;export{n as verdocs_field_textarea};
|
|
2
|
+
//# sourceMappingURL=p-ffff808d.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["src/components/elements/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/elements/verdocs-field-textarea/verdocs-field-textarea.tsx"],"names":["verdocsFieldTextareaCss","settingsIcon","VerdocsFieldTextarea","[object Object]","this","focused","el","focus","fieldFocus","emit","fieldBlur","e","fieldChange","target","value","fieldInput","settings","getFieldSettings","field","disabled","_b","_a","backgroundColor","getRGBA","roleindex","h","Host","class","required","style","placeholder","tabIndex","order","ref","onBlur","handleBlur","onFocus","handleFocus","onChange","handleChange","onInput","handleInput","editable","icon","label","options","console","log"],"mappings":"iIAAA,MAAMA,EAA0B,2yBCMhC,MAAMC,EACJ,+rCAUWC,EAAoB,sMAMyB,4CAU3B,oBAMA,oBAKA,qBA2BA,eAEV,MAETC,mBACRC,KAAKC,QAAU,KACfD,KAAKE,GAAGC,QACRH,KAAKI,WAAWC,KAAK,MAGvBN,aACEC,KAAKC,QAAU,MACfD,KAAKM,UAAUD,KAAK,MAGtBN,cACEC,KAAKC,QAAU,KACfD,KAAKI,WAAWC,KAAK,MAGvBN,aAAaQ,GACXP,KAAKQ,YAAYH,KAAKE,EAAEE,OAAOC,OAGjCX,YAAYQ,GACVP,KAAKW,WAAWN,KAAKE,EAAEE,OAAOC,OAGhCX,iBACE,MAAMa,EAAWC,EAAiBb,KAAKc,OACvC,MAAMC,GAAWC,GAAAC,EAAAjB,KAAKe,YAAQ,MAAAE,SAAA,EAAAA,EAAIL,EAASG,YAAQ,MAAAC,SAAA,EAAAA,EAAI,MACvD,MAAME,EAAkBlB,KAAKc,MAAM,SAAWK,EAAQnB,KAAKoB,WAE3D,OACEC,EAACC,EAAI,CAACC,MAAO,CAACtB,QAASD,KAAKC,QAASuB,SAAUZ,EAASY,SAAUT,SAAAA,GAAWU,MAAO,CAACP,gBAAAA,IACnFG,EAAA,WAAA,CACEK,YAAad,EAASc,aAAe,GACrCC,SAAUf,EAASgB,MACnBlB,MAAOE,EAASF,MAChBK,SAAUA,EACVS,SAAUZ,EAASY,SACnBK,IAAK3B,GAAOF,KAAKE,GAAKA,EACtB4B,OAAQ,IAAM9B,KAAK+B,aACnBC,QAAS,IAAMhC,KAAKiC,cACpBC,SAAU3B,GAAKP,KAAKmC,aAAa5B,GACjC6B,QAAS7B,GAAKP,KAAKqC,YAAY9B,KAGhCP,KAAKsC,UACJjB,EAAA,uBAAA,CAAsBkB,KAAM1C,GAC1BwB,EAAA,KAAA,KAAA,kBACAA,EAAA,OAAA,KACEA,EAAA,uBAAA,CACEmB,MAAM,YACNC,QAAS,CACP,CAACD,MAAO,QAAS9B,MAAO,SACxB,CAAC8B,MAAO,SAAU9B,MAAO,WAE3BwB,SAAU3B,IACRmC,QAAQC,IAAI,iBAAkBpC,MAIlCc,EAAA,qBAAA,CAAoBmB,MAAM,aAAa9B,MAAM,GAAGgB,YAAY,uBAAuBU,QAAS7B,GAAKmC,QAAQC,IAAI,MAAOpC,KACpHc,EAAA,qBAAA,CAAoBmB,MAAM,cAAc9B,MAAM,GAAGgB,YAAY,sBAAsBU,QAAS7B,GAAKmC,QAAQC,IAAI,MAAOpC","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 onChange={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"]}
|