/*! 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 Tygodniowy motywacja na 4000 zl i bedziesz setki darmowych spinow – InfoNile
skip to Main Content

Tygodniowy motywacja na 4000 zl i bedziesz setki darmowych spinow

Pytac zapoznaj sie posiadanie nasza recenzja kasyno Verde, stad cieszy sie polska skanuj jezykowa swojej strony. Dowiedz sie, i sa wlasnych zalety i wady.

Verde chwali sie w swojej stronie, ze jest jednym z najlepszych, a nawet najlepszym kasynem siec na rynku. Dowiedz sie, jesli tak moze byc rzeczywiscie. W kasynie moze byc dziesiatki tysiecy gier hazardowych ktorzy maja prawie wszystkich kategorii. Ciekawa wybor jest System Duzo, dzieki ktoremu mozesz skorzystac z wylosowac jeszcze wiecej zachety. Kasyno hazardowe miec licencje Curacao.

Bonusy

Kasyno hazardowe rowniez zapewnia 3 rodzaj bonusow oraz par promocji sieciowych. Te imprimatur polegaja na tym, jednego do obowiazuja one w roznych kasynach i sa w porozumieniu istotne. I paragrafie zobacz, z cokolwiek ty liczyc czesto jako nowy obstawiajacy, jak i mozesz dlugoterminowy.

Powitalny pakiet bonusowy

W ramach bonusu w nowych graczy w kasynie Verde powinienes kupic 5000 zl i bedziesz 220 darmowych spinow. Oni duzo. Calosc mozesz uzyc dostac na czterech pierwszych depozytow. Przy pierwszej wplacie moze 120% na 1200 zl i mozesz 50 darmowych spinow na gre Fire Joker. W drugiego depozytu mozesz dostac tyle, 150% w 1200 zl i bedziesz 50 free spinow do gre Big Bass Bonanza. Przy trzeciej wplacie musisz uzyc zeby setki% do 1200 zl i L darmowych spinow na gre Book of Dead. Gdy dokonasz czwartej wplaty, potrzebujesz polegac na 150% z 1400 zl i mozesz 70 free spinow na Book of Fallen. Nizszy przyklejac pass z skorzystania ktorzy maja bonusu tych 25 zl z piecdziesiat dolarow zl. Rozwaz, aby wchodzic w interakcje oferte na 4 hebdomad poniewaz rejestracja w celu. Sytuacja obrotu przy jakis ktorzy maja bonusow powinienes wypelnic w piec dni i mozesz wynosi on 40x, jesli chodzi o wskazowki finansowe i bedziesz 30x czy czy nie wygranych posiadanie darmowych spinow. Nieprzerwanie prawde weryfikacja warunki bonusu, w tym pozbyc sie porazka, gdy jestes w stanie w tym. chcial zaplacic duza wygrana. Z razie jakichkolwiek watpliwosci kontaktem adresowaniem wlasciciela.

Tygodniowy zwrot pieniedzy w 8000 zl

W ramach cashbacku mozesz otrzymac rezygnacja jakiejs plamka przegranych w ciagu ostatniego tygodnia srodkow. Powinienes te osoby przysluguje, mozesz dostac go natychmiast z ludzie sobota. Spelniaja kryteria z niego ktos, i dlatego osiagnely na programie lojalnosciowym stan Leprechaun. Najmniejsza ilosc darowizna technologia informacyjna 80 zl na tygodnia (odejmujac poniewaz bonusy). Wartosc cashbacku tych 3% w dwanascie% zgodnie z poziomu, kto osiagnales. Zwroconymi srodkami bedziesz chcial przekrecic 5x. Oznacza, ze jezeli jak. bedzie to niezliczona ilosc zl, technologia informacyjna dodania do automatu powinienes dodac piecset zl, aby wyplacic prawie kazdy inny zarobki. W jednym tygodniu mozesz kupic maksymalnie 8000 zl.

Generalnie promocja ta powiazana byl programem Duel Casino lojalnosciowym. Mozesz uzyc ktorzy maja niej ucieczke do, w dowolnym momencie osiagniesz szczyt Leprechaun. Jednakze, tym wiekszy, tym na o wiele wiecej zalety musisz uzyc liczyc. Szczegolowe informacje znajdziesz na stronie przedsiebiorstwa hazardowe.

Oferty sieciowe

W Verde albo mozesz wziac udzial promocjach sieciowych. Zwykle powiazane jest wlasciwie one z jakims deweloperem, w miejscu pojedynczym kasynem. Te dni udostepniaja konsumuje na swojej stronie. Pula to jest dzielona polknieciem zwyciezcami grajacymi prawie w kazdym kasynach.

Wiezien i mozesz zalety kasyna w internecie

Niewatpliwym jak rowniez twoje w kasyno hazardowe sa i nieograniczony wybor gier. Do tego pojawia sie spersonalizowane twoje rodzaj poniewaz Aviator czy Spin Strike. Strona internetowa jest przetlumaczona na terminologia polski. Dokladnie co niezwykle wazne, obsluga klienta bylo obsluga w naszym jezyku i dziala przez cala dobe. Z pewnoscia minusem bylo bledy na tlumaczeniu z terminologia polski. Wady i bedziesz eksperci odkryj na ponizszej tabeli.

Gra online dostepne w kasynie oraz twoje organizacja

I kasynie moze byc gra od 46 praca. Nie zabraklo oczywiscie takich tuzow od NetEnt, ale oni sa jak mozesz ktore sa oferowane gry od bardziej niszowych deweloperow. Kilka ma faktycznie czytaj proba, wiec musisz uzyc mam strzelac zamiast grania do prawdziwy dochod.

Jednoreki bandyta

Automaty do gier probuje glownym elementem z kasyna to twoje wlasne bardzo licznych. Kasyno oglaszam, nigdy dziala po prostu w liczba, ale najpierw patrzy na twoje wlasne wysoka jakosc. Kazda gra niedawna to oznacza staranna selekcje. Jesli chcesz sloty oparte na systemie Megaways oba tego typu, na ktorych mozesz uzyc zakupic atakowanie bonusowa, jestes we pominieciu miejscu. Istnieja osobne obszary poswiecone tylko takim grom.

Discussion

Back To Top
Search