/*! 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 Wybierajac kasyno internetowe, nalezy myslec w sprawie calkowita stopnia dostepnych wybor inwestowania – InfoNile
skip to Main Content

Wybierajac kasyno internetowe, nalezy myslec w sprawie calkowita stopnia dostepnych wybor inwestowania

Proste transakcje wlaczaja najbardziej wazne korzysci z optymalnej przyjemnosc ktorzy maja gra, swietny menu debetowe, e-notebook, podobne PayPal, Skrill lub moze Neteller, a nie tak kryptowaluty sa czesto szeroko nie sa z powodu irlandzkie kasyna internetowe. Jak Playfina Casino rowniez rowniez oferuje jeszcze wiecej bezpieczne wskazowki dla uzywanie, i mozesz mozliwosci kryptowalutowe czesto przy wplatach, od i wyplatach, z powodu czemu mozesz miec poczatek, ze twoje zakupy ekonomiczne mimo wszystko beda bezpieczne i kiedy uzywac ktorzy maja grami w ich ofercie. A takze jak wybory kasyno obslugujacego kilka systemow zakupow pomaga w klientom gre w miejsce martwienia sie z produkty bezpieczenstwa zwiazane ktorzy maja transferami pieniedzy ukryty podmiotami.

Obsluga klienta i mozesz profile

Wybierajac kasyno internetowe, pamietaj, ktora sprawi oszacowac ktorzy maja unia europejska-casinos.net/pl obsluge uzytkownika. Stala i responsywna pomoc jest niezbedna na przyjemnej sesji gra wideo. Najlepiej i, zrobic zwrocic uwage na reputacje danego kasyna internetowe � sprawdz szukaj graczy, i widocznosc ktorzy maja recenzjami, zrobic rozumiec, ze traktuja klientow naprawde i mozesz bedziesz bez wysilku rozpatruja dolegliwosc.

Produkowac odkryc zalecenia kasyna internetowe do Irlandii, praktyczne poszukac opinii prawdziwych graczy, dostac sie w czlonkostwo na bezstronnych stronach internetowych Alawin Casino aplikacja , w tym zapytac mozliwosci zazalenia zglaszane przez innych ludzi w odniesieniu do niektorych placowek. Robiac to mozesz pozwolic ci ludzie zdobyc sobie satysfakcje, znacznie lepiej, jednego zdecydowalem sie na sprzedawca ma te zalete, ze najwyzszy poziom bezpieczenstwa a takze doskonala martwic sie rozrywkowa!

Trend gry hazardowe do Irlandii

Przyjecia uswiadomieniu sobie, dokladnie dokladnie co nalezy rozwazyc przy wyborze kasyno hazardowe onlinemozemy niezwlocznie przeczytac niezwykle udowodnione Irlandzkie gra siec. Z tej kawalki naszym bloga skupimy sie na automatach siec, grach ktorzy maja krupierem przetrzymaj i mozesz grach stolowych, ze wszystkich sa nie sa ulubione wsrod graczy. Dublin graczy. Majac tego typu szczegoly dobry, masz to mozliwe poznac, kiedys wybrac poduszka platforme z gier w wlasna reke!

Gry automaty online

Automaty do gier w gry online flash staja sie w modzie uzywaniem wsrod irlandzkich graczy wraz z latwa dostep, duzy wybor tytulow i mozesz bedziesz prawo rozgrywke. Tego rodzaju gra HTML5 zostaly zoptymalizowane pod katem smartfonow i bedziesz mozesz tabletow, dzieki czemu sportowcy mogli zrobic zdobyc na nich dostep z dowolnego miejsca i bedziesz mozesz czasie, a wiec, jednego nigdy nie przegapia rozkoszy. Poczawszy poniewaz klasycznych automatow owocowych po najnowsze automaty wideo, ktorzy maja pewnoscia ktos moze znalezc tu cos dla siebie!

Przedzial czasowy ktorzy maja progresywnymi jackpotami, takie Mega Moolah i bedziesz Major Millions dadza ci ludzie naprawde zmieniajace zycie korzysci, stad charakterystyka wszystko to samo niektorzy zrodel siec, co prowadzi do stale rosnacymi pulami. Styl wybor gier internet powaznie uzytkownikow z Irlandii zawsze sa Gonzo QuestStarburst Immortal Romance, Book of Ra i bedziesz dziewiec Pots Of Gold � wiekszosc z tamtych cudowne daje ci mozna znalezc w roznych kasynach siec lub moze wlasnie specjalnych witrynach dostosowanych do nie na obszaru.

Gry stolowe

Gra online stolowe, takie-poniewaz black-przysiady, ruletka i mozesz mozesz kasyno poker, nadal mam przyciagaja irlandzkich graczy swoja atrakcyjnoscia i mozesz bedziesz strategicznym charakterem. Zdecydowanie par roznych z nich popularnych klasykow kasynowych wziac w uwage na kasynach siec, ktore pasuja na roznych poziomow wiedza lub moze wlasnie wzorow obstawiania.

Jak obstawianie karciana black-jack ma troche rodzaju, i europejski black-doodly-przysiad, Atlantic City Black Przysiady na nogach lub moze wlasnie aktualizacje Multi-Hand posiadania rodzaj graczy. A, moze byc i kilka liczba ruletki, jak w ruletka amerykanska, ruletka francuska i inne, ktore umozliwiaja z wieksza niezaleznosc podczas gry na starozytna gre stolowa. Najnowszy, zapaleni wielbiciel pokera mogli szukac praca Texas holdem wraz z odmianami Omaha i mozesz mozesz Seven Card Stud! W wraz z duzym okreslaniu byc dostepnym, zadnej niespodzianki, ty na pewno pozostaja one najbardziej obowiazkowe wsrod fanow hazardu ktorzy maja Irlandii.

Gra wideo ktorzy maja krupierem przetrzymaj

Dla tych, oni pragna grzechotanie wciagajacych i mozesz interaktywnych wrazen do kasynie, gra online ktorzy maja krupierem na zywo bylo doskonala zastapienia. W tych odmianach gier, ludzcy kupujacy przesylaja strumieniowo ruch na zywo z kasyn lub studiow bezposrednio na na tym urzadzenia, z komfortu dzieki! Najnowoczesniejsza technologia moze ci rada doskonala kursy wideo, dobry takze rozne wiecej limity zakladow, z powodu czemu raczej niz wysilku probuje znalezc jedna rzecz, wiekszosci Tacy ludzie kontroluje. Trendy wybor, takie jak black-jack, ruletka i mozesz bedziesz bakarat, dadza mezczyzni i kobiety irlandzkim graczom wlasciwe i bedziesz bedziesz przyjemne srodowisko gra online.

Discussion

Back To Top
Search