@malga-checkout-full/core
Version:
Core components for Malga Checkout Full
266 lines (247 loc) • 29.8 kB
JavaScript
import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host } from './index-637110af.js';
import { Y } from './i18n.es-65ae201e.js';
import { s as state$1, a as state$4 } from './index-3c0a57b9.js';
import { c as createStore, s as state$2 } from './settings-b083bd16.js';
import { s as state$3, a as CustomerCards, M as MalgaPaymentsPixService } from './malga-payments-pix.service-10810724.js';
import './index-dfda0b92.js';
import { c as centsToReal, g as getCardBrand } from './malga-payments-credit-form.utils-8284eb14.js';
import './_commonjsHelpers-ba3f0406.js';
import './clean-text-only-numbers-8dcdf6bd.js';
import './currency-22f5cec5.js';
var SavedCardTypes;
(function (SavedCardTypes) {
SavedCardTypes["ACTIVE"] = "active";
SavedCardTypes["FAILED"] = "failed";
SavedCardTypes["PENDING"] = "pending";
})(SavedCardTypes || (SavedCardTypes = {}));
const { state, onChange } = createStore({
cards: [],
hasCards: false,
});
onChange('cards', (value) => {
state.hasCards =
value.filter((card) => card.status !== SavedCardTypes.FAILED).length > 0;
});
const malgaPaymentsCss = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\"); :root{--malga-checkout-color-page-background:#eef2f6;--malga-checkout-color-brand-accent-light:#79DBD4;--malga-checkout-color-brand-accent-normal:#39BFAD;--malga-checkout-color-brand-clean:#C3F4EF;--malga-checkout-color-brand-light:#79DBD4;--malga-checkout-color-brand-normal:#39BFAD;--malga-checkout-color-brand-middle:#2FAC9B;--malga-checkout-color-brand-dark:#147F70;--malga-checkout-color-grey-light:#666666;--malga-checkout-color-grey-normal:#4D4D4D;--malga-checkout-color-grey-middle:#333333;--malga-checkout-color-grey-dark:#1A1A1A;--malga-checkout-color-grey-darkness:#000000;--malga-checkout-color-accent-light:#ffffff;--malga-checkout-color-accent-normal:#F1F1F1;--malga-checkout-color-accent-middle:#CBCBCB;--malga-checkout-color-warning-light:#FFF8E6;--malga-checkout-color-warning-normal:#F9DF8D;--malga-checkout-color-warning-middle:#FFA400;--malga-checkout-color-modal-success:#00AE42;--malga-checkout-color-modal-error:#ED3A3D;--malga-checkout-color-modal-neutral:#4D4D4D;--malga-checkout-color-modal-action-button-error:#000000;--malga-checkout-color-modal-action-button-error-hover:#333333;--malga-checkout-color-modal-action-button-success:#000000;--malga-checkout-color-modal-action-button-success-hover:#333333;--malga-checkout-color-modal-action-button-success-font-color:#ffffff;--malga-checkout-color-modal-action-button-error-font-color:#ffffff;--malga-checkout-typography-family:\"Inter\", sans-serif;--malga-checkout-spacing-xxs:4px;--malga-checkout-spacing-xs:8px;--malga-checkout-spacing-sm:16px;--malga-checkout-spacing-default:24px;--malga-checkout-spacing-md:32px;--malga-checkout-spacing-lg:48px;--malga-checkout-spacing-xlg:64px;--malga-checkout-spacing-xxlg:96px;--malga-checkout-size-min-width:250px;--malga-checkout-border-radius-default:4px;--malga-checkout-border-radius-md:6px;--malga-checkout-border-radius-lg:20px;--malga-checkout-transition-slow:0.3s;--malga-checkout-transition-default:0.5s}.malga-payments__container{display:flex;width:100%;margin-left:auto;margin-right:auto}.malga-payments__content{display:flex;flex-direction:column;width:100%}.malga-payments__content>checkout-radio-field{margin-bottom:calc( var(--malga-checkout-spacing-xxs) + var(--malga-checkout-spacing-xs) )}.malga-payments__content>malga-payments-boleto>checkout-manual-payment,.malga-payments__content>malga-payments-pix>checkout-manual-payment{margin-bottom:var(--malga-checkout-spacing-sm)}.malga-payments__content>malga-payments-boleto>checkout-manual-payment>checkout-typography,.malga-payments__content>malga-payments-pix>checkout-manual-payment>checkout-typography{padding:0px var(--malga-checkout-spacing-sm)}";
const MalgaPayments = class {
constructor(hostRef) {
registerInstance(this, hostRef);
this.paymentFail = createEvent(this, "paymentFail", 7);
this.paymentMethods = ['credit', 'pix', 'boleto', 'drip'];
this.handlePaymentChange = (value) => {
state$1.selectedPaymentMethod = value;
};
this.showCurrentPaymentMethod = (paymentMethod) => {
const showPaymentMethod = this.paymentMethods.includes(paymentMethod);
return showPaymentMethod;
};
}
renderCreditCardLabel() {
if (state.hasCards) {
return Y('paymentMethods.card.newCardTitle', state$2.locale);
}
return Y('paymentMethods.card.title', state$2.locale);
}
render() {
return (h(Host, { class: { 'malga-payments__container': true } }, h("section", { class: { 'malga-payments__content': true } }, this.showCurrentPaymentMethod('credit') && (h(Fragment, null, state$2.transactionConfig.customerId && (h("malga-payments-credit-saved-cards", null)), h("checkout-radio-field", { fullWidth: true, label: this.renderCreditCardLabel(), value: "credit", isChecked: state$1.selectedPaymentMethod === 'credit', onClicked: () => this.handlePaymentChange('credit') }), state$1.selectedPaymentMethod === 'credit' && (h("malga-payments-credit", null)))), this.showCurrentPaymentMethod('boleto') && (h(Fragment, null, h("checkout-radio-field", { fullWidth: true, label: Y('paymentMethods.boleto.title', state$2.locale), value: "boleto", isChecked: state$1.selectedPaymentMethod === 'boleto', onClicked: () => this.handlePaymentChange('boleto') }), state$1.selectedPaymentMethod === 'boleto' && (h("malga-payments-boleto", null)))), this.showCurrentPaymentMethod('pix') && (h(Fragment, null, h("checkout-radio-field", { fullWidth: true, label: Y('paymentMethods.pix.title', state$2.locale), value: "pix", endIcon: "pix", isChecked: state$1.selectedPaymentMethod === 'pix', onClicked: () => this.handlePaymentChange('pix') }), state$1.selectedPaymentMethod === 'pix' && (h("malga-payments-pix", { onPixPaymentFailed: ({ detail: { error } }) => this.paymentFail.emit({ error }) })))), this.showCurrentPaymentMethod('nupay') && (h(Fragment, null, h("checkout-radio-field", { fullWidth: true, label: Y('paymentMethods.nupay.title', state$2.locale), value: "nupay", endIcon: "nubank", isChecked: state$1.selectedPaymentMethod === 'nupay', onClicked: () => this.handlePaymentChange('nupay') }), state$1.selectedPaymentMethod === 'nupay' && (h("malga-payments-nupay", null)))), this.showCurrentPaymentMethod('drip') && (h(Fragment, null, h("checkout-radio-field", { fullWidth: true, label: Y('paymentMethods.drip.title', state$2.locale), value: "drip", endIcon: "drip", isChecked: state$1.selectedPaymentMethod === 'drip', onClicked: () => this.handlePaymentChange('drip') }), h("malga-payments-drip", null))))));
}
};
MalgaPayments.style = malgaPaymentsCss;
const malgaPaymentsBoletoCss = "";
const MalgaPaymentsBoleto = class {
constructor(hostRef) {
registerInstance(this, hostRef);
this.handleShowDialog = (dialogData) => {
state$3.configs = Object.assign(Object.assign({}, state$3.configs), dialogData);
};
this.handleErrorModalButtonClicked = () => {
this.handleShowDialog({ open: false });
};
this.handleSuccessModalButtonClicked = () => {
if (state$2.dialogConfig.successRedirectUrl) {
location.assign(state$2.dialogConfig.successRedirectUrl);
}
this.handleShowDialog({ open: false });
};
}
render() {
return (h(Host, null, h("checkout-manual-payment", { fullWidth: true, locale: state$2.locale, paymentMethod: "boleto" }), state$2.dialogConfig.show && state$3.configs.open && (h("checkout-modal", { locale: state$2.locale, isSession: !!state$2.sessionId, hasSuccessRedirectUrl: !!state$2.dialogConfig.successRedirectUrl, currency: state$2.transactionConfig.currency, mode: state$3.configs.mode, open: state$3.configs.open, amount: state$3.configs.amount, paymentCode: state$3.configs.paymentCode, paymentImageUrl: state$3.configs.paymentImageUrl, expirationDate: state$3.configs.expirationDate, errorDescription: state$3.configs.errorMessage, actionButtonLabel: state$2.dialogConfig.actionButtonLabel, boletoWaitingPaymentMessage: state$2.dialogConfig.boletoWaitingPaymentMessage, successActionButtonLabel: state$2.dialogConfig.successActionButtonLabel, errorActionButtonLabel: state$2.dialogConfig.errorActionButtonLabel, onSuccessButtonClicked: this.handleSuccessModalButtonClicked, onErrorButtonClicked: this.handleErrorModalButtonClicked }))));
}
};
MalgaPaymentsBoleto.style = malgaPaymentsBoletoCss;
const malgaPaymentsCreditCss = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\"); :root{--malga-checkout-color-page-background:#eef2f6;--malga-checkout-color-brand-accent-light:#79DBD4;--malga-checkout-color-brand-accent-normal:#39BFAD;--malga-checkout-color-brand-clean:#C3F4EF;--malga-checkout-color-brand-light:#79DBD4;--malga-checkout-color-brand-normal:#39BFAD;--malga-checkout-color-brand-middle:#2FAC9B;--malga-checkout-color-brand-dark:#147F70;--malga-checkout-color-grey-light:#666666;--malga-checkout-color-grey-normal:#4D4D4D;--malga-checkout-color-grey-middle:#333333;--malga-checkout-color-grey-dark:#1A1A1A;--malga-checkout-color-grey-darkness:#000000;--malga-checkout-color-accent-light:#ffffff;--malga-checkout-color-accent-normal:#F1F1F1;--malga-checkout-color-accent-middle:#CBCBCB;--malga-checkout-color-warning-light:#FFF8E6;--malga-checkout-color-warning-normal:#F9DF8D;--malga-checkout-color-warning-middle:#FFA400;--malga-checkout-color-modal-success:#00AE42;--malga-checkout-color-modal-error:#ED3A3D;--malga-checkout-color-modal-neutral:#4D4D4D;--malga-checkout-color-modal-action-button-error:#000000;--malga-checkout-color-modal-action-button-error-hover:#333333;--malga-checkout-color-modal-action-button-success:#000000;--malga-checkout-color-modal-action-button-success-hover:#333333;--malga-checkout-color-modal-action-button-success-font-color:#ffffff;--malga-checkout-color-modal-action-button-error-font-color:#ffffff;--malga-checkout-typography-family:\"Inter\", sans-serif;--malga-checkout-spacing-xxs:4px;--malga-checkout-spacing-xs:8px;--malga-checkout-spacing-sm:16px;--malga-checkout-spacing-default:24px;--malga-checkout-spacing-md:32px;--malga-checkout-spacing-lg:48px;--malga-checkout-spacing-xlg:64px;--malga-checkout-spacing-xxlg:96px;--malga-checkout-size-min-width:250px;--malga-checkout-border-radius-default:4px;--malga-checkout-border-radius-md:6px;--malga-checkout-border-radius-lg:20px;--malga-checkout-transition-slow:0.3s;--malga-checkout-transition-default:0.5s}.malga-payments-credit__container{padding:0 var(--malga-checkout-spacing-sm)}";
const MalgaPaymentsCredit = class {
constructor(hostRef) {
registerInstance(this, hostRef);
this.currentFieldFocused = 'cardNumber';
this.handleShowDialog = (dialogData) => {
state$3.configs = Object.assign(Object.assign({}, state$3.configs), dialogData);
};
this.handleSetFocusedField = (field) => {
this.currentFieldFocused = field;
};
this.handleErrorModalButtonClicked = () => {
this.handleShowDialog({ open: false });
};
this.handleSuccessModalButtonClicked = () => {
if (state$2.dialogConfig.successRedirectUrl) {
location.assign(state$2.dialogConfig.successRedirectUrl);
}
this.handleShowDialog({ open: false });
};
}
render() {
return (h(Host, { class: { 'malga-payments-credit__container': true } }, state$2.paymentMethods.credit.showCreditCard && (h("checkout-credit-card", { locale: state$2.locale, focused: this.currentFieldFocused, cvv: state$4.form.cvv, expiry: state$4.form.expirationDate, name: state$4.form.name, number: state$4.form.cardNumber })), h("malga-payments-credit-form", { onCurrentFieldChange: ({ detail: { field } }) => this.handleSetFocusedField(field) }), state$2.dialogConfig.show && state$3.configs.open && (h("checkout-modal", { locale: state$2.locale, isSession: !!state$2.sessionId, hasSuccessRedirectUrl: !!state$2.dialogConfig.successRedirectUrl, currency: state$2.transactionConfig.currency, mode: state$3.configs.mode, open: state$3.configs.open, amount: state$3.configs.amount, errorDescription: state$3.configs.errorMessage, actionButtonLabel: state$2.dialogConfig.actionButtonLabel, successActionButtonLabel: state$2.dialogConfig.successActionButtonLabel, errorActionButtonLabel: state$2.dialogConfig.errorActionButtonLabel, onSuccessButtonClicked: this.handleSuccessModalButtonClicked, onErrorButtonClicked: this.handleErrorModalButtonClicked }))));
}
};
MalgaPaymentsCredit.style = malgaPaymentsCreditCss;
class MalgaPaymentsCreditSavedCardsService {
constructor() {
this.customerCards = new CustomerCards();
}
async listSavedCards() {
try {
const cards = await this.customerCards.list(state$2.transactionConfig.customerId);
state.cards = cards.data;
}
catch (err) {
state.cards = [];
}
}
}
const malgaPaymentsCreditSavedCardsCss = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\"); :root{--malga-checkout-color-page-background:#eef2f6;--malga-checkout-color-brand-accent-light:#79DBD4;--malga-checkout-color-brand-accent-normal:#39BFAD;--malga-checkout-color-brand-clean:#C3F4EF;--malga-checkout-color-brand-light:#79DBD4;--malga-checkout-color-brand-normal:#39BFAD;--malga-checkout-color-brand-middle:#2FAC9B;--malga-checkout-color-brand-dark:#147F70;--malga-checkout-color-grey-light:#666666;--malga-checkout-color-grey-normal:#4D4D4D;--malga-checkout-color-grey-middle:#333333;--malga-checkout-color-grey-dark:#1A1A1A;--malga-checkout-color-grey-darkness:#000000;--malga-checkout-color-accent-light:#ffffff;--malga-checkout-color-accent-normal:#F1F1F1;--malga-checkout-color-accent-middle:#CBCBCB;--malga-checkout-color-warning-light:#FFF8E6;--malga-checkout-color-warning-normal:#F9DF8D;--malga-checkout-color-warning-middle:#FFA400;--malga-checkout-color-modal-success:#00AE42;--malga-checkout-color-modal-error:#ED3A3D;--malga-checkout-color-modal-neutral:#4D4D4D;--malga-checkout-color-modal-action-button-error:#000000;--malga-checkout-color-modal-action-button-error-hover:#333333;--malga-checkout-color-modal-action-button-success:#000000;--malga-checkout-color-modal-action-button-success-hover:#333333;--malga-checkout-color-modal-action-button-success-font-color:#ffffff;--malga-checkout-color-modal-action-button-error-font-color:#ffffff;--malga-checkout-typography-family:\"Inter\", sans-serif;--malga-checkout-spacing-xxs:4px;--malga-checkout-spacing-xs:8px;--malga-checkout-spacing-sm:16px;--malga-checkout-spacing-default:24px;--malga-checkout-spacing-md:32px;--malga-checkout-spacing-lg:48px;--malga-checkout-spacing-xlg:64px;--malga-checkout-spacing-xxlg:96px;--malga-checkout-size-min-width:250px;--malga-checkout-border-radius-default:4px;--malga-checkout-border-radius-md:6px;--malga-checkout-border-radius-lg:20px;--malga-checkout-transition-slow:0.3s;--malga-checkout-transition-default:0.5s}.malga-payments-credit-saved-cards__container{display:block}.malga-payments-credit-saved-cards__card{margin-bottom:calc( var(--malga-checkout-spacing-xxs) + var(--malga-checkout-spacing-xs) )}.malga-payments-credit-saved-cards__card{margin-bottom:calc( var(--malga-checkout-spacing-xxs) + var(--malga-checkout-spacing-xs) )}.malga-payments-credit-saved-cards__content{display:flex;flex-direction:column;padding:var(--malga-checkout-spacing-sm)}.malga-payments-credit-saved-cards__content>checkout-typography>p{font-weight:400;margin-bottom:var(--malga-checkout-spacing-default)}.malga-payments-credit-saved-cards__cvv-container{margin-bottom:8px}";
const MalgaPaymentsCreditSavedCards = class {
constructor(hostRef) {
registerInstance(this, hostRef);
this.handleSelectCard = (value, cardId) => {
state$1.selectedPaymentMethod = value;
state$1.cardId = cardId;
};
this.handleCvvChange = (event) => {
state$1.cvv = event.target.value.trim();
};
this.handleInstallmentsChange = (event) => {
state$1.installments = event.target.value;
};
this.renderInstallmentOptions = () => {
const installmentOptions = Array.from({
length: state$2.paymentMethods.credit.installments.quantity,
}).map((_, index) => {
const currentInstallment = index + 1;
const installmentValue = state$2.transactionConfig.amount / currentInstallment;
return {
label: `${currentInstallment}x ${centsToReal(installmentValue, state$2.transactionConfig.currency)}, ${Y('common.total', state$2.locale)} ${centsToReal(state$2.transactionConfig.amount, state$2.transactionConfig.currency)}`,
value: currentInstallment,
};
});
return installmentOptions;
};
this.fetchSavedCards = () => {
const savedCardsService = new MalgaPaymentsCreditSavedCardsService();
savedCardsService.listSavedCards();
};
this.handleShowDialog = (dialogData) => {
state$3.configs = Object.assign(Object.assign({}, state$3.configs), dialogData);
};
this.handleErrorModalButtonClicked = () => {
this.handleShowDialog({ open: false });
};
this.handleSuccessModalButtonClicked = () => {
if (state$2.dialogConfig.successRedirectUrl) {
location.assign(state$2.dialogConfig.successRedirectUrl);
}
this.handleShowDialog({ open: false });
};
}
componentWillLoad() {
this.fetchSavedCards();
}
renderSavedCards() {
const mappedCards = state.cards
.filter((card) => card.status !== 'failed')
.map((card, index) => {
var _a, _b, _c;
const value = `credit-${index}`;
const isChecked = state$1.selectedPaymentMethod === value;
const validationCvv = state$1.cvv.trim().length && state$1.cvv.trim().length < 3;
const validationInstallments = state$1.installments === 'none';
return (h("div", { class: { 'malga-payments-credit-saved-cards__card': true } }, h("checkout-radio-field", { fullWidth: true, label: `${Y('paymentMethods.card.savedCards.card', state$2.locale)} ${card.last4digits}`, value: value, endIcon: getCardBrand(card.first6digits), isChecked: isChecked, onClicked: () => this.handleSelectCard(value, card.id) }), isChecked && (h("div", { class: { 'malga-payments-credit-saved-cards__content': true } }, h("checkout-typography", { variation: "field", color: "dark", content: Y('paymentMethods.card.savedCards.fields.cvv.description', state$2.locale) }), h("div", { class: {
'malga-payments-credit-saved-cards__cvv-container': true,
} }, h("checkout-text-field", { fullWidth: true, name: "cvv", label: Y('paymentMethods.card.savedCards.fields.cvv.label', state$2.locale), mask: "9999", value: state$1.cvv, onChanged: this.handleCvvChange, inputmode: "numeric", hasValidation: validationCvv, hasError: validationCvv }), !!validationCvv && (h("checkout-error-message", { message: Y('paymentMethods.card.savedCards.fields.cvv.errorMessage', state$2.locale) }))), ((_c = (_b = (_a = state$2.paymentMethods) === null || _a === void 0 ? void 0 : _a.credit) === null || _b === void 0 ? void 0 : _b.installments) === null || _c === void 0 ? void 0 : _c.show) && (h("div", null, h("checkout-select-field", { fullWidth: true, name: "installments", label: Y('paymentMethods.card.savedCards.fields.installments.label', state$2.locale), value: state$1.installments, onChanged: this.handleInstallmentsChange, options: this.renderInstallmentOptions(), hasError: validationInstallments }), !!validationInstallments && (h("checkout-error-message", { message: Y('paymentMethods.card.savedCards.fields.installments.errorMessage', state$2.locale) }))))))));
});
return mappedCards;
}
render() {
return (h(Host, { class: { 'malga-payments-credit-saved-cards__container': true } }, this.renderSavedCards(), state$2.dialogConfig.show && state$3.configs.open && (h("checkout-modal", { locale: state$2.locale, currency: state$2.transactionConfig.currency, mode: state$3.configs.mode, open: state$3.configs.open, amount: state$3.configs.amount, errorDescription: state$3.configs.errorMessage, actionButtonLabel: state$2.dialogConfig.actionButtonLabel, successActionButtonLabel: state$2.dialogConfig.successActionButtonLabel, errorActionButtonLabel: state$2.dialogConfig.errorActionButtonLabel, onSuccessButtonClicked: this.handleSuccessModalButtonClicked, onErrorButtonClicked: this.handleErrorModalButtonClicked }))));
}
};
MalgaPaymentsCreditSavedCards.style = malgaPaymentsCreditSavedCardsCss;
const malgaPaymentsDripCss = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\"); :root{--malga-checkout-color-page-background:#eef2f6;--malga-checkout-color-brand-accent-light:#79DBD4;--malga-checkout-color-brand-accent-normal:#39BFAD;--malga-checkout-color-brand-clean:#C3F4EF;--malga-checkout-color-brand-light:#79DBD4;--malga-checkout-color-brand-normal:#39BFAD;--malga-checkout-color-brand-middle:#2FAC9B;--malga-checkout-color-brand-dark:#147F70;--malga-checkout-color-grey-light:#666666;--malga-checkout-color-grey-normal:#4D4D4D;--malga-checkout-color-grey-middle:#333333;--malga-checkout-color-grey-dark:#1A1A1A;--malga-checkout-color-grey-darkness:#000000;--malga-checkout-color-accent-light:#ffffff;--malga-checkout-color-accent-normal:#F1F1F1;--malga-checkout-color-accent-middle:#CBCBCB;--malga-checkout-color-warning-light:#FFF8E6;--malga-checkout-color-warning-normal:#F9DF8D;--malga-checkout-color-warning-middle:#FFA400;--malga-checkout-color-modal-success:#00AE42;--malga-checkout-color-modal-error:#ED3A3D;--malga-checkout-color-modal-neutral:#4D4D4D;--malga-checkout-color-modal-action-button-error:#000000;--malga-checkout-color-modal-action-button-error-hover:#333333;--malga-checkout-color-modal-action-button-success:#000000;--malga-checkout-color-modal-action-button-success-hover:#333333;--malga-checkout-color-modal-action-button-success-font-color:#ffffff;--malga-checkout-color-modal-action-button-error-font-color:#ffffff;--malga-checkout-typography-family:\"Inter\", sans-serif;--malga-checkout-spacing-xxs:4px;--malga-checkout-spacing-xs:8px;--malga-checkout-spacing-sm:16px;--malga-checkout-spacing-default:24px;--malga-checkout-spacing-md:32px;--malga-checkout-spacing-lg:48px;--malga-checkout-spacing-xlg:64px;--malga-checkout-spacing-xxlg:96px;--malga-checkout-size-min-width:250px;--malga-checkout-border-radius-default:4px;--malga-checkout-border-radius-md:6px;--malga-checkout-border-radius-lg:20px;--malga-checkout-transition-slow:0.3s;--malga-checkout-transition-default:0.5s}.malga-payments-drip__container{display:none;padding:0 var(--malga-checkout-spacing-sm)}.malga-payments-drip__container--selected{display:block}";
const MalgaPaymentsDrip = class {
constructor(hostRef) {
registerInstance(this, hostRef);
this.handleShowDialog = (dialogData) => {
state$3.configs = Object.assign(Object.assign({}, state$3.configs), dialogData);
};
this.handleErrorModalButtonClicked = () => {
this.handleShowDialog({ open: false });
};
}
render() {
return (h(Host, { class: {
'malga-payments-drip__container': true,
'malga-payments-drip__container--selected': state$1.selectedPaymentMethod === 'drip',
} }, h("malga-payments-drip-content", null), !!state$1.paymentUrl && h("malga-payments-drip-iframe", null), state$2.dialogConfig.show && state$3.configs.open && (h("checkout-modal", { locale: state$2.locale, isSession: !!state$2.sessionId, mode: state$3.configs.mode, open: state$3.configs.open, errorDescription: state$3.configs.errorMessage, errorActionButtonLabel: state$2.dialogConfig.errorActionButtonLabel, onErrorButtonClicked: this.handleErrorModalButtonClicked }))));
}
};
MalgaPaymentsDrip.style = malgaPaymentsDripCss;
const malgaPaymentsNupayCss = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\"); :root{--malga-checkout-color-page-background:#eef2f6;--malga-checkout-color-brand-accent-light:#79DBD4;--malga-checkout-color-brand-accent-normal:#39BFAD;--malga-checkout-color-brand-clean:#C3F4EF;--malga-checkout-color-brand-light:#79DBD4;--malga-checkout-color-brand-normal:#39BFAD;--malga-checkout-color-brand-middle:#2FAC9B;--malga-checkout-color-brand-dark:#147F70;--malga-checkout-color-grey-light:#666666;--malga-checkout-color-grey-normal:#4D4D4D;--malga-checkout-color-grey-middle:#333333;--malga-checkout-color-grey-dark:#1A1A1A;--malga-checkout-color-grey-darkness:#000000;--malga-checkout-color-accent-light:#ffffff;--malga-checkout-color-accent-normal:#F1F1F1;--malga-checkout-color-accent-middle:#CBCBCB;--malga-checkout-color-warning-light:#FFF8E6;--malga-checkout-color-warning-normal:#F9DF8D;--malga-checkout-color-warning-middle:#FFA400;--malga-checkout-color-modal-success:#00AE42;--malga-checkout-color-modal-error:#ED3A3D;--malga-checkout-color-modal-neutral:#4D4D4D;--malga-checkout-color-modal-action-button-error:#000000;--malga-checkout-color-modal-action-button-error-hover:#333333;--malga-checkout-color-modal-action-button-success:#000000;--malga-checkout-color-modal-action-button-success-hover:#333333;--malga-checkout-color-modal-action-button-success-font-color:#ffffff;--malga-checkout-color-modal-action-button-error-font-color:#ffffff;--malga-checkout-typography-family:\"Inter\", sans-serif;--malga-checkout-spacing-xxs:4px;--malga-checkout-spacing-xs:8px;--malga-checkout-spacing-sm:16px;--malga-checkout-spacing-default:24px;--malga-checkout-spacing-md:32px;--malga-checkout-spacing-lg:48px;--malga-checkout-spacing-xlg:64px;--malga-checkout-spacing-xxlg:96px;--malga-checkout-size-min-width:250px;--malga-checkout-border-radius-default:4px;--malga-checkout-border-radius-md:6px;--malga-checkout-border-radius-lg:20px;--malga-checkout-transition-slow:0.3s;--malga-checkout-transition-default:0.5s}.malga-payments-nupay__container{display:block;padding:0 var(--malga-checkout-spacing-sm) var(--malga-checkout-spacing-sm) var(--malga-checkout-spacing-sm)}";
const MalgaPaymentsNuPay = class {
constructor(hostRef) {
registerInstance(this, hostRef);
this.handleShowDialog = (dialogData) => {
state$3.configs = Object.assign(Object.assign({}, state$3.configs), dialogData);
};
this.handleErrorModalButtonClicked = () => {
this.handleShowDialog({ open: false });
};
}
render() {
return (h(Host, { class: { 'malga-payments-nupay__container': true } }, h("malga-payments-nupay-content", null), !!state$1.paymentUrl && h("malga-payments-nupay-iframe", null), state$2.dialogConfig.show && state$3.configs.open && (h("checkout-modal", { locale: state$2.locale, isSession: !!state$2.sessionId, mode: state$3.configs.mode, open: state$3.configs.open, amount: state$3.configs.amount, errorDescription: state$3.configs.errorMessage, errorActionButtonLabel: state$2.dialogConfig.errorActionButtonLabel, onErrorButtonClicked: this.handleErrorModalButtonClicked }))));
}
};
MalgaPaymentsNuPay.style = malgaPaymentsNupayCss;
const malgaPaymentsPixCss = "";
const MalgaPaymentsPix = class {
constructor(hostRef) {
registerInstance(this, hostRef);
this.pixPaymentFailed = createEvent(this, "pixPaymentFailed", 7);
this.handleShowDialog = (dialogData) => {
state$3.configs = Object.assign(Object.assign({}, state$3.configs), dialogData);
};
this.checkIfPixIsPaid = async () => {
if (state$2.sessionId)
return;
const pixService = new MalgaPaymentsPixService({
data: state$2.paymentMethods.pix,
onShowDialog: this.handleShowDialog,
onPaymentFailed: (error) => this.pixPaymentFailed.emit({ error }),
});
await pixService.findCharge(state$1.chargeId);
};
this.handleErrorModalButtonClicked = () => {
this.handleShowDialog({ open: false });
};
this.handleSuccessModalButtonClicked = () => {
if (state$2.dialogConfig.successRedirectUrl) {
location.assign(state$2.dialogConfig.successRedirectUrl);
}
this.handleShowDialog({ open: false });
};
}
render() {
return (h(Host, null, h("checkout-manual-payment", { fullWidth: true, locale: state$2.locale, paymentMethod: "pix" }), state$2.dialogConfig.show && state$3.configs.open && (h("checkout-modal", { locale: state$2.locale, isSession: !!state$2.sessionId, hasSuccessRedirectUrl: !!state$2.dialogConfig.successRedirectUrl, currency: state$2.transactionConfig.currency, mode: state$3.configs.mode, open: state$3.configs.open, amount: state$3.configs.amount, paymentCode: state$3.configs.paymentCode, paymentImageUrl: state$3.configs.paymentImageUrl, expirationDate: state$3.configs.expirationDate, expirationTime: state$3.configs.expirationTime, errorTitle: state$3.configs.errorTitle, errorDescription: state$3.configs.errorMessage, successDescription: state$3.configs.successMessage, actionButtonLabel: state$2.dialogConfig.actionButtonLabel, pixImportantMessages: state$2.dialogConfig.pixImportantMessages, pixWaitingPaymentMessage: state$2.dialogConfig.pixWaitingPaymentMessage, pixFilledProgressBarColor: state$2.dialogConfig.pixFilledProgressBarColor, pixEmptyProgressBarColor: state$2.dialogConfig.pixEmptyProgressBarColor, successActionButtonLabel: state$2.dialogConfig.successActionButtonLabel, errorActionButtonLabel: state$2.dialogConfig.errorActionButtonLabel, onPixCountdownIsFinished: this.checkIfPixIsPaid, onSuccessButtonClicked: this.handleSuccessModalButtonClicked, onErrorButtonClicked: this.handleErrorModalButtonClicked }))));
}
};
MalgaPaymentsPix.style = malgaPaymentsPixCss;
export { MalgaPayments as malga_payments, MalgaPaymentsBoleto as malga_payments_boleto, MalgaPaymentsCredit as malga_payments_credit, MalgaPaymentsCreditSavedCards as malga_payments_credit_saved_cards, MalgaPaymentsDrip as malga_payments_drip, MalgaPaymentsNuPay as malga_payments_nupay, MalgaPaymentsPix as malga_payments_pix };