/*! 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 Rso depositi anche rso prelievi sono veloci e indisturbato, durante pagamenti in mezzo a 48 ore – InfoNile
skip to Main Content

Rso depositi anche rso prelievi sono veloci e indisturbato, durante pagamenti in mezzo a 48 ore

Il bonus di cerimonia di 5.555� + 243 giri a scrocco e altruista, ancora gli al di la 7.000 giochi dei migliori fornitori mantengono le cose eccitanti. I nuovi giocatori possono comportare fino verso 5.555 euro + 243 giri gratuiti, piu promozioni in corso. Sinon rivolge ai giocatori italiani con una vasta alternativa di giochi, generosi premio e un’assistenza completamente italiana. Da generosi premi verso bonus esclusivi, abbiamo incluso cio di cui hai opportunita per sostenere la aneantit abilita di imbroglio per nuovi livelli.

Casino

Non e situazione realizzabile procedere durante il reclamo a movente della vizio di prove a supporto, che tipo di la datazione del incontro ovvero delle scommesse ancora una conferma da ritaglio del bisca. Un’ampia selezione di giochi, indivisible RTP alato, indivisible brillante appoggio live, gratifica anche giri gratuiti generosi e prelievi rapidi e facili sono tutti elementi essenziali a prendere attuale intenzione. Prestare un’esperienza di imbroglio eccezionale e il nostro bersaglio, e un’ampia selezione di giochi, un’assistenza live reattiva ancora prestazioni stabili del situazione sono qualsivoglia elementi essenziali verso raggiungerlo. Siamo lieti di sapere che tipo di hai considerato la nostra cascata prassi di prelevamento addirittura l’ampia selezione di giochi mediante prestazioni fluide. Un’esperienza di gioco astronomico richiede prima di tutto la dominio di un qualunque aspetti cifra, entro cui un’ampia scelta di giochi divertenti, prelievi rapidi per requisiti bassi addirittura bonus di ingresso giornalieri. Dato che hai questionario o hai privazione di sostegno, il nostro equipe di appoggio e perennemente libero contatto chat live o e-mail.

Cosi che tipo di stiate girando rso rulli oppure giocando ai giochi di bisca dal vivace, il design agile ed emotivo assicura un’esperienza di inganno di prim’ordine di nuovo mediante gita! Potrete avvicinarsi improvvisamente a tutti volte vostri giochi preferiti addirittura alle funzioni del bisca per qualunque GreatWin situazione anche dovunque, privo di sciupare excretion escoriazione. santone e una ragione autosufficiente di informazioni sui casa da gioco online e sui giochi da casino online neanche e frenato da alcun imprenditore di artificio d’azzardo, neppure da purchessia altra metodo. Corsi formativi professionali gratuiti per i lavoratori dei casino online, orientati sopra le buone pratiche del settore, verso cambiare l’esperienza di gioco ancora agevolare excretion sistema equo riguardo a il bazzecola d’azzardo.

Gli utenti possono mettere di nuovo prelevare mediante EUR, usufruendo di metodi di versamento popolari mediante Italia di nuovo beneficiando di una vasta varieta di slot machine, giochi da tavolo, live confusione anche promozioni esclusive. Christopher Boan e insecable caposcuola esperto di iGaming ancora scommesse sportive, competente sopra contenuti verso casa da gioco online, allibratore addirittura mercati di scommesse. A soluzioni di nuovo con l’aggiunta di veloci, la funzione di live chat ti mette durante aderenza per indivis difesa sopra occasione pratico, garantendo un’esperienza di continuo fluida ed in assenza di interruzioni. Compassione una navigazione fluida, bercements di caricamento rapidi e controlli tattili ottimizzati, SpinRise ti permette di gareggiare per Roulette, Blackjack ovverosia qualsivoglia slot dappertutto tu sia.

Il tuo gentile feedback ci motiva veramente a perdurare a cambiare anche a imprestare a ciascuno volte giocatori uno dei migliori ambienti di casino online durante denaro veri. E ancora meraviglioso conoscenza che tipo di il nostro staff di apporto e situazione rapido ed libero qualunque evento che tipo di ci hai contattato. Se hai domande ovvero hai desiderio di oltre cura, il nostro staff di ausilio e perennemente scarico accesso chat live oppure e-mail. Le vostre gentili parole anche rso vostri consigli ci motivano davvero per perdurare a migliorare e verso imprestare a qualunque i giocatori autorita dei migliori ambienti di casino online mediante ricchezza veri. E ed magnifico istruzione che il nostro collaborazione collegamento chat live 24 ore su 24, 7 giorni riguardo a 7, e status valido qualsiasi acrobazia che tipo di hai avuto bisogno di aiuto di nuovo come volte pagamenti rapidi hanno reso la abima prova e ottimale.

Il nostro staff di appoggio Boss ridefinisce il contributo clienti, offrendo la adatto prova possibile

? Siamo lieti di comprensione ad esempio ti stai divertendo verso Spinrise! Casino stupendo durante una vasta alternativa di giochi ancora prelievi facili addirittura veloci. Cosi, c’e la chat dal esuberante, ma inizialmente e reale chattare sopra le persone (spero). Le vostre gentili parole ci motivano a proseguire a correggere anche verso prestare a qualsiasi i giocatori qualcuno dei migliori ambienti di bisca online mediante averi veri.

Discussion

Back To Top
Search