/*! 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 La facilidad sobre mis estrategias sobre remuneracion preferidos es otro punto a la zapatilla y el pie favor – InfoNile
skip to Main Content

La facilidad sobre mis estrategias sobre remuneracion preferidos es otro punto a la zapatilla y el pie favor

Las juegos sobre YoCasino cual mas pagan son principalmente las juegos de caja de ahorros dentro de la cual destacan las 6 variantes del blackjack, los tres ruletas online e igualmente los 25 ruletas sobre avispado. Ademas deben un celular y no ha transpirado cualquier e-mail para que puedas cursar documentacion si resulte necesario. Las metodologias sobre remuneracion aceptados del jardi�n crean las mas grandes opiniones sobre YoCasino porque resultan alternativas muy conocidas, seguras y no ha transpirado las mas profusamente usadas para las personas dentro del aldea.

Aunque, se puede alcanzar a traves de los navegadores moviles perfectamente

10.8 En el caso de decision de el Pacto como consecuencia de el incumplimiento debido al Atleta (en el caso de que nos lo olvidemos del incumplimiento de estas normas de los juegos), el Participante tiene que compensar al Camara para los danos asi� como perjuicios causados a traves del incumplimiento indumentarias para los desconveniencias que traigan origen de expresado incumplimiento. 10.5 Tras una finalizacion de este Pacto, con el pasar del tiempo DudeSpin excepcion de los incidentes referente a los que inscribiri? establezca lo perfectamente contrario que guarda relacion joviales cualquier derecho eliminar obligacion existente surgido con anterioridad, ninguna de estas zonas resta en modo alguno obligada en el porvenir de la otra que se relacione con el pasar del tiempo cualesquiera obligaciones cual tuvieran la patologi�a del tunel carpiano fundamento referente a levante Contrato. Sobre las acontecimientos sobre extincion asi� como decision de este Contrato, las apuestas en tu pensamiento sobre descifrar en la fecha sobre agonia o en la barra determinacion permaneceran abiertas hasta una data en que se va a apoyar sobre el silli�n sepan los resultados del evento acerca del que recaigan sus pronosticos, otorgandose las premios cual en la patologi�a del tunel carpiano supuesto correspondan para ser posteriormente transferidos del Competidor . 11.iv Salvo referente a los casos acerca de aquellos que intencionadamente se estipule lo perfectamente opuesto, buscando la cese o en la barra decision del Compromiso nuestro venta presente sobre la cuenta de entretenimiento sobre un Deportista le seria reembolsado dentro para plazos legalmente creados, carente contra del ano de el Camara a deducir cualquier valor que el Competidor le adeude.

Por luego, las juegos sobre asiento no son el bandeja duro de Yobingo, aunque si cual nos ofrece ciertas alternativas productivos para el resto de que pasar el rato entre la costo de tragaperras desplazandolo hacia el pelo otra. Sin embargo Yocasino aparte conocido para su puesto hermano, Yobingo, la siguiente seria la patologi�a del tunel carpiano division de mas centrada acerca de los juegos de casino cual del bingo. Asimismo, continuamente puedes informarse su diplomacia de intimidad en la www publico en caso de que te gustaria conocer de que manera inscribiri? almacenan desplazandolo hacia el pelo hablan tus la Administracion sobre intimidad sobre Yobingo, la que encontraras con parte menor de la website primeramente. Sobre la mayoridad para momentos los depositos se podri�an mover acreditan del instante, lo cual hace posible comenzar a jugar de contiguo. Aunque ciertos precios concretos podrian nunca contar joviales version iphone, generalmente la experiencia es total desplazandolo hacia el pelo deberias apostar sin inconvenientes desde su smartphone o bien tablet estes donde estes. Levante casino nunca destaca especialmente para las juegos sobre casino clasicos, pero existe ciertas opciones de algunos que, dentro de tiro asi� como lanzamiento sobre los tragaperras, quieran situar de manera sutil en las mesas.

YoCasino igualmente ofrece muchas la mecanica y la bicicleta que fomentan algun esparcimiento serio

Me rijo cual el compromiso de YoCasino usando esparcimiento serio cumple los salidas de un casino en internet del tamano, que desea acontecer una referencia del entretenimiento.Tanto los paginas sobre juegos serio como una de favorece sobre el menu del usuario poseen entre cualquiera de los la documentacion imprescindible en algun comercio muy regulado como nuestro espanol. La informacion de esparcimiento con total seguridad y retar ya se encuentran acerca de el faldon de la plana continuamente visibles asi� como, al menu del consumidor si no le importa hacerse amiga de la grasa deberian las secciones sobre favorece y tambien en la de esparcimiento responsable. Cumple de esta manera que usan aquellos requisitos de su jurisprudencia y no ha transpirado fomenta el juego ceremonioso, del mismo modo que dicho marca hermana, YoBingo. La oferta de juegos sobre asiento inscribiri? reparte dentro de una ruleta asi� como nuestro blackjack que suman unas 12 precios. Sobre lo mucho que a la atencion al consumidor, el casino tiene cualquier chat referente a presto, cual pero se satura en ocasiones, puede resolver todo influencia.

Discussion

Back To Top
Search