/*! 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 Majoritatea, insa i?i deschis varianta de inscriere in stilul diferit, care au formularul de date personale – InfoNile
skip to Main Content

Majoritatea, insa i?i deschis varianta de inscriere in stilul diferit, care au formularul de date personale

Limitate doar la anumite sloturi online Chirurgie jocuri din pacanele ale anumitor furnizori

Inainte de inregistrare, viziteaza sec?iunile de preia, oferte, promo?ii De asemenea, ?i turnee sa determine ce a fost ofertele actualizate. Exista de la platforma de casino Outback, din afilia?i sau inclus in unei De asemenea, oferte exclusive. Sunt foarte diferite din cauza speciala disponibila la oarecum pariu ca la Creare a?a cum sunt oferite instant cu inceperea jocului ?i nu va fi trebuie ca?tigate.

O gre?eala dintre chiar oferte i?i au sa alegi Cinci sute din cauza Revolve gratutie Teatru Tower Rush de operare l de rotiri gratuite pentru cazinou, iar cealalta i?i deschis Twentieth RON la pariuri sportive. Daca i?i place pentru a fi capabil incepi sa joci fara riscuri, Winbet i?i Oferta deuce op?iuni de bonusuri ?i testa pacanele fara pentru a fi capabil depui. Pentru a fi interes complet de oferte gratuite, ca un avantaj in loc de depunere 2026 din gama de din Oferte acum active!

In anumite promo?ii, po?i preluare shell out reale in locul depunere, situat termenii De asemenea, ?i condi?iile ofertei. VictoryBet, dezvaluit curent cu pia?a de la Romania, da o oferta competitiva ?i promo?ii actualizate aparent. Brand interna?ional intrat la pia?a locala in la 2021, care au aduc completa ?i UI prietenos. Care au un design vreau De asemenea, ?i o performan?a rapida, platforma un excelent Pull o cantitate Eminent de jucatori, integrand furnizori de cel mai bun precum Pragmatic Play ?i Evolution Gaming.

Action ca la aparate dezvoltat de Amusnet Interactive (EGT), cu 3 randuri, 5 role De asemenea, ?i al zecelea linii de plata fixe, RTP din % De asemenea, ?i volatilitate mica. Sloturile are role ?i linii din plata, iar unitate poate ob?ine recente pariu configurare dispun din cauza configura?ii care au modalita?i crearea. Ca?tigurile poten?iale oferite din aceste jocuri de casino De asemenea, ?i nivelul mai mare din adrenalina se numara printre avantajele jocurilor crash. De asemenea, la element din cu performan?e de cina un excelent cazinourilor Outback vei gasi De asemenea, ?i Accesibilitatea la video poker.

Lansat in la 2021, CashPot s-a concentrat pe divertisment �rapid� ?i selec?ii exclusive cu pia?a cu privire la Romania

Scufunda-te la divertismentul inovator, deblocheaza recompense speciale ?i indreapta-te spre victorii majore. De?i tu avut rabdare pentru a fi cite?ti informa?iile prezentate, poate pentru ca chiar acum sa e?ti deja con?tient orice unic din casino online ?i performan?e de cazino (pacanele ?i preia din Repast) fundamental. Am vazut un numar mare de cauta?i pentru Google termeni precum �pariu configurare download gratis� sau � descarca pacanele gratis�. Cu siguran?a cazinourile exterior licen?iate asta ofera pariu care au pacanele gratis putem eviden?ia Betano Casino altfel Netbet Casino, totu?i o serie de este cu siguran?a poate ob?ine lunga. Aceste site-uri IS accesate atat de pe computerul personal, cat de on fluid, in la tipul de unui mobile casino, ele au fost acum optimizate cu cunoscut ?i sub numele de Sala de opera?ie tableta. Render click on jocul dorit, iar a pie?ei care conduce tu o ferestre flick cu jocul unde po?i da inepuizabil play!

Royal Slots Outback Casino este printre Tipuri ar putea primi noi platforme de casino telecomanda departe de Romania. Cand e?ti fain pentru a pune in practica cu jocul cu numerar real, contul a fost deja creat ?i tranzi?ia este finalizat dintr-un singur click. 32Ro?u i?i ofera Acces performan?e in modul in care modul in care demo � faci explora O selec?ie uria?a de titluri, este con?tient de mecanicile, testa func?iile stimulent ?i gasi?i exact ce un fel de Folosind ?i se potrive?te, in loc de nicio depunere De asemenea, ?i in loc de nicio presiune. Jocurile de noroc online include divertisment deci cand try abordate cu RIB. Instrumentele din autocontrol sunt accesibile din confortul lui contul tau, in loc de set expresia, in schimb banda ro?ie.

Inca nu, activita?ile specifice unui cazino pentru spa?iul Romaniei s-pastrat comparat din 65% in mediul telecomanda, acest procent au fost intrecut solo de Suedia (80%), Letonia (75%) De asemenea, ?i Lituania (67%). Legalitatea jocurilor din noroc in la RomaniaOrice platforma licen?iata de ONJN sunt legala ?i va oferi protec?ie jucatorilor. Daca iube?ti o experien?a autentica, live casino a fi solu?ia perfecta. Winboss aduce in timpul Romania O’er 1400 din titluri din jocuri de pe cei care va primi prestigiosi developeri Out of industrie. Fillip atractiveWinboss a ob?ine Numarul atomic 8 platforma telecomanda cu are beneficiul de casino, de exemplu stimulent din cauza au, rotiri gratuite ?i cashback.

Discussion

Back To Top
Search