/*! elementor-pro - v3.28.0 - 30-03-2025 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["woocommerce-checkout-page"],{ /***/ "../modules/woocommerce/assets/js/frontend/handlers/base.js": /*!******************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/base.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Base extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { stickyRightColumn: '.e-sticky-right-column' }, classes: { stickyRightColumnActive: 'e-sticky-right-column--active' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $stickyRightColumn: this.$element.find(selectors.stickyRightColumn) }; } bindEvents() { // Add our wrapper class around the select2 whenever it is opened. elementorFrontend.elements.$document.on('select2:open', event => { this.addSelect2Wrapper(event); }); } addSelect2Wrapper(event) { // The select element is recaptured every time because the markup can refresh const selectElement = jQuery(event.target).data('select2'); if (selectElement.$dropdown) { selectElement.$dropdown.addClass('e-woo-select2-wrapper'); } } isStickyRightColumnActive() { const classes = this.getSettings('classes'); return this.elements.$stickyRightColumn.hasClass(classes.stickyRightColumnActive); } activateStickyRightColumn() { const elementSettings = this.getElementSettings(), $wpAdminBar = elementorFrontend.elements.$wpAdminBar, classes = this.getSettings('classes'); let stickyOptionsOffset = elementSettings.sticky_right_column_offset || 0; if ($wpAdminBar.length && 'fixed' === $wpAdminBar.css('position')) { stickyOptionsOffset += $wpAdminBar.height(); } if ('yes' === this.getElementSettings('sticky_right_column')) { this.elements.$stickyRightColumn.addClass(classes.stickyRightColumnActive); this.elements.$stickyRightColumn.css('top', stickyOptionsOffset + 'px'); } } deactivateStickyRightColumn() { if (!this.isStickyRightColumnActive()) { return; } const classes = this.getSettings('classes'); this.elements.$stickyRightColumn.removeClass(classes.stickyRightColumnActive); } /** * Activates the sticky column * * @return {void} */ toggleStickyRightColumn() { if (!this.getElementSettings('sticky_right_column')) { this.deactivateStickyRightColumn(); return; } if (!this.isStickyRightColumnActive()) { this.activateStickyRightColumn(); } } equalizeElementHeight($element) { if ($element.length) { $element.removeAttr('style'); // First remove the custom height we added so that the new height can be re-calculated according to the content let maxHeight = 0; $element.each((index, element) => { maxHeight = Math.max(maxHeight, element.offsetHeight); }); if (0 < maxHeight) { $element.css({ height: maxHeight + 'px' }); } } } /** * WooCommerce prints the Purchase Note separated from the product name by a border and padding. * In Elementor's Order Summary design, the product name and purchase note are displayed un-separated. * To achieve this design, it is necessary to access the Product Name line before the Purchase Note line to adjust * its padding. Since this cannot be achieved in CSS, it is done in this method. * * @param {Object} $element * * @return {void} */ removePaddingBetweenPurchaseNote($element) { if ($element) { $element.each((index, element) => { jQuery(element).prev().children('td').addClass('product-purchase-note-is-below'); }); } } /** * `elementorPageId` and `elementorWidgetId` are added to the url in the `_wp_http_referer` input which is then * received when WooCommerce does its cart and checkout ajax requests e.g `update_order_review` and `update_cart`. * These query strings are extracted from the url and used in our `load_widget_before_wc_ajax` method. */ updateWpReferers() { const selectors = this.getSettings('selectors'), wpHttpRefererInputs = this.$element.find(selectors.wpHttpRefererInputs), url = new URL(document.location); url.searchParams.set('elementorPageId', elementorFrontend.config.post.id); url.searchParams.set('elementorWidgetId', this.getID()); wpHttpRefererInputs.attr('value', url); } } exports["default"] = Base; /***/ }), /***/ "../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js": /*!***************************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../modules/woocommerce/assets/js/frontend/handlers/base.js")); class Checkout extends _base.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(...arguments); return { selectors: { ...defaultSettings.selectors, container: '.elementor-widget-woocommerce-checkout-page', loginForm: '.e-woocommerce-login-anchor', loginSubmit: '.e-woocommerce-form-login-submit', loginSection: '.e-woocommerce-login-section', showCouponForm: '.e-show-coupon-form', couponSection: '.e-coupon-anchor', showLoginForm: '.e-show-login', applyCoupon: '.e-apply-coupon', checkoutForm: 'form.woocommerce-checkout', couponBox: '.e-coupon-box', address: 'address', wpHttpRefererInputs: '[name="_wp_http_referer"]' }, classes: defaultSettings.classes, ajaxUrl: elementorProFrontend.config.ajaxurl }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { ...super.getDefaultElements(...arguments), $container: this.$element.find(selectors.container), $loginForm: this.$element.find(selectors.loginForm), $showCouponForm: this.$element.find(selectors.showCouponForm), $couponSection: this.$element.find(selectors.couponSection), $showLoginForm: this.$element.find(selectors.showLoginForm), $applyCoupon: this.$element.find(selectors.applyCoupon), $loginSubmit: this.$element.find(selectors.loginSubmit), $couponBox: this.$element.find(selectors.couponBox), $checkoutForm: this.$element.find(selectors.checkoutForm), $loginSection: this.$element.find(selectors.loginSection), $address: this.$element.find(selectors.address) }; } bindEvents() { super.bindEvents(...arguments); this.elements.$showCouponForm.on('click', event => { event.preventDefault(); this.elements.$couponSection.slideToggle(); }); this.elements.$showLoginForm.on('click', event => { event.preventDefault(); this.elements.$loginForm.slideToggle(); }); this.elements.$applyCoupon.on('click', event => { event.preventDefault(); this.applyCoupon(); }); this.elements.$loginSubmit.on('click', event => { event.preventDefault(); this.loginUser(); }); elementorFrontend.elements.$body.on('updated_checkout', () => { this.applyPurchaseButtonHoverAnimation(); this.updateWpReferers(); }); } onInit() { super.onInit(...arguments); this.toggleStickyRightColumn(); this.updateWpReferers(); this.equalizeElementHeight(this.elements.$address); // Equalize
boxes height if (elementorFrontend.isEditMode()) { this.elements.$loginForm.show(); this.elements.$couponSection.show(); this.applyPurchaseButtonHoverAnimation(); } } onElementChange(propertyName) { if ('sticky_right_column' === propertyName) { this.toggleStickyRightColumn(); } } onDestroy() { super.onDestroy(...arguments); this.deactivateStickyRightColumn(); } applyPurchaseButtonHoverAnimation() { const purchaseButtonHoverAnimation = this.getElementSettings('purchase_button_hover_animation'); if (purchaseButtonHoverAnimation) { // This element is recaptured every time because the checkout markup can refresh jQuery('#place_order').addClass('elementor-animation-' + purchaseButtonHoverAnimation); } } applyCoupon() { // Wc_checkout_params is required to continue, ensure the object exists // eslint-disable-next-line camelcase if (!wc_checkout_params) { return; } this.startProcessing(this.elements.$couponBox); const data = { // eslint-disable-next-line camelcase security: wc_checkout_params.apply_coupon_nonce, coupon_code: this.elements.$couponBox.find('input[name="coupon_code"]').val() }; jQuery.ajax({ type: 'POST', // eslint-disable-next-line camelcase url: wc_checkout_params.wc_ajax_url.toString().replace('%%endpoint%%', 'apply_coupon'), context: this, data, success(code) { jQuery('.woocommerce-error, .woocommerce-message').remove(); this.elements.$couponBox.removeClass('processing').unblock(); if (code.includes('woocommerce-error') || code.includes('does not exist')) { jQuery('html, body').animate({ scrollTop: 0 }, 'fast'); } if (code) { this.elements.$checkoutForm.before(code); this.elements.$couponSection.slideUp(); elementorFrontend.elements.$body.trigger('applied_coupon_in_checkout', [data.coupon_code]); elementorFrontend.elements.$body.trigger('update_checkout', { update_shipping_method: false }); } }, dataType: 'html' }); } loginUser() { this.startProcessing(this.elements.$loginSection); const data = { action: 'elementor_woocommerce_checkout_login_user', username: this.elements.$loginSection.find('input[name="username"]').val(), password: this.elements.$loginSection.find('input[name="password"]').val(), nonce: this.elements.$loginSection.find('input[name="woocommerce-login-nonce"]').val(), remember: this.elements.$loginSection.find('input#rememberme').prop('checked') }; jQuery.ajax({ type: 'POST', url: this.getSettings('ajaxUrl'), context: this, data, success(code) { code = JSON.parse(code); this.elements.$loginSection.removeClass('processing').unblock(); const messages = jQuery('.woocommerce-error, .woocommerce-message'); messages.remove(); if (code.logged_in) { location.reload(); } else { this.elements.$checkoutForm.before(code.message); elementorFrontend.elements.$body.trigger('checkout_error', [code.message]); } } }); } startProcessing($form) { if ($form.is('.processing')) { return; } /** * .block() is from a jQuery blockUI plugin loaded by WooCommerce. This code is based on WooCommerce * core in order for the Checkout widget to behave the same as WooCommerce Checkout pages. */ $form.addClass('processing').block({ message: null, overlayCSS: { background: '#fff', opacity: 0.6 } }); } } exports["default"] = Checkout; /***/ }) }]); //# sourceMappingURL=woocommerce-checkout-page.470384546c61ebcaa89d.bundle.js.map Verifica compatibilidad con casino referente a vivo, limites y esencia sobre bonos en guardar – InfoNile
skip to Main Content

Verifica compatibilidad con casino referente a vivo, limites y esencia sobre bonos en guardar

En caso de que buscas velocidad y dominacion del agitar tu banca, recolectar con Astropay seri�a de lo mas profusamente sencillo http://www.megapari-casino.net/es/bono-sin-deposito/ cual provee en seguida una manufactura de el esparcimiento en internet. Los bonos sobre recibo podrian multiplicar tu saldo por nuestro inicial deposito, y no ha transpirado joviales tu cuenta de Astropay todo llegan a convertirse en focos de luces valida acerca de segundos. Posteriormente, separado quedaria escoger los superiores casinos conforme tu moda y estructurar las ganancias con Astropay en sintonia para el resto de posibilidades de el cirujano (bonos, retiros compatibles, demostracion, etc.). Joviales Astropay referente a casinos en linea el transcurso seri�a adecuado desplazandolo hacia el pelo anonima, porque nunca compartes numeros de banco utilizando cirujano. Destacan para la patologi�a del tunel carpiano decision, respaldada por DGOJ, celeridad referente a pagos, catalogos diversos, promociones competitivas desplazandolo hacia el pelo plataformas estables que dan garanti�a de seguridad desplazandolo hacia el pelo vivencia fluida.

Las casinos que aceptan AstroPay posibilitan efectuar depositos y retiros sobre forma segura y efectivo. A nivel internacional, incluyo actual acerca de los mercados latinoamericanos y no ha transpirado asiaticos, y no ha transpirado en la mayoria para los sitios europeos, por lo cual bastantes casinos de nuestra causa sobre datos aceptan retribucion con AstroPay. AstroPay es una cartulina virtual sobre prepago asi� como cartera en linea concebida de efectuar adquisiciones online rapido y segura. Es invierno trato se encuentre creciendo sobre popularidad, dando a los jugadores una alternativa preferiblemente a los metodos de pago mayormente tradicionales. Lo cual quiere decir cual los jugadores podran entrar a las juegos agil y no ha transpirado carente demoras, lo cual mejoramiento significativamente el test sobre juego en linea.

BetAlice os liberacion un bono sobre recepcion excesivamente tocho y no ha transpirado nuestro rollover seri�a asumible, nunca os ralla. Aca podras ver cuales son las superiores casino online de bonos, apps moviles desplazandolo hacia el pelo estrategias de remuneracion. Una demostracion fue rapida asi� como explican nuestro bono de recepcion casino online desprovisto trampas. El onboarding seri�a naturalmente, falto lios, y no ha transpirado las tuercas, tornillos y bicicletas sobre juego responsable podemos ver comodo del cuenta.

Los comisiones de AstroPay oscilan conforme el modelo de transaccion y no ha transpirado la franja del cliente

Igualmente, bastantes casinos que aceptan Astropay brindan promociones exclusivas de los personas que tienen preferencia este aparato, lo que incorpora cualquier encanto adicional. Levante sistema de remuneracion hemos especial por el habilidad para proteger las puntos personales y financieros, permitiendo transacciones instantaneas carente una urgencia de compartir documentacion bancaria sensible. Ve an una division sobre �Deposito biens� o �Cajero� del casino, selecciona Astropay como su doctrina sobre pago preferido. Aquellos casinos nunca unico deben una disparidad sobre bonificaciones para utilizar Astropay, sino igualmente caracteristicas de uso claras con el fin de maximizar su habilidad sobre esparcimiento Este metodo de paga se ha asentado para la patologi�a del tunel carpiano habilidad de defender los textos financieros y garantizar transacciones rapidas.

La mayor parte de operadores engancha depositos primeros dentro de �11 desplazandolo hacia el pelo �treinta con el fin de AstroPay

Nunca sustituye a algun monedero online integro ni a la postal de compromiso convencional, no obstante es perfecto igual que �grifo de introduccion� dentro del mundo de el entretenimiento online. Seri�a rapido, discreto, comodo sobre utilizar desplazandolo hacia el pelo esta disponible sobre con una na? sobre casinos. AstroPay hemos ganado su puesto entre los metodos sobre paga preferidos para los jugadores online acerca de Espana, asi� como no es azar.

AstroPay si no le importa hacerse amiga de la grasa establecio inicialmente para leer mercados emergentes en donde las posibilidades sobre paga on line eran limitadas. Algunas de plataformas utiliza documentos sobre personalidad y comprobante de directiva. AstroPay opera en acoples la decena sobre naciones, concentrandose especialmente acerca de Latinoamerica desplazandolo hacia el pelo nuestro pueblo europeo.

Me enfocque especialmente referente a su imprenta de slots, la que tiene mecanicas punteras desplazandolo hacia el pelo botes acumulados importantes. En levante casino AstroPay, encontre facilidades de recibo sustanciosos cual inscribiri? activan automaticamente del almacenar en compania de levante metodo de remuneracion. Son que esta familia es una eleccion ideal de el programa competidor polivalente cual valora la celeridad y la variacii?n extrema de mercados. Es uno de los los casinos que aceptan AstroPay en compania de cualquier deposito minusculo sobre apenas 1�, magnnifica para algunos que solicitan experimentar la medio carente peligros. Por por lo tanto, hemos dedicado a investigar asi� como investigar nuestro funcionamiento de los casinos online, las viviendas sobre apuestas desplazandolo hacia el pelo las novedosas tendencias de el sector. Bankonbet incluyo especialmente orientado a las apuestas deportivas, con cualquier casino integrado.

Discussion

Back To Top
Search