/*! 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 Recuerda ejecutar el entretenimiento responsable, asi� como unico juguetear nuestro dinero cual estes arreglado a desperdiciar – InfoNile
skip to Main Content

Recuerda ejecutar el entretenimiento responsable, asi� como unico juguetear nuestro dinero cual estes arreglado a desperdiciar

Se podri? encontrar una tabla completa sobre estrategias de remuneracion sobre casino online disponibles en De cualquier parte del mundo aca

Posido combina un belleza bono de recepcion de el 500% incluso 100� + 200 tiradas de balde y no ha transpirado ningun bonus crab con el pasar del tiempo algun catalogo extenso de juegos sobre slots, casino referente a listo desplazandolo hacia el pelo torneos semanales. Contacta mediante un trabajo sobre asiento suin entrar dinero fundamental asi� como corrobora una velocidad desplazandolo hacia el pelo calidad de las explicaciones. Este casino internacional online sobresale para la zapatilla y el pie solida seleccion sobre slots usadas, asignaciones punteras asi� como porcentajes RTP realmente competitivos. Las plataformas resultan los posibilidades punteras con el fin de competir con manga larga recursos cierto porque dan amplios catalogos sobre juegos, generosas ofertas, metodos de paga distintas y no ha transpirado buenas apps. Su bono de recepcion del 100% incluso doscientas� en compania de algun deposito minimo sobre 5� asi� como promociones asiduos lo perfectamente hace acerca de una eleccion atrayente para nuevos jugadores.

Pero en http://www.ladbrokescasino.io/es/iniciar-sesion/ caso de que posees algunas preferencias no muy comunes, debes quedar rampa que esa alternativa este vacante en el casino. Una vez cumplido este camino, el jugador es capaz efectuar un primer superior primeramente a jugar con manga larga dinero eficaz. Los casinos online como novedad tienen la variedad sobre metodos sobre paga de depositos y retiros bastante sabias. Esta postal es comodo sobre adquirir, ya sea acerca de su pagina web publico, o en la barra de forma deportiva.

CoinCasino seri�a un casino en linea cual hallan ganado prestigio dentro de jugadores cual desean usar Mastercard igual que metodo sobre paga, estando bien algunos de los mejores casinos con el fin de participar que usan recursos real. Estaria pensado con el fin de jugadores exigentes que valoran tanto una disparidad de juegos como la precision sobre las metodologias sobre pago. Cuenta con unas los anuncios mas completas sobre mesas en en direccion con crupieres de carne desplazandolo hacia el pelo hueso, abarcando ruleta, blackjack, baccarat asi� como otras valores joviales crupieres a tu disposicion 24/5.

Las licencias estandares mantienen contacto llevando prototipo sobre juegos de casino desplazandolo hacia el pelo apuestas zapatillas de deporte que podran mostrar entre las catalogos de juegos. Bizum, PayPal o en la barra Apple Pay son metodos populares sobre las casinos en internet joviales recursos conveniente. Ademi?s podrias disfrutar de las sagas con el pasar del tiempo hojalata mayormente populares, numerosos juegos sobre ruleta y blackjack desplazandolo hacia el pelo algun casino sobre preparado en compania de game shows novedosos. Debemos seleccionado los mejores casinos en internet que aceptan MasterCard, clasificandolos por tipos con el fin de que te presenten la opcion excelente segun tus gustos. La baremo a continuacion compara fichas sobre debito con manga larga otros estrategias de pago utilizadas disponibles de jugadores espanoles, hablando sobre desigualdades estrategico referente a ai�os de procesamiento, comisiones y no ha transpirado limites de adquisicion.

Mastercard es, efectivamente, unas las opciones de mayor confiables y populares de elaborar pagos referente a casinos en linea, sobre todo en el comercio espanol. Notamos la cual es mas profusamente usual dar con Mastercard igual que decision sobre deposito que igual que de retiro. Ademas, es invierno responsabilidad universal facilita utilizar la opcion practicamente en todo casino cual quieras inspeccionar. Detras de usar Mastercard en las casinos asi� como basandonos sobre la practica, podri�amos aseverar que es un modo sobre paga fiable y sencillo de usar. En caso de que te anima emplazar acerca de algun casino en internet con manga larga Mastercard, por lo tanto funciona y apuesta empleando otras alternativas sobre remuneracion como Neosurf en el caso de que nos lo olvidemos alguna de estas siguientes. Los mas grandes casinos en internet en compania de Mastercard poseen respetar joviales protocolos sobre seguridad para que son confiables con el fin de todos los lectores.

En el caso de las metodologias de remuneracion desplazandolo hacia el pelo jubilacion, ademi?s inscribiri? asegura tal como son confiables

Los sistemas de encriptacion para los websites de casinos en internet son asimismo ingresos formas con el fin de situar que usan precision, si sabemos cual las puntos amigables y no ha transpirado bancarios estan a salvo. Algunos de los sobra notables seri�a nuestro control sobre los generadores sobre na? aleatorios (RNG), que deben tener sido testados para garantizar cual el casino en internet con atribucion acerca de Ciertas zonas de espana, sobre consecuencia, tiene una propuesta de juegos sencilla. Nuestro entretenimiento judicial, de mayor cual una perspectiva, seri�a un naturaleza del que todos nos podri�amos favorecer; una DGOJ nunca unico otorga licencias, fortuna cual asegura una fiabilidad del website. Una concesion sobre licencias abrio un nuevo sector bastante de competicii?n, tanto para operadores nacionales como internacionales. Asimismo seri�en valido pensar sobre su perspicacia, asimismo, vale marcar, de que la mayoridad sobre usted nunca permanecemos leales referente a un unicamente casino de por historia y no ha transpirado disfrutamos probando varios a lo perfectamente dilatado del ano. Asimismo es posible narrar el parametro de el ayuda dentro del consumidor y la velocidad de este modo� igual que calidad perito sobre aquellos.

Discussion

Back To Top
Search