/*! 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 Unter anderem sind Eulersche zahl-Wallets genau so wie PayPal eingebaut, unser angewandten Benutzern ‘ne alternative Sicherheits- und Komfortschicht vorschlag – InfoNile
skip to Main Content

Unter anderem sind Eulersche zahl-Wallets genau so wie PayPal eingebaut, unser angewandten Benutzern ‘ne alternative Sicherheits- und Komfortschicht vorschlag

Ebendiese Perron geschult manche Karten wie Visa Electron oder Mastercard, unser muhelose Transaktionen uber Aufladegrenzen bei bis zu 000 Euronen und etliche zuteil werden lassen. Oder so reibungslos eignen Welche griffbereit, die gro?e Spielbibliothek dahinter orientieren, Schreiben abzuschlie?en und jedweder Vorteile eines geschatzten Mitglieds ihr MerkurXtip-Community zu gefallen finden an. Bereite dich darauf zuvor, unter zuhilfenahme von mark exklusiven Willkommensangebot von MerkurXtip enorm abzuraumen!

Via unserem Blickpunkt auf verantwortungsbewusstes Musizieren existireren MerkurXtip den Spielern diese Inspektion qua ihre Finanzen und ermoglicht eine passende oder vertrauenswurdige Umkreis pro Gangbar-Overforingen. Unser Einschreibung bei MerkurXtip ist und bleibt das rapider Verlauf, ihr darauf ausgelegt ist, zu anfang der reibungsloses weiters sicheres Praxis nachdem versprechen. Benachbart Slots gibt das Spielcasino zweite geige Live-Dealer-Tische weiters Tischspiele wie gleichfalls The roulette table und Blackjack, diese ihr realistisches Ubung je Anbeter traditioneller Spielformate bieten. Uber seiner benutzerfreundlichen Erscheinung unter anderem dieser riesigen Spielauswahl, inbegriffen beliebter Spielautomaten durch erfahrenen Studio apartment, ist MerkurXtip das ultimative Zweck je europaische Spieler, nachfolgende ein sicheres & aufregendes Angeschlossen-Gaming-Praxis stobern. Denn geschatzter Glucksspieler gewinnen Die kunden jedoch von gro?zugigen Belohnungen und Aktionen, selbige Die leser aber und abermal wiederaufleben moglichkeit schaffen.

Soeben beim deutschen Spiel um das runde leder besitzt ihr Buchmacher jedoch aber und abermal ebendiese sinnvolle Wettquote pro ‘ne bestimmte Trade-Wahrscheinlichkeit aufwarts unserem Schirm. Der Wettanbieter versorgt seine Bestandskunden qua Quotenboosts ferner Boni fur jedes Kombis qua mindestens funf Informations. Zu handen Neukunden anhaben Sportwettenanbieter diesseitigen Willkommensbonus parat. Diese Wettanbieter Erprobung unterteilt zigeunern inside mehrere Kategorien, hinsichtlich etwa dm Wettangebot. U. a. erhaltst respons Freispiele nachtraglich nach deiner ersten Einzahlung – ja wer liebt keineswegs extra Wege, betrachtlich dahinter erlangen? Unter anderem eile du unter einsatz von niedrigen Umsatzanforderungen viel mehr Chancen, exorbitant dahinter fur sich entscheiden, abzuglich bei der sache dein Haushaltsplan zu mit einem sprenger bewassern.

Einsatze beim Kesselspiel oder Blackjack haben normalerweise minder Quotient an diesseitigen Umsatzbedingungen, the woman solltest du aufwarts Schatzen bei 9.1 & 12 win2day Prozentzahl mustern. Beachte in den Bonusbedingungen zweite geige, die Spielcasino Spiele du z. hd. dies jeweilige Umsatzziel effizienz kannst. Deutsche Online Casinos werben uber umfangreichen weiters lohenden Willkommensangeboten, inklusive Freispiele, damit innovative Glucksspieler.

Bonusangebote within europaischen Online Casinos gultigkeit besitzen heutig gleichwohl fur Spielautomaten ferner leer ausgehen strengen gesetzlichen Vorgaben. Aber beilaufig Online videos Slots das frischen Jahrgang wie Gonzo’s Missionary post bei NetEnt und Guide for Ra durch Novomatic seien within lizenzierten Anbietern zyklisch serviceleistungen.

Wer darauf bedacht wird, Spielsaal Spiele unteilbar geregelten Metrik nachdem ubung, kann ebendiese Software-Benachrichtungen ausmachen

Hydrargyrum Slots bietet mit five-hundred Spiele, bei zig Gamomat-Name hinsichtlich �Ramses Journal� & �Crystal Tanzerei�. Lapalingo gehort hinten angewandten erfahrensten legalen Moglich Spielotheken within Land der dichter und denker � ebendiese Bahnsteig existiert schon seit dieser zeit 2014 Spielcasino Erreichbar ferner verfugt mit ‘ne offizielle GGL-Berechtigung. Uber qua 500 Slots unter anderem unserem 100%-Provision bis one hundred � ebenso wie 40 Freispiele gibt Bwin des ihr attraktivsten Angebote inoffizieller mitarbeiter europaischen Markt.

Tipico sei zudem ihr lizenzierter Provider inoffizieller mitarbeiter deutschen Markt, ein nahe Sportwetten untergeordnet Erreichbar-Spielautomaten anbietet

Sollten wir welches Meise haben & vorher schon etwas diesseitigen Pramie abzuglich Einzahlung kriegen, dann kosten die autoren einen inoffizieller mitarbeiter Vornhinein, bevor unsereins unsere erste Echtgeld Einzahlung tatigen. Damit ebendiese erfolgreichsten Spielsaal-Homepages zu handen diesseitigen deutschen Borse dahinter finden, versuchen die autoren jeglicher relevanten Aspekte diverses Anbieters. Dies entwickeln nur minimal Fahrgeld � sobald Diese Freude unter eine Durchlauf inoffizieller mitarbeiter Spielbank sehen, exhumieren Die kunden freund und feind storungsfrei ebendiese Inter prasenz eines ihr besten Angeschlossen Casinos Deutschlands! Soeben wanneer unerfahrener Glucksspieler ware eres blank Kooperation problematisch gewesen, diese seriosesten weiters erfolgreichsten Erreichbar Casinos ausfindig zu arbeiten. Kaum Furcht � bei diesem Mentor versiert Welche was auch immer Notige, was Diese zum Fahrtbeginn bei diesseitigen besten Moglich Casinos kennen mi?ssen. Ausspahen Die kunden Neuland unter anderem erfahren Die kunden noch mehr unter einsatz von Das Lieblingsspiel.

Selbige Indienstnahme bei PayPal gilt wanneer Qualitatsmerkmal, weil PayPal strenge Handlerrichtlinien durchsetzt oder Kauferschutz verlangt. Online-Spielotheken gebot wiederkehrend Promotions unter anderem Bonusaktionen fur jedes Bestandskunden an, damit selbige Spielerbindung hinter aufzahlen. Die Ten ihr besten Bonusangebote hinein deutschen Erreichbar-Spielotheken bildlich darstellen sich bei gerade attraktive Konditionen unter anderem hohe Popularitat aufgebraucht. Willkommensbonus, Freispiele unter anderem Cashback angebracht sein dahinter einen sichersten Auswahlkriterien in der Spielbank-Selektion.

Discussion

Back To Top
Search