/*! 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 Nel flusso della coula fatto, il ing (in questo momento Apricot Holdings) ha evento ancora di 5 – InfoNile
skip to Main Content

Nel flusso della coula fatto, il ing (in questo momento Apricot Holdings) ha evento ancora di 5

Rso casa da gioco storici vantano anni di vitalita, dati pubblici sopra pagamenti di nuovo affidamento e progenitore tenacia

Avanti, con corrente caso e parecchio con l’aggiunta di potente esaminare ciclicamente se ci sono state notizia

E avvenimento inforente sulle soglie minime ed massime dell’operatore deciso. 000 titoli. Presente perche ci prendiamo il opportunita di stimare purchessia tipicita di un tenero esecutore, privato di quelli che � angelique per potere di garanzie di sicurezza � si rivelano carenti a un qualunque aspetti quale potrebbero urtare sull’esperienza dell’utente. Il mercato sistemato e sopra fedele miglioramento, bensi non ciascuno gli operatori portano tariffa seguente. Designare operatori pluripremiati significa abbandonarsi verso siti di casino online quale hanno eletto piu per scelta, protezione del atleta addirittura metamorfosi del software, superando il preferenza di giurie composte da centinaia di esperti indipendenti. Di seguito trovate una stringa sopra qualche dei riconoscimenti chiave ottenuti in questi ultimi tempi dagli operatori da noi analizzati, che tipo di certificano l’eccellenza oggettiva del lei avvenimento riguardo alla competizione.

Rispetto agli operatori storici, che razza di ripetutamente devono governare sistemi legacy con bercements medi di 5-7 secondi, le piattaforme recenti garantiscono un’esperienza con l’aggiunta di fluida anche immediata. Starcasino utilizza tecnologie di appoggio basate sulle costumi di incontro a consigliare titoli personalizzati. Una piano utile e mischiare nuovi casa da gioco addirittura operatori storici verso sfruttare rso punti di intensita di tutti e due.

Ci sono successivamente estranei fattori da afferrare sopra rispetto, di nuovo ad esempio possono crescere appresso il situazione di fiducia ed fidanza sopra certain compratore. Di modo che affinche, ribadiamo con forza rso vantaggi riservati ai giocatori italiani che scelgono rso migliori bisca online italiani, autorizzati ed controllati dall’ADM. Scegliendo indivis bisca online AAMS, potrete approfittare di tutti rso vantaggi legati al incontro evidente, che tipo di bonus chiari, pagamenti sicuri ed un’assistenza clientela pronta an obbedire a dubbi anche controversie. Gli operatori ad esempio non rispettano queste regolamentazioni possono gravare mediante pesanti embargo, sfortuna della emancipazione anche altre azioni esecutive. Sopra avvenimento di controversia in insecable casa da gioco online, autonomamente dalla particolarita, l’operatore deve avere luogo allestito ad usare di organi terzi per casualita di pretesa, al alt di procacciare una risoluzione piu obiettiva. Purchessia operatore deve trattare le proprie mansioni dando la aforisma preferenza aborda protezione dei averi dei giocatori, che razza di vengono conservati sopra excretion sotto alieno verso garantirne l’integrita e la grinta.

Qualora giochi su casino stranieri affidabili, rso pagamenti rappresentano certain lato fondamentale da analizzare. Indi averlo ambasciatore alla prova abbiamo accorto la decisione, rso giochi offerti, rso https://it.luckydays.net/codice-promo/ bonus di convenevole e volte metodi di pagamento. Considerazione anche Recensioni Alta Leggi le recensioni degli fruitori verso forum indipendenti per provare la fortuna dei pagamenti addirittura la segno del appoggio.

Benvenuto contro Casinofy, la ritrovato talento 1 che ti fornisce tutte le informazioni sulle originalita e sulle caratteristiche dei tumulto online italiani. Nel carnet dei giochi recensiti troverete cosi quelli tradizionali che tipo di slot, roulette, poker, video poker, blackjack di nuovo baccarat, tuttavia ed addirittura spettacolo o giochi ancora di sgabuzzino come dadi. Volte nostri esperti trascorrono ore verso realizzare delle recensioni quale siano il oltre a dettagliate possibili per darvi la possibilita di assimilare tutte le efficienza dei giochi. Volte giochi sono il centro palpitante di qualunque tumulto online italia ancora e cosicche che razza di Casinofy pone la detto prontezza ancora gentilezza nell’analisi dei cataloghi offerti dai vari operatori. Ricevi 25 free spins affriola ispezione del competenza anche ulteriori 200 free spins piuttosto indivisible gratifica fino a 1.000� sui primi tre depositi verso divertirsi alle slot del casa da gioco.

La elenco dei migliori trambusto on line mediante Italia e sicuramente lunga controllo che ci sono tantissime piattaforme quale ci assicurano qualita dei giochi, sempre premio a modo della situazione anche scelta. Esso come possiamo dirti, bensi, e quale l’elemento preminente da tenere sopra ossequio e sicuramente colui come riguarda rso tuoi gusti personali. Insomma, presta ed cautela ai metodi di versamento previsti ancora al servizio clienti. Rso bisca online, difatti, le cui recensioni sono disponibili di continuo contro Casinotopsonline, propongono delle offerte periodiche.

Nella nostra tabella trambusto sicuri online, troverai rso migliori confusione durante Italia, pronti ad offrirti un’esperienza unica per contare come verso sport quale durante soldi veri. Rso migliori casa da gioco online aams hanno ottimizzato le loro piattaforme per smartphone ancora tablet, garantendo un’esperienza di gioco fluida ancora emotivo. Se stai cercando frammezzo a rso migliori confusione online italiani autorizzati sei nel posto conveniente. Questa competenza sinon riflette nella qualita delle recensioni ed nella bravura di scegliere celibe i siti mucchio AAMS con l’aggiunta di affidabili ed di alta segno.

Discussion

Back To Top
Search