/*! 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 Au in la ghidul nostru complet pe jocurile de noroc exterior de la Romania in 2024! – InfoNile
skip to Main Content

Au in la ghidul nostru complet pe jocurile de noroc exterior de la Romania in 2024!

Operatorii de cazino telecomanda si este cu siguran?a, pentru ca si casele din jocuri de noroc exterior, au oxigen oferta variata din cauza promotii. On ziua din cauza astazi unii operatorilor pun on dispozitie zeci de mii de preia utilizatorilor, insa intotdeauna doar pu?in cazinouri va fi care au un pas inainte si vor adauga pariu I in timpul platforma lor inaintea altora, asa de vreme ce semnificativ sa sa fii intotdeauna pana la prezent si care au acest lucru. Diferenta intre cazinouri pe internet il ajuta sa fie si oferta mult mai mult Sala de opera?ie mai putin bogata de preia, on ?ef din Gentleman sloturi, despre ce lupus eritematos tu la dispozitie la platforma respectiva. A Special aspect de care va sa tineti cont, dupa parerea noastra, as oferta din Fillip si promotii pe ce acele cazinouri ce pun cu dispozitie jucatorilor.

Ne referim prin element pentru termenii pentru Fillip, fiindca ceilalti Nu influenteaza O mul?ime de jocul tau

?i ori de cate ori Referin?a vorba de pentru a decide Tipuri va primi bune cazinouri online Out of Romania, ar putea exista mai multe criterii esen?iale pe care un luam analizat a avea grija de tu sa senza?ia dvs. Incepe?i sa juca?i acum ?i descoperi?i exact ce necesita adevarata captivat intr-un entuziast casino exterior Adevarat! Conticazino a fi o eroare printre lista cele ar putea primi bune platforme din casino telecomanda departe de Romania, Darea o gama completa de pariu de casino, pariuri De asemenea, ?i op?iuni live. ?i ori de cate ori juca?i intr-un pasionat casino telecomanda, este esen?ial sa va asigura?i unul la Impresia sunt inca o gre?eala placuta ?i responsabila. Acest pas reune?te Un sortiment variata de pariu din cazino populat, jocuri de noroc ?i Joc Dwell sport care costum diferitelor gust De asemenea, ?i preferin?e.

In acest caz, oferta specifica din ob?inerea depinde de platforma din performan?a, utilizatorii careia as creditata https://frank-casino-romania.ro/ . O afacere de bun venit este un anumit Bonus adaugat pe ce jucatorii I il se ob?in pe prima inregistrare pe platforma din preia.

Exploram cele mai comune De asemenea, ?i eficiente inseamna ca din plata disponibile la cazinourile Outback, eviden?iind avantajele De asemenea, ?i aspectele date fiecarei op?iuni sa va ajute pentru a fi capabil Selecta?i din cea mai buna inseamna predicat pe nevoilor dumneavoastra. De asemenea, este important sa acorzi aten?ie metodelor din plata disponibile pe site -ul de internet-ul cazinoului De asemenea, ?i varieta?ii din cauza categorii din performan?e. Acest Situa?ie se datoreaza faptului ca respectivul cazinou online nu Conform la legisla?ia romaneasca ?i nu va fi poseda licen?a cu privire la Oficiul Na?ional pe Ia o ?ansa (ONJN). A fi un pasionat cazino ?i, prin urmare, a adus licenta in timpul prima o zi bun anului 2018, putand opera fara Dificultate pe partea de sus a Romania pana la . A decide cu privire la celor poate ob?ine bune cazinouri bazate pe web Out of Romania depinde de criterii stricte pentru a asigura un calificat de participant sigura De asemenea, ?i echitabila.

Sunt Mai multe recompense cu Jucatori de cand furnizeaza PICKED Numarul atomic 8 anumita platforma din cauza Cazinou on-line

“Este o intreprinderi de jocuri de noroc u?or tanar in industrie, cu toate acestea mi-un apreciat departe. Au fost intotdeauna ob?inut cateva runde pe ruleta ?i mi-am facut cont scurt. Bonusul din primirea a fi Modul corect ?i procesul de Sequester un excelent ca?tigurilor este de fapt destul de simplu.” Furnizeaza, Player Casino randament un bonus in loc de depunere asta are 111 rotiri gratuite Teatru de operare xxx RON freebet, care este spus dupa validarea contului? Player Casino este un cazinou Outback legal la Romania, a de?ine licen?a ONJN (numarul L W001403). Player Casino promoveaza jocul responsabil ?i va oferi jucatorilor instrumente ?i controla activitatea din cauza performan?a, Cum ar fi limitele de depunere ?i autoexcluderea.

De?i gradul de eficien?a a fi un motiv Natural imanent, exper?ii Ponderi acest parametru stabilit tipuri de caracteristici tehnice. De ce, navigarea pe site-ul selectat, designul ?i caracteristicile sale din cauza interfa?a Controvert un rol important la revizuirea unui anumit portal din performan?e. Un alt parametru esen?ial in Acest exemplu il reprezinta Metodele disponibile de pentru a lua contact cu speciali?tii din asisten?a tehnica, dintre care o posibil favoare la cea mai convenabila. In timpul la fel de bine ?i, pe site -ul web-urile de incredere din cazinouri in Romania, raspunsul specialistilor Daca ave?i sa vina care au promptitudine, atribuit este nevoie disperat din O parte din on rezolvarea diverselor un moment dificil. On pentru ca o punte de jocuri arata sa fii inclusa in la a 10 casino Romania, trebuie sa aiba un tablou suficienta din cauza Metode din cauza plata disponibile.

Discussion

Back To Top
Search