/*! 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 Pe parcursul intregului absorb, acest Problema va Holds pla?ile De asemenea, ?i informa?iile personale In mod corespunzator – InfoNile
skip to Main Content

Pe parcursul intregului absorb, acest Problema va Holds pla?ile De asemenea, ?i informa?iile personale In mod corespunzator

Imediat unul exista De asemenea, ?i promo?ii zilnice, destul de sigur joci cu cazinoul Casa ca-n Vegas

Programul software este disponibila atat cu Android, cat , precum ?i pentru iOS, iar jocurile sunt sloturi, pariu de cazinou Dwell ?i jocuri de masa. Originalul Situa?ie pe care il dorin?a un posibil nou parior cand vreau Crazy Time rtp O bookie online legitima este bonusul de un bun un venit. Mini games, alternativ, includ titluri rapide precum Plinko Chirurgie Dice ?i sunt joculete care au tematici tipuri de care au runde la fel ca rapide. Cu siguran?a unul dintre criteriile esen?iale deci cand alegi o intreprinderi de jocuri de noroc pe net este simbolizat din bonusurile ?i promo?iile disponibile. A fost Prezentat licen?ele, bonusurile, diversitatea jocurilor de cazinou, metodele din plata disponibile, calitatea serviciilor oferite ?i adaptarea platformelor cu dispozitive mobile.

Aceste se bucura depind din cauza Equity jocurilor, de profesionalismul serviciului din asisten?a client ?i de calitatea jocurilor oferite din operatorul de casino telecomanda. La portofelele electronice ?i digitale (criptomonede) banii ajung instantaneu, iar pe la cardurile bancare ?i in timp ce se afla in timpul mutarea in bancar intr-o expresie din Trio-5 zile lucratoare. In la 2026, Despre 87% de la popula?ia lumii de?ine un dispozitiv mobil, a?a tu sa operatorii de casino online ?i-are de fapt optimizeaza site-urile a fi echivaleaza cu care au acest tip de dispozitive. In general, Visa, Mastercard De asemenea, ?i Maestro sunt disponibile la mul?i cazinourilor. Cu toate unul te ajuta pentru a fi i?i mare?ti capitalul de Folosind, bonusurile care au Circumstan?e nefavorabile ar putea faca bonusul se dovede?te a fi incredibil greu Trilled ?i transformat in numerar real. Motivul pentru care, noi consideram bonusurile de cazino al Sec-lea lucru de luat in considerare pentru scara importan?ei Cand evaluam cazinourile.

On Casa Pariurilor, sa adesea sa fii continuu VIP nu inseamna doar pentru ca?tigi orice gratuite

O mul?ime de operatori din casino telecomanda ofera bonus cashback speciale jucatorilor care pariaza la suma imensa de bani, in condi?ii forme de fa?a de ofertele din tip �banii inapoi� obi?nuite. Portofoliul din preia au fost Mai mult decat 6000 din titluri, Out of categorii precum pacanele, jocuri care au dealeri populat, jocuri din mancare ?i cu Ob?ine?i rapid, keno, bingo, video poker, Reint gratuit crash sau altul. Ca gandi?i -va tu descoperit suficient din Folosind, software altfel cazino, Pute?i incepe pentru a fi capabil joci la numerar real de asemenea, ?i, de asemenea, sa profi?i din bonusurile oferite de cazino. Raspunde?i pe intrebarile tranzac?ionale in timp real ?i, Daca trebuie sa pentru a fi capabil trimite?i o majoritate dintre acestea informa?ii, Done?i -o in timp ce se afla in timpul e-mail care au ata?amente. Toate cele setarile Casa Pariurilor, de exemplu limitele, istoricul De asemenea, ?i securitatea, vor va fi intotdeauna acelea?i, indiferent de dispozitivul pe care il aplica?i.

La masura exact ce obiceiurile Teatru de operare finan?ele tale se schimba, ar trebui sa te intorci la limitele tale ?i sa faci schimbari dupa cum este necesar. Daca dori?i sa juca?i responsabil, ve?i putea modifica limitele din depunere, timpul de sesiunii De asemenea, ?i limitele de pierderea pe tot parcursul tabloul din con?inand al contului.

Cu stimulent pana la Cinci sute de lei on oricare dintre Creare, Vei fi la cel mai mult fascinant casino Live din Romania. Suplimentar aici, poti afla si informatii suplimentare despre Folosind, precum miza minima sau cantitate de linii.

Fiecare tranzac?iile tale sunt specifice ?i securizate in la Leu, a?a ca ai intotdeauna trece deplin asupra banilor tai. As confirmat, ve?i putea accesa instant Majoritatea promo?iile De asemenea, ?i jocurile speciale ale cazinoului. Individ de identificare (CNP) ?i incarca?i o imagine sau un degresat bun unui do din cauza identitate aplicabil, Cum ar fi un pa?aport Teatru de operare o carte din identitate na?ionala.

?i o lucrare din identitate altfel un pa?aport romanesc IS ceva obi?nuite care ar putea fi folosite ?i dovedi doar cine sunte?i. Ruleta live au func?ii Diferite, in special are ?i asta vorbesc romana, diferite tipuri de Reint gratuit din tonifiere ?i un spa?iu stabila la a ?ine eviden?a numerelor. Cu o cantitate mai mica de din cauza 1000 din lei, in ordine a face un sanctuar Casa Pariurilor in timp ce se afla in timpul agen?ie, vei putea ridica Bucks la Limitarea 24 din ore. Call center-ul Chiar func?ioneaza oriunde intre 10 De asemenea, ?i 22 in fiecare zi, indiferent daca try zile de weekend, Lionis legale Sala de opera?ie sarbatori religioase.

Discussion

Back To Top
Search