import { h } from "@stencil/core";
import { DefaultEndpoint } from "../../../utils/Environment";
/**
 * Delegate signing responsibility to another recipient.
 */
export class VerdocsDelegateDialog {
    constructor() {
        /**
         * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.
         */
        this.endpoint = DefaultEndpoint;
        /**
         * The envelope to process.
         */
        this.envelope = null;
        this.first_name = '';
        this.last_name = '';
        this.email = '';
        this.phone = '';
        this.message = '';
    }
    handleCancel() {
        this.exit.emit();
    }
    // We need a separate event handler for clicking the background because it can receive events "through" other child components
    handleDismiss(e) {
        if (e.target.class === 'background-overlay') {
            e.preventDefault();
            this.handleCancel();
        }
    }
    // We need a separate event handler for clicking the background because it can receive events "through" other child components
    handleDelegate() {
        this.next.emit({
            first_name: this.first_name,
            last_name: this.last_name,
            email: this.email,
            phone: this.phone,
            message: this.message,
        });
    }
    render() {
        return (h("verdocs-dialog", { key: '39860dabffeb4922c0ab466408e6a4ccf9ab136d' }, h("div", { key: 'c66abcbd720eebc64d37c0761fb43dfa847de344', slot: "heading", class: "heading" }, h("div", { key: '85b8f329483579a6f462ca3a1701c1dc2f072c8b', class: "icon" }, h("svg", { key: '4ea0b7e46c2cc13eccad3f46055c296b45224b40', width: "22", height: "19", viewBox: "0 0 22 19", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("g", { key: 'e60c4c7e7b3dd88a084ba513b1ccb151ccd9a288', "clip-path": "url(#clip0_34208_4881)" }, h("path", { key: 'a0a39b40f24b3908d0d4dce22b2fbfd1215d3619', d: "M3.125 0.75C1.88398 0.75 0.875 1.75898 0.875 3V16.5C0.875 17.741 1.88398 18.75 3.125 18.75H12.125C13.366 18.75 14.375 17.741 14.375 16.5V15.8215C14.2801 15.8602 14.1852 15.8918 14.0867 15.9164L11.9738 16.4437C11.8684 16.4684 11.7629 16.4859 11.6574 16.493C11.6258 16.4965 11.5941 16.5 11.5625 16.5H9.3125C9.09805 16.5 8.90469 16.3805 8.80977 16.1906L8.50039 15.5684C8.44062 15.4488 8.32109 15.375 8.19102 15.375C8.06094 15.375 7.93789 15.4488 7.88164 15.5684L7.57227 16.1906C7.47031 16.398 7.24883 16.5211 7.02031 16.5C6.7918 16.4789 6.59492 16.3207 6.53164 16.1027L5.9375 14.1445L5.59297 15.2977C5.37852 16.0113 4.72109 16.5 3.97578 16.5H3.6875C3.37812 16.5 3.125 16.2469 3.125 15.9375C3.125 15.6281 3.37812 15.375 3.6875 15.375H3.97578C4.22539 15.375 4.44336 15.2133 4.51367 14.9742L5.0375 13.234C5.15703 12.8367 5.52266 12.5625 5.9375 12.5625C6.35234 12.5625 6.71797 12.8367 6.8375 13.234L7.24531 14.591C7.50547 14.373 7.83594 14.25 8.1875 14.25C8.74648 14.25 9.25625 14.5664 9.50586 15.0656L9.66055 15.375H9.97344C9.86445 15.0656 9.84336 14.7281 9.92422 14.3977L10.4516 12.2848C10.55 11.8875 10.7539 11.5289 11.0422 11.2406L14.375 7.90781V6.375H9.875C9.25273 6.375 8.75 5.87227 8.75 5.25V0.75H3.125ZM9.875 0.75V5.25H14.375L9.875 0.75ZM20.2039 5.66133C19.6555 5.11289 18.766 5.11289 18.2141 5.66133L17.1805 6.69492L19.6766 9.19102L20.7102 8.15742C21.2586 7.60898 21.2586 6.71953 20.7102 6.16758L20.2039 5.66133ZM11.8402 12.0352C11.6961 12.1793 11.5941 12.3586 11.5449 12.559L11.0176 14.6719C10.9684 14.8652 11.0246 15.0656 11.1652 15.2063C11.3059 15.3469 11.5062 15.4031 11.6996 15.3539L13.8125 14.8266C14.0094 14.7773 14.1922 14.6754 14.3363 14.5312L18.8785 9.98555L16.3824 7.48945L11.8402 12.0352Z", fill: "white" })), h("defs", { key: 'ac70a28a3eb04fa375a9c78f5fbee09eca4712bf' }, h("clipPath", { key: '6a8bc61fc2b37b783e2e50ee6ee806492c1ef0d9', id: "clip0_34208_4881" }, h("path", { key: 'f6145b87c93bba79f72bce64aa76062428af6979', d: "M0.875 0.75H21.125V18.75H0.875V0.75Z", fill: "white" }))))), h("div", { key: 'af3930af2329a4d82a3ebcd4074c4d637441c01c', class: "title" }, "Delegate \"", this.envelope.name, "\"")), h("div", { key: 'db31ad033d13a146d93695e9967b8a274678e690', slot: "content", class: "content" }, h("div", { key: '23890389b11bd30af2a29863edafddbc512117e1', class: "input names" }, h("label", { key: 'e81c456ea0dc713dfa484806356a87a9d8556cbc', htmlFor: "verdocs-delegate-email" }, "New Recipient:"), h("input", { key: '1d2c6428642bead152ab8d9c937a8b8abbdac57a', type: "text", id: "verdocs-delegate-first", name: "verdocs-delegate-first", autocomplete: "blocked", placeholder: "First name...", value: this.first_name, onInput: (e) => (this.first_name = e.target.value) }), h("input", { key: '08ee990ab418bacde6029cc5647d78cd7e82ad7a', type: "text", id: "verdocs-delegate-last", name: "verdocs-delegate-last", autocomplete: "blocked", placeholder: "Last name...", value: this.last_name, onInput: (e) => (this.last_name = e.target.value) })), h("div", { key: '6ce32e8f414e2a95932c062e8d7c81f025223e99', class: "input" }, h("label", { key: '87086794a6f81830ab2ceff64acaa1cd2b623119', htmlFor: "verdocs-delegate-email" }, "Email Address:"), h("input", { key: '7ecb46016341e60818c5e128a7fa7b66d4cf00e0', type: "text", id: "verdocs-delegate-email", name: "verdocs-delegate-email", autocomplete: "blocked", placeholder: "New recipient email address...", value: this.email, onInput: (e) => (this.email = e.target.value) })), h("div", { key: '5e656d76ab2d8ffd8b7d6c6f1f1874753c9e318c', class: "input" }, h("label", { key: '9af237c08cbe45d284a2df99751ae2cb5f12c5f0', htmlFor: "verdocs-delegate-phone" }, "Phone:"), h("input", { key: '29836ba455ce5f8ace555261d353146bccf4d9ab', type: "text", id: "verdocs-delegate-phone", name: "verdocs-delegate-phone", autocomplete: "blocked", placeholder: "Optional phone number...", value: this.phone, onInput: (e) => (this.phone = e.target.value) })), h("div", { key: 'ff342c3974099945f8c537467959b68eb22217c5', class: "input" }, h("label", { key: 'dd32b5183fcb6520d1a46da597c4f034d7ea61a0', htmlFor: "verdocs-delegate-email" }, "Message:"), h("textarea", { key: '1b9a78c0859d2fe46439e5ffef2edbc3fa60ef2f', id: "verdocs-delegate-message", name: "verdocs-delegate-message", rows: 3, autocomplete: "blocked", placeholder: "Optional message to include in the invitation...", onInput: (e) => (this.message = e.target.value) }, this.message))), h("div", { key: '1aa10dfacbf308af0d4ed124d20fb716795866c2', class: "footer", slot: "footer" }, h("div", { key: '988a3dc6b6608f5382c508a381f46d7acd182369', class: "buttons" }, h("button", { key: '50dac298ad7e99dbddbe5f9f3803c8c2a4d1e6b5', class: "cancel", onClick: () => this.handleCancel() }, "Cancel"), h("button", { key: 'e61b9dcb6edd54e4beb45f21ce866ffff017dcff', class: "proceed", onClick: () => this.handleDelegate(), disabled: !this.first_name || !this.last_name || !this.email }, "Proceed")))));
    }
    static get is() { return "verdocs-delegate-dialog"; }
    static get originalStyleUrls() {
        return {
            "$": ["verdocs-delegate-dialog.scss"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["verdocs-delegate-dialog.css"]
        };
    }
    static get properties() {
        return {
            "endpoint": {
                "type": "unknown",
                "mutable": true,
                "complexType": {
                    "original": "VerdocsEndpoint",
                    "resolved": "VerdocsEndpoint",
                    "references": {
                        "VerdocsEndpoint": {
                            "location": "import",
                            "path": "@verdocs/js-sdk",
                            "id": "node_modules::VerdocsEndpoint"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used."
                },
                "getter": false,
                "setter": false,
                "defaultValue": "DefaultEndpoint"
            },
            "envelope": {
                "type": "unknown",
                "mutable": false,
                "complexType": {
                    "original": "IEnvelope | null",
                    "resolved": "IEnvelope",
                    "references": {
                        "IEnvelope": {
                            "location": "import",
                            "path": "@verdocs/js-sdk",
                            "id": "node_modules::IEnvelope"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "The envelope to process."
                },
                "getter": false,
                "setter": false,
                "defaultValue": "null"
            }
        };
    }
    static get states() {
        return {
            "first_name": {},
            "last_name": {},
            "email": {},
            "phone": {},
            "message": {}
        };
    }
    static get events() {
        return [{
                "method": "exit",
                "name": "exit",
                "bubbles": true,
                "cancelable": true,
                "composed": true,
                "docs": {
                    "tags": [],
                    "text": "Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name."
                },
                "complexType": {
                    "original": "any",
                    "resolved": "any",
                    "references": {}
                }
            }, {
                "method": "next",
                "name": "next",
                "bubbles": true,
                "cancelable": true,
                "composed": true,
                "docs": {
                    "tags": [],
                    "text": "Event fired when the process has completed successfully."
                },
                "complexType": {
                    "original": "{first_name: string; last_name: string; email: string; phone: string; message: string}",
                    "resolved": "{ first_name: string; last_name: string; email: string; phone: string; message: string; }",
                    "references": {}
                }
            }];
    }
}
//# sourceMappingURL=verdocs-delegate-dialog.js.map
