/******/ (() => { // webpackBootstrap var __webpack_exports__ = {}; /*!***************************************************************!*\ !*** ./resources/js/clients/payments/checkout-credit-card.js ***! \***************************************************************/ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } /** * Invoice Ninja (https://invoiceninja.com) * * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ var CheckoutCreditCard = /*#__PURE__*/function () { function CheckoutCreditCard() { _classCallCheck(this, CheckoutCreditCard); this.tokens = []; } _createClass(CheckoutCreditCard, [{ key: "mountFrames", value: function mountFrames() { console.log('Mount checkout frames..'); } }, { key: "handlePaymentUsingToken", value: function handlePaymentUsingToken(e) { document.getElementById('checkout--container').classList.add('hidden'); document.getElementById('pay-now-with-token--container').classList.remove('hidden'); document.getElementById('save-card--container').style.display = 'none'; document.querySelector('input[name=token]').value = e.target.dataset.token; } }, { key: "handlePaymentUsingCreditCard", value: function handlePaymentUsingCreditCard(e) { var _document$querySelect; document.getElementById('checkout--container').classList.remove('hidden'); document.getElementById('pay-now-with-token--container').classList.add('hidden'); document.getElementById('save-card--container').style.display = 'grid'; document.querySelector('input[name=token]').value = ''; var payButton = document.getElementById('pay-button'); var publicKey = (_document$querySelect = document.querySelector('meta[name="public-key"]').content) !== null && _document$querySelect !== void 0 ? _document$querySelect : ''; var form = document.getElementById('payment-form'); Frames.init(publicKey); Frames.addEventHandler(Frames.Events.CARD_VALIDATION_CHANGED, function (event) { payButton.disabled = !Frames.isCardValid(); }); Frames.addEventHandler(Frames.Events.CARD_TOKENIZATION_FAILED, function (event) { pay.button.disabled = false; }); Frames.addEventHandler(Frames.Events.CARD_TOKENIZED, function (event) { payButton.disabled = true; document.querySelector('input[name="gateway_response"]').value = JSON.stringify(event); document.querySelector('input[name="store_card"]').value = document.querySelector('input[name=token-billing-checkbox]:checked').value; document.getElementById('server-response').submit(); }); form.addEventListener('submit', function (event) { event.preventDefault(); Frames.submitCard(); }); } }, { key: "completePaymentUsingToken", value: function completePaymentUsingToken(e) { var btn = document.getElementById('pay-now-with-token'); btn.disabled = true; btn.querySelector('svg').classList.remove('hidden'); btn.querySelector('span').classList.add('hidden'); document.getElementById('server-response').submit(); } }, { key: "handle", value: function handle() { var _this = this; this.handlePaymentUsingCreditCard(); Array.from(document.getElementsByClassName('toggle-payment-with-token')).forEach(function (element) { return element.addEventListener('click', _this.handlePaymentUsingToken); }); document.getElementById('toggle-payment-with-credit-card').addEventListener('click', this.handlePaymentUsingCreditCard); document.getElementById('pay-now-with-token').addEventListener('click', this.completePaymentUsingToken); } }]); return CheckoutCreditCard; }(); new CheckoutCreditCard().handle(); /******/ })() ;