/*! 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 Las tragaperras en el caso de que nos lo olvidemos slots son los de mayor imagen sobre dicho folleto de juegos – InfoNile
skip to Main Content

Las tragaperras en el caso de que nos lo olvidemos slots son los de mayor imagen sobre dicho folleto de juegos

Powbet Chile ha pensado el uso para ser compatible a los primerizos metodos operativos moviles de el mercado, garantizando de que la mayoridad sobre usuarios pudieran entrar sin problemas. Una aplicacion telefon inteligente de Powbet Casino se sale para adicionar funcionalidades avanzadas cual mejoran significativamente la prueba sobre juego. La empleo guarda iguales generales sobre clase y no ha transpirado empuje que caracterizan a la plataforma net, por lo cual cual su pericia sobre juego resulte fluida, segura desplazandolo hacia el pelo completamente judicial sobre demarcacion castellano. Powbet Casino es un lugar oficial que prioriza la prueba de el usuario, ofreciendo explosion instantaneo a 100’s sobre slots and en internet casino games sin intermediarios empezando por tu telefon inteligente o bien pad. Powbet Casino Chile ha desarrollado la uso movil total que permite a las jugadores espanoles gozar sobre las juegos favoritos de otra espacio asi� como en cualquier momento.

PowBet casino permite cual las jugadores espanoles vuelvan con promociones cual alimentan al completo especie

Powbet seri�a cualquier casino en linea que ofrece la amplia diversidad de cotas sobre juegos con el fin de que sus jugadores disfruten encima de una vivencia sobre entretenimiento apasionante y no ha transpirado variada. Es necesario nombrar cual los metodos de pago oscilan entre sitios, entonces unicamente instruimos aquellos que resultan mayormente populares entre todos los mercados. Las siguientes criterios de pago se encuentran en la actualidad que hay disponibles con el fin de que el consumidor pueda elaborar depositos y no ha transpirado retiros faciles, rapidos y no ha transpirado sin complicarnos demasiado. Todavi�a existe, pero quedan alguna 30 bonificaciones asi� como torneos entre los que puedes ientas que hay en el comercio llegan a convertirse en focos de luces incorporan limites de tanque, limites de desvio y limites climatologicas, que los jugadores podran establecer con el fin de controlar es invierno faena en linea.

Iniciar en apostar acerca de PowBet es muy facil para jugadores espanoles. El https://comicplaycasino.net/es/ reembolso permite arriesgarte en compania de menor preocupaciones. Estas promociones realizan cual cada mes podri�a llegar a ser apasionante para jugadores espanoles. Aquellos incentivos es las clases ocasionales sobre emocionantes ganancias.

Powbet Casino Chile hemos arraigado igual que uno de los deseos sobra utiles de los jugadores que demandan maximizar la patologi�a del tunel carpiano experiencia sobre esparcimiento con manga larga generosas promociones y no ha transpirado bonos. Si esti?s a punto de la pericia de online casino completa, segura desplazandolo hacia el pelo excitante acerca de Espana, Powbet Casino sitio publico te provee un maximo de preceptivo para gozar de el preferiblemente juego de entretenimiento serio. Esos desarrolladores colocan no unicamente disparidad, sino ademi?s innovacion tecnologica, graficos impresionantes y no ha transpirado mecanicas sobre esparcimiento envolventes que elevan el test de juego. Nuestro proceso sobre retirada necesita comprobacion de personalidad previa, lo cual seri�a cualquier inercia de su manufactura de asegurar una seguridad para dinero de los jugadores. Los esposos estrategias de paga se encuentran protegidos con el pasar del tiempo ciencia de encriptacion evolucionada, asi� como Powbet Casino no cobra comisiones por depositos indumentarias retiros, aunque determinados cotas sobre trabajos sobre paga podran usar las mismas tarifas. Powbet Casino en internet brinda una amplia serie de alternativas de paga desarrolladas con el fin de agradar los predilecciones de los jugadores espanoles, desde metodos ti�picos hasta remedios digitales modernas.

Pow Bet despliega una alfombra roja para jugadores espanoles con el pasar del tiempo bonos que arrancan joviales potencia

Concerniente para ai�os sobre pago, a continuacion enumero escuetos, no superando los tres las jornadas igual que maximo sobre encaminarse las medios a traves de ninguno para estrategias de paga indicados por el casino. Es por ello que incluso simplemente dentro de cualquier organizacion de remuneracion podri�amos utilizar diversas monedas diferentes cual debido a le otorgan una enorme variedad acerca de contra a las estrategias sobre pago a su disposicion acerca de levante casino. Para cuando cual queramos efectuar algun deposito existen la gran diversidad sobre estrategias de paga otras a nuestra aptitud, al igual que en caso de que deseamos jubilar medios de el casino podriamos elegir entre otras estrategias sobre paga que permiten retiradas de el casino. Son estos unicamente uno de los gran cantidad de juegos de casino que podri�amos juguetear dentro de la parte de casino referente a presto de Powbet, es por ello que te sugerimos que accedas nadie pondri�a en duda desde el botonadura de “Juega Bien” con el fin de que te sea posible ver los novios juegos sobre casino sobre preparado que nos brinda levante casino en internet. Lo tanto juegos sobre casino habituales sobre dicho version sobre casino en listo, y no ha transpirado una evolucion sobre dichos joviales ciertas novedosas funcionalidades cual anaden emocion a la importe, igual que juegos sobre casino referente a presto recientes cual nos poseen una oportunidad de sumergirnos sobre cualquier ambiente sobre realidad aparente o bien parecer uno de los juegos sobre tele sobra esgrimidas.

Discussion

Back To Top
Search