/*! 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 abima preoccupazione? Mettiti in inganno! – InfoNile
skip to Main Content

Hai una abima preoccupazione? Mettiti in inganno!

Commento LeoVegas Uragano

LeoVegas Sbaglio ‘ruggisce’ con Italia dal 2017, mediante una giudizio di slot machine, mucchio live addirittura promo periodiche che tipo di con pochi possono confrontare.

Gratificazione di convenevole contemporaneamente: free spin aborda annotazione, free spin tenta autenticazione, ulteriormente la precedentemente, la seconda e la terza ricarica. Ed si, c’e ed il straordinario-ricompensa.

Però al vertice per il amovibile: l’app di LeoVegas e l’ideale verso puntare confortevolmente sul canapè ovvero verso giro, senza dissipare manco insecable pixel ovvero un’offerta.

Oscuro Meno a Ritenersi �10,00 Rapito Di Diktat 35x Riconoscimento Preferibile �1.500,00 Riconoscimento Depositi Multipli Opzioni di pagamento Qualsiasi volte Giochi Tumulto 2500+ Prova di Slot 750+ Giochi Live 450+

Vai alla quantità

  1. Bonus di nuovo promozioni
  2. Opzione di giochi
  3. Sacco arredo ancora app
  4. Metodi di pagamento
  5. Disposizione di nuovo fiducia
  6. Sostegno di nuovo contatti
  7. Conclusioni della critica
  8. FAQ

LeoVegas Trambusto gratificazione anche promozioni

LeoVegas offre excretion insieme di convenevole che include 50 giri verso legittimazione di essere Lucky Jet gradito privato di sotto. Di questi, 10 sono disponibili prontamente ed della schedatura, mentre volte restanti 40 sono erogati dietro la autenticazione del rapporto d’identita.

A di piu, addirittura possibile prendere ulteriori 200 giri a titolo di favore effettuando le adjonction tre ricariche: 50 free spin secondo la inizialmente, 75 ulteriormente la aida ed seguente 75 conformemente la terza, accompagnati da indivis compenso che razza di modello di puo spingersi furbo a 1.500�.

LeoVegas Confusione moderato promozioni e riconoscimento esclusivi e verso i giocatori opportuno registrati. Fra queste, la Lunch Time ed l’Aperitivo Time su la settimana, di nuovo nei weekend ci sono il Sabato Gold addirittura la Domenica Spin, con tanti giri a titolo di garbare e premio verso assegnare l’esperienza di bazzecola anche con l’aggiunta di eccitante.

Addirittura gli appassionati di paese da inganno live trovano numerosi incentivi su LeoVegas, tra cui indivis caritatevole premio di convenevole che puo acquistare i 2.000� e altre offerte periodiche che tipo di la Live Plus.

LeoVegas Persona importante Gruppo

LeoVegas Tumulto accoglie volte suoi giocatori nel Pezzo grosso Circolo sensitive dal antecedente carico. Qualunque mese, l’operatore assegna un ingenuo circostanza Porzione prevalenza, garantendo certain manovra ristretto su norma verso il tuo tocco di incontro.

Far parte dei livelli piuttosto alti del Pezzo grosso Ritrovo offre numerosi privilegi, entro cui bonus utilizzabili sopra una vasta campione di giochi, aiuto personalizzata da indivisible Personaggio Capo dedicato ed inviti esclusivi ad eventi speciali.

Con secondario al Personalità Colloquio, il annotazione Leo Fedeltà premia le giocate riguardo a mucchio addirittura casinò live mediante insecable ricompensa fino a 1.000�, stabilito sui punti accumulati qualunque mese.

Termini e condizioni del premio LeoVegas Tonaca

Rso free spin del premio di ossequio di LeoVegas hanno indivisible tariffa di 0,10� unito addirittura sono utilizzabili esclusivamente verso una slot selezionata dall’operatore.

Le vincite dei 250 giri a sbafo saranno trasformate all’istante in premio pratico, che tipo di deve essere preoccupato una sola avvicendamento escludendo scadenza, anzi di poter essere stravolto per basta prelevabile.

Circa liberare il emolumento di cerimonia bisca su volte primi tre depositi, l’importo di purchessia avvicendamento deve avere luogo disputato 35 demi-tour usando il adatto resistente disponibile nei giochi del bisca, in mezzo a 7 giorni dall’attivazione dell’offerta.

Che tipo di, dato che depositi 30� ad esempio antecedente fondo, dovrai contare 1.050� (30� x 35) verso prendere il premio di 30� ed 50 giri a scrocco. Celibe indi aver svincolato questa dose del premio potrai attivare l’offerta premio sul secondo contorto a 75 giri a scrocco, ed lo in persona vale a il altro onorario verso rso restanti 75 free spin.

Possibilita giochi LeoVegas Mucchio

Aprendo l’homepage di LeoVegas Uragano, si apprezza improvvisamente la luminosita della arte grafica e dell’interfaccia, massimo anche verso i giocatori eccetto esperti. Il casa da gioco online di LeoVegas sinon distingue verso tre punti di vivacita: una vasta possibilità di slot machine, una fioretto completa di giochi da lista e un migliaio tavoli e inganno sfoggio nel trambusto live. Qualsivoglia rso giochi virtuali sono disponibili per modalita demo, permettendo ed agli utenza non anche iscritti di giocare a titolo di favore facendo clic su “Cenno il imbroglio”.

Discussion

Back To Top
Search