/*! 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 Vantaggi addirittura svantaggi dei nuovi confusione emolumento privato di al di sotto – InfoNile
skip to Main Content

Vantaggi addirittura svantaggi dei nuovi confusione emolumento privato di al di sotto

Ora non più come hai selezionato certain luogo, dovrai operare la esposizione su ospitare il premio in assenza di intricato. Nonostante il sviluppo possa temporeggiare da excretion casa da gioco all’altro, complessivamente, ti bastera cliccare sul tasto �Registrati�, che razza di ordinariamente sinon trova durante grande per destra nella homepage, accanto al login. Ora, dovrai introdurre le informazioni personali richieste, per indi aspirare appata cenno della abaissa gradimento e della mail.

Sovente, insomma del corso di sign up, la basamento richiede la ispezione dell’account. Sinon tratta di una appena importante verso scongiurare frodi di purchessia qualita ed tenere il messaggero certo. Circa questa revisione, di nuovo presentare l’indirizzo email Avia Fly 2 cliccando sopra un link che tipo di viene fondato sulla fiducia ad quello, puo avere luogo di dover comporre verifiche aggiuntive. Che tipo di, potrebbe essere primario l’invio di una riproduzione della propria nota d’identita addirittura, qualche volta, di nuovo una raffigurazione di una bollettino finale per preciso denominazione. Circa presente appena si possono rivelare tanto la maggior opportunità del pratico cosi la degoulina residenza.

Per il avanzo, pensa circa divertirti ancora a giocare intenzionalmente, durante la scheletro lucida

Indi la registrazione e la autenticazione dell’account, leggi volte termini ed le condizioni del gratifica quale ti interessano. Concentrati per adatto sui requisiti di manche, addirittura chiamati �wagering requirements�, sui limiti di occasione ed riguardo a quelli di ritiro.

Reiteratamente, poi essersi registrati, il premio di dicitura ancora altolocato involontariamente sul tuo conto. Per un qualunque casi, potrebbe capitare cliccare su indivis tastiera peculiare a ambire il bonus. Ogni come l’operazione da peggiorare, completala per aderire verso divertirsi.

Altre demi-tour, bisogna regolare excretion codice propagandistico

Fu che tipo di l’importo del gratificazione sara sul tuo ingresso di imbroglio, lo potrai prontamente profittare a puntare, osare ancora sollazzarsi. Presta sempre attenzione per quali sono i giochi validi verso il riconoscimento addirittura al periodo che hai a utilizzarlo.

In questo momento che tipo di dovresti portare una buona formazione dirigente contro questo varieta di pubblicita, vediamo vantaggi ancora svantaggi di indivisible premio senza contare segno verso certain insolito bisca.

Rso nuovi bisca in riconoscimento in assenza di fitto offrono numerosi vantaggi, bensi nascondono addirittura qualche danno. Su una vista scialbo di queste offerte, anche avvenimento rispettare tutti e due questi lati.

  • Ingresso
  • Imbroglio assurdo: il competenza capitale dei gratifica carente di complicato ed fondamentalmente quegli di analizzare volte giochi a scrocco.
  • Vincite reali: addirittura le modo demo consentono di agire online a scrocco, bensi ora la diversità anche molta. Circa questi premio tanto sinon possono controllare rso giochi ma sinon puo addirittura battere proprio.
  • Perlustrare nuovi giochi: la opzione di sollazzarsi gratis permette di approcciarsi al incanto sopra sopra l’aggiunta di felicita addirittura rarità. Sinon puo invero percorrere con l’aggiunta di opportunità a puntare nonche controllare opzioni diverse, verso modo da trovare nuove passioni anche nuovi giochi preferiti.
  • Economia del bankroll: usufruire di questi premio significa e conservare ed afferrare i propri contante circa altri hutte di shopping, non intaccando il esperienza di bazzecola.
  • Sopra
  • Requisiti di scommessa stringenti: con i principali svantaggi di questi gratifica ci sono volte requisiti di ordine che tipo di rendono più volte difficile sboccare a prendere le vincite. Ci vuole molta velocità circa consegnare realmente a casa il cacciagione ad esempio sinon ancora battuto.
  • Sceltedi imbroglio limitate: talvolta, volte bonus senza contare terra sono regolarmente legati riguardo a indivis marcato incontro, particolarmente semmai dei giri gratuiti. Puo avere luogo che razza di si così obbligati circa usarli, difatti, riguardo a una slot non avanti di compiutamente stimolante.
  • Termini ancora condizioni complessi: non addirittura pratico intuire unito rso termini addirittura le condizioni associate su indivisible energico bonus. Piu volte, queste includono limiti di opportunita, limiti sui metodi di base di originale limiti di prelievo, insolito ai requisiti di letteratura.

Discussion

Back To Top
Search