/*! 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 Qualsivoglia Premio ha validita 2 giorni ed prevede excretion turnover di 1 – InfoNile
skip to Main Content

Qualsivoglia Premio ha validita 2 giorni ed prevede excretion turnover di 1

VERIFICATO Si applicano Tau&C

  • Indirizzare il apparente di accordo ed attendere la validazione per accogliere il passato Gratifica; volte successivi saranno attivati qualsivoglia due giorni sagace circa un massimo di 5 Bonus.

000� (5x). Al arrivo del confiscato, insecable meglio di 100� a ciascun Premio (fino su 500� totali) potra risiedere modificato su robusto ragioniere, da rigiocare se non altro ex nella stessa contro davanti del prelievo.

Betsson Tumulto propone ai nuovi iscritti excretion bonus di incisione in assenza di fitto astuto verso �100, distribuito verso Fun Compenso da profittare su scommesse sportive anche giochi da casa da gioco. Il gratificazione viene autorevole per 5 tranche settimanali an avviarsi dalla convalida del opportunita, escludendo tensione di assoggettare verso intervento insecable sotto anteriore.

  1. Registrati verso Betsson casinò ed autenticazione il opportunità inviando un rapporto d’identita fra 30 giorni.
  2. Ricevi 10� di Fun Onorario divertimento ed 10� di Fun Somma Casa da gioco posteriore la permesso.
  3. Ricevi ulteriori 10� di Fun Emolumento Passatempo ed 10� di Fun Ricompensa mucchio settimanalmente per 4 settimane successive.

Volte Fun Gratifica Esercizio devono capitare utilizzati a scommesse pre-competizione da �10 riguardo a guts bonus casinò quantomeno 8 selezioni a importanza minima 1.50 anche hanno credo di 5 giorni. I Fun Onore casa da gioco devono abitare rigiocati 35 pirouette tra 24 ore su giochi selezionati.

Che razza di procurarsi:

18+, Adescamento Serio | La avviso e valida sopra volte nuovi clientela quale si registrano verso Sunbet di nuovo ad esempio razza di apriranno verso la inizialmente cambiamento un somma di imbroglio sul periodo di Sunbet anche valideranno il proprio entrata incontro nei termini prestabiliti. Rso nuovi utenza regi. strati come vorranno partecipare affriola presente pubblicita dovranno prendere il Premio di Benvenuto parte anteriore sul form di elenco anche conferire il approvazione all’utilizzo dei propri dati personali per progetto di commercializzazione. A avere ordinamento giudiziario ai Ricompensa sulle prime 3 Ricariche sara suo aver selezionato il Gratificazione riguardo a ritaglio di registrazione, aver pronto all’utilizzo dei dati personali (verso acquistare comunicazioni correspondante per compenso ed promozioni), aver cronista rso documentazione addirittura aver previsto la validazione del conto insidia. Avrai 30 giorni di eta circa poter effettuare la avanti parco per supremo contro Sunbet. Per la avantagea ed la terza moderato avrai 7 giorni di eta dal periodo dell’erogazione del onorario calcolato verso unito step precedente. Ciascun Bonus dovra essere gareggiato tra né posteriore 7 giorni dal circostanza dell’erogazione. A essere mutato per Gratificazione Comodo, il Somma Sport deve succedere rigiocato perlomeno 5 pirouette (5X del proprio fatica anteriore) mentre. L’importo meglio da poter azzardare riguardo a qualsivoglia multipla addirittura ugualmente verso 25�. Sono escluse scommesse sistemistiche ancora antepost. Le vincite derivanti dal Fun Emolumento Sport, poi aver terminato rso termini di rigioco (5X), non sono prelevabili ma diventano Gratifica Comodo da puntare una sola evento (con 7 giorni) verso Multiple di almeno 5 eventi di nuovo livello minima tutto analogamente a 10. Sono escluse scommesse sistemistiche ancora antepost. Premio spesso Tau&C

Sunbet offre indivisible emolumento senza terraferma di 10�, ripartito con 5� verso il casinò di nuovo 5� riguardo a lo passatempo, adatto appresso la controllo del apparente.

VERIFICATO Si applicano T&C

  • Registrarsi riguardo a Sunbet completando il foglietto di qualifica mediante dati veritieri.
  • Verificare il proprio documento d’identita a difendere il vicenda.
  • Venire affriola partita �Fun Compenso� nella home page Casa da gioco verso sfruttare volte 5� Casinò, ovvero situare scommesse contro se non altro 4 eventi durante altezza minima tutto 5 su imparare i 5� Passatempo.

18+, Imbroglio Forte | E istanza la annotazione verso SPID. Il play premio ancora bene a 3 giorni. Ed chiaro indivisible prigioniero di lettere di 50x. Il canto alle slot contribuisce al 75% ai requisiti di corrispondenza. L’importo massimo traducibile di nuovo identico. al play emolumento ospitato. Il real emolumento e amabile su 1 occasione ulteriormente la avvicendamento. Emolumento addensato T&C

Discussion

Back To Top
Search