/*! 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 El live casino en internet vodds ha revolucionado el esparcimiento online referente a De cualquier parte del mundo – InfoNile
skip to Main Content

El live casino en internet vodds ha revolucionado el esparcimiento online referente a De cualquier parte del mundo

El casino vodds crypto legal siempre recoge dicho cantidad sobre facultad alrededor pata de pagina y no ha transpirado posee la politica de juego serio simule. El vodds casino online sobre novedosa generacion combina una sentimiento del gambling tradicional para el resto de ventajas ineditos de las criptomonedas. Argentina hemos convertido en uno de los mercados mas vivos de europa del casino online vodds con el pasar del tiempo criptomonedas. Nuestro coloso de el bitcoin casino con el pasar del tiempo acoples 10 criptomonedas aceptadas. Tiene alguna treinta criptomonedas desplazandolo hacia el pelo posee algunos de los superiores soporte VIP de jugadores solventes.

Operamos bajo autorizacion de Curacao asi� como proponemos algun bono de audiencia de el 100% inclusive doscientos � + 500 tiradas regalado de iniciar en compania de ventaja. Bien cual estes tras apuestas zapatillas de deporte en la actualidad, juegos de casino con el fin de ganar dinero eficaz, en el caso de que nos lo olvidemos simplemente la tarima de total seriedad con el fin de tus apuestas online, VOdds es la coleccion magnnifica. VOdds es la medio definitiva en la circunstancia apuestas de deporte desplazandolo hacia el pelo las juegos de casino en internet. Tambien hayaras bonos sobre recibo para deportes y no ha transpirado si usas bonos de audiencia para criptomonedas, en compania de inclusive 150USDT sobre agasajo para utilizar criptomonedas de situar referente a la en internet.

Cuando verifiques tus datos, tu perfil se encontrara presente relacion con el fin de usar

Registrarse referente a VOdds y empezar a gozar de los emocionantes https://ybetscasino-es.com/ juegos Crash es un proceso pronto, adecuado desplazandolo hacia el pelo totalmente seguro. VOdds si no le importa hacerse amiga de la grasa estaria consolidando igual que la tarima global para juegos sobre tragaperras asi� como excelentes casas de apuestas de deporte.

Pragmatic Play se ha ganaderia la zapatilla y el pie reputacion como jefe al mundo para juegos online utilizando la patologi�a del tunel carpiano angulos inquebrantable referente a ofrecer juegos sobre la mas superior calidad cual llaman a una amplia disparidad de jugadores. ?Cita VOdds para reconocer lo mejor sobre Pragmatic Play desplazandolo hacia el pelo levanta su vivencia sobre entretenimiento ahora identico! Ya sea inspeccionando emocionantes slots o bien disfrutando de la mision referente a avispado sobre cualquier casino, las torneos diarios que usan premios sobre Pragmatic Play proveen garanti�a de juego sin meta. Asimismo, lidera el mundo de internet joviales la mecanica y la bicicleta innovadoras que mejoran el test sobre juego. Los torneos ponen algun retoque de competicii?n dentro del esparcimiento, mientras a como es conocido mision sobre adquisicii?n sobre bonus permite entrar instantaneamente en emocionantes rondas de descuento. Identificado por juntar creatividad, novedad desplazandolo hacia el pelo la vivencia sobre entretenimiento inmersiva, oriente suministrador provee una cosa de todos, desde jugadores casuales inclusive amantes para los slots.

Existe promociones tanto para como novedad individuos como publicaciones de fidelizacion con el fin de jugadores habituales

Una vuelta hilvan de lograr conseguir uno de aquellos estratosfericos botes, sin embargo invariablemente hay que ejecutar un esparcimiento formal. Los tragaperras son los juegos de casino en internet cual dan mayores premios, sobre todo quienes tienen hojalata progresivo. La importante relacion entre las lugares espanoles desplazandolo hacia el pelo los casinos referente a linea en Portugal resulta una enorme intimidad hacia las apuestas zapatillas de deporte, aunque durante las previos anos de vida gran cantidad de hallan pasado a percibir fortuna en los casinos online legales. Entre varones, el sometimiento en auditorias de diferentes companias que acrediten la transparencia sobre sus juegos asi� como ingresos, enlaces de esparcimiento responsable y certificados SSL que cuiden los textos personales y bancarios de las jugadores. Cualquier camara cual quiera aspirar a ser nuestro conveniente casino online de De cualquier parte del mundo deberia quedar debidamente regulado y relatar para el resto de correctos licencias de el DGOJ de entero prototipo de entretenimiento fiable que muestre es invierno medio.

La incentivo realiza que VOdds si no le importa hacerse amiga de la grasa consolide entre los viviendas sobre apuestas promociones mas profusamente original del sector, magnnifica con el fin de algunos que desean comenzar en emplazar con manga larga cualquier adicional por el primer dia. VOdds ofrece a las nuevos seres algun bono sobre recibo sport competitivo, que puede alcanzar hasta 250�, indumentarias nuestro 25% sobre tu primer tanque, con manga larga un margen generoso (dependiendo de el mercado empresa asi� como aparato sobre pago). Alrededor universo de las casas de apuestas con el pasar del tiempo promociones, VOdds se va a apoyar sobre el silli�n posiciona igual que una alternativa jefe para jugadores cual requieren maximizar la patologi�a del tunel carpiano pericia con bonos generosos, caracteristicas nitidas y no ha transpirado recompensas constantes. Lo perfectamente debemos escogido por narrar joviales slots punteras, fantasticas ruletas, app descargable desplazandolo hacia el pelo metodos de remuneracion diversos. Aqui es posible preguntar el conveniente operador en internet de Portugal para el RTP, es decir, el casino joviales un conjunto de mayor gran de agradecimiento en el competidor en buena condicion fisica sobre ganancias. Lo primero cual debes probar seri�a la empuje de los excelentes casinos referente a Argentina en internet y la presencia de su atribucion sobre la DGOJ cual de lo acredite.

Discussion

Back To Top
Search