import { p as proxyCustomElement, H, h, f as forceUpdate } from './p-3b962989.js';
import { D as DataTestIdsEnum } from './p-6e09b0ac.js';
import { E as EventBus } from './p-9d530225.js';
import { d as defineCustomElement$2 } from './p-499bc1e6.js';

// types here need to be synced with the types in sdk-dapp-core pendingTransactions.types.ts
var PendingTransactionsEventsEnum;
(function (PendingTransactionsEventsEnum) {
    PendingTransactionsEventsEnum["CLOSE"] = "CLOSE";
    PendingTransactionsEventsEnum["DATA_UPDATE"] = "DATA_UPDATE";
})(PendingTransactionsEventsEnum || (PendingTransactionsEventsEnum = {}));

const pendingTransactionsModalCss = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.flex{display:flex}.border{border-width:1px}.modal-body{align-items:center;display:flex;justify-content:center;padding:16px}.close-button{background-color:#343a40;border:1px solid transparent;border-radius:.25rem;color:#fff;cursor:pointer;padding:.375rem .75rem}.static{position:static}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";
const PendingTransactionsModalStyle0 = pendingTransactionsModalCss;

const PendingTransactionstModal = /*@__PURE__*/ proxyCustomElement(class PendingTransactionstModal extends H {
    constructor() {
        super();
        this.__registerHost();
        this.__attachShadow();
        this.eventBus = new EventBus();
        this.data = {
            isPending: false,
            title: '',
            subtitle: '',
        };
    }
    async getEventBus() {
        return this.eventBus;
    }
    render() {
        return (h("generic-modal", { key: '6b0d0c0baf8fb0e5d5ee1ea5306f3d0b0d609048', modalTitle: h("div", { "data-testid": DataTestIdsEnum.pendingTransactionsTitle }, this.data.title), modalSubtitle: h("div", { "data-testid": DataTestIdsEnum.pendingTransactionsSubtitle }, this.data.subtitle), onClose: () => this.close(), body: h("div", { class: "modal-body" }, h("button", { class: "close-button", onClick: () => this.close() }, "Close")) }));
    }
    close(props = { isUserClick: true }) {
        if (props.isUserClick) {
            this.eventBus.publish(PendingTransactionsEventsEnum.CLOSE);
        }
        if (this.hostElement && this.hostElement.parentNode) {
            this.hostElement.parentNode.removeChild(this.hostElement);
        }
    }
    dataUpdate(payload) {
        if (payload.shouldClose) {
            return this.close({ isUserClick: false });
        }
        this.data = Object.assign({}, payload);
        forceUpdate(this);
    }
    componentDidLoad() {
        this.eventBus.subscribe(PendingTransactionsEventsEnum.DATA_UPDATE, this.dataUpdate.bind(this));
    }
    disconnectedCallback() {
        this.eventBus.unsubscribe(PendingTransactionsEventsEnum.DATA_UPDATE, this.dataUpdate.bind(this));
    }
    get hostElement() { return this; }
    static get style() { return PendingTransactionsModalStyle0; }
}, [1, "pending-transactions-modal", {
        "data": [16],
        "getEventBus": [64]
    }]);
function defineCustomElement$1() {
    if (typeof customElements === "undefined") {
        return;
    }
    const components = ["pending-transactions-modal", "generic-modal"];
    components.forEach(tagName => { switch (tagName) {
        case "pending-transactions-modal":
            if (!customElements.get(tagName)) {
                customElements.define(tagName, PendingTransactionstModal);
            }
            break;
        case "generic-modal":
            if (!customElements.get(tagName)) {
                defineCustomElement$2();
            }
            break;
    } });
}

const PendingTransactionsModal = PendingTransactionstModal;
const defineCustomElement = defineCustomElement$1;

export { PendingTransactionsModal, defineCustomElement };

//# sourceMappingURL=pending-transactions-modal.js.map