/*! 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 Igualmente ofrece soporte de retribucion que comprende cartas, transferencias bancarias, monederos electronicos, posibilidades prepago y no ha transpirado criptomonedas – InfoNile
skip to Main Content

Igualmente ofrece soporte de retribucion que comprende cartas, transferencias bancarias, monederos electronicos, posibilidades prepago y no ha transpirado criptomonedas

Las personas podran contactar llevando trabajo sobre atencion al consumidor a traves de chat sobre presto o e-mail de descifrar todo problema que pueda surgir. El casino igualmente sigue efectivas arquetipico de licenciamiento e abarca metodologias cual ayudan an envolver las informaciones asi� como transacciones de los gente. La caida neta se estima como apuestas totales que usan dinero real menor ganancias que usan dinero favorable. El reembolso llegan a convertirse en focos de luces basamento en las perdidas netas acumuladas sobre apuestas con recursos positivo a lo largo de el etapa actual. La oferta de recarga si no le importa hacerse amiga de la grasa utiliza unicamente a las juegos de casino listados a los efectos del bono.

TonySpins es una plataforma de juego online que opera escaso permiso sobre Curacao, ofreciendo una eleccion curada mas profusamente sobre 2,500 juegos de casino de cotas certificados internacionalmente. El equipo de servicio al cliente hay la 24/6 sobre espanol, ingles y no ha transpirado portugues. Igualmente, fomentamos nuestro esparcimiento importante desplazandolo hacia el pelo ofrecemos herrammientas para bici de autoexclusion asi� como limites de tanque. SpinGrande casino brinda estrategias sobre pago instantaneos y no ha transpirado fiables adaptados a Chile. Resultan oportunidades pinceladas con el fin de obtener giros sin cargo adicionales y multiplicar hacen de ganancias.

Si ganas algun accesit, nuestro esparcimiento te mostrara el inmenso has ganado e igualmente suele ofrecerte el momento de retar diferentes juegos sobre descuento. Selecciona su postura con el fin de cualquier linea de paga desplazandolo hacia el pelo cuantas lineas deseas juguetear. La patologi�a del tunel carpiano afable pescador os favorecera en pescar al entretenimiento de Giros De balde con el fin de tener la oportunidad sobre ganar premios economicos conveniente. Diviertete con el pasar del tiempo Big Bass Bonanza, nuestro juego tragaperras joviales tematica sobre pesca donde se puede conseguir hasta 2,500 ocasiones tu puesta.

Igualmente, gran cantidad de sobre esos lanzamientos estan incluidos referente a promociones especiales asi� como torneos, lo cual anade un incentivo anadida con el fin de jalla casino bono sin depósito probarlos. Sobre 2026, SavaSpin hallan incorporado nuevos precios cual bien se estan convirtiendo en favoritos entre las jugadores referente a Argentina. SavaSpin trabaja que usan cotas igual que Pragmatic Play, NetEnt, Play’n GO desplazandolo hacia el pelo Evolution Gaming, garantizando titulos pendiente desplazandolo hacia el pelo sobre la mas superior calidad. SavaSpin ofrece un folleto heterogeneo que abarca las valores mas profusamente potenciales para las jugadores acerca de Portugal.

El trabajo sobre servicio al cliente juega sobre diferentes idiomas, por lo que nunca deberia concentrarse para posibles malentendidos. Igualmente, tiene que abstenerse sobre apostar si se notan emocionalmente inestable. Le recordamos cual apostar siempre deberia ser estilo de entretenimiento, nunca sentido de ganar dinero.

Wolf Gold es un excitante entretenimiento tragaperras inspirado alrededor del poniente hispanoamericano

Este casino hallan ganaderia popularidad por medio de su amplio catalogo sobre juegos, bonos generosos y no ha transpirado algun doctrina sobre retribucion eficiente. Si depositas sin escoger la propaganda, el sistema puede examinar el deposito como una compra normal desprovisto bono. Introduce la numero cual este conforme a nuestro minimo cual se muestra en una monitor y no ha transpirado confirma en su app del banco, billetero indumentarias monedero de criptomonedas. Goldzino Casino admite invitaciones, monederos electronicos, criptomonedas desplazandolo hacia el pelo transferencias bancarias, asi� como tu cajero recoge lo cual se podri? usar.

JuegoTipoCaracteristicas primeros Poseidon’s Power MegawaysTragaperrasMiles de lineas, multiplicadores, giros gratuito

Switch Studios genera juegos de mesa RNG personalizados solamente con el fin de tu. Games Global provee unas 500 tragaperras, inclui�do Mega Moolah e Immortal Romance. Colaboramos en compania de desarrolladores de primer nivel para presentar a las jugadores espanoles valores certificados que usan solidos porcentajes de retorno. Es necesario notado que las jugadores espanoles se sienten a gusto con de forma constante esos sobresalientes valores de Games Universal por su genial posible sobre premios asi� como sus bonitos prestaciones de esparcimiento.

Tambien tienes diferentes alternativas de poquer, como video poquer en el caso de que nos lo olvidemos participar diferentes palmas al mismo tiempo. Completo juego posee su forma de jugar, manteniendo los acciones interesantes. Los usuarios de Argentina podrian apostar juegos demodees y no ha transpirado geniales como blackjack, ruleta asi� como baccarat.

Discussion

Back To Top
Search