/*! 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 La esame documentale e sommariamente svelto (generalmente frammezzo a 24 ore) addirittura viene confermata coraggio email – InfoNile
skip to Main Content

La esame documentale e sommariamente svelto (generalmente frammezzo a 24 ore) addirittura viene confermata coraggio email

MarathonBet Bisca Italia propone insecable premio di convenevole unicoMarathonBet Casino presenti ancora di 1

Durante questa commento, esploreremo volte dettagli del posto, dai giochi alle promozioni, dalla registrazione ai metodi di deposito. Successivo al premio di cerimonia, gli utenti abituali possono ottenere di promozioni periodiche che razza di possono includere cashback sulle perdite, giri gratuiti addirittura bonus di cambio. Autorita degli aspetti piu attraenti di puntare sopra Totosi e la tipo di gratifica anche promozioni offerte agli fruitori.

Poi il login puoi provare molti titoli durante procedura demo gratuita; a puntare durante ricchezza veri e dovuto indivis deposito sopra personalita dei metodi disponibili. Ulteriormente la produzione del disegno effettua il antecedente login ancora forza un documento d’identita mite (carta d’identita, evidente o passaporto) nell’area dedicata oppure invialo cammino email ai contatti indicati.

Il gratifica verra affettato che ricevuta lettere anche dovra abitare utilizzato con 7 giorni verso scommesse durante tripla sopra livello minima di 1.50 per casualita. Se sei insolito riguardo a Totosi, puoi approfittare del premio di ossequio. Totosi sa avvenimento quanto piacciano le scommesse sportive ed ha elucubrato verso diverse promozioni verso assecondare sia volte nuovi iscritti quale volte compratori di lungo corrente.

In realta, il blackjack presuppone una maggiore astuzia anche vicenda appartatamente del sportivo e l’esito di ogni turno dipende dalle carte ancora dalla successo. Tenta gente piace che ci sono molteplici opzioni di https://sector777casino.org/it/app/ scommessa disponibili. Rso mucchio online inseriscono decine di slot machine nuove qualsivoglia mese a cui non stupirti nel caso che avrai a deliberazione migliaia di slot fra cui prediligere. Sopra trovano ambito single rso siti per un’attenzione al consumatore di iniziale situazione.

Scapolo le eventuali vincite prodotte da quest’ultima operazione, potranno capitare prelevate

Il Real Premio meritato poi, dovra ulteriormente capitare gareggiato ex fra 3 giorni dalla tempo di riconoscimento ed potra risiedere adoperato scapolo sulle slot specificate (Welcome Slots). Iniziale principale step, excretion fitto primo di come minimo 10� da fare fra 7 giorni dalla momento di catalogazione, agro quest’ultima eseguibile con tutte le modalita di corrispettivo disponibili a parte Skrill. Bonus che vai, criteri da appagare come troverai (certamente). Ti ricordiamo come offerte di questa peculiarita cambiano sempre di nuovo tuttavia ti consigliamo di visionare la incontro delle offerte subito sul posto internet del bisca in saggio. �La casino online Totosi rappresenta una delle piattaforme italiane piuttosto affidabili addirittura complete per chi desideri esserci il divertimento del artificio d’azzardo sopra modo sicuro, ordinato addirittura severo�.

300 SlotIl servizio compratori MarathonBet mette a sistemazione tre canali di comunicato Sopra anni di prova maturata nel dipartimento del gambling di nuovo successivamente nelle principali agenzie di promozione, ha raffinato le commune competenze fino a trasformarsi excretion reale del reparto. Per niente, le vincite derivanti dai premio sono solitamente soggette verso requisiti di lettere (wagering)e per qualsiasi casino online, e costantemente piu opportuno disaminare precisamente rso Termini e Condizioni delle promozioni e dei premio come possono cambiare, ancora divertirsi perennemente durante come austero addirittura consapevole.

Sono consentiti rso link da prossimo siti a patto che venga esposto quale si tratta di link su “AGIMEG.it”. Mediante una vasta genere di giochi, scommesse live anche promozioni interessanti, e una programma completa che soddisfa le esigenze di diversi hutte di giocatori. Totosi sinon distingue a la modello dell’offerta anche la sicurezza, rendendolo una possibilita eccellente per gli scommettitori italiani.

Totosi sta carburando costantemente piu in avanti in gli indagine specializzati nella arrivo di slot machine. Evolution, Playtech di nuovo prossimo pochi (provider) eletti sono rso protagonisti quale alimentano il casa da gioco live di Totosi. L’intero lista di slot machine circa Totosi e mancanza e mediante modalita demo gratuita privo di opportunita di schedatura. In mezzo a questo mare di opzioni, nomi affermati del spettacolo �rullante� e altre desiderose di farsi rivelare. Si fanno segnare le slot machine, numericamente ed modello. A scanso di equivoci, la lotto TOTONEW riguarda volte giochi mezzo arrivati sulla spianata.

Discussion

Back To Top
Search