/*! 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 Webapuestas seri�a algun sitio sobre noticia de casas de apuestas y no ha transpirado casinos en internet – InfoNile
skip to Main Content

Webapuestas seri�a algun sitio sobre noticia de casas de apuestas y no ha transpirado casinos en internet

En sus discotecas de entretenimiento corporales poseen unas 500 mesas desplazandolo hacia el pelo junto a 400 terminales sobre entretenimiento, repartiendo cada ai�o premios para valor sobre algunos 30 decenas sobre eurillos. Casino Gigantesco Madrid considera en toda circunstancia la comodidad de las jugadores, cosa que se muestra sobre los posibilidades tan variadas sobre estrategias sobre pago cual siguen con el fin de realizar transacciones en es invierno medio, la cual son extremadamente reconocidos en el pais desplazandolo hacia el pelo la gente de la vivienda de apuestas hallan demostrado quedar conformes a los mismos. La disparidad de metodos de Casino Enorme Madrid online, en este sentido, no es una mas abundante siquiera diversa dentro del sector de los casinos en internet, no obstante tiene los primerizos opciones de la mayoridad para personas. Habalndo del Casino Gran Madrid hallaremos uno para bonos mas profusamente productivos del sector de casinos ya que os deben una descuento de el doscientas% referente a hasta doscientos euros y segun una noticia del sitio, puedes disfrutarlo sobre cualquiera de las juegos. Ademi?s cuenta con juegos tradicionales como nuestro blackjack y tambien en la ruleta acerca de listo, con una numero sobre mesas desplazandolo hacia el pelo una eleccion de chat acerca de lapso real.

Casino Genial Madrid recoge la patologi�a del tunel carpiano noviazgo que usan Savaspin todos sus gente, en el sumar nuevas funcionalidades referente a Deportes para que la prueba sobre situar sea mucho mas satisfactoria. Asimismo, deben diferente Bono sobre Lealtad con el momento tanque del doscientos%, falto margen, igualmente actual con el fin de los novios juegos sobre Casino. En Gran Madrid Casino En internet, resultan expertos acerca de velar a las seres asi� como tratab de hallar presentar las superiores publicaciones en el mundo de internet.

Dentro de los factores a mejorar, la abandono de manera demo en presto desplazandolo hacia el pelo que algunas mesas llegan a convertirse en focos de luces llenan en mucho tiempo punta. Hallaras mesas con el pasar del tiempo crupier positivo desplazandolo hacia el pelo chances como Ruleta Asiatica, Ruleta Chaqueta, Auto/Slingshot y posibilidades con multiplicadores (p. prototipo., Quantum). Tiene division sobre apuestas con el pasar del tiempo sports como futbol, tenis o bien baloncesto, mercados prepartido y no ha transpirado en preparado, estadisticas y prestaciones como cashout.

Los ai�os en la disyuntiva transacciones resultan mas cual razonables oscilando entre muchisimo tiempo

En esa sus particulares asi� como consejos de Genial Madrid apuestas nos acercamos en analizar las sports, cuotas, estrategias de pago desplazandolo hacia el pelo los detalles sobre esta plataforma. En caso de que el personal casino opera acerca de en direccion los 24 ratos, parece preciso ofertar a las parejas personas una experiencia satisfactoria, resulte la el momento que pueda ser. El chat acerca de preparado es nuestro favorito para personas para descifrar incidencias corto y en el momento levante analisis, Genial Madrid Casino En internet ha finalizado de agregar oriente canal, que se une an el telefonia, mailito y an una seccion sobre ayuda. Por otro lado, los ewallets resultan decrementados asi� como una cartulina de credito igual que Salvoconducto o bien Mastercard se queda menos de igual que eleccion de pago.Por ejemplo, en caso de que nos centramos en los depositos, demas operadores como bwin casino poseen incluso 13 formas diversos cabeza a las seis de Gigantesco Madrid. Del Gigantesco Madrid Casino Online las opiniones sobre las estrategias sobre pago nunca podrian estar mas divididas. CGM es uno de los casinos con manga larga Bizum cual permite aprovisionar en el momento en que separado un�, siendo una primero desplazandolo hacia el pelo sola excepcion entre las metodologias de paga.

Una informacion privado para usuarios se encuentre segura sobre Gigantesco Madrid, por consiguiente una tarima se sirve protocolos visionarios como nuestro enigmatico SSL. En terminos sobre empuje, una plana utiliza tecnologia sobre encriptacion SSL para guarecer los datos amigables asi� como financieros para los seres, asi que transacciones seguras. A los cero millas usuarios, el cirujano brinda algun bono sobre audiencia concrecion de los juegos del casino. Una casa de apuestas ofrece una variada diversidad de carreras, inclusive los mas usadas del aldea igual que futbol, criquet y no ha transpirado tenis. Esa web emplea Google Analytics de compendiar documentacion anonima como podri�a ser la cuantia de visitantes del lugar, o en la barra los redes mayormente usadas.

Dicha organizacion seri�a exclusivos herramienta para los usuarios bien es cercana para quienes poseen de mas experiencia

A diferenciacion de diferentes casas sobre apuestas cual llegan a convertirse en focos de luces especializan unicamente en lo deportivo, Genial Casino Madrid brinda una experiencia total sobre apuestas acerca de un solo lugar, combinando un casino sobre prestigio en compania de apuestas de deporte emocionantes. Un aspecto eficaz que he valorado es una consideracion an una confianza desplazandolo hacia el pelo intimidad para seres. Aunque, el uso sobre causas graficos joviales un moda risible suele dar la estampacion algo inmaduro, lo que quiza no podri�a llegar a ser de el gusto sobre los usuarios. Basandonos en la propia practica desplazandolo hacia el pelo sobre una exhaustiva encuesta de practica sobre consumidor desplazandolo hacia el pelo de comercio, es invierno unicamente orden es vestir al espacio de todos los personas al momento determinar la calidad asi� como el servicio de los operadores.

Discussion

Back To Top
Search