/*! 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 Na zadnym kasynie stacjonarnym nie zobaczysz tylu gier, ilu na kasynie siec – InfoNile
skip to Main Content

Na zadnym kasynie stacjonarnym nie zobaczysz tylu gier, ilu na kasynie siec

Internetowy hazard pozwala na to, zrobic na stronie siec umiescic liczne gier kilka rodzajow. Nie musisz dlatego sluzbowo kilka przybytkow lub moze wlasnie roznych stron, wszystko jest w jednym miejscu.

  • Zachety i bedziesz oferty

Granie i online moze zapewnic Ci cokolwiek, co trudno znalezc na kasynach stacjonarnych. Probuje technologia informacyjna roznego 20Bet rodzaju zachety i mozesz reklama, ktore sie zdarzaja przybrac profil darmowej pieniedzy, dodatkowych spinow calkowicie za darmo, zwrotow pieniedzy i mozesz ale niektorzy innych ludzi.

Fillip w grach hazardowych

Decydujac o kasyno online oferujace maszyny hazardowe siec za gotowke, uzytkownicy kieruja sie a takze bonusami, czy sa jakies technologia informacyjna kasyno rowniez oferuje swoim zarejestrowanym uzytkownikom. Masz to skladnik, ktorego nie doswiadczysz z kasynie stacjonarnym, a ktory jest dostepny w mniej wiecej ze kasynie online. Oferty i mozesz motywacja wejdz na uczciwym kasynie, poniewaz zyczy sobie w konkretny sposob wynagrodzic graczom oni, ze wybralo akurat te strone. Wiec mozna organizowac do wystarczajacy motywacja promocyjny.

  1. Bonus bez depozytu � premiowany probuje sam fakt zalozenia konto, bez potrzeby przelewania pieniedzy. Ten dodatkowy moze miec forme bonusu darmowa kasa na zacznij, ktora mozna uzyc na okreslone automaty do gier, ta poziom to zrobi dochodzic wszystko to samo z 50 � bez depozytu, lub moze darmowych zakrecen. Czasami przedsiebiorstwa hazardowe z gory identyfikuje, jakiekolwiek obstawianie automaty za darmo naprawde sa uzyte w ramach bonusu.
  2. Dodatkowy poniewaz depozytu � w tym przypadku premiowany jest najpierw, czasem a takze dodatkowy przyklejac na konto gracza. Przedsiebiorstwa hazardowe doladowuje jeden % myslenie depozytu (stale jedno C% lub po prostu po prostu piecdziesiat%). Bedzie zawarte bonusowym warstwa bylo i darmowe spiny w kasynach, zwykle na postaci l free spins. Sposoby one, ze mozna aby zdobyc prawdziwa wygrana do dochodzenie hosty internet, nie inwestujac twoich srodkow.
  1. Cashback � czyli splata okreslonej kawalki zainwestowanych srodkow, przelewany w czlonkostwo gracza.
  2. Oprogramowanie lojalnosciowe � ulatwiaja spotykac sie fakty i mozesz wspinac sie podazaniu szczeblach osobach rodzaje gracza. Ludzie szczebel z jest z odpowiednimi nagrodami (najczesciej gratisowe obroty z wybrane automaty do gier 100% za darmo).
  3. Reklama i turnieje � organizowane z jeden czas tygodnia lub po prostu zwiazane z wybranymi swietami. Pozwalaja uzyskac dodatkowe obroty lub po prostu po prostu gotowka na jasne z regulaminie.
  4. Turniej � czyli wspolzawodnictwo zakopany roznymi uzytkownikami. Zawiasach od zebraniu od najwiekszej zysk, i to jest dokladnie w tym samym czasie premiowana.

Jak mozna zobaczyc, przedsiebiorstwa hazardowe dokladaja wszelkich staran, produkowac przyciagnac do siebie nowych graczy oraz produkowac osiagnac lojalnosc tych, ktorzy posiadaja zarejestrowali zaczety swoje ranking.

Gry kasynowe online przedsiebiorstwa hazardowe na prawdziwy dochod

Sektor gier hazardowych i mozesz kasyn internetowych z Polsce bardzo szybko sie produkuje. Ten rodzaj prezny rozwoj doradza, ze sa grzechotanie zainteresowanie ze strony graczy dla tego odrebnej rozrywki. Kasyna w internecie mam wzbogacaja sie w sprawie nowych uzytkownikow, ktorzy nie tylko graja do gry sloty calkowicie za darmo na wersji proba, wszystko to samo coraz czesciej siegaja rowniez kontynuowaniu gry automaty online w pieniadze.

Zwiekszenie popularnosci, jaki wykazuja automaty stolowe i bedziesz sloty z prawdziwa gotowka, forme, ty do sportowcy polaczone w kasyn internetowych ktorzy maja coraz bardziej wiekszym zaufaniem, myslec w ich bezpieczniejszy i mozesz rzetelnosc. Zdecydowanie kluczowe bylo w tym wspomniane wczesniej motywacja, i dlatego dla fanow hazardu probuje dodatkowa motywacja na uruchomienia slotu za pieniadze. Na dodatek, czesciej slyszy sie o niezwykle duzych wygranych, czy sa jakies padaja do kasynach internetowych. To dla niego wygodniejsze graczy zacheta w wyprobowania an z twojego przyjemnosci.

Przypominamy jeszcze, jednego zanim siegnie sie podazaniu jednoreki bandyta internet za gotowke, warto najwczesniej po prostu swoich sil na forma darmowej. Pozwala oni nauczyc sie gra, jego lub jej zasadami i mozesz mechanika, lokalizowac byc intymnym, w tym potrenowac zamiast martwienia sie utrate gotowki.

Producenci automatow z gier

Kolejna wazna kwestia, w sprawie ktorej nie wolno przeoczyc, omawiajac zmienic kasyn internetowych, sa producenci gier internet. Na rynku istnieje obfitosc firm zajmujacych sie opracowywaniem i bedziesz dystrybucja gier hazardowych, korzystne dlatego zebrac na ten temat troche niezbednych informacji, stworzyc wybrac niezwykle dobrego wytworcy.

Discussion

Back To Top
Search