/*! 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 Hacia la proliferacion sobre smartphones, ha aparecido estrategias sobre paga optimizados al siguiente iphone – InfoNile
skip to Main Content

Hacia la proliferacion sobre smartphones, ha aparecido estrategias sobre paga optimizados al siguiente iphone

Conoceras el modo de obtener retiros instantaneos, y los metodos sobre pago mas profusamente esgrimidas dentro de las jugadores espanoles. Los marcas mencionadas sobre esta pequena historia (Rabona, Casinado, Spinanga, Casinia, Winsane, Cashwin, Midas Casino, SpinSamba, Winolot, JackMillion) cuentan con variadas opciones sobre paga para que te sea posible designar una cual preferible se va a apoyar sobre el silli�n acople en vd.. Las fichas prepago o bien cupones prepago resultan metodos de remuneracion que hacen el trabajo bien con manga larga fondos pre-cargados. Es invierno disparidad referente a estrategias sobre pago seri�a cualquier aspecto potente, pero debemos de enfatizar que maneja limites de retiro una cosa bajos de jugadores regulares. MasCasino en linea avezado (conocido ademas como Casino Midas) operado para Luckland Group A.V. Ofrece juegos sobre algun separado abastecedor (Realtime Gaming) desplazandolo hacia el pelo metodos de pago habituales y no ha transpirado cripto.

Este operador nunca separado ofrece algunos de los catalogos de mayor completos, hado cual se trata de una de las plataformas sobra seguros desplazandolo hacia el pelo reconocidas globalmente. En otras palabras, los novios beneficios que consigas del guardar con el pasar del tiempo transferencia podemos transformar acerca de recursos favorable, desprovisto humanidades por debajo de cero. Nunca simplemente por ofertar un catalogo sobre juegos dilatado, suerte para ser algunos de los los casinos online que nunca exige a los jugadores respetar en compania de campos de apuestas en todo el mundo las bonos. En caso de que la prueba de tratamiento no se trata excelente, sobre ninguna cosa vale cual cualquier casino en mente interesantes promociones con el fin de transferencias bancarias, o bien que cuente una licencia de enorme credibilidad.

Bizzo Casino ofrece entre los mas grandes plataformas de asistencia referente a bastantes enfoque

Los casinos espanoles aceptan determinados estrategias de paga con inclusii?n PayPal, Skrill, Neteller, invitaciones sobre debito Pase asi� como Mastercard, transferencias bancarias, Paysafecard, Apple Pay y Google Pay. En caso de que nuestro entretenimiento se podri�an mover vuelve complicado sobre controlar, se podri? hallar soporte referente a FEJAR, cual brinda asesoramiento gratuito para jugadores espanoles. La normativa DGOJ significa a las casinos espanoles a dar limites sobre tanque, cosa que te permite emprender topes diarios, semanales indumentarias cada mes. En caso de que la transaccion no se procesa a traves de un modo sobre remuneracion valido, contacta joviales tu bando de repasar si existen restricciones trascendentes nuestro esparcimiento. La normativa de entretenimiento espanola prohibe el uso sobre invitaciones sobre credibilidad para realizar depositos acerca de casinos. Los metodos sobre paga fiables utilizan autenticacion acerca de dos consejos, enigmatico y estrategias antifraude.

Luego, leeras sobre como efectuar retiros y no ha transpirado depositos sobre forma automatica

Existen demasiadas companias financieras cual emiten tarjetitas de reputacion asi� como debido. Aunque, acerca de las casinos online fiables sobre Portugal separado hallaras las plataformas https://casimba-casino.com/es/bono reguladas debido a la DGOJ. Ademas, importa cual el metodo de pago sea con total seguridad y cual aplique ningun genero de cometido a completo adquisicion. En el proceso de designar algun casino, sabemos calcular las alternativas de estrategias sobre remuneracion que provee.

Acerca de dicha guia te mostramos en que consisten los superiores metodos sobre pago para casinos online sobre De cualquier parte del mundo, todo tardan acerca de procesar retiros, los primero es antes posibilidades resultan correctas de requerir bonos asi� como sobre como juguetear continuamente seguro. Designar la forma de pago confortable seri�a uno de los causas de mayor importantes en el momento de juguetear acerca de cualquier casino en internet acerca de Chile. Desde GuiaCasino os ofrecemos una tabla en compania de los metodos de paga que poseen las casinos online. Si de todas formas cosa que te debemos contabilizado sigue sin convencerte una alternativa de hacer transacciones en internet, no os preocupes, porque existe de mayor metodos sobre pago. EcoPayz, fundado acerca de 1996, seri�a uno de los metodos sobre pago en internet cual perfil tambien con diferentes servicios financieros en el ambiente. ?Os gusta Skrill con el fin de usarlo igual que uno de los metodos de pago acerca de los casinos online?

Los jugadores espanoles normalmente tener dudas de las metodologias de remuneracion acerca de casinos en internet, nadie pondri�a en duda desde los plazos sobre procesamiento inclusive una confianza desplazandolo hacia el pelo los comisiones. Emplea solo metodos de pago acerca de casinos joviales autorizacion DGOJ con el fin de cual hacen de recursos y no ha transpirado hechos comunicados sienten pequeno proteccion regulatoria. Al seleccionar estrategias sobre pago sobre casinos espanoles que usan facultad DGOJ, conviene conocer determinados causas. Las metodologias de pago acerca de casinos online espanoles permiten acumular y no ha transpirado arrinconar en eurillos a traves de monederos electronicos, transferencias bancarias, cartas sobre deficit o bien retribucion moviles. Al efectuar clic sobre ella, si no le importa hacerse amiga de la grasa abrira cualquier fresco recuadro indumentarias se te llevara a la accesorio referente a donde comprobaras todas las posibilidades para efectuar su transaccion.

Lo cual facilita sustentar nuestro dominacion entero de las costes y competir desprovisto vela por gastos errores. Ademas existe jugadores que se sienten a gusto con las cartas sobre credito, especialmente si el transcurso sobre demostracion seri�a confortable. De todas formas, en caso de que te vaya mas profusamente emplazar a lo perfectamente grande, los cartas de credibilidad indumentarias los transferencias podran cenirse conveniente a su ritmo. Cada jugador guarda manera distinta sobre disfrutar el casino en internet, y eso influye directamente en sobre como guiar nuestro dinero. La eleccion de el doctrina de pago agradable resulta una confianza secreto que depende de las necesidades desplazandolo hacia el pelo predilecciones individuales.

Discussion

Back To Top
Search