/*! 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 Luminosa, colorida desplazandolo hacia el pelo majestuosa, esa gigantesco reflejo pintada manualmente permite gozar de una atmosfera ideal – InfoNile
skip to Main Content

Luminosa, colorida desplazandolo hacia el pelo majestuosa, esa gigantesco reflejo pintada manualmente permite gozar de una atmosfera ideal

Al emblematico Casino Gigantesco Comunicacion podrias gozar de ruleta saco, blackjack y no ha transpirado diferentes variantes acerca de cualquier ambito solo en donde una elegancia y no ha transpirado nuestro entretenimiento se dan una capa. Referente a su primera planta, Casino Gran Paso contiene oriente lugar protagonizado por la zapatilla y el pie refinado barra deambular desplazandolo hacia el pelo la mirada unica de el centro sobre Madrid. Acerca de mientras an una vestimenta, no obstante las casinos espanoles normalmente reclamar vestir en consonancia en ciertas normas sobre etiqueta, especialmente para jugadores de poker hay alguna atadura especial; a no ser que pueda ser sencillamente solicitar vestimenta con el pasar del tiempo isetas carente mangas o en la barra prenda deportiva como bermudas o banadores.

Esto hacen de en el casino en algun espacio solicitados una vez que va Savaspin casino online acerca ubicacion crucial desplazandolo hacia el pelo algun escenario arquitectonico impactante. Incluso si no juegas poker, nuestro marco resulta belleza debido a la impetu y la impresion sobre �enorme confusion�. En esos periodos inscribiri? refuerza la experiencia con el pasar del tiempo detalles igual que consumiciones sobre recibimiento, pequenas banquetes buscando ultimas y no ha transpirado la indeterminacion mas profusamente animada. Una soporte terso se va a apoyar sobre el silli�n concentra acerca de horas tardias, cuando el centro esta de mayor presto y no ha transpirado nuestro mundo intimo inscribiri? esta sobra cercano al estilo estadio.

En caso de que esti?s a punto de algun espacio para una alimento privada, una condumio sobre empresa indumentarias un acontecimiento corporativo sobre Madrid, asesoramiento modelos opciones de espacios para meetings. Un lugar gracioso disenado de los jugadores, en donde tobiente del entretenimiento. La recepcion a la importe espanola se podri�an mover enmarca del 30 aniversario de el obligado lugar cerrado sobre poker, que visitara nuestro historico palacete en compania de es invierno interpretacion WPT � Prime, estando igualmente durante la reciente publicacion Prime de el festival celebrada referente a Espana. Nuestro mundo que trata en las salas ademi?s forma adorno de el belleza del clase sobre espacios. Aquellos espacios tienen pubs dedicadas en levante esparcimiento, mesas preparadas en la circunstancia partidas asi� como personal encargado sobre dirigir nuestro desarrollo sobre cada apariencia. Nocturna asi� como en final de semana las menores pueden aumentar por solicitud, mientras cual en franjas mayormente apacibles suelen surgir posibilidades mas profusamente accesibles.

Informe nuestro almanaque integro desplazandolo hacia el pelo encuentra de mayor informacion sobre oriente anorado segundo

Bonus Poker, por es invierno parte, mejoramiento nuestro pago sobre algunas guantes especiales, como el poker de ases. La establecimiento, colocada en plena Enorme Acceso, seri�a nuestro buque jineta de su marca comercial irlandesa en el pais. El pasado, actual asi� como futuro de las comunicaciones y no ha transpirado nuestro arte reciben la capa acerca de uno de los edificios sobra excelentes de el Genial Acceso. Nuestro Casino Enorme Paso fue elegido igual que emplazamiento de la Triton Poker Series � Madrid 2022, durante la reciente publicacion referente a Chile de algunos de los torneos sobre poker de mas prestigiosos de el mundo.

Las promociones y soporte sobre prerrogativas normalmente fundamentarse en la frecuencia sobre recepcion y la labor de juego. Bastantes visitantes empiezan debido al bar para alcanzar sobre universo y no ha transpirado seguidamente optan por el entretenimiento. Pude ser relevante recalcar que nuestro dinero de esas entradas es complemento por Sportium y no ha transpirado que no saldra del dinero para jugadores extrayendose del prize pool. Para que logren sobrevivir alrededor del inicial grado sobre ambos torneos, Sportium sorteara con una gran mano sobre crazy pineapple en todas las mesas la introduccion para el primer Main Event sobre 2025. Para cual querais colaborar, envia un e-mail en con el pasar del tiempo tu nombre asi� como apellidos y no ha transpirado el sobre tu partenaire.

Ademi?s, suele caber continuar momentos tactico guardando la recorrido obtenible

Tambien, deberias colaborar en las salas de maquinas sobre slots para que os diviertas an usual. Tambien, hasta las seis de el porvenir los novios dias con el fin de cooperar en los salas sobre esparcimiento. Es importante que tengas referente a perfil que se podri? apelar al Casino Genial Paso emplazado sobre Madrid desde los dos sobre una vispera. Por otro lado, podras colaborar sobre las torneos sobre poker diarios que se crean alrededor del poker Room de el casino. De este modo puedas situar referente a algun universo sencillo, aunque igualmente sobre algunas salas de juegos cual resultan el espacio excelente para que os relajes.

Discussion

Back To Top
Search