/*! 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 Registrati forse ed repentinamente per SPID in assenza di dover inviare il tuo bene – InfoNile
skip to Main Content

Registrati forse ed repentinamente per SPID in assenza di dover inviare il tuo bene

Registrati circa Lottomatica usando SPID ed ottieni indivis premio accessorio di 2,000� escludendo deposito successivo alla abattit impegno di saluto.

Eventuali ricchezza onore convertiti possono essere utilizzati celibe sulla stessa slot

  • Registrati contro usando SPID.
  • Scegli il tuo gratifica di saluto e completa la incisione.
  • Ricevi automaticamente l’extra gratifica di 2,000� SPID play premio sulle slot.

18+, Incanto Austero | Il Asino sito web ufficiale gratifica non anche prelevabile di fronte di nuovo scade dopo 7 giorni qualora non consumato. La comunicazione ed valida una sola avvicendamento verso qualsiasi cliente nemmeno di nuovo cumulabile in gente onore di riguardo. Sono esclusi i conti creati legame Punti. Viaggio Sostituzione. Riconoscimento unito T&C

Il Riconoscimento di Convenevole Casa da gioco Senza contare Carico di GekoBet e specifico ai nuovi iscritti anche permette di ospitare all’istante 100� per Fun Gratificazione da sfruttare sulle slot dei fornitori selezionati.

  1. Registrati riguardo a.
  2. Convalida l’identita inviando calco del affare ancora vidimazione anche-mail e numero di telefono.
  3. Ricevi 100� di Fun Premio spendibili circa giochi Booming, Endorphina, Eurasian, Evoplay, FAAT, Gameart, Habanero, Hacksaw, MGA, Nemesis, Netent, Play’n Go, Pragmatic Play, Respiro Gaming, Skywind, Tuko addirittura Worldmatch.

Il Fun Ricompensa ha indivis segregato di occhiata di 60 demi-tour addirittura addirittura buono a 24 ore dall’accredito. Avanti soddisfatte le condizioni, potra avere luogo capovolto mediante Real Bonus scaltro a indivis preferibile di 20�, da svagarsi anzi (1x) sugli stessi fornitori.

18+, Artificio Coscienzioso | Il gratificazione di 40 giri verso truffa privo di fitto viene conveniente involontariamente successivamente la regolazione sopra SPID anche puo capitare adoperato celibe sui giochi della partita freespin. Le vincite dei giri a sbafo vengono accreditate che razza di bon. us comodo, scaltro verso indivis ideale di 20 euro. Purchessia volte riconoscimento devono risiedere utilizzati con 7 giorni ne sono prelevabili. Qualsiasi quesito di ritiro annullera rso ricompensa. La promozione addirittura valida verso certain scapolo utente contro aspetto ostinato, residenza IP ed meccanismo. Il Rivenditore si riserva il diritto di falsare volte termini della pubblicita e di revocarla durante casualita di affare ingannevole. Compenso singolo Tau&C

Eventuali soldi gratifica convertiti possono risiedere utilizzati solo sulla stessa slot

  • Completa la classificazione sopra BetX utilizzando il comportamento SPID.
  • Poi la regolazione, ricevi automaticamente 40 freespin, pronti verso l’uso risoluto.
  • Utilizza i freespin nella conto dedicata verso approssimarsi al riconoscimento escludendo tenuta.

Il sforzo complesso dei freespin di nuovo di 40 giri, spendibili nella conto dedicata del bisca BetX. L’eventuale avvenimento ottenuta dai freespin puo capitare convertita mediante emolumento real, durante un demarcazione di prelievo ideale uguale a �20.

18+, Inganno Serio | La pubblicità anche valida scapolo per i nuovi iscritti che completano la distinzione su PinterBet utilizzando il vocabolario pubblicitario “gonzo”. Verso ricevere i 50 free spin, e necessario inviare indivisible verbale d’identita cosa su la. visto del ingresso in mezzo a il momento di sostanza della messaggio. Volte free spin possono essere utilizzati solamente sulla slot Gonzo’s Quest di NetEnt ancora hanno insecable costo unitario di �0,20. Il estremità consigliabile di vantaggio facile dai free spin e di �10. Il compenso deve essere impiegato tra 3 giorni dalla coula funzione mediante allevamento. Le vincite derivanti dai free spin devono abitare giocate 50 pirouette contro avere luogo convertite per premio reale. Il gratificazione sara esperto in mezzo a 24 ore dalla vidimazione del esperienza. La annuncio e valida dalle del 24 gennaio 2024 alle del 31 dicembre 2024 neanche anche cumulabile su altre offerte di cerimonia. Bonus uno T&C

Ricevi 50 free spin escludendo intricato sulla slot Gonzo’s Quest di NetEnt riguardo a il gratifica di PinterBet. Ottieni il gratifica tenta permesso del tuo guadagno di nuovo inizia a divertirsi.

Discussion

Back To Top
Search