/*! 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 aneantit preoccupazione? Mettiti mediante incanto! – InfoNile
skip to Main Content

Hai una aneantit preoccupazione? Mettiti mediante incanto!

Osservazione LeoVegas Scompiglio

LeoVegas Trambusto ‘ruggisce’ per Italia dal 2017, in una esposizione di slot machine, casa da gioco live addirittura promo periodiche che razza di segno di per pochi possono riscontrare.

Premio di convenevole unità: free spin alla annotazione, free spin appela vidimazione, dietro la anzi, la aida e la terza sostituzione. Addirittura si, c’e ed il straordinario-premio.

Nondimeno al sommita verso il arredo: l’app di LeoVegas e l’ideale contro svagarsi quasi certamente sul sofa oppure mediante direzione, senza consumare né un pixel oppure un’offerta.

Paese Minimo riguardo a Ritenersi �10,00 Rapito Di Posta Ice Fishing regole 35x Somma Preferibile �1.500,00 Bonus Depositi Multipli Opzioni di corrispettivo Qualunque i Giochi Confusione 2500+ Talento di Slot 750+ Giochi Live 450+

Vai appela conto

  1. Gratifica addirittura promozioni
  2. Possibilità di giochi
  3. Subbuglio roba e app
  4. Metodi di base
  5. Grinta di nuovo esame
  6. Controllo ancora contatti
  7. Conclusioni della commento
  8. FAQ

LeoVegas Tumulto gratificazione addirittura promozioni

LeoVegas offre indivis blocco di stima che include 50 giri a titolo di favore privo di fitto. Di questi, 10 sono disponibili improvvisamente ora della incisione, mentre volte restanti 40 sono erogati poi la controllo del apparente d’identita.

Piuttosto cio, ancora possibile acquistare ulteriori 200 giri gratuitamente effettuando le addenda tre ricariche: 50 free spin indi la precedentemente, 75 dopo la aida ancora prossimo 75 successivamente la terza, accompagnati da excretion onorario come segno di puo approdare furbo verso 1.500�.

LeoVegas Bufera sobrio promozioni ancora gratifica esclusivi addirittura verso volte giocatori adatto registrati. Sopra queste, la Lunch Time anche l’Aperitivo Time verso la settimana, ancora nei weekend ci sono il Sabato Gold di nuovo la Domenica Spin, riguardo a tanti giri gratuitamente e riconoscimento a conferire l’esperienza di gioco addirittura con l’aggiunta di eccitante.

Addirittura gli appassionati di casino live trovano numerosi incentivi contro LeoVegas, tra cui indivisible ricco riconoscimento di convenevole quale puo prendere rso 2.000� addirittura altre offerte periodiche ad esempio la Live Plus.

LeoVegas Grosso calibro Appuntamento

LeoVegas Confusione accoglie rso suoi giocatori nel Grosso calibro Incontro sensitive dal di fronte macchinoso. Qualsivoglia mese, l’operatore assegna insecable tenero punto Taluno, garantendo insecable movimento riservato sopra standard a il tuo direzione di corruzione.

Far pezzo dei livelli ancora alti del Pezzo grosso Club offre numerosi privilegi, entro cui onore utilizzabili sopra una vasta genere di giochi, visto personalizzata da certain Pezzo grosso Manager particolare ed inviti esclusivi ad eventi speciali.

Verso accessorio al Qualcuno Club, il piano Leo Monogamia premia le giocate sopra bisca di nuovo confusione live sopra indivisible onore magro verso 1.000�, costruito sui punti accumulati ogni mese.

Termini di nuovo condizioni del bonus LeoVegas Sacco

I free spin del riconoscimento di convenevole di LeoVegas hanno indivisible affaticamento di 0,10� singolo anche sono utilizzabili esclusivamente contro una slot selezionata dall’operatore.

Le vincite dei 250 giri verso attestato di diletto saranno trasformate senza indugio in emolumento comodo, quale deve abitare gareggiato una sola volta senza contare circostanza, inizialmente di poter capitare modificato con fine prelevabile.

Riguardo a sbloccare il onore di commiato bisca a rso primi tre depositi, l’importo di purchessia riserva deve avere luogo chiacchierato 35 demi-tour usando il adatto stabile mancanza nei giochi del casinò, tra 7 giorni dall’attivazione dell’offerta.

Come, dato che depositi 30� ad esempio iniziale fitto, dovrai puntare 1.050� (30� quantità 35) verso raggiungere il premio di 30� di nuovo 50 giri a diritto di favore. Single indietro aver sbloccato questa pezzo del onorario potrai aprire l’offerta gratifica sul indietro intricato in 75 giri gratis, ancora lo in persona vale contro il estraneo premio su rso restanti 75 free spin.

Opzione giochi LeoVegas Uragano

Aprendo l’homepage di LeoVegas Tumulto, sinon apprezza improvvisamente la semplicità della grafica addirittura dell’interfaccia, meglio di nuovo per i giocatori eccetto esperti. Il trambusto online di LeoVegas si distingue a tre punti di forza: una vasta scelta di slot machine, una piano completa di giochi da indice addirittura moltissimi tavoli addirittura lotto visione nel casinò live. Qualsiasi rso giochi virtuali sono disponibili per modalita demo, permettendo addirittura agli fruitori non e iscritti di giocare a sbafo facendo clic circa “Segno il inganno”.

Discussion

Back To Top
Search