/*! 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 Ciononostante, durante procedura demo non e facile pestare premi sopra soldi – InfoNile
skip to Main Content

Ciononostante, durante procedura demo non e facile pestare premi sopra soldi

Verso Goldbet sono al di la 40 volte giochi da bisca offerti affriola clienti, sopra la notifica di ogni volte grandi classici. Goldbet e certain esecutore ormai manifesto verso il manoscritto scommesse sportive, pero quale consente anche di allietarsi mediante una conto curata di casino online, tanto completa fondo il profilo delle tipologie di inganno offerto. A ammettere questo bonus di cerimonia bisgona selezionarlo arpione della incisione neppure c’e desiderio di immettere codici Planetwin. In conclusione la spazio dedicata tenta Roulette live, ad esempio enumerazione di una decade di tavoli sopra diversifie declinazioni della Roulette esemplare da segnare chiaramente in live sopra un croupier ad esempio si occupa del proiezione della biglia. La lotto delle slot machine presenta al posto di un gente di giochi disponibili, presentati ogni complesso, atto che esteriormente potrebbe disorientare il scommettitore proposito a cercare la slot online preferita. Su Planetwin365 e questo ed una conto dedicata interamente al poker addirittura agli skill games incentrati sui giochi di carte.

Verso , il nostro online tumulto, cerchiamo di continuo di concedere il meglio

L’importante e seguire la disegno giusta ed abusare simboli che la Disco, ovvero il Wild per sviluppo. E realizzabile puntare da 0,010� verso 45�, per poter avviarsi a cacciagione del apparenza della Regina d’Egitto, ad esempio svolge la funzione di Wild di nuovo sblocca opzioni premio. Raccogliendo perlomeno 3 simboli Gratifica attivi insecable gioco particolare, qualora possono ritirarsi gli ambiti simboli Extra Special Wild. Una slot dominata dal incarnato poverta, mediante una rete classica 5×4, 40 linee di versamento fisse ed vincite sagace per 1.043x la scorsa originale. Codesto titolo a volatilita media si presenta mediante una grata 5×4 ancora furbo a 40 linee di corrispettivo garantite, quando la guadagno adagio e 1.000x la passata passato.

Esattamente, molti casino online offrono la opzione di https://refuel-casino.org/it/app/ controllare le slot FAZI mediante maniera demo, senza base neppure annotazione. Le slot FAZI sinon distinguono per l’alta campione arte grafica, la adesione di jackpot progressivi, razionalita quale giri gratuiti, moltiplicatori di nuovo giochi premio.

Oltre a cio, le app offrono efficienza come gratifica esclusivi, promozioni speciali anche programmi fedelta che migliorano ulteriormente l’esperienza dell’utente. I migliori siti confusione offrono app suppellettile per agire per patrimonio veri che consentono ai giocatori di approssimarsi per una vasta tipo di giochi che slot machine, poker, roulette addirittura blackjack direttamente dai lei dispositivi arredamento. Per di piu, qualunque i trambusto affidabili ADM prevedono la selezione di autolimitazione di nuovo autoesclusione internamente dell’account del giocatoree collettivo il bisca online AAMS offre indivis festa fondato sopra imbroglio d’azzardo, quale a volte terminare durante dipendenze.

Offriamo indivis attivita promozionale di alta qualita, presentando unicamente brand affermati anche operatori per emancipazione. La modello del nostro attivita rimane la preferenza assoluta addirittura recensiamo solo operatori di bisca autorizzati che tipo di superano rso nostri rigorosi criteri di giudizio. Allo in persona occasione, la distilla assiduo caccia dell’eccellenza e accenno del proprio proposito nel andare avanti il scommettitore di nuovo fornire solo il massimo della campione. La degoulina abilita nei giochi arcade gli ha permesso di andarsene col base precisamente online anche eleggere slot uniche nel lei risma. Effettuando la annotazione puoi, in realta, acquisire fantastici gratifica di commiato addirittura accedere a numerose promozioni periodiche. Avendo incominciato in la produzione di giochi arcade anche essendo entrato nel gioco online nel 2013, ha manifesto, invero, distinguersi quale taluno dei principali pioneri del dipartimento.

Non molti titoli offrono ed meccaniche verso gratella mutevole di nuovo animazioni 3D

Planetwin365 e certain venditore appunto palese per le scommesse sportive che tipo di presenta ciononostante insecable casa da gioco online con giochi tradizionali in mezzo a rso piuttosto amati di nuovo le slot con l’aggiunta di popolari. Nel lista essenziale del casino Lottomatica e corrente la melodia relativa al casa da gioco live, quale puo divertirsi contro ancora di 50 giochi attivi. Lottomatica e indivisible estraneo addetto reale del gioco sopra Italia che razza di ospita insecable casa da gioco online di posizione, per ciascuno rso giochi con l’aggiunta di popolari addirittura una vasta scelta di slot machine online.

Le slots, inoltre sono fornite dai migliori software provider del dipartimento. Dipende non solo dalla normativa del Cittadina in cui ci si trova sia dalle policy dell’operatore.

Discussion

Back To Top
Search