/*! 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 MrO Scompiglio – Bonus confidenziale in assenza di tenuta Solo nuovi giocatori! – InfoNile
skip to Main Content

MrO Scompiglio – Bonus confidenziale in assenza di tenuta Solo nuovi giocatori!

I scompiglio non AAMS sono piattaforme straniere con certificazioni internazionali a operare con estranei Paesi

Nella nostra elenco scompiglio sicuri online, troverai volte migliori confusione in Italia, pronti ad offrirti un’esperienza unica per contare cosi a svago che durante denaro veri. mantiene la sua catalogo aggiornata, assicurando che tipo di volte giocatori abbiano sempre guadagno alle excessif informazioni sui migliori mucchio aams. Queste �pagelle� sono basate circa un’analisi approfondita anche riguardo a esperienze reali di giocatori, offrendo insecable scenografia agevole di nuovo evidente di cio come ci sinon puo aspettare dai mucchio online italiani. Orca Spins – Gratifica esclusivo senza fitto Nuovi giocatori – Agit OK!

I migliori casa da gioco online aams hanno ottimizzato le lui piattaforme a smartphone di nuovo tablet, garantendo un’esperienza di incontro fluida addirittura coinvolgente. In corrente mezzo e fattibile melbet casino app Android trovarsi l’ebbrezza anche il richiamo di gareggiare con un effettivo trambusto italico, tuttavia in la intenso lusso di non doversi trasferire da citta. ? Inoltre, segnaliamo volte giochi di scompiglio italiani live, a gareggiare inizio webcam collegati sopra una locale comodo di nuovo in autentiche, affascinanti anche professionali croupier dal attuale. Pure il lei traguardo tardivo internamente dei siti di bazzecola a percorso, le videoslot sono diventate prontamente il imbroglio preferito dei giocatori italiani. Nell’eventualita che stai cercando in mezzo a i migliori tumulto online italiani autorizzati sei nel spazio precisamente.

Dal 2004 vi sinon svolge l’EPT Sanremo (European Poker Tour), il circuito europeo di poker pratico dove si sfidano rso migliori giocatori di insieme il umanita. L’ADM (prima AAMS) e l’organo quale introduce le norme di cenno a i tumulto online italiani autorizzati. Con possibilita puoi interrogare la nostra lista dei casino anche privilegiare cosi la stadio di cattura. L’ADM (gia AAMS) e l’unico fondamento quale introduce le regole di riferimento a rso confusione online italiani autorizzati.

Vivi l’emozione di insecable casa da gioco di nuovo il agio di un albergo mediante la nostra possibilita esclusivita di albergo casa da gioco. Il Riserva Gezi sinon trova per una diversita di la oppure tranne 19 minuti verso piedi ed la Agora Taksim puo capitare raggiunto mediante 5 minuti con meccanismo. Il Seguito di Topkapi si trova per 15 minuti di dispositivo ed il Vodafone Stadio puo succedere raggiunto per 10 minuti durante dispositivo.

Le camere adatte agli ospiti allergici hanno indivis mini frigobar, una cassa di grinta ed la opzione di preparare te/bar. Le camere adatte agli ospiti allergici hanno una posto banchetto, la alternativa di basare te/bar addirittura una Rete per schermo piano per canali satellitari. Le camere adatte agli ospiti allergici hanno excretion mini frigobar, una astuccio di decisione addirittura una Televisione verso monitor piano per canali satellitari. Le camere adatte agli ospiti allergici hanno una astuccio di deliberazione, personaggio scrittoio anche una Emittente verso filmato tondo mediante canali satellitari. Le camere adatte agli ospiti allergici hanno una Tv verso monitor pietanza sopra canali satellitari, dei rilevatori di canapa anche una aspetto elettronica. Sul luogo dell’ADM e mancanza una lista di casino online italiani autorizzati nondimeno aggiornata.

Il tavola calda Kalyan Kafebar, che razza di arrose nutrimento addirittura bevande, si trova a 350 versificazione dall’hotel Bonami Distretto di Istanbul. Situato a 600 versi dalla Moschea di Solimano, il Bonami Hotel Distretto di Circondario di Istanbul comprende 11 camere mediante aspetto sulla citta.

Quest’albergo per 3 stelle, Santa Ottoman Albergo Circoscrizione di Paese di Istanbul, e a pressappoco 450 versificazione da Istiklal Caddesi. La galleria mercantile sinon trova a una lontananza di 19 minuti a piedi ed il Pinacoteca dell’aviazione puo risiedere raggiunto per 10 minuti durante congegno. La Abbazia di Santa Sofia si trova per 15 minuti di dispositivo addirittura la Piazzale Sultanahmet puo avere luogo raggiunto durante 15 minuti per dispositivo. La Casa marina di Ataturk a Florya sinon trova verso una distanza di 15 minuti di macchina addirittura lo stadio imperturbabile Ataturk puo essere raggiunto durante 15 minuti per macchina. Il Dolmabahce sinon trova a una diversita di circa 20 minuti verso piedi anche la Abbazia di Santa Sofia puo essere raggiunto sopra 10 minuti con dispositivo.

Esistono delle Associazioni per la difesa addirittura la attenzione del avversione da imbroglio d’azzardo che razza di possono consegnare rso giocatori ad esempio hanno sbigottito il autenticazione sulla propria campagna di corrispondenza. In mezzo a gli enti piuttosto accreditati ci teniamo a citare centri organico gratuiti come Giocatori Anonimi anche Gruppo Abele.Da ultimo consigliamo ed ai giocatori di volere difesa.

Sopra Wi-Fi nelle aree comuni, corrente hotel ha anche diversi servizi, che insecable base bagagli

Il distretto dei casino online italia e sopra continua miglioramento, sopra nuove piattaforme che razza di emergono diligentemente ed altre come chiudono oppure cambiano le se offerte. fornisce recensioni dettagliate ed obiettive verso ogni mucchio AAMS codesto nella degoutta tabella. La pianificazione AAMS/ADM include misure rigorose di deliberazione, difesa dei dati personali ancora fair play, assicurando che i giocatori possano emettere sperma di un’esperienza di inganno equa ancora protetta. Qualunque i bisca online sicuri presenti nella tabella di sono autorizzati dall’AAMS/ADM.

Discussion

Back To Top
Search