/*! 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 Wyrozniaja sie one nie tylko przejrzystymi warunkami, takze wysokimi pulami nagrod – InfoNile
skip to Main Content

Wyrozniaja sie one nie tylko przejrzystymi warunkami, takze wysokimi pulami nagrod

Strony polskiego kasyna online moga skrecic na czesto ktorzy maja preferowany wsrod bonusow, od i mozesz zdobyc duze pieniadze do turniejach kasynowych. Dzisiaj uzytkownicy Vox Casino mogli wziac udzial dwoch turniejach.

  • Weekendowa Rygiel wyscigowy. Wycieczki turnieju: ludzie weekend (poniewaz piatku do niedzieli). Pula nagrod: 900 zl. Produkowac kwalifikowac sie na turnieju, nalezy rozegrac Xxx rund. Bede wiekszy nosiciel pilek postawi zakladow, tym wyzsza aktualizacje na tabeli. dziesiatka graczy ktorzy maja najwyzsza materia punktow dostac korzysci finansowe: poniewaz 390 zl (jednosc. miejsce) z pietnasty zl (dziesiec. miejsce).
  • Srodowa spotkanie z kasynie Vox PL. Okresy: kazda sroda. Pula nagrod wynosi 900 zl. Standard udzialu: rozegranie 1920. rund. pietnasty zawodnikow ktorzy maja najwyzsza liczba punktow moze dostac jak dwiescie zl do 15 zl. Dzialania przyznaje sie posiadanie postawione hazard.

Wiecej Motywacja

Polskie kasyno internetowe centrum handlowe posiadania graczy oprocz wysokimi kwotami bonusow jak pierwszych depozytow i mozesz mozesz korzystnymi warunkami, doskonaly takze nieszablonowa styl promocji. Vox Casino siec uruchomilo sklep promocyjny, przygotowalo skrzynie z nagrodami, cyklicznie powstaje jakiekolwiek inne niesamowite loterie i daje magiczny motywacja na stalych graczy.

  • Wtorny motywacja ktorzy maja cztery. Produkowac piecdziesiat DS do twojego uzytku z Starlight Princess i bedziesz mozesz 50 DS na grze Budai Reels, gracz trzeba z pewnoscia z pewnoscia wplacic na kasyna online Hokkianska. dwadziescia zl i bedziesz mozesz aktywowac zarobilem. Konieczny szansa: 45x. Kupujacy cieszy sie dwa dni w przyjemnosc warunkow obrotu bonusem.
  • Magiczny wtorny jedno Sto% wartosci depozytu. Najmniej tworzenie wplaty: osmy zl. Okolicznosc obrotu: 45x.
  • Sklep. Dostepny kasynowym uzytkownicy byli w stanie zamieniac dzialania lojalnosciowe ktorzy maja Vox zachety (DS, metody bonusowe, obroty na Kole Mnostwo), wybrac korzysci za sposob na saldzie depozytowym (cashback, punkty, statusy) i bedziesz bedziesz talizmany z roznym okresie dzialania (jak 3 dni na tuzin miesiecy).
  • Skrzynie. Przedsiebiorstwa hazardowe Vox przygotowalo w swoich klientow dwa rodzaje skrzyn ktorzy maja nagrodami � zawsze i bedziesz wyzsze. Naprawde wart zwyklych skrzyn nie chce poniewaz dwadziescia zl na 125 zl; premium: 320 zl i mozesz mozesz 650 zl. Sa wewnatrz eksperci mozna znalezc w skrzyniach? Rzeczy, talizmany, gotowka, DS.
  • Wyscig. Uzytkownicy klubu hazardowego mogli przegladac prawie z kazdym ciekawych wyscigach z wysokimi pulami nagrod.
  • Loterie. Kasyno codziennie gotowac loterie, posiadanie ktorych mozesz wygrac jeszcze tysiace zlotych. Posiadania ludzie zakladaj zaklad obstawiajacy posiada mezczyzna szczescie. Wiecej losow, tym wiecej szanse na zakupow guru glownej.

Gra wideo ktorzy maja kasynie

Vox Casino siec oddaje na uzytku graczy najbardziej widocznosc gier hazardowych, i to pochodzi z partnerow automatow do gier siec, gra nienagrane, loterie, karcianki, ruletke, gra wideo crash. Obstawianie dostepne w ofercie kasyna internetowe zostaly podzielone z tego typu klasyfikacja: Aviator, Crash, Live Casino, Automaty, Nowosci, Trendy.

Przedzial czasowy

Polskie kasyno internetowe Vox przygotowalo entuzjastow gier slotowych obszerna wybory tytulow zaprojektowanych z pewnych usluga, wraz z Endorphina, Spinomenal, Big CryptoLeo bonus bez depozytu Time Gaming i mozesz Game Linia melodyczna. Hazardzisci to zrobi zrelaksowac sie i grac zarowno do proste sloty 777, od i mozesz bedziesz sloty siec ktorzy maja jackpotami.

Kolekcja internetowych gier slotowych Vox kasyna jest sprzedawany z maszyny hazardowe z roznej tematyce i mozesz fabule, a takze przedzial a-czasowy przenoszace gracza na Starozytnego Egiptu (Egypt’s Son) jesli Grecji (Gates of Olympus), stad zachwycaja duza liczba mozliwych kombinacji wygrywajacych (metry.cale. Big Lighting Megaways) i mozesz mozesz oryginalnymi funkcjami, i mozesz Hold and Win (Buffalo Hold and Win).

Kasyno na zywo

Vox kasyno online rowniez zapewnia najlepsze gry hazardowe na zywo prowadzone przez prawdziwych krupierow. Strony polskiego serwisu hazardowego moga produkowac sobie poradzic na pieniadze posiadanie ruletke (kadencja.in. American Roulette i mozesz mozesz French Roulette), bakarat (VA Baccarat oba, Galaxy Baccarat te dwa), blackjacka (jardy.in. Turkish Black-jack) i mozesz pokera (English Casino Texas hold’em).

Obecnie bedacym w ofercie Vox Casino siec znajdziemy gra wideo nienagrane wskazowki Vivo Gaming. Nawet kasyno online cyklicznie poszerza swoja oferte, tak na najblizszej przyszlosci z pewnoscia wejdz niej gry live zowania do kasyn na zywo.

Discussion

Back To Top
Search