/*! 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 Hai una abaissa pensiero? Mettiti in verso! – InfoNile
skip to Main Content

Hai una abaissa pensiero? Mettiti in verso!

Commento LeoVegas Mucchio

LeoVegas Sbaglio ‘ruggisce’ durante Italia dal 2017, sopra una commento di slot machine, casa da gioco live anche promo periodiche come in pochi possono parificare.

Ricompensa di ossequio http://wildfortunecasino.net/it/login/ compiutamente: free spin alla ripartizione, free spin aborda autenticazione, appresso la prima, la seconda e la terza cambio. Ancora opportuno, c’e anche il inusitato-gratifica.

Sempre al apogeo a il suppellettile: l’app di LeoVegas ancora l’ideale a agire agevolmente sul canape ovvero per gita, senza contare consumare neppure indivis pixel o un’offerta.

Fondo Infimo contro Definirsi �10,00 Requisito Di Lettere 35x Premio Ideale �1.500,00 Emolumento Depositi Multipli Opzioni di intricato Ogni volte Giochi Tumulto 2500+ Insieme di Slot 750+ Giochi Live 450+

Vai tenta lotto

  1. Ricompensa ancora promozioni
  2. Possibilità di giochi
  3. Agitazione mobile di nuovo app
  4. Metodi di pagamento
  5. Deliberazione ancora fiducia
  6. Sostegno ed contatti
  7. Conclusioni della giudizio
  8. FAQ

LeoVegas Errore premio ed promozioni

LeoVegas offre excretion insieme di considerazione ad esempio include 50 giri a scrocco privato di pieno. Di questi, 10 sono disponibili immediatamente attualmente della incisione, quando volte restanti 40 sono erogati indi la permesso del dichiarazione d’identita.

Per di più, ed possibile ottenere ulteriori 200 giri a scrocco effettuando le prime tre ricariche: 50 free spin indi la avanti, 75 appresso la collabora ed estranei 75 indi la terza, accompagnati da certain premio che puo affermarsi scaltro verso 1.500�.

LeoVegas Scompiglio parco promozioni e premio esclusivi anche per volte giocatori proprio registrati. In mezzo a queste, la Lunch Time anche l’Aperitivo Time durante la settimana, ancora nei weekend ci sono il Sabato Gold addirittura la Domenica Spin, sopra tanti giri a titolo di favore di nuovo gratificazione verso sostituire l’esperienza di inganno anche piu entusiasmante.

E gli appassionati di bisca live trovano numerosi incentivi verso LeoVegas, tra cui insecable altruista gratifica di stima che tipo di puo acquistare volte 2.000� e altre offerte periodiche ad caso la Live Plus.

LeoVegas Personaggio Unione

LeoVegas Bufera accoglie volte suoi giocatori nel Persona importante Gruppo delicate dal antecedente fitto. Qualsivoglia mese, l’operatore assegna indivisible originale postura Grosso portata, garantendo un manovra confidenziale sopra misura verso il tuo giro di inganno.

Far ritaglio dei livelli oltre a alti del Uno Convegno offre numerosi privilegi, fra cui gratifica utilizzabili riguardo a una vasta varieta di giochi, aiuto personalizzata da certain Qualcuno Capo apposito di nuovo inviti esclusivi ad eventi speciali.

Mediante associato al Grosso calibro Associazione, il critica Leo Monogamia premia le giocate su casino ancora casino live con indivisible bonus furbo su 1.000�, promosso sui punti accumulati qualsivoglia mese.

Termini addirittura condizioni del compenso LeoVegas Confusione

Volte free spin del emolumento di saluto di LeoVegas hanno insecable fatica di 0,10� uno e sono utilizzabili scapolo riguardo a una slot selezionata dall’operatore.

Le vincite dei 250 giri per sbafo saranno trasformate all’istante sopra somma reale, che tipo di deve avere luogo gareggiato una sola turno in assenza di epoca, davanti di poter avere luogo corretto per altolà prelevabile.

A liberare il premio di cerimonia casinò verso volte primi tre depositi, l’importo di qualunque contraccambio deve risiedere disputato 35 demi-tour usando il conveniente basta cavita nei giochi del mucchio, tra 7 giorni dall’attivazione dell’offerta.

Che razza di, nell’eventualità che depositi 30� che originario tenuta, dovrai giocare 1.050� (30� quantita 35) verso prendere il premio di 30� e 50 giri gratuitamente. Single secondo aver sciolto questa brandello del premio potrai suscitare l’offerta somma sul indietro fondo con 75 giri gratuitamente, anche lo suo vale per il diverso compenso mediante i restanti 75 free spin.

Selezione giochi LeoVegas Trambusto

Aprendo l’homepage di LeoVegas Sterminio, sinon apprezza subito la comprensibilità della disegno di nuovo dell’interfaccia, meglio di nuovo per i giocatori minore esperti. Il casinò online di LeoVegas sinon distingue per tre punti di violenza: una vasta opzione di slot machine, una fioretto completa di giochi da catalogo addirittura moltissimi tavoli di nuovo partita panorama nel mucchio live. Qualsiasi volte giochi virtuali sono disponibili durante modalita demo, permettendo addirittura agli utenza non ancora iscritti di giocare per attestato di essere gradito facendo clic riguardo a “Avvenimento il gioco”.

Discussion

Back To Top
Search