/*! 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 Informacje kasyna online to zbior na najwyzszym poziomie gier hazardowych i mozesz bonusow bez depozytu – InfoNile
skip to Main Content

Informacje kasyna online to zbior na najwyzszym poziomie gier hazardowych i mozesz bonusow bez depozytu

Daja lukratywne bonusy powitalne, zachety bez depozytu, cashbacki, darmowe spiny bez depozytu i wiele innych. Uzasadnienie ponizszy konto najlepszych kasyn internetowych i bedziesz ciesz sie na prawdziwe pieniadze!

All Right Casino oni legalna strony internetowe hazardowa ktorzy maja polskim jezykiem i atrakcyjnym bonusem powitalnym. Jezeli interesuja Cie cechy w Polakow, rzeczywiscie docenisz oferte All Right.

Cookie Casino technologia informacyjna legalne przedsiebiorstwa hazardowe w Polakow, gdzie mozemy odkryc bezplatne spiny na szuflada automaty online. Udaj sie jedno wiodacych na rynku kasyn siec w branzy!

Fortune Clock Casino to odpowiednie kasyno online ktorzy maja lukratywnym bonusem od depozytu i mozesz darmowymi spinami. Kasyno udostepnia natychmiastowe strategie dla zyski wygranych i mozesz polska strone internetowa.

Skwierczaco goraco witamy wszystkich zagorzalych wielbicieli hazardu mobilnego, ktorzy maja oni naprawde chca, aby ich gra wideo generowala utrzymywane nastawienie jeszcze inne zarobki!

Kasyna24 oni tryskajace zasob szczegoly o kasynach internet � leczenie zarowno dla ludzi, i to niedawno raczkuja w szerokim swiecie hazardu, od jak rowniez dla starych wyjadaczy posiadanie imponujaca umiejetnosciami hazardowa.

Co jest ich wiele na Kasyna24?

Kasyna24 oni profesjonalna strona ladowa kasynowa stworzona ktorzy maja mysla o dostarczaniu najnowszych Fambet Casino podrecznik i kompleksowych porad neuronauki hazardu internetowego. Wszystkie nasze produkt sa czesto kasyna online po polsku, jak i bedziesz przedsiebiorstwa hazardowe zagraniczne. Jest to mozliwe tutaj odkryc opisy gier kasynowych, badania kasyn siec po polsku, szczegoly o metodach wydawania, razem z cenne informacje do szukaniu najlepszego kasyna online.

Cala szansa posiadanie hazardem zaczyna sie od znalezienia takiego kasyna online, to bedzie najlepiej satysfakcjonowac kryterium gracza. Stad, zanim otworzymy przed Wami wrota z sezamu posiadanie kasynowa czuc tajemna, podstawowy podzielimy sie cennymi poradami, jakimi nalezy sie przeprowadzac podczas wyszukiwania kasyna online. Warto pamietac, ze powinna oni stac sie taka witryna kasynowa, ktora bedzie lepiej satysfakcjonowac nasze wlasne wymaganie.

Ergo, abyscie mogli uniknac przykrych niespodzianek i mozesz usprawnic caly proces, bedziemy Wam wspierac przez. Pokazemy, na po prostu co nalezy sluchac przed podjac roznych mozliwosci i mozesz wyszczegolnimy, o czym powinniscie sie skupiac najbardziej. Jezeli zastosujecie sie w ponizszych polecany, Wasze potencjal trafienia w dogodne kasyna wiecej wzrosna.

Profesjonalne kasyna internetowe

01 kwietnia 2017 regulatorzy polski wdrozyl ustawe, to by zakazuje uprawiania hazardu mobilnego na terenie Polski. Stad w Polsce ktore sa oferowane jest po prostu jedno w pelni polskie kasyno online, ktore jest czescia Totalizatora Noszenie. Ma na mysli to wlascicielem tej strony internetowe hazardowej jest wlasciwie urzednik.

Dzieki Bogu dobra wiadomoscia jest prawda, ze Polska jest jednym z najbardziej panstw Ue. Natomiast prawo unijne nie zabrania uprawiania hazardu siec w naszym kraju. Z racji z duzo licencjonowane kasyna online maja prawo do prowadzenia swojej dzialalnosci na terenie Polski, dobry polscy jednostki miec prawo do do dostepu do kasyn internetowych.

Niektore kasyno online, i to zamierza tworzyc swoje cechy polskim graczom, trzeba z pewnoscia posiadac licencje wydana z powodu wladze na Malcie, Cyprze albo nawet w Wielkiej Brytanii.

Wiekszosc kasyna w internecie, jakie jest kilka do Kasyna24, prowadza legalna i mozesz licencjonowana dzialalnosc hazardowa. Dodatkowo, zapewniaja zdobywac standard bezpieczenstwa oraz uczciwa i bedziesz do jedno C% losowa rozgrywke.

Odpowiada granie

Z jednej strony oznacza to, iz musimy dopilnowac, ty do kasyno internetowe twierdzi bezpieczna rozgrywke i ochrone przed potencjalnymi zagrozeniami ze profile uprawiania hazardu.

Z drugiej strony hazard nalezy odplacac a byc kochajacy zabawe, zamiast sposob na normalny wynagrodzenie. W zwiazku z tym zanim zaczniesz przyjemnosci musimy zaaranzowac sobie par zasad, ktorymi wyznaczymy masz limity, jakich bedziemy przestrzegac oczywiscie, jesli pobytu na kasynie online.

Co informacje kasyno online

Biorac pod uwage, jednego kasyn internetowych kreci sie z kazdym kolejnym rokiem, opcje tej idealnej strona internetowa nie jest zbyt miekkim orzechem do zgryzienia. Klopoty, jakiekolwiek napotykaja ktos szukam kasyna online, nie zapytania po prostu nowych graczy. Nierzadko zestresowany w srodku razem z jednak niektorzy zapalonych milosnikow hazardu � takich, z od lata . stary czerpia ktorzy maja tej zainteresowania satysfakcje, niejednokrotnie wygrywajac na tym niemale aktualnosc.

Discussion

Back To Top
Search