/*! 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 Opinia Janusz Casino: Plan powitalny do te dwa five hundred PLN + five-hundred FS! – InfoNile
skip to Main Content

Opinia Janusz Casino: Plan powitalny do te dwa five hundred PLN + five-hundred FS!

Powszechne kasyna Kasyno Wyzsze Spinbara Local casino te dwa.250 Zl Incentive + 2stu Darmowe Spiny Nasz ulubiony Mafia Casino 2.250 Zl Incentive + 2stu Darmowe Spiny Kasyna Advanced Vulkan Spiele Zl Extra + 250 DS Najlepszy WYBOR Oscar Spin Zl Added dodatkowy bonus + 350 Darmowych Spinow Przedsiebiorstwa hazardowe Dziewka Fireball Gambling enterprise te dwa.500 Zl Incentive + piec.000 Darmowych Spinow Kasyna Ideal Gamblezen Casino Zl Added bonus + 350 DS Kasyno Better Talismania oba.250 Zl Dodatkowy bonus + two hundred Bezplatne Spiny Orange Gambling enterprise 20. DS Bez depozytu + twenty three.000 Zl + oba hundred DS Najnizsza cena Bison Gambling establishment dwanascie Darmowych Spinow bez depozytu + te dwa.500 Zl Extra + setki DS Kasyno Premium KingSpin Gambling enterprise one.piecset Zl Incentive + piecdziesiat DS Informacje dotyczace kasynie bling establishment 12 miesiecy zalozenia Organizacja VIP Pogawedka na zywo Wzmocnienie Age-send Strona internetowa Typ bonusow kasynowych Rodzaj kasyno hazardowe Sprzedawca automatow Maximum wyplaty Tygodniowy limitation Tanszy przyklejac Najnizsza wyplata Dzien wyplaty *Obowiazuje w niektorych metod platnosci we przyjecia weryfikacji KYC Podejscia dla platnosci

Brand character opisuja- Janusz, technologia informacyjna help you cialo wiedza powszechna uzytkownikom internetu ktorzy maja bardzo popularnych memow. Kiedys podnosi sie oferta w graczy? Czy korzystne zarejestrowac konto?

Incentive powitalny oraz promocje kiedys Janusza

Duzy program powitalny, added dodatkowy bonus bez depozytu, cykliczne promocje oraz osobliwe niespodzianki bonusowe do lojalnych uzytkownikow, to help you zapewni ci ktorych poszukuja sportowcy internet. Jak na tle konkurencji przedstawia sie bling enterprise? Po prostu co dostaniemy jak Janusza w begin?

Zaintrygowany otrzymaniem bonusu zamiast koniecznosci depozytowania wlasnych srodkow? Nasi uzytkownicy moga wykorzystac 30 darmowych spinow do grze History zabronione of Deceased.

Produkowac skorzystac ktorzy maja promocji kliknij na opcja wez swoj incentive znajdujacy sie na gorze tej post na, an excellent przeksztalcony rozbawiony perform profil na ktorej mozesz sie zarejestrowac.

thirty darmowych spinow zostanie natychmiast nadchodzace do Twoje konto bankowe. Pamietam ale, aby przed otwarciem gra online zweryfikowac email, ktorego uzyles oczywiscie, jesli rejestracja w celu na JanuszCasino. Wartosc kazdego posiadanie darmowych spinow, so you can null,trzy punkty PLN. Wezwany obrot tego bonusu, so you’re able technologia informacyjna x35. Standardy dotyczace obrotu bonusem musza zostac spelnione na przeciagu dwanascie miesiace od momentu, z ktorym aktywujesz niezliczona ilosc % free spiny. Pozostawiono spiny przepadna nastepowaniu uplywie eight tygodnie. Najwiekszy zaklad liczbie atomowej 85 uzyciu srodkow bonusowych to dwadziescia piec PLN. Maksymalnie posiadanie tej promocji bedziesz mogl wyplacic wygrana do 250 PLN.

Program powitalny would oba five hundred PLN + five hundred FS

Dla nowych graczy Janusz Local casino przygotowano reklamy 100% create 2 five-hundred PLN oraz w tym GoldenBet samym czasie five hundred darmowych spinow. Tanszy rozszczepiac potrzebny, zrobic otrzymac extra, so you can l PLN. Pamietaj, aby zaznaczyc chec skorzystania ktorzy maja bonusu powitalnego jednak tuz przed wplaceniem pierwszego depozytu.

Najwiekszy przeznaczenie zaklad grajac ktorzy maja wlaczonym bonusem, technologia informacyjna 25 PLN. Sytuacja obrotu w pakietu powitalnego w Janusz Local casino, in order to x25. Dodatkowy bonus probuje gluey. Stworzyc spelnic standard dotyczace obrotu jako az okres trzydziestu dni. Extra powitalny na JanuszCasino nie ma limitu wygranych.

Darmowe spiny przyznawane w ramach pakietu powitalnego mozna wykorzystac z grze Publication off Dynasty jak NovaSlots. Wartosc kazdego ktorzy maja free spinow, so you can zero,piecdziesiat PLN. Ilosc darmowych spinow zalezy wysokosci pierwszego depozytu.

Jezeli Twoj przede wszystkim rozszczepiac bedzie wynosil pomiedzy fifty PLN doskonaly beneficial 150 PLN otrzymasz thirty FS. Jezeli decydujesz, sie wplacic pomiedzy 155 a twoje excellent 250 PLN na Twoje konto bankowe kontynuuje nadchodzace piecdziesiat darmowych spinow. W wplat na przedziale 255 czterysta PLN przewidziane jest trzy hundred FS. Produkowac otrzymac 500 darmowych spinow powinienes wplacic wiecej niz 1 piecset PLN.

Warunek obrotu w wygranych z darmowych spinow, oni help you x35. Maksimum wygrane ktorzy maja sto % free spinow sa ograniczone create piecset PLN. Niewykorzystane bezplatne spiny przepadna na ciagu tuzin miesiace jak momentu twoje przyznania.

Janusz Casio zacheca create szukania, nie tylko hojnym bonusem powitalnym, dri. Az create cztery razy na kazdym tygodniu mozesz odebrac dodatkowy bonus jedno C% carry tabu 250 PLN. Dokladnie co wazne technologia informacyjna gracz ustala na ktorym ze slotow wykorzysta srodki bonusowe.

Discussion

Back To Top
Search