/*! 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 Qualunque corrispettivo eseguito da un cliente nel bisca viene rivolto sopra mezzo semplice addirittura frenato precisamente – InfoNile
skip to Main Content

Qualunque corrispettivo eseguito da un cliente nel bisca viene rivolto sopra mezzo semplice addirittura frenato precisamente

Il atto quale supportiamo il imbroglio responsabile ti colpira qualora tieni all’affidabilita di nuovo all’equita

L’autoesclusione, come puo di nuovo essere revocata avanti dello deteriorarsi del momento, puo abitare ricorso come dal luogo dell’ADM che razza di chiaramente al casa da gioco mediante cui ci si registra. SNAI e qualcuno dei piuttosto popolari casa da https://mrmegacasino.org/it/login/ gioco online italiani, pubblico per la degoulina ripiano mobile ben progettata ed reale da sperimentare, pure taluno dei pionieri di questa offensiva modalita di gaming. Volte migliori casa da gioco online aams hanno ottimizzato le loro piattaforme per smartphone di nuovo tablet, garantendo un’esperienza di imbroglio fluida anche coinvolgente. Contare ai casa da gioco online italiani verso dispositivi arredamento e circa una abitudine, grazie aborda comodita addirittura tenta elasticita ad esempio offrono rispetto al gameplay contro Computer. Frammezzo a i criteri con l’aggiunta di utilizzati da ADM/AAMS a verificare i bisca online sicuri, c’e la fase di vidimazione da ritaglio di agenzie internazionali accreditate ad esempio eCOGRA. ?? Queste excessif sono entrate verso far pezzo dell’offerta regolamentata in Italia verso fine 2012, a successivamente diventare copiosamente operative per andarsene dai primi mesi del 2013.

Il Fun Bonus di 20� verso il welcome puo capitare dibattuto single sulle slot machine visualizzate nel menu omonimo, sagace appata sviluppo durante premio pratico quale rendera l’importo giocabile riguardo a ogni i beni del casino online. Da corrente secondo sopra appresso avete potere di provare rso premi quotidiani ancora l’avanzamento del rapito di occhiata cliccando sull’icona a modello di blocco donazione, per forte a dritta, oppure entrando nella lotto casino ancora aprendo volte lista �Fun Bonus� ovvero �Freerounds�. La percio del rigioco dovra seguire nel ricorrenza in persona, con come analoga a quanto permesso verso NetBet casa da gioco online. Il ricchezza avvertito mediante volte 40 spin giornalieri potra risiedere rivolto scapolo ulteriormente il elenco di gioco necessario al proprio dissequestro, indivis confiscato di puntata uguale per 40x che l’operatore segnalera mostrandovi la vantaggio da impiegare. Purchessia tranche richiede excretion confiscato di puntata del 100x, da disporre fra la giorno utilizzando scapolo il Fun Bonus, ottenendo certain premio competente di 20� spendibile ed poi prelevabile sopra qualsiasi i merce di Betpassion casa da gioco online. Fate sbattere il vostro sentimento all’unisono di quello di Betpassion casino online, dategli una chance di traverso il nostro ricerca anche chissa, magari potreste innamorarvene.

Il sito web offre la preferenza di azzardare verso insecable competenza efficace di eventi, coprendo tutte le principali discipline addirittura campionati an importanza mondiale, ancora dare in prestito scommesse con periodo pratico durante gli eventie gia accennato, Betpassion e saputo particolarmente per la degoulina voto di scommesse sportive. Abitualmente, il epoca di ispezione e di ore, anche ora non piu finito, il giocatore riceve una ratifica via email.

Questa e la spianata da abusare dato che desideri norma di rimessa sicure ancora una fermo aiuto verso tutte le transazioni. Qualsiasi vantaggio e progettato verso assicurarti di acquistare il preferibile dalla abattit esperienza addirittura divertirti al ideale. Continua a sbraitare in il nostro segreto di supporto dei tuoi piani addirittura a puntare ancora reiteratamente per accelerare il corso di iscrizione. Verso assicurare che i nostri migliori giocatori ottengano piu in la da qualsiasi competizione, il esposizione prevede livelli di vantaggi ad esempio iniziano non appena vengono invitati.

Puoi usufruire verosimilmente certain gergo pubblicitario contro Betpassion e trarne dei vantaggi

La verifica avviene generalmente passaggio una conferma coraggio di nuovo-mail, che tipo di protegge volte dati di nuovo attiva immediatamente l’account. Per tutte le transazioni sulla nostra piattaforma di casa da gioco viene utilizzata una crittografia progresso. Soddisfacendo questi requisiti, puoi essere convinto che qualunque i tuoi vantaggi promozionali saranno applicati ancora come potrai raccogliere eventuali vincite premio.

Mediante l’uscita di nuovi formati ed titoli esclusivi, la biblioteca viene continuamente aggiornata. La nostra ripiano semplifica la viaggio per ciascuno, come puoi accedere speditamente verso centinaia di titoli dei migliori provider. A stare al sicuro laddove giochi ai giochi da casino, assicurati di disconnetterti insomma di qualsivoglia sessione e non presentare verso nessun aggiunto le tue informazioni di guadagno.

Discussion

Back To Top
Search