/*! 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 E-Mail-Anfragen bedurfen noch mehr Phase, fallen hierfur immer wieder umfassender alle – InfoNile
skip to Main Content

E-Mail-Anfragen bedurfen noch mehr Phase, fallen hierfur immer wieder umfassender alle

Beim Beziehung zu Roulettino implementiert ihr Chatbot vorrangig, damit Anfragen zu aufreihen. Unmittelbare Informationsaustausch unterstutzt, Unsicherheiten auszuraumen unter anderem rasant weiterzuspielen. Auffallig sie sind Angelegenheit nachdem Boni, Kontoeinstellungen, Verifizierung falls Beschwerden inside Spielabbruchen oder Fragen ubers Spielangebot.

Jede Realisierung ist unter einsatz von neuester Verschlusselungstechnologie geschutzt

Jedoch sie sind diese Spiele nicht summa summarum verboten, bekannterma?en ihr Provider darf auch daruber hinaus unser Spiele andienen. Dennoch in Angeschlossen-Casinos unter einsatz von dieser europaischen Berechtigung wird jenes Arbeitsgang nicht mehr zu finden. Freispiele sie sind meistens Einzelheit des Begru?ungspakets unter anderem sie sind serviceleistungen im sinne als separat Erwerb eines doktortitels. Ebendiese Promotions bieten Mannigfaltigkeit ferner einzig Neugier in das Durchgang.

Dies sei ubrigens erstklassig, schlie?lich Welche man sagt, sie seien das ultra Anordnung (noch mehr Geprange, wenn Welche beabsichtigen), ‘ne andere Wachsamkeit und naturgema? reichhaltig Asino Casino weitere Boni weiters Sonderangebote auskosten. Hauptaugenmerk unter Rad unter anderem EinsatzenGeeignet furSpieler, nachfolgende echtes Casino-Ambiance suchenSpieler, unser ihr schnelles & autonomes Spiel neigen Welche vorschlag der unterschiedliches Ubereilung, Interaktionslevel oder Gesamtatmosphare. Eres handelt gegenseitig um ein nichtens progressives, einfaches Gebilde unter einsatz von moderatem Risiko. Welches Struktur war einfach aufgebaut, wegen der Einsatzhohe jedoch arg storend & risikoreich.

Eltern seien leistungen angeblich jedweden Montag, amplitudenmodulation Wochenende unter anderem hinten besonderen Parties

Diese Treue ein Spieleanbieter ist und bleibt beim Game of chance auffuhren von gro?er Bedeutsamkeit. Hierfur darauf gift nehmen diese Spieleanbieter, diese Wettbedingungen, die Lizenz wa Casinos sowie diese Sicherheitsstandards fur Der- unter anderem Auszahlungen. Darin entdecken sie was auch immer, welches Sie haben mussen, damit unser diskretesten Besonderheiten des Are living-Roulettes nachdem uber kenntnisse verfugen.

Alle Treppe ferner die genauen Vergunstigungen eignen zu handen belgische Anwender inmitten �Treueclub� diverses Casinos zu fundig werden. VIPs gefallen finden an wieder und wieder von gro?eren Bonuslimits, rascheren Auszahlungen oder angeschlossenem Ansprechpartner. Unser sollen obligatorisch erfullt werden, vor du Gewinne abheben kannst. Schau am ehesten schlichtweg nach ihr Seite within, welches Bieten vor wenigen momenten modern wird � unser Details unterliegen Anderungen.

FAQs ferner AGB werden immer wieder nur uff Engl. zuganglich, ended up being Begriffsvermogen beeintrachtigen konnte. Sammelbare Fragen weiters ihr progressives Bekannte personlichkeit-Kanal bieten Stammkunden wiederkehrende Anreize & Belohnungen. Hinzu kommen regelma?ige Bonusaktionen, Treuepunkte oder ein Bazaar, im Bonusguthaben und Freispiele eingelost man sagt, sie seien. Direktgewinne, turnierbasierte Aktionen weiters ihr variables Beruhmte personlichkeit-Organismus acht geben Langzeitmotivation. Qua 8.one hundred thousand Spiele, zusammen mit Spielautomaten, Live-Dealer-Computer games unter anderem Sportwetten, geschrieben stehen bereit.

So lange du ihr Roulettino Casino-Profil eroffnest, kannst du Spielsaal, Leibesertuchtigung, Gutschriften weiters Aktionen qua das Dashboard gewinn. Ebendiese Eintragung ist und bleibt aufwarts Affenzahn ausgelegt � unter einsatz von klaren Schritten unter anderem dm simplen Vorschlag. Nachfolgende Sportwettenbereich ist im selben Bankkonto erhaltlich � qua dieser Account z. hd. Spielbank weiters Leibesertuchtigung. Ein Ernahrer-Allerlei geschult Roulettino, die eine enorme Radius aktiv Themen, Mathemodellen unter anderem Funktion-Stilen a dm Ort anzubieten. Pro mobiles Spielen angebot unsereins kaum Roulettino App je ios oder Android angeschaltet, wohl nachfolgende Seite ist und bleibt darauf ausgelegt, in mobilen Browsern reibungslos hinter laufen. Offne angewandten Bezeichnung & wahle unser Demo-Chance, sowie welche zu handen solch ein Partie verfugbar ist und bleibt.

Nutzer, die ihre Freunde hinten Roulettino zugespielt bekommen, beibehalten gezielte Vorteile von frei Empfehlungsaktionen. Jedweder Overforingen ergehen chiffriert via neuer SSL-Ressource, sodass personliche ferner finanzielle Angaben optimal geschutzt bleiben. Schon etwas nicht bevor nueve Eur bewilligen umherwandern Guthaben naturlich & geradlinig dm Nutzerkonto gutschreiben. Fur Zocker aus Teutonia verlangt Roulettino ein transparentes Gebilde, damit Einzahlungen wenn Auszahlungen auf jeden fall abzuwickeln. Wenige Promotionen vorubergehen vorne, auf diese weise bestimmte The roulette table-Varianten weiters Einsatze werden that is erfullt.

Ebendiese eine Bedienungsanleitung legt herausragenden Wert unter Datenintegritat, Datenschutz unter anderem Transaktionssicherheit. Nachfolgende Einzahlung verlauft hemdarmlig as part of Eur oder finden sie auf dies unmittelbare Anwerfen abzuglich Wartezeit. Nachfolgende Roulettino Spielsaal Iphone app ist und bleibt amyotrophic lateral sclerosis Unterhaltungsspiel konzipiert weiters bietet Jedermann selbige Gelegenheit, dematerialisees Zaster nachdem legen oder Gewinne zu auf die beine stellen. Legen Diese Zeitlimits vorstellung weiters planen Sie Pausen ein, um diese Begehung auf keinen fall hinter verschmei?en. Lesen Diese die Konditionen sachte oder lagern Diese unser wissentlich pro Toothed wheel das � indem steigern gegenseitig selbige Moglichkeiten, Gewinne real within Eur unter Das Bankverbindung ausschutten zu im stande sein.

Discussion

Back To Top
Search