/*! 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 Evaluando es invierno golpe social referente a la gente asi� como en sus mercados – InfoNile
skip to Main Content

Evaluando es invierno golpe social referente a la gente asi� como en sus mercados

Evaluamos en caso de que tenemos la aplicacion vacante desplazandolo hacia el pelo con el fin de lo que estrategias operativos es posible liberar

El reglamento sobre esparcimiento legal referente a Argentina estipula a como es ruleta seri�a el unico juego que se podri? competir en listo, lo cual deberian hecho que los operadores llenen las catalogos sobre posibilidades nuevas con manga larga multiplicadores, jackpots desplazandolo hacia el pelo muchas utilidades mayormente. Los tragaperras o bien slots en internet resultan el entretenimiento con de mayor opciones entre el folleto de juegos en casinos online regulados. El rol de el Gobierno Global sobre Colocacion de el Esparcimiento sobre las casinos con el pasar del tiempo licencia sobre Espana es muy significativo. Los sistemas de encriptacion para sitios de casinos online son tambien beneficios formas para situar joviales veracidad, sabiendo que las datos personales asi� como bancarios se encuentran inmune.

Este casino sobresale por algun modo unico cual limita los perdidas anuales de las individuos

Editora de comentarios asi� fair go casino fair go casino iniciar sesión como guias, especialista sobre metodos de entretenimiento En caso de que deseas conocer acerca de como hacen el trabajo bien los juegos sobre presto, todos estos se transmiten sobre tiempo favorable empezando desde sabiduria que usan camaras HD y tecnologia OCR que reconoce las jugadas. Sobre Chile se podri? participar sobre presto a diferentes versiones sobre ruleta, igual que la ruleta sobre listo con crupier, ruleta automatizada o ruleta joviales multiplicadores desplazandolo hacia el pelo jackpots. Karla Ruiz � Editora de opiniones y no ha transpirado encaminantes, especialista acerca de metodos de juego casinos-online.es logotipo

No, si prefieres conocer sobre como jugar para recursos positivo por probar los juegos referente a listo de balde, debes saber cual hay versiones demo que existen. Contacta joviales auxilio de inaugurar la influencia y seguir nuestro procedimiento agradable. Cualquier genial casino referente a vivo tiene que dar metodos sobre remuneracion rapidos, seguros y no ha transpirado diferentes.

Prestamos demasiada atencion an una capacidad para los agentes sobre Consideracion en el Usuario para descifrar los problemas para individuos desplazandolo hacia el pelo a la patologi�a del tunel carpiano rapidez. La nobleza para jugadores va a depender directamente de el cantidad de metodos de pago a su disposicion con el fin de depositos asi� como retiros, desplazandolo hacia el pelo de los limites de las transacciones.

Controla su bankroll, define limites financieros desplazandolo hacia el pelo de tiempo, no intentes restablecerse perdidas asi� como percibe nuestro desarrollo unicamente igual que la modo sobre esparcimiento, nunca igual que una forma de lucro. Los especialistas de Guia sobre Casinos valoran una precision asi� como continuamos una diplomacia sincera despues nuestros seres. Las metodologias de pago en los cero millas casinos no difieren de los de la antigi?edad, pero aqui destacaremos los metodos mas profusamente utilizadas y aconsejables, cual se encuentran a tu disposicion alrededor del 90% para los casinos joviales licencia en De cualquier parte del mundo. Queremos marcar especialmente una seccion en listo una entidad financiera de blackjack, lo cual es una singularidad en el mundo de internet espanol, donde normalmente unicamente se halla una ruleta.

En realidad, nadie los leer detenidamente, no obstante es habitual dar con quejas de personas en webs, web blogs y tambien en social media de casos sobre aquellos que no ha sido concebible elaborar un remuneracion sobre premios debido al incumplimiento de estas caracteristicas especificas. Por ello, concierna prestar atencion a la variacii?n sobre promociones paralelas disponibles sobre todo casino online sobre Chile que usan dinero eficaz, pues probablemente habra una gran cantidad sobre promociones adicionales que te garantizara contar siempre en compania de beneficios derechitos. Porque cada vez se muestran recientes casinos en internet referente a Ciertas zonas de espana, asi que las personas tienen la gran oferta sobre nuevas posibilidades entre las que lograr recibir segun las gustos desplazandolo hacia el pelo gustos.

?? Indole ?? Casino exclusivo ?? Para los primero es antes se coloca ?? Examinar Casino sobra seguro 888casino Norma veracidad, dominacion de puntos asi� como esparcimiento formal. Todos poseen licencia espanola, bonos dinamicos desplazandolo hacia el pelo cumplimentan a los mas profusamente altos genericos sobre empuje desplazandolo hacia el pelo juego importante. Algunos de los unos casinos con el pasar del tiempo rasca y no ha transpirado deseo, igualmente tragaperras sobre monopolio con el fin de sus personas. Prueba sus slots indumentarias funciona a la ruleta referente a listo que desea acerca de directo desde nuestro Casino Enorme Madrid sobre Torrelodones. Unas 400 juegos, una buena oferta sobre slots, ruleta, blackjack desplazandolo hacia el pelo casino acerca de listo. Los mejores slots desplazandolo hacia el pelo ruleta sobre avispado sobre algun casino online disei�ado para juguetear nadie pondri�a en duda desde conjuntos moviles.

Discussion

Back To Top
Search