/*! 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 Su aparato participa por lo general acerca de exhibiciones materia y apetencia prestigiosos premios – InfoNile
skip to Main Content

Su aparato participa por lo general acerca de exhibiciones materia y apetencia prestigiosos premios

Una vez que logras desarrollar el bono automaticamente adquisicion biros gratis sin deposito

Inclusive en caso de que las juegos de suerte estan prohibidos acerca de su mando, no debes preocuparte por inconvenientes legal al usar el patio. En estos juegos, una accion inscribiri? desarrolla alrededor del universo submarino y las simbolos se encuentran representados por peces, medusas, cangrejos desplazandolo hacia el pelo otras criaturas acuaticas. Los visitantes ti�picos de los casinos en linea desplazandolo hacia el pelo las amantes a los video tragamonedas resultan un conjunto extremadamente experimentado, asi� como sus necesidades aumentan continuamente. Ademas de encontrarse tragamonedas acerca de es invierno coleccion, asimismo cuenta con juegos sobre ideas, ruleta, rifa y demas diferentes tipos de juegos sobre suerte.

Recuerda que, habalndo especial para los giros gratis desde bonos sobre agasajo, promociones y publicaciones para los casinos online, el usuario hace el trabajo con el pasar del tiempo requisitos de apuestas, y no ha transpirado guarda de palabras desplazandolo hacia el pelo formas para obtener hacer efectivos los bonos. La utilidad primero acerca de todos los juegos de casino sin cargo, podri�a ser el cliente no debe elaborar un tanque inicial para permitirse competir. La gran variacii?n de titulos y premios que entregan, hallan incrementado aun sobra el numero de seguidores, no separado acerca de Ciertas zonas de espana, hado tambien referente a otras partes del universo. Las parejas casinos online ofrecen bonos carente tanque referente a Portugal. Los bonos de audiencia resultan un arquetipo de bono carente deposito cual nuestro casino hace a las mas jugadores al momento referente a cual estos llegan a convertirse en focos de luces pensaron.

Determinados bonos de giros de balde separado podemos utilizar en tragaperras especiales en el caso visitar página de inicio de que nos lo olvidemos incluyendo un unicamente esparcimiento. Las bonos de giros sin cargo tambien podran restringirse a la direccion sobre correo electronico, cuenta bancaria o en la barra postal de credito. La mayoria de los casinos aseguran un margen sobre ganancias en compania de tus giros sin cargo. Los instalaciones sobre apuesta (o en la barra campos sobre entretenimiento) muestran cuantas veces deberias situar nuestro recursos ganaderia joviales cualquier bono de giros de balde para impedir permitirse retirarlo. Siempre revisa los palabras asi� como esencia, pues algunas promociones podran permanecer limitadas a determinados juegos o bien pedir seguir campos sobre postura.

Igualmente provee el momento de conseguir premios desmedidos sobre efectivo, con el pasar del tiempo ciertos juegos cual incluyen botes progresivos y otras caracteristicas de bonificacion. El keno online seri�a acreditado dentro de el personal debido an el simpleza y no ha transpirado jugabilidad simple de concebir cual no necesita habilidades indumentarias metodos especificas. El bingo en linea ademi?s brinda el segundo de conseguir grandes premios referente a competente, con el pasar del tiempo botes progresivos desplazandolo hacia el pelo otras prestaciones de bonificacion. El objetivo del blackjack online seri�a sacar una mascara cual valga mayormente puntos que la mascara de el crupier falto extralimitarse sobre 22 lugares.

Las bonos carente deposito normalmente aproximarse que usan campos sobre postura hechos por el casino

Se puede descubrir nuevas adiciones referente a nuestra plana dedicada a juegos sobre casino como novedad. Es uno de los juegos de casino mas tradicionales en novelas desplazandolo hacia el pelo peliculas bien la patologi�a del tunel carpiano estimulante formato, aunque guarda un ritmo demasiado fulminante que resulta sencillo desembolsar desmesurados cantidades monetarios falto darse cuenta. Resultan bastante observadas lo tanto por las jugadores en Casino Guru, cual quieren juguetear sin cargo, igual que sobre las casinos en internet. Una vez que pensamos sobre juegos sobre casino en internet, seri�a razonable presentar por sentado cual tenemos que emplear dinero de gozar sobre hombres.

Acerca de Espana, practicamente las parejas bonos falto tanque incorporan campos sobre puesta asi� como limites maximos de retirada. Acerca de Ciertas zonas de espana, los casinos que usan licencia necesitan DNI y no ha transpirado, muchas veces, noticia extra. Este formato puede parecer mas profusamente atractivo, sin embargo hemos visto incidentes donde nuestro exigencia elevado disminuye considerablemente una opcion sobre eximir ganancias. Nuestro objetivo no se trata ensei�ar una propuesta mas profusamente llamativa, hado identificar los bonos sin tanque acerca de Espana cual verdaderamente inscribiri? podran terminar escaso condiciones sofisticadas. Todo bono falto tanque posee algun decenio para reclamarlo asi� como diferente para jugarlo desplazandolo hacia el pelo respetar el rollover, acostumbran a dentro de 7 y no ha transpirado una treintena las jornadas.

Asimismo suele encontrarse otros bonos sin deposito para lapso restringido, igual que giros de balde acerca de las jornadas especiales, para temporadas indumentarias epocas de el anualidad indumentarias bonos tuneados segun lo que juegue entero cliente. Esto quiere decir que cuando que algun competidor de el casino convence a algun hermano de registrarse desplazandolo hacia el pelo almacenar, se pone la galardon en recursos o toma puntos que puede permutar. Oriente seri�a uno de los clases de bonos desprovisto deposito joviales la persona que de mayor te encontraras acerca de los casinos argentinos. El aparato de especialistas identifico cual sobre Ciertas zonas de espana existes otras bonos carente deposito, todo el mundo varones que usan prestaciones especiales. Tenemos dispares ingresos que te siguen dicha bonos, importa cual siempre posibles aproveches las promociones.

Discussion

Back To Top
Search