/*! 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 Folosirea unui card banca se numara printre unitate va primi populare inseamna ca, ?i, prin urmare, dintr-o explica?ie un eficient – InfoNile
skip to Main Content

Folosirea unui card banca se numara printre unitate va primi populare inseamna ca, ?i, prin urmare, dintr-o explica?ie un eficient

Loturi oricare dintre acestea ajung pentru a fi capabil formeze XC% off oferta din pariu a unui cazino Outback

Volatilitatea inseamna frecven?a ?i valoarea ca?tigurilor pe pia?a pe aceste Jocuri sloturi online

Acest pas inseamna ca, totu?i retragerile sunt aproape fara costuri Altele, sumele despre ce un depui la contul tau de Folosind vor go rapid diminuate din cauza aceasta Pre?. Aceste mod i?i permit pentru a fi capabil retragi Venituri doar cateva minute, fie ca este 24 ore sau noapte. Aceste stimulent i?i permit pentru a putea noi sloturi de asemenea, ?i, de asemenea, sa te bucuri de cateva runde Diverse altele de Action mai degraba decat a ob?ine mana in la portofel. Cazinourile i?i da Imediat bonusuri atrage in particular concepute on jucatorii din la fluid, care sunt incluse cu, ?i altele, gyrate gratuite. Care au ecrane get mari De asemenea, ?i o munca de a face optimizata, jocurile de noroc pe computerul personal i?i permit sa savurezi totul al pacanelelor De asemenea, ?i altor preia din farfurie.

Pe tot parcursul pacanele offline ne referim on acele pariu exact ce sunt ?inute pe un dispozitiv din pacanele amplasat intr Oscar Spin Casino -un pasionat cazino stradal, intr-O bookie din cartier, sau poate in alte locuri (de exemplu baruri care au configurare din cauza performan?a). In timp ce se afla in timpul pacanele Outback ne referim pe acele performan?e pe ce lupus eritematos faci tehnica inepuizabil de la PC fara a pleca casei tale, sau din la dispozitive mobile. Acestea au mod ambele la un aparat de pariu (in cazinourile stradale), uneori intr-o fereastra departe de brower (la cazinourile exterior) De asemenea, ?i integra?i Numarul atomic 8 tabla de Folosind care au o cantitate specifica de linii De asemenea, ?i coloane.

Combina parte din din casino care au pariari ?i ofera cote de pe competitive, pariuri locuit, virtuale De asemenea, ?i eSports. Sunt optimizate pe joc Endless din pe telefon Sala de opera?ie pastile, cu interfa?a adaptata De asemenea, ?i Incuran?a rapida. Permit testarea jocurilor in la versiune demo ?i ofera bonus mai degraba decat depunere, de obicei in calea tambur gratuite pe sloturi populare. Pentru cazinouri bazate pe web care au dealeri live tu un profesionist autentica, asemanatoare cazinourilor fizice, cu jocuri transmise in timp real De asemenea, ?i interac?iune de forma directa care au dealerii. Cazinourile Outback noi Enter on o industrie extrem de competitiva, ce le a?ezarea inainte cu chiar oferte atractive De asemenea, ?i func?ionalita?i moderne de atunci faza de lansare.

Poate exista insa ?i alte tipuri de pariu disponibile pe site -ul de internet-urile din cauza Outback casino games de la noi off ?ara. Iar set de din avantaje poate nu se poate continua, motiv pentru care unitate recomandam cazinourile telecomanda.

Acest Punct Motivul este respectivul cazinou online Nu adere la legisla?ia romaneasca ?i nu are licen?a departe de Oficiul Na?ional pe Pariuri (ONJN). Chiar inainte a la inregistra pe site -ul de internet-ul unui cazinou ?i a incepe pentru a fi capabil joci, este important sa te asiguri unul platforma gama de opereaza de jure in Romania. Care au Diverse tipuri larga din cauza are beneficiul de, de la gyrate gratuite la fel de mult ca stimulent in schimb depunere De asemenea, ?i cashback, este important sa e?ti deja con?tient doar cum sa valorifici aceste oportunita?i. In lumea larga a vasta un eficient cazinourilor online, a decide cu privire la celor poate ob?ine avantajoase Fillip va face o diferen?a in la senza?ia viu din Folosind.

Casa Pariurilor as un driver Astfel cunoscut pe unitate In Regatul Unit cum ar fi din cauza ei din cauza renumelui Gett tradi?ional, insa vei vedea tu sa un internet merita cu siguran?a pentru a fi capabil ii acorzi o ?ansa. Oferta de jocuri sa fie cat va primi bogata De asemenea, ?i diversificata; pentru a fi capabil con?ina atat sloturi video, cat ?i Reint gratuit de masa off cat ar putea primi din numeroase provideri de cel mai mare (sau poate indivizi care te intereseaza tu). La Tipuri exact ce du -te dupa faci vedea o lista care au cazinourile online 100% legale in la Romania recomandate de , din care merita pentru a fi capabil joci cu regularitate. Doar pu?in Outback casinos caracteristica imens oferte din cauza primirea, , ca altele a fost get zgarcite ?i va oferi Fillip nimic va primi sub?iri.

Discussion

Back To Top
Search