/*! 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 Diese Spiele offerte zahlreiche von Funktionen, hinsichtlich Megaways, klassische Mangeln weiters innovative Bonuskauffunktionen – InfoNile
skip to Main Content

Diese Spiele offerte zahlreiche von Funktionen, hinsichtlich Megaways, klassische Mangeln weiters innovative Bonuskauffunktionen

Fragmentieren Welche niemandem Deren Anmeldeinformationen qua oder moglichkeit schaffen Eltern niemanden Der Konto einsetzen. Je jedweder deutschen Zocker verlangt solch ein Online-Spielbank eine passende Moglichkeit, die Identitat hinter studieren.

Eltern im stande sein immersives Toothed wheel, Blackjack et alii beliebte Spiele spielen, nachfolgende jeden monat aktualisiert seien, damit Ein ZotaBet Interesse aufrechtzuerhalten. Wir erhalten unsere Spiele allein durch seriosen Softwarestudios, sodass Sie feststehen konnen, so unser Zeichnung wahrhaftig oder dasjenige Gameplay reaktionsschnell war. Aufgrund der nahtlose Verifizierung stellen Diese gewiss, auf diese weise alles storungsfrei & sicher ablauft, sodass Welche dies Arbeitsgang blank Betutern genie?en im stande sein. Die leser beherrschen sicher sein, auf diese weise BetLive Gangbar Land der dichter und denker Deren Transaktionen fair abwickelt weiters wie auch neuen als nebensachlich alten Casinospielern Boni gewahrt.

Mit welcher Auslese beherrschen Die leser ganz wie geschmiert fuhren, hinsichtlich reichhaltig Die leser immerdar, wochentlich & jeden monat in Der Konto einzahlen. In der regel fahig sein unsre Kundendienstmitarbeiter haufige Gern wissen wollen nachdem Zahlungen inmitten weniger Minuten beantworten. Unser Kundenservice sei 24 Stunden am Vierundzwanzig stunden, woche ebendiese Woche verfugbar, um Ihnen zu unter die arme greifen unter anderem Das Kontoverbindung sicher hinter schleppen, wenn Die leser seltsame Aktivitaten merken.

Die gewunschten bereitgestellten Video games sie sind zyklisch mit autonomen Testinstituten zum beispiel ECOGRA bezuglich Sportliches verhalten wenn korrekte Ruckzahlungsquoten gepruft. Die Studios das Teilnehmer eignen angesiedelt inmitten dem Inselstaat Malta und hinein diesem Baltikum sobald wirken beharrlich unter einsatz von jedweder Tageszeiten, dadurch diverse Zeitbereiche nach liefern. Unsre stretchy anpassungsfahige Webplattform adaptiert einander im ganzen aktiv jedes Fon an, bedeutungslos inwiefern Handy & Device. Ein sicherer und fairer Lage pro samtliche hinein Deutschland war untergeordnet durch die Einverstandnis durch Lizenzregeln ferner selbige Ruckhalt verantwortungsvoller Spielprogramme gewahrleistet.

Regelma?ige Worry-Audits mittels unabhangige Profis zusichern sie stetige Vervollkommnung unserer Abwehrma?nahmen. Monetare Uberweisungen sie sind durch komplexe Schutzprotokolle behutet, wogegen personliche Datensammlung aufwarts DSGVO-Vorgaben betreut sie sind. Intercity-express Spielcasino login verlangt jeden tag andere Aufgaben qua variierende Tournaments sobald dedizierte Spielkategorien. Wir handhaben allein mit lizenzierten Spieleanbietern kollegial, ein RNG-Systeme stetig bei neutralen Kontrollinstanzen uberpruft werden. Inoffizieller mitarbeiter Inter city express Casino eignen unsere Team die Unterfangen darauf spezialisiert, unseren Besucher unser exzeptionelle Gesamtmenge durch Unterhaltungsmoglichkeiten zum angebot.

Nachfolgende Kooperationen moglich machen dies unnilseptium, jeden tag andere Spiele hinzuzufugen unter anderem angewandten Ki?a�ufern stets unverbrauchtheit Unterhaltung im portfolio. Samt das ublichen Right back to Participant (Ruckzahlungsrate) mit 96,5% uber freund und feind Spiele hinweg bieten unsere Bahnsteig uberdurchschnittlich exzellente Erfolgschancen. Jeglicher Zahlungen ergehen uber modernste SSL-Kryptierung unter einsatz von 256-Bit-Chiffrierung abgesichert, had been zum identischen Sicherheitsstandard entspricht, angewandten gleichartig Banken in aller herren lander pluspunkt.

Deren Approbation von angesehene Regulierungsbehorden gewahrleistet beste Sicherheits- ferner Gerechtigkeitsstandards

Im Platincasino Bundesrepublik finden sie auf Die kunden eine minuzios kuratierte Auswahl von ellenlang qua three.one hundred thousand qualitativ hochwertigen Casinospielen renommierter Entwickler. Ein Live-Hilfe garantiert gunstgewerblerin sofortige Konversation, dabei Schmelzglas-Tickets inmitten minder Stunden bearbeitet werden. Jegliche Transaktionen man sagt, sie seien mittels neuester SSL-Verschlusselungstechnologie abgesichert.

Dieses Prasentation umfasst etliche hundert Spiele, wafer regelma?ig upgedatet passieren, indem immer samtliche aktuellsten Neuerscheinungen zuganglich bereitzustellen zu haben. Selbige Mission ist darinnen, jedermann Gamern das hervorragendes Gaming-Erlebnis anzubieten nachdem zuteilen, unser sowohl komisch und verantwortungsbewusst ist und bleibt. Angefangen in bewahrten Uberweisungen mit elektronischen Geldborsen solange bis im eimer dahinter Kryptowahrungen � samtliche Kunden zum vorschein gekommen unser richtige Risiko. Diese Casinoplattform sei standig zyklisch durch unabhangigen Institutionen auditiert.

Deshalb hingeben unsereins deren starke Gesamtheit uber Transaktionsmethoden zuganglich, wafer gleich klassische weiters moderne Alternativen zusammenfassen

Wir vorschlag blitzschnellen Kooperation unter Teutonisch weiters verburgen, Chat-Fragen innerer von Minuten nachdem reagieren. Auch gibt nachfolgende detaillierte Advice-Concentrate direkte Waren zu haufige Gern wissen wollen hinsichtlich Benutzerkonto-Administrative, Boni plus anlage- Bereichen. Unser humanoid Bahnsteig bietet nicht alltagliche Attributes ohne Install � geradlinig unter zuhilfenahme von jeden Inter browser zuganglich.

Die autoren abschwachen Jedem einen Einstieg uff jedermann Android-Vorrichtung, daruber die autoren Ihnen direkte Anders unter unserer Internetseite geben. Etwas aufladen Welche Deren Software package uff diesem forderfahigen Kaste, damit andere Funktionen hinter bekommen oder welche elaboriert uber folgenden Applications interoperabel nachdem herstellen. Qua diesen Funktionen steht Jedem das komplette Casino schnell zur Verfugung unter anderem Welche verweilen selbststandig unter einsatz von diese jungsten Angebote gut unterrichtet.

Discussion

Back To Top
Search