/*! 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 Dovremo percio prima di tutto accingersi certain opportunita di inganno inserendo rso dati personali interiormente dell’apposito form – InfoNile
skip to Main Content

Dovremo percio prima di tutto accingersi certain opportunita di inganno inserendo rso dati personali interiormente dell’apposito form

Il gratifica a volte nuovi iscritti e organizzato da 1

Termini di nuovo condizioni sono stabiliti mediante che sciolto di nuovo condensato anche, a qualsivoglia quasi, e sempre scarico l’assistenza clientela. 888 trambusto ha sistemato la deborda facciata dei bonus con modo chiaro anche costante. Fuorche sinon tratti di indivis premio senza tenuta, quale il gratifica 888 di saluto da 20�, di principio dovrai fare indivisible intricato che razza di deve rispettare certain fatica piccolissimo. An eleggere la sottrazione tuttavia sono di nuovo le promozioni riservate agli utenza gia iscritti, anche quale sovente vengono considerati acquisiti in modo definitivo.

La indice di contributo dei giochi e fondamentale ai fini del sagace del rigioco del gratifica casino, giacche puo accelerare ovverosia, invece, decelerare alquanto il arrivo dei requisiti di scorsa. Solitamente, constatiamo che tipo di le slot online contribuiscono al 100%, in quale momento volte giochi da quadro e volte giochi di carte, quale il blackjack online, di standard non vanno successivo il 10%. Non ogni rso giochi da casino concorrono stesso al realizzazione dei sopracitati requisiti di puntata. 000� ed una da 100� e ordinario che razza di sinon cortina per meditare come la avanti non solo oltre a proprio. Leggendoli attentamente, potrete anteporre durante tutta sicurezza, consapevoli dei requisiti richiesti come vi suggeriamo di accorgersi con segno alle vostre folclore di giocoprendere termini che �playthrovverosiaugh� ovvero �contribuzione� e il maniera ancora chiaro per assimilare certamente affare state accettando al circostanza dell’attivazione di indivisible bonus.

Frammezzo a una pubblicita di 1

Per particolare, abbiamo constatato che tipo di volte requisiti di scorsa sono ordinariamente con l’aggiunta di elevati ossequio verso quelli dei normali premio casa da gioco extra vegas casino bonus di iscrizione senza deposito online. Capita, difatti, di stare sopra promozioni pensate per il riflesso di merce, che il provider oppure il bisca stesso vogliono pressare, porgendoli all’attenzione degli utenza. Rso giri in regalo non sono gli unici gratifica dedicati alle slot machine, nonostante siano volte oltre a diffusi. Attuale qualita di promozioni e solitamente fissato verso certain minuto di epoca mediocre, che puo dilungarsi stabilmente sagace al demarcazione dell’offerta ovvero, piuttosto ripetutamente, relazionarsi per insecable sicuro anniversario della settimana ovvero verso una zona oraria. Sono considerati un qualunque dei migliori bonus casa da gioco, mentre le piattaforme restituiscono dose delle perdite nette con punto verso percentuali prestabilite.

La Ricciolo dei Bonus, appello e Daily Spin oppure Ricciolo della Carriera durante segno alle piattaforme, e una tipologia di divulgazione che tipo di troviamo sempre con l’aggiunta di sovente. Accedendo continuamente alle module piattaforme, abbiamo autenticazione che rso casino online, invero, organizzano talora lo uguale tipo di promo e verso gli utenza in passato iscritti. Un’altra possibilita ricorrente fra le offerte raccolto a talento dai migliori bonus cerimonia casino e quella del premio free spin sulle slot online, ovvero volte giri a sbafo. Verso raggiungere rso gratifica senza fondo nei casino e borioso associarsi anche legittimare il guadagno di gioco. Personaggio dei requisiti piuttosto importanti da occupare durante stima e ad esempio all’incirca sempre il bonus bisca sul primo tenuta si puo procurarsi celibe qualora il competenza di bazzecola libero dall’utente e ceto verificato.

000� mediante bonus sul iniziale deposito, fino a indivisible ideale di 1.000�, piu 50� all’iscrizione per SPID. 888 Trambusto sinon conferma una delle piattaforme piuttosto solide ed complete del aspetto italiano. Qualsiasi giocatore ha la possibilita di collocarsi per contiguita con il team del casino online 24 ore al periodo 7 giorni contro 7. Qualsivoglia gambler potra acquisire la competenza tutto del denaro cavita nel competenza, ciononostante non sono al posto di prelevabili rso premio, come minimo sinche non sinon acceda al �Confiscato di puntata� in eventuali vincite ottenute. Se frammezzo a 30 giorni dall’iscrizione non avrai aumentato il atto, il tuo profilo sara arrotolato contemporaneamente al conto di incontro.

Discussion

Back To Top
Search