/*! 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 abattit fastidio? Mettiti contro adescamento! – InfoNile
skip to Main Content

Hai una abattit fastidio? Mettiti contro adescamento!

Giudizio LeoVegas Caos

LeoVegas Mucchio ‘ruggisce’ contro Italia dal 2017, per una battuta di slot machine, casinò live e promo periodiche allo stesso modo pochi possono equiparare.

Riconoscimento di saluto insieme: free spin alla registrazione, free spin affriola visto, poi la inizialmente, la appuya addirittura la terza cambio. Di nuovo si, c’e addirittura il super-gratifica.

Nondimeno al sommita riguardo a il soprammobile: l’app di LeoVegas ancora l’ideale verso giocare agiatamente sul ottomana ovvero riguardo a gita, senza contare consumare manco certain pixel o un’offerta.

Macchinoso Escluso verso Qualificarsi �10,00 Requisito Di Lettere 35x https://superbosscasino.net/it/ Gratifica Preferibile �1.500,00 Premio Depositi Multipli Opzioni di pagamento Qualsivoglia rso Giochi Tonaca 2500+ Bravura di Slot 750+ Giochi Live 450+

Vai affriola conto

  1. Riconoscimento ancora promozioni
  2. Opzione di giochi
  3. Scompiglio arredo di nuovo app
  4. Metodi di versamento
  5. Possibilità di nuovo affidabilita
  6. Aiuto ancora contatti
  7. Conclusioni della giudizio
  8. FAQ

LeoVegas Subbuglio bonus ed promozioni

LeoVegas offre certain blocco di ossequio come include 50 giri gratuitamente in assenza di difficile. Di questi, 10 sono disponibili all’istante di nuovo della regolazione, qualora rso restanti 40 sono erogati indietro la visto del documento d’identita.

Per di piu, anche plausibile ottenere ulteriori 200 giri in regalo effettuando le addenda tre ricariche: 50 free spin dopo la avanti, 75 ulteriormente la appuya anche gente 75 appresso la terza, accompagnati da certain somma come puo afferrare fino verso 1.500�.

LeoVegas Trambusto parco promozioni e gratifica esclusivi anche contro i giocatori precisamente registrati. Fra queste, la Lunch Time e l’Aperitivo Time verso la settimana, di nuovo nei weekend ci sono il Sabato Gold di nuovo la Domenica Spin, sopra tanti giri gratis e ricompensa a essere l’esperienza di artificio ancora e inebriante.

Ancora gli appassionati di bisca live trovano numerosi incentivi sopra LeoVegas, mediante cui excretion altruista premio di benvenuto che puo raggiungere i 2.000� ancora altre offerte periodiche che qualità di la Live Plus.

LeoVegas Persona importante Circolo

LeoVegas Tonaca accoglie rso suoi giocatori nel Personaggio Movimento sensitive dal iniziale complicato. Ogni mese, l’operatore assegna indivis inusuale circostanza Soggetto celebre, garantendo excretion agitazione confidenziale circa criterio verso il tuo stile di artificio.

Far pezzo dei livelli di nuovo alti del Personaggio Ritrovo offre numerosi privilegi, fra cui onorario utilizzabili su una vasta come di giochi, controllo personalizzata da excretion Persona importante Direttore offerto di nuovo inviti esclusivi ad eventi speciali.

In secondario al Persona importante Associazione, il progetto Leo Fedeltà premia le giocate sopra casa da gioco ancora casinò live verso insecable gratifica magro verso 1.000�, approvato sui punti accumulati qualsivoglia mese.

Termini anche condizioni del compenso LeoVegas Sconvolgimento

Rso free spin del premio di saluto di LeoVegas hanno excretion sforzo di 0,10� personalità addirittura sono utilizzabili solo contro una slot selezionata dall’operatore.

Le vincite dei 250 giri a sbafo saranno trasformate improvvisamente con somma pratico, che razza di deve abitare giocato una sola turno escludendo anniversario, precedentemente di poter avere luogo variato per stabile prelevabile.

Per liberalizzare il somma di ossequio trambusto verso i primi tre depositi, l’importo di qualsiasi baratto deve succedere incerto 35 pirouette usando il adatto forte cavita nei giochi del mucchio, tra 7 giorni dall’attivazione dell’offerta.

Quale, qualora depositi 30� ad esempio passato tenuta, dovrai allietarsi 1.050� (30� quantitativo 35) sopra acquisire il onorario di 30� anche 50 giri a scrocco. Solo ulteriormente aver liberalizzato questa parte del emolumento potrai introdurre l’offerta riconoscimento sul posteriore fitto verso 75 giri a titolo di favore, anche lo in persona vale contro il diverso bonus per volte restanti 75 free spin.

Opzione giochi LeoVegas Mucchio

Aprendo l’homepage di LeoVegas Perturbazione, si apprezza all’istante la luminosità della pensiero addirittura dell’interfaccia, meglio anche sopra volte giocatori minore esperti. Il tumulto online di LeoVegas sinon distingue contro tre punti di brutalità: una vasta opzione di slot machine, una offerta completa di giochi da sommario di nuovo infiniti tavoli ed partita show nel bisca live. Singolo i giochi virtuali sono disponibili riguardo a modo demo, permettendo addirittura agli fruitori non e iscritti di contare in regalo facendo clic su “Cenno il corruzione”.

Discussion

Back To Top
Search