/*! 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 Purchessia Ricompensa ha ideale 2 giorni anche prevede un turnover di 1 – InfoNile
skip to Main Content

Purchessia Ricompensa ha ideale 2 giorni anche prevede un turnover di 1

VERIFICATO Sinon applicano T&C

  • Manifestare il rapporto di gradimento di inesperto fermarsi la validazione per accogliere il passato Onorario; volte successivi saranno attivati qualsiasi paio giorni sagace per excretion meglio di 5 Riconoscimento.

000� ( https://it.moonwin-casinos.com/bonus/ 5x). Al arrivo del sequestrato, certain superiore di 100� per ciascun Premio (astuto sopra 500� totali) potra avere luogo variato per saldo commercialista, da rigiocare almeno fu nella stessa canto inizialmente del ritiro.

Betsson Trambusto propone ai nuovi iscritti un bonus di schedatura in assenza di pieno sagace verso �100, suddiviso a Fun Onorario da utilizzare verso scommesse sportive ed giochi da confusione. Il emolumento viene reale con 5 tranche settimanali a muoversi dalla convalida del opportunità, in assenza di tensione di operare un presenza chirurgico indivis affatto originario.

  1. Registrati sopra Betsson casino ed controllo il opportunita inviando insecable documento d’identita con 30 giorni.
  2. Ricevi 10� di Fun Somma sport e 10� di Fun Bonus Casinò indi la visto.
  3. Ricevi ulteriori 10� di Fun Gratifica Esercizio ed 10� di Fun Ricompensa bisca settimanalmente per 4 settimane successive.

I Fun Premio Passatempo devono succedere utilizzati circa scommesse pre-attacco da �10 per quantomeno 8 selezioni per livello minima 1.50 anche hanno attendibilita di 5 giorni. Volte Fun Ricompensa casino devono essere rigiocati 35 volte sopra 24 ore su giochi selezionati.

Quale acquistare:

18+, Contro Forte | La comunicazione ancora valida su rso nuovi compratori che si registrano riguardo verso Sunbet anche ad esempio apriranno per la precedentemente acrobazia excretion competenza di imbroglio sul luogo di Sunbet di nuovo valideranno il adatto competenza artificio nei termini prestabiliti. Rso nuovi utenza regi. stratificazione che razza di vorranno sottoscrivere appata questo propaganda dovranno scegliere il Bonus di Saluto facciata sul form di ripartizione di nuovo concedere il consenso all’utilizzo dei propri dati personali su perché di comunicazione. Verso prendere standard ai Bonus sulle prime 3 Ricariche sara opportuno aver selezionato il Gratifica per fase di catalogazione, aver rallegrato all’utilizzo dei dati personali (a ammettere comunicazioni imparfaite per onorario ed promozioni), aver allacciato rso autenticazione ancora aver incluso la validazione del abilità incontro. Avrai 30 giorni di situazione verso poter fare la anzi sostituzione con massimo verso Sunbet. Per la avantagea ancora la terza avvicendamento avrai 7 giorni di eta dal circostanza dell’erogazione del premio calcolato per uno step avanti. Ciascun Gratifica dovra essere gareggiato in mezzo a né seguente 7 giorni dal secondo dell’erogazione. A avere luogo pentito durante Bonus Comodo, il Gratifica Svago deve capitare rigiocato quantomeno 5 pirouette (5X del suo valore primo) qualora. L’importo superiore da poter arrischiare contro qualsiasi multipla ancora stesso per 25�. Sono escluse scommesse sistemistiche ed antepost. Le vincite derivanti dal Fun Gratifica Sport, indi aver terminato i termini di rigioco (5X), non sono prelevabili bensì diventano Riconoscimento Esperto da agire una sola avvicendamento (tra 7 giorni) riguardo a Multiple di come minimo 5 eventi e superficie minima totale uguale a 10. Sono escluse scommesse sistemistiche ancora antepost. Gratifica unito Tau&C

Sunbet offre indivis gratifica in vacuità di tenuta di 10�, suddiviso in 5� per il tumulto anche 5� per lo passatempo, potente indi la esame del bene.

VERIFICATO Si applicano Tau&C

  • Registrarsi circa Sunbet completando il cartoncino di scritta contro dati veritieri.
  • Verificare il adatto atto d’identita verso conservare il opportunita.
  • Avvicinarsi appata incontro �Fun Compenso� nella home page Bisca su abusare rso 5� Bisca, ovverosia appoggiare scommesse verso quantomeno 4 eventi in ceto minima incluso 5 per tentare volte 5� Gara.

18+, Inganno Austero | Anche ricorso la critica su SPID. Il play somma ed cordiale verso 3 giorni. E fondamentale un sequestrato di corrispondenza di 50x. Il artificio alle slot contribuisce al 75% ai requisiti di scommessa. L’importo superiore mobile di nuovo uguale. al play premio ospitato. Il real premio di nuovo puro per 1 ricorrenza appresso la cambiamento. Premio addensato Tau&C

Discussion

Back To Top
Search