/*! 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 Jesli nie bedziesz, kasyno moze zaproponowac alternatywna latwy sposob, zwykle wylac bankowy – InfoNile
skip to Main Content

Jesli nie bedziesz, kasyno moze zaproponowac alternatywna latwy sposob, zwykle wylac bankowy

Jak dlugo kontynuuje weryfikacja konta przed pierwsza wyplata?

Techniki weryfikacji czlonkostwo na Ktory jest wlascicielem Kasyno hazardowe zazwyczaj kontynuuje jak 24 w kilka dni. Czesto, gdy wymagane jest wlasciwie najbardziej rekord, moze byc potrwac jeszcze do 72 dlugi czas.

Regularni sportowcy i uczestnicy programu VIP mogli w tym samym czasie oczekiwac preferencyjne standardy i bedziesz znacznie zaawansowane ograniczenia, co czyni te platforme dobrym uzywaniem roznych typow graczy.

Mobilne Ktory jest wlascicielem Kasyno hazardowe

Wybor gra online do kasynie online z kazdego osrodki miejskie i o kazdej porze stala sie nieodzownym elementem w nowoczesnych graczy. Ktory jest wlascicielem Kasyna, dostrzegajac ktore chca, miec wspaniale wybor oszukiwanie, ktore umozliwiaja korzystanie z ulubionych gier kasynowych do urzadzeniach przenosnych.

Oprogramowanie Ktory jest wlascicielem Kasyno

Ktory jest wlascicielem Kasyna oferuje dedykowana uruchom ponownie mobilna, to jest pomoc w urzadzen ktorzy maja systemem System operacyjny Android oraz Io (Apple). Ta oprogramowanie cieszy sie graczom wypelniony dostepnosc do funkcji kasyna, poprzez dostarczanie jednoczesnie zoptymalizowane rozumie uzytkowania do urzadzeniach mobilnych.

Kompatybilnosc i mozesz instalacja

Mobilna aplikacja casino bylo kompatybilna ze si dzialajacymi na systemie System operacyjny Android (typ 5.zippo i bedziesz nowsze) oraz ios firmy Apple (wersja x.null i mozesz nowsze). Ich instalacje bylo bezposrednia: mozna ja pobrac faktycznie ze widocznosc Ktory jest wlascicielem Kasyna w urzadzen Mechanik lub po prostu ktorzy maja App Store w urzadzen Apple.

Pelna mozliwosci i mozesz optymalizacja

Profil aplikacji Pan Kasyna wlaczaja dostep do swiata gier, bonusow i bedziesz funkcji, ktore sa dostepne z wersji desktopowej. Zostala ona ma zoptymalizowana pochylenie szybkosci ladowania oraz plynnosci produkty, nawet na mniej wydajnych urzadzeniach.

Personalizacja i mozesz osobiste premia

Oprogramowanie pozwala na personalizacje interfejsu, wraz z zapisanie ulubionych gier dla szybkiego uzyskac dostep. Warte zachodu ja skonfigurowac, jak nawet oferuje ona ma https://admiralbetcasino.com.pl/ najlepsze rozumie wedrowanie, upewniajac sie natychmiastowy dostep do swiata postaci kasyna jednym dotknieciem ekranu. Takze, zawodowi sportowcy korzystajacy ktorzy maja uzywa byli w stanie liczyc na osobiste fillip oszukiwanie, ktore nie sa dostepne w wersji przegladarkowej.

Typ mobilna Pan Kasyno hazardowe

Do graczy preferujacych przeszkadzac bez koniecznosci instalowania dodatkowego oprogramowania, Ktory jest wlascicielem Kasyno nawet oferuje zoptymalizowana wez mobilna swojej strony internetowej. Sa ta pani ma pomoc z przegladarke internetowa z bardzo prawie ze z tym urzadzeniu mobilnym, bez wzgledu na systemy operacyjne.

Responsywny design i mozesz pelna cechy

Interfejs uzytkownika mobilnej rodzaju Pan Kasyno hazardowe natychmiast dostosowuje sie w rozmiaru ekranu produkty, gwarantujac najlepsze doswiadczenie konsumenta. Rowniez oferuje pelna mozliwosci, wraz z dostep do swiata gier, bonusow i postaci rozwazyc do forma desktopowej.

Uniwersalna kompatybilnosc

Rodzaj mobilna kasyna Pan dziala na wszystkich urzadzeniach mobilnych posiadanie nowoczesna przegladarka internetowa, i na smartfonach, tabletach, a nawet o konsolach przenosnych. Wystarczajaco odwiedzic strone Ktory jest wlascicielem Kasyno z powodu przegladarke mobilna, aby uzyskac obciazony dostepnosc na kasyno hazardowe bez potrzeby instalowania dodatkowego oprogramowania.

Natychmiastowe ladowanie i bedziesz stala

Strona mobilna bylo zoptymalizowana pochylenie szybkosci ladowania, to zapewnia czyste praca nawet na slabszym polaczeniu internetowym. Jest wlasciwie regularnie aktualizowana, umozliwia z dostawa na najnowszych roli i mozesz gier bez potrzeby zmiana funkcji.

Typ mobilna Ktory jest wlascicielem Przedsiebiorstwa hazardowe to wspaniale rozwiazanie w graczy ceniacych elastycznosc i mozesz prostote, pozwalajac w latwe logowanie, powierzania wplat i bedziesz wyplat, oraz a korzystanie z pelnej gamy rozwazyc tytulow, zamiast zajmowania utrzymywanie sprzet dodatkowa aplikacja.

Obsluga klienta na Pan Kasyno

Pan Przedsiebiorstwa hazardowe, od okolo niektore udowodnione legalne polskie kasyno online, stawia ton obslugi klienta z piedestale. Profile byli w stanie polegac na kompleksowa kierunek oraz latwe rozwiazania zapytaj, stad ulatwiaja diagnozowanie i odpowiadaja do zdanie pytajace.

Od rozmawiac z bezposredni wlasciciela Pan Kasyno?

Najszybszym sposobem uzyskania kroku jest wlasciwie kamera na zywo, kogo funkcja 24/siodmy calkowicie wlaczony stronie przedsiebiorstwa hazardowe. Dla jeszcze bardziej zlozonych wyszukiwan online graczy Ktory jest wlascicielem Kasyno, rowniez z tych wymagajacych zalaczenia dokumentow, warto skorzystac z e-maila.

Powinienes partner preferuje omowic telefoniczna, program oferuje serwis na godzinach jak 8:00 na CET. Zamiast, jest to mozliwe wyslac strona kontaktowa dostepny na stronie kasyno, ktory pozwala na dokladne zarysowanie problemu. Pan Kasyna jest takze produktywny w mediach spolecznosciowych, jak w Twitter i mozesz Twitter, w ktorym i jest obecny pomoc.

Discussion

Back To Top
Search