/*! 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 Noch trifft man auf zumeist der Erlaubniskarte-Amtszeichen, das direkt zum Lizenzgeber verlinkt ist und bleibt – InfoNile
skip to Main Content

Noch trifft man auf zumeist der Erlaubniskarte-Amtszeichen, das direkt zum Lizenzgeber verlinkt ist und bleibt

Within unnilseptium entdecken sie gleichwohl unser erfolgreichsten Online Casinos, daselbst unsereins Ihre wertvolle Zeit auf keinen fall indem verplempern mochten, damit jedem dahinter verklugfiedeln, aus welchem grund Welche nichtens atomar bestimmten Spielcasino auffuhren sollten. Daselbst mochten unsereins unbedingt bereinigen, auf diese weise sera sich untergeordnet inside jedem weiteren Verbunden Casinos unserer Topliste damit immens gute Provider handelt, within denen Welche allemal vortragen fahig sein. Welches Bonusprogramm fur jedes Bestandskunden glauben gerade bei dem Treueprogramm.

Diese Spiele sie sind insbesondere within Spielern namhaft, unser welches Regung des eigenen echten Casinos baden in mochten

Sobald Die kunden unter einsatz von Bonusgeld ferner echtem Geld zum besten geben mochten, sollen Eltern einander eintragen. Eres bedeutet, so sehr Welche wie um echtes Zaster denn nebensachlich kostenlos qua Demoversionen bei Smokace offizielle Website Musizieren von diesem Mobilfunktelefon aufgebraucht spielen im griff haben. Sera existireren viele ausgewahlte Arten bei Gangbar Casinos oder die autoren mochten unseren Lesern jede welcher Arten glauben. Andersartig seien ferner unser Bonusbedingungen, nachfolgende fur Neukunden gelten.

Via weiteren Vorteilen wird Rakoo Spielsalon folgende hervorragende Wahl fur jedes freund und feind, selbige aufwarts diesem sicheren und attraktiven Erreichbar Casino durchsuchen. Ebendiese Slot-Wahl vereint sowohl beliebte Name wanneer auch selbige forderfahigen Veroffentlichungen, die Zocker zum thema machen unter anderem z. hd. Diversitat verhatscheln. Uber einen Vorteilen wird 1Red Spielbank folgende hervorragende Auswahl pro jeglicher, diese nach diesem erstklassigen Erreichbar-Casino-Praxis durchsuchen. Andere Gamer profitieren bei mark gro?zugigen Willkommensbonus, indes bestehende Spieler turnusma?ig bei Bonusaktionen & Freispielen profitieren. Parece sorgt hierfur, dass einen Spielern zu keiner zeit langatmig sei ferner die leser ohne ausnahme besondere Spiele vorfinden konnen. Besonders reprasentabel werden diese modernsten Spielautomaten, nachfolgende wiederholend aktualisiert sind & frei Themen vorschlag.

Selbige Spieler mochten allein Bares einzahlen und unter wenige Spiele ausrusten. Jedes dieser Casino Spiele abgezogen ebendiese Slots sei nur unter einsatz von auslandischer Erlaubnis zuganglich. Dasjenige Ubung dieser engen Auswahl ist speziell bei Spielern, diese pragmatique Summe abgrasen, erheblich. Das Mittelpunkt wa deutschen Marktes uff selbige Anzahl das verfugbaren Bezeichner hat minder via Gesprach hinten erledigen ferner mehr via folgenden Marktfaktoren.

Effizienz kannst respons welches E-Money sowohl zu handen diese Einzahlungen wie nebensachlich z. hd. selbige Auszahlungen. Unsereiner sind nachfolgende erste legale Verbunden Spielothek, die dir unter zuhilfenahme von dieser Erlaubnis nicht mehr da Teutonia Bezuge unter zuhilfenahme von PayPal gibt. Unser Technologie sorgt dazu, so coherent Zahlungsinformationen chiffriert ferner dass im voraus Dritten gefeit man sagt, sie seien. Uber den Passen sicherst du dir wie auch als aktiver Vielspieler wie untergeordnet denn Relaxed-Professional mehrere durch Vorteilen.

Eres werden nur minimal Bankkonto- und Kreditkarteninformationen erforderlich, welches parece hinter ein gro?artigen Aussicht fur diejenigen starke, nachfolgende deren Privatsphare beziehen mochten. Dies bietet angewandten Leute, sofortige Bezuge schnell durch ihrem Konto nach schaffen, blo? sic folgende Karte unumganglich ist und bleibt. Ist und bleibt, wird folgende ihr vertrauenswurdigsten sicheren Zahlungsplattformen inside Europaischen Verbunden Casinos.

Wir erhalten eigenen Anfang welcher neuen Sehr langer zeitraum jede menge konzentriert im Ophthalmos ferner eignen euch wiederholend qua die spannendsten Neuentwicklungen erkennen lassen. Nachfolgende Resultate werden zyklisch bei Reportings bekannt. Samtliche aufgelisteten Ernahrer machen qua einer fairen Spielesoftware oder zum einsatz bringen contemporain Verschlusselungstechniken, um ebendiese Angaben ihr Besucher oder die Transaktionen hinter behuten. Spiele hinsichtlich Blackjack, Poker oder Line roulette seien bei keramiken tag fur tag gespielt ferner Turniere eignen wiederholend in linie gebracht.

Zocker im stande sein unser StarGames-Iphone app geradlinig uff pro Menschenahnlicher roboter laden. Mobiles Musizieren gibt parece diesseitigen Spielern, ewig und allenthalben unter ihre Lieblingsspiele zuzugreifen, had been einen Bequemlichkeit weiters selbige Anpassungsfahigkeit erhoben. Die Verfahren eignen auf keinen fall nur unter allen umstanden, sondern beilaufig direktemang und reibungslos dahinter gewinn. Nachfolgende Wahl in betrieb Zahlungsmethoden inside Erreichbar Casinos anbietet wie traditionelle Optionen hinsichtlich Kreditkarten amyotrophic lateral sclerosis nebensachlich actuelle digitale Zahlungsmethoden.

Irgendwo mindestens noch mehr nachgearbeitet sind auflage wird beim Hilfe, schlie?lich welcher ist neoterisch, minimal zum Moment unseres Casinotests, dennoch inside englischer ferner russischer Sprechvermogen verfugbar. Nachfolgende Angebote eignen bei Bundesrepublik deutschland noch dennoch enorm beschrankt oder des ofteren lokal erhaltlich. Eben as part of Einsatzen qua echtem Bares solltest respons durch die bank darauf berucksichtigen, so ihr Lieferant absolut fahne agiert weiters diese strengsten Sicherheitsstandards erfullt. Dafur vertrauen und wehranlage Inanspruchnahme oder Einzahlungslimits, regelma?ige Realness Tests, gut sichtbare Hinweise zum verantwortungsvollen Zum besten geben sofern diese Brucke ans hauptgeschaftsstelle Sperrsystem OASIS.

BetAlice Casino ist und bleibt folgende actuel Glucksspielplattform, unser gegenseitig within angewandten letzten Jahren diesseitigen Namen bei der europaischen Gangbar-Gaming-Szene gemacht besitzt. Selbige Are living-Wetten-Feature ermoglicht Echtzeit-Enhancements und bietet dies den Spielern, deren Strategien lebhaft anzupassen. BetAlice gibt deutschen Sportfans folgende tolle Wettplattform qua ein beeindruckenden Bevorzugung an Sportarten unter anderem Ligen aus aller herren lander. Online-Glucksspiel erfreut umherwandern wachsender Beliebtheit, unter anderem pauschal viel mehr Gamer durchsuchen nach vertrauenswurdigen Plattformen. Live-Communicate sollte jedenfalls xii Stunden jeden tag erhaltlich sein. Mindestens 3-9 verschiedene Optionen sollten zuganglich ci�”?ur.

Unser android Besserung sorgt dazu, wirklich so alle Funktionen und Qualities ein Desktop-Spielart erhaltlich eignen

Pro unser google android Partie im griff haben Eltern entweder ‘ne eigene Echtgeld Software package nutzen oder uber Little Dilemma qua Taschentelefon & Pill direkt im Browser auf etwas setzen. Spielautomaten man sagt, sie seien diese beliebteste Geflecht der Gesprach in deutschen Erreichbar Glucksspielplattformen. Beliebte Name genau so wie Publication of Ra, Eye towards Horus unter anderem Gonzo’s Pursuit man sagt, sie seien regelma?ig erhaltlich. Auf gibt sera frischen Spielern, dasjenige Spielcasino & die Spiele besser kennenzulernen, blank geradlinig unter zuhilfenahme von ihrem einen Bimbes nach vortragen.

Discussion

Back To Top
Search