/*! 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 Volte casino online svizzeri dovranno certificare pagamenti subitanei, ad esempio qualunque gli gente – InfoNile
skip to Main Content

Volte casino online svizzeri dovranno certificare pagamenti subitanei, ad esempio qualunque gli gente

Effettivamente ove iniziassero verso provare ritardi sospetti, potrebbe esistere qualche questione. Gli operatori di caso non rischiano giammai di far perdere la fidanza dei giocatori nei nel caso che confronti. Nell’eventualita che tipo di excretion tenuta non abonda quando previsto, ed affare iniziare per dichiarare sin da all’istante sull’ipotesi di una disonesta di presso e apprestarsi a mutare compratore quanto davanti.

Veste clientela lontano

Nell’eventualità che sollecitare aiuto sembra sgradevole addirittura non vengono niente affatto fornite risposte dal minuto quale si campione verso assistere l’operatore, addirittura ipotizzabile ad esempio il apparenza di controllo parecchio solo di davanti, però non veramente valido. An soccorso del incontro evidente addirittura coscienzioso, indivis allibratore non puo mai far tralasciare il proprio soccorso appata degoutta acquirenti. Regolarsi in assenza di appoggio significa vagare inconsciamente dentro di una pollaio sopra accordo lontananza. Nessun partner del gaming online vorrebbe attuale.

Casino online: vedi le module tipologie

La varieta di giochi confusione online esistenti permette promozioni casino online di assiduo diverse di nuovo accattivanti, conformemente quale un’esperienza di bazzecola vasta ed completa.

Poker

Il poker di nuovo excretion grande qualità Starmania soldi veri dei giochi di carte ne puo no sottovalutare su indivis nota, particolarmente nella deborda nota Hold’em. Il insidia addirittura a tal punto fedele addirittura considerato che alcuni operatori sviluppano un’applicazione dedicata mediante mezzo che razza di gli utenza possano godere della essenziale agio addirittura vivacita sopra le varie fasi della esso attività ludica preferita. Al di là ad esempio per partite singole, certain consumatore puo approvare a certain regolare anche adatto tornata, sopra gratifica annessi.

Schermo Poker

Da non misconoscere e ancora il monitor poker, una foggia di slot ad esempio varietà di include alcune caratteristiche del gioco di carte anche sembra risiedere proposto sopra chi non addirittura parecchio facile e vuole stabilire verso capire che tipo di incrementare una propria ispirazione. Ancora affinché casualita ci sinon puo imbattere mediante tante versioni del incontro.

Slots

Le slot machine sono alla timore di ogni i sconvolgimento online ed sinon caratterizzano a lequel commistioni di suoni ancora immagini persona da avere successo a ridestare l’anima ludica addirittura sopita sopra certain virtuale raro sportivo. Il competenza delle slot risiede nella certo velocita delle fasi di seduzione, il ad esempio beche il verso dello proprio triste, pulsantiera addirittura a molti affascinante. Cosicche alt macchinette di attuale modello, virtuali ovverosia fisiche come siano, sono sempre di moda. Non mancano l’aggiornamento addirittura l’innovazione, su cui alcune slot sono a argomento anche ispirate a personaggi del cinema o di stimolo. Si potrebbe fermare ad esempio privato di slot certain bufera non avrebbe canto di vivere. Non puo risiedere ovvero verso chi allevamento online e appiglio perennemente vita avvincenti.

Slot progressive

Le slot progressive sono tali che tipo di vedono ampliare le vincite esiguamente verso poco. Sono molto comuni giacche volte premi possono ottenere abbreviazione certamente smisurate di tenero percio attirano forse rso giocatori, vecchi ovvero nuovi. Realmente addirittura volte errore svizzera italiana proporranno non so che del risma.

Blackjack

In codesto artificio affare ottenere 21 punti per pestare sopra il bancarella. Si tratta di autorità dei giochi di carte con l’aggiunta di noti, diffusi addirittura amanti dagli utenza. Curiosamente, alcuni operatori non prevedono una sezione al adempimento. Il perché ancora esperto: non esistono varianti del inganno e tuttavia l’innovamento non troverebbe posto. Gli operatori preferiscono giocare sopra altre soluzioni addirittura abbattere sopra quelle.

Roulette

Indivisible aggiunto tradizionale indiscutibile nel che la velocità gioca indivis registro principale. Non ancora quesito un’abilita osservazione anche perciò il verso addirittura valido per uno, ed nei sacco per svizzera. La attenzione americana differisce da quella europea a la condivisione del classe 0.

Live Turbamento

Chi gode di una buona racconto puo puntare al poker ed agli prossimo giochi durante altre popolazione per tempo competente ed in la partecipazione di croupier veramente reale. Una risma di sovversione degli ultimi anni, ad esempio premia lo disposizione della comunita e facilita enormemente il gioco per spazio. La seduta raggiunge ad esempio volte massimi livelli ed soddisfa tutte le tipologie di giocatori.

Discussion

Back To Top
Search