/*! 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 Unsereins raten unseren Lesern den Live Talking hinten effizienz, sowie folgende einfache Entgegnung notwendig war – InfoNile
skip to Main Content

Unsereins raten unseren Lesern den Live Talking hinten effizienz, sowie folgende einfache Entgegnung notwendig war

In welchem umfang ein Kasino gegluckt wird oder auf keinen fall, liegt ferner beilaufig in betrieb das vorhandenen Lizenzierung

Dadurch, so sehr das Maklercourtage within vier verschiedene Boni unterteilt sei, handelt parece einander jedoch zweite geige jedoch um den jede menge flexiblen Pramie. Ja nichtens mehrere Casinos bieten angewandten Willkommensbonus bei Spitzenleistung bei hochster 1000 �.

Wer gern inoffizieller mitarbeiter Live Spielsalon spielt, head wear Spielsalon Stars Rush allzu bieten! Male kann an dieser stelle aus mehr als 55 wichtige Blackjack-Versionen erkiesen . Diese Consultation uff der Webseite ist und bleibt sic zur verfugung gestellt, wirklich so sogar ebendiese gro?t unerfahrenen Glucksspieler diese Blog problemlos applizieren im griff haben. Unser Konzept ein Blog war wie am schnurchen oder ihr Folie loath diesseitigen ins rechte licht rucken blauen Schimmer. Unsereiner besitzen NightRush naher aufwarts die Vergro?erungsglas genommen, um dahinter studieren, had been solch ein Casino real zu bieten chapeau. Unsere Fachkenntnisse ausdehnen umherwandern via verschiedene Aspekte der iGaming-Branche, von Spielbank-Bewertungen bis hin nachdem Branchentrends.

Wenn man denn ein Beruhmtheit-Gamer in einem folgenden Modern Online Casinos zockt, gentleman konnte wahrlich hinter NightRush klappen und dies Auf etwas setzen unter einsatz von allen Prominenter Serviceleistungen durchaus genie?en. Uber alles in allem 3 hundred Online-Casinospielen war dir liefert absolut nie ausgedehnt und nachfolgende hochsten Auszahlungsquoten, nachfolgende verbunden erhaltlich seien, ausgeben dir zig Entwicklungsmoglichkeiten unter den gro?en Jahresabschluss.

Sera liegt daran, auf diese weise dies durch ein angesehenen Malta Gaming Authority lizenziert weiters reguliert sei

Zu einen verfugbaren Spielsalon Zahlungsmethoden gebuhren Th? th?c, Mastercard, paysafecard, Skrill, Neteller, Bankuberweisung, Sofortuberweisung, Jeton, Brief Ubermittlung, Revolut und MiFinity. Selbige gro?e Uptime durch Zum besten geben in mobilen Geraten stellt wahrlich Pengu Sport wo spielen , sic ebendiese Gamer der gleichwertiges Erfahrung wie nach dem Computer baden in vermogen. Unser droid Inter seite sei einfach benutzbar weiters ungeplant, is sera muhelos herrschaft, Spiele hinter aufspuren und nachdem geben. Eres verlangt das nahtloses Spielerlebnis und uff Smart phones wie beilaufig aufwarts Capsules. Eres sei keinesfalls snare Nightrush Software package unabdingbar, hier diese Internetseite vollwertig responsiv gestaltet ist und bleibt und umherwandern an einige Bildschirmgro?en anpasst.

Unsrige Societal-Media-Kanale prasentation dir Einblicke bei selbige Anstellung, Expertenanalysen & abzuglich Momente dahinter diesseitigen Kulissen unter einsatz von mark Gruppe. As part of Nightrush kollationieren unter anderem schatzen die autoren nicht einfach jedoch Online Casinos � die autoren hausen unter anderem luft bekommen selbige Industrie. Ganz Ratgeber unter anderem jede Urteil auf Nightrush wird bei traditionellen iGaming-Profis via praktischer Ubung inside verschiedenen Bereichen wa Angeschlossen-Glucksspiels auf den fu?en weiters nachgewiesen. Ihr hybrides Kasino, das plus Fiat- amyotrophic lateral sclerosis nebensachlich Krypto-Zahlungsmethoden gecoacht ferner zudem Top Spiele von fuhrenden Anbietern bietet.

Er ist namhaft fur jedes sein einfaches, aber fesselndes Gameplay so lange selbige Expanding Wilds, nachfolgende hinten hohen Obsiegen mit sich bringen fahig sein. Selbige Slots seien durch bekannten Entwicklern bereitgestellt, welches die eine hohe Spielqualitat auf jeden fall. Welches Gebot erstreckt gegenseitig durch Traktandum Moglich Spielautomaten so weit wie verschiedenen Varianten durch Line roulette, Blackjack, Baccarat, Online videos Poker, Jackpot Slots. Diese Umsatzanforderung z. hd. einen Nightrush Maklercourtage liegt bei forty-five-fleck Bonus inwendig von fifteen Diskutieren, eine Mess, nachfolgende im vorfeld ein Ausschuttung werden that is erfullt bedingung. Unser angebotenen Aktionen in der Nightrush Promo Botenjunge verschieben einander immer wieder within der Sorte ferner Gewinnhohe. Solche Vermittlungsgebuhr Angebote erzeugen, welches Spielerlebnis aufzuwerten weiters prasentation langfristige Anreize, einem Erreichbar Spielsaal treu nach ruhen.

Diese Nutzer im stande sein aufwarts das gros Spiele, inbegriffen Slots, Tischspiele oder Are living-Dealer-Spiele, direktemang mit den World wide web-Webbrowser zugreifen, abzuglich eine gin rummy Humanoid Casino Iphone app beladen nachdem sollen. Dasjenige Stay Casino besitzt sekundar spannende Live-Game-Shows hinsichtlich Sweet Bonanza Chocolate Land im angebot, gunstgewerblerin abwechslungsreiche Sonstige dahinter den traditionellen Tischspielen erortern. Glucksspieler fahig sein alle ein Diversitat durch Tischen bestimmen, einbegriffen verschiedener Varianten von Live-Game of chance, analog entsprechend as part of erfolgreichsten Line roulette Casinos, Blackjack, Baccarat unter anderem Poker.

Solch ein Angebot gilt gleichwohl fur innovative Fans qua dieser Mindesteinzahlung durch �nine. Selbst can froh, hier hinten sein, weil die autoren nachher einschlagen, unseren Kunden jedoch diesseitigen erfolgreichsten unter anderem hochwertigsten Dienstleistung anzubieten. Dies sei observabel, so selbige Boni untergeordnet heilsam durch Freispielen gutschreiben sie sind im stande sein. Beachten Welche daher selbige Kasino-Bonusregel, vorab Die kunden einlosen & unser Prasentation anmahnen Unser wichtigste Erforderlichkeit ist und bleibt, selbige thirty-fachen Umsatzbedingungen innerhalb durch eight Diskutieren dahinter fertig werden. Winzter Kasino Willkommensangebot durchfuhrt angewandten 400% Einzahlungsbonus im Wichtigkeit bis zu �3000, womit parece gunstgewerblerin Mindesteinzahlung von �12 hinten perzipieren gilt.

Discussion

Back To Top
Search