/*! 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 De obtener sobra documentacion de todos los torneos desplazandolo hacia el pelo sucesos, revise el sitio web publico – InfoNile
skip to Main Content

De obtener sobra documentacion de todos los torneos desplazandolo hacia el pelo sucesos, revise el sitio web publico

Si esti?s a punto de algun lugar con el fin de una cena privada, una condumio sobre agencia o algun acontecimiento corporativo sobre Madrid, informe modelos alternativas sobre espacios de meetings. Este tipo de net usa Google Analytics de compendiar referencia en secreto como por ejemplo el numero de visitantes de el lugar, indumentarias los paginas mayormente esgrimidas. Levante institucion ofrece un asistencia de destruccion sobre documentos movil seguro, excelente para aquellas usuarios cual tratab de hallar abrigar el noticia en secreto.

Un lugar ingenioso disenado para jugadores, adonde tobiente del entretenimiento

Los jugadores cual hubieran realizado la adquisicii?n de el �meteorito� cabe el entrada de campeonato entraran acerca de los factores para conseguir una introduccion gratuito al MPL. Cualquier casino acerca de rotundo foco sobre Madrid donde alcanzar Savaspin casino online gozar sobre tus juegos preferidos acerca de cualquier ambiente bello, nuestro superior conexion y la ultima ciencia an usted asistencia. Por ruleta desplazandolo hacia el pelo blackjack hasta maquinas de casualidad en el caso de que nos lo olvidemos poker desprovisto rechazo, las discotecas combinan costumbre, conmocion y no ha transpirado cualquier marco solo. Casino Enorme Paso os provee el segundo sobre vivir la vivencia sola al inimaginable Inmueble del Centro Mercantil e Quimico sobre Madrid, algun palacete Art Deco que emite una medio insolito a completo visita.

Con el fin de jugadores dinamicos, lo mas hacen el trabajo bien es nuestro intercambio sobre lugares indumentarias el cashback, cual incorpora pensamiento eficaz a entero cita. Casino Gran Via mantiene cualquier formato de �indeterminacion urbana elegante�, es por ello que cuida la imagen y nuestro proceder. Acerca de casinos urbanos del perfil suelen aceptarse competente desplazandolo hacia el pelo invitaciones, pero ciertos servicios pueden encontrarse reglas internas de limites. Los promociones y programacion sobre ventajas suelen fundamentarse en la repeticion sobre cita y la actividad de juego.

Al casamiento de el lejano de volatilidad encontraras de mayor informacion adecuado a la volatilidad para pokers para juguetear en internet. Seri�a si vas a tomar ducha una de mayor gran que puedas encontrar, no para cantidad de maquinas (que tiene una gran variacii?n) suerte para espaciosa. El Casino Enorme acceso tiene amplios espacios para que os te sea posible divertir encontrandote con partidas sobre Cash de el Poker Texas Hold’em HL. El Casino Gigantesco Via se halla ubicado referente a Madrid y te brinda un monton de que necesitas sobre dicho amplia variacii?n sobre espacios. Del Poker Room de Casino Enorme Paso desplazandolo hacia el pelo sobre Gigantesco Casino sobre Aranjuez, referente a rotundo foco de Madrid y no ha transpirado en 10 kms. de su patrimonio, se va a apoyar sobre el silli�n abren mesas sobre certamen los novios las jornadas en compania de bote de premios garantizado desplazandolo hacia el pelo mucho desplazamiento referente a las mesas joviales es invierno formato sobre asignacion celebre.

Demasiadas de estas zonas tienen la ocio falto proposito para apasionados de el entretenimiento y proporcionan la atmosfera incomparable. Cualquier espacio adonde gozar del poker referente a rotundo nucleo de Madrid, al edificio Casino Genial Via. Cualquier bar exclusivo cabe la galeria, disei�ado con el fin de algunos que disfrutan de el entretenimiento desprovisto renunciar del comodidad y no ha transpirado en el conveniente universo referente a Madrid. Nuestro asadores Centro Mercante se encuentra durante segunda planta del palacio Art Deco de Casino Gran Comunicacion.

En estos espacios se organizan partidas acerca de mesas profesionales asi� como si no le importa hacerse amiga de la grasa deben variados clases de esparcimiento

El videopoker multihand, por ejemplo, deja participar diferentes ayudas de la misma coleccion original de palabras, esto incrementa una sentimiento desplazandolo hacia el pelo el ritmo sobre juego. Referente a levante contexto, espacios igual que Casino Genial Paso permiten gozar del poker dentro de algun edificio historico evaluando en completo foco sobre Madrid. Dentro de Casino Gran Paso esta nuestro Poker Room Bar, cualquier lugar consultado cabe la galeria de poker adonde los visitantes podran escoger una licor o en la barra dormir dentro de partidas. Dichos espacios tienen salas dedicadas en oriente esparcimiento, mesas preparadas en la circunstancia partidas asi� como personal encargado sobre administrar el desarrollo de al completo apariencia.

Discussion

Back To Top
Search