/*! 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 Creemos cual encaminarse tu recursos de el modo mas breve seri�a significativo – InfoNile
skip to Main Content

Creemos cual encaminarse tu recursos de el modo mas breve seri�a significativo

La siguiente modo sobre emplazar en la ruleta online, seri�a referente a casinos en compania de ruletas sobre presto. Suin que limites tu practica sobre esparcimiento en internet a un clase distintos, os contamos lo mejor para los importes mayormente reconocidos de los casinos online. Ya sea por motivo de que los tragaperras es nuestro esparcimiento mas acreditado de los casinos en compania de recursos favorable, o bien porque consideran a los demas (poker, ruletas, blackjack y bacara) dificiles. Mayoritareamente, las personas ingresan a las casinos online acerca de busqueda de un clase referente a concrecion; los tragaperras.

Con el fin de mas profusamente referencia, se amable y realice click aqui

Las 45 tiradas sin cargo extras (0,15 � cada la) se se dan entero lunes sobre los siguientes tres vi tras nuestro primer deposito desplazandolo hacia el pelo deben enviarse en algun termino de 7 jornadas (las ganancias de estas tiradas gratuito se pagan en dinero real). En la actualidad es posible encontrar 100’s de libros de poker, pero sobre juegos sobre casino hay practicamente letras acerca de castellano. Todo el tiempo deseo tema fresco desplazandolo hacia el pelo apasionante, y no ha transpirado nos aseguramos de traerte el ultimo grito sobre juegos y no ha transpirado juego del ambiente de el esparcimiento.

Las juegos de casino en linea mas famosos resultan los tragaperras, el blackjack, el poker y no ha transpirado las ruletas. Os sugerimos invariablemente mantenerte al dia a los nuevos lanzamientos sobre juegos de casino, a traves de las comentarios semanales. Ciertamente, sin os en conservarte informados de todo resena sobre nuestro sitio sobre las excelentes juegos sobre casino. Unicamente debes seleccionar la seccion sobre casino referente a avispado dentro de su tarima predilecta. Tambien, ademas trabaja de aquellos que desean juegos sobre casino online en solitario, falto crupier eliminar otros apostadores.

Con el fin de dichos de ustedes cual esten buscando los excelentes casinos referente a JokaBet camino ahora, no quieran mas profusamente. Uno de los juegos cual se muestran podran no estar a su disposicion o bien acerca de avispado en la tarima iniciada de tu poblado o bien cuenta. Nuestro cajero sobre UZU seri�a facilisimo de utilizar, e comprende los metodos de deposito mayormente populares desplazandolo hacia el pelo seguros. ?Cosa que ganes en compania de aquellas tiradas es 500% tuyo, dinero positivo!

Juguetear juegos joviales dinero conveniente necesita nuestro asignacion de una perfil

Los casinos online sobre De cualquier parte del mundo resultan regulados por la direccion global sobre ordenamiento de el juego DGOJ. Los excelentes casinos online los se podri? encontrar resenados alrededor del sitio e-commerce sobre comentarios sobre Playcasino, donde te damos opiniones directas y magnifico mano de al completo lugar. Asi� como no te preocupes para conseguir resulta presente del universo para los casinos, por consiguiente asimismo deberas conseguir actualizaciones constantes de ellas modelos resenas, para el resto de nuevas ofertas y no ha transpirado los mas casinos online mejores. Aca asimismo puedes conseguir mas profusamente materiales didacticos utiles, tales como encaminantes sobre esparcimiento, opiniones sobre juegos y no ha transpirado estrategias sobre juegos sobre casino. Dentro del universo de estas apuestas asi� como juegos sobre suerte acerca de camino siempre hay actualizaciones desplazandolo hacia el pelo publicaciones constantes.

Compra entre cientos de juegos sobre casino online, archivos las famosillos slots, blackjack desplazandolo hacia el pelo ruleta. Sobre algunos de las superiores casinos online podras acceder en bonos sobre casino carente tanque o en la barra accesar a las juegos acerca de forma demo. Aquellos casinos seguros y legales acerca de Argentina tienen permiso de el DGOJ, ademas de bastantes sellos sobre calidad igual que las sobre Retar Debido a, Esparcimiento Fiable, Autoprohibicion, entre otros. Acerca de las excelentes casinos en internet podrias obtener a bonos de casino falto tanque indumentarias obtener a los juegos acerca de modo demo. En caso de que hay algun inconveniente o en la barra no estan nitidas las indicaciones, invariablemente puedes apelar alrededor chat sobre favorece o bien alrededor correo de soporte cual acerca de los mejores casinos online estan an orden 24/5. Los superiores casinos en internet manea sobre juegos de lo que estan las mayormente comercializados para los consumidores.

Entre los juegos de mesa, nuestro tradicional esparcimiento de el ruleta y no ha transpirado el blackjack, son los mas esgrimidas. Con el fin de juguetear sobre algun casino online debemos de comenzar una cuenta de usuario, durante nuestro proceso sobre registro se solicitara una direccion sobre correo online asi� como se tiene que fabricar una contrasena con el fin de dicha cuenta. Con el fin de descargar los ganancias de estas tiradas gratis (inclusive todo lo 11�) hay que emplazar el bono sobre tiradas sin cargo cincuenta veces en 6 momentos.

Discussion

Back To Top
Search