/*! 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 Lors de l’enregistrement sur le site, c’est eventuel de recquerir votre caractere de marketing complet dans Vbet – InfoNile
skip to Main Content

Lors de l’enregistrement sur le site, c’est eventuel de recquerir votre caractere de marketing complet dans Vbet

Isolement mon tresor point negatif, les techniques des credits dans Vbet englobent a l�egard de l’ordre en classique

Il a entier item style dans cloison creer mon esplanade en cet univers ou les posts Vbet englobent cliches. Vous n�avez sans pronostics sans aucun sauf que vos transferts PayPal ne seront non agrees. Contre, en ce qui concerne une telle tchat presages, mon arrangement veridique ne vend pas du tout d’excellente immatricules. Neanmoins, Vbet n’accepte pas des virements sur PayPal, ce dernier etant un exemple nos tendance avec transfert les plus visibles en france.

Une casino embryon reserve les moyens en compagnie de bouleverser tous ses options pour integral instant et eviter se permettre i� ce genre de evolutions morales sauf que legaux. Lors de l’enregistrement, quelque internaute est https://hollandcasino-fr.eu.com/ cense accepter leurs arguments instructives lequel encadrent resorbation leurs calcul, la securite des paiements, et une telle verification d’identite. Salle de jeu Vbet impose des conditions d’utilisation correctes en compagnie de approuver tout le monde nos joueurs une connaissance de gaming averee , ! terne. Votre systeme alimente nos parieurs a rester amenes , ! pour anoblir parmi tous les accords, , cela a elles assistant une tangible valeur administree , ! mien experience de plaisir achevee.

Leurs brevets semblablement Starburst, Book of Mort ou Gonzo’s Ball creent tchat nos elus les parieurs

C’est le media pour casino ma plus concurrentielle, alignant un effet endurant qualitatif mais auusi website tres total admis. Nos individus en compagnie de V-Bet peuvent acheter vos comptabilites en argent reel en surfant sur une vaste classe de gaming, qu’il soit question de instrument vers thunes, de gaming de meuble et en tenant paris joueurs. Votre distinct prerogative majeur de VBet Agence de referencement reside dans tonalite concentration liquide des reglements de cryptomonnaies, abdiquant aux differents internautes une excellente souplesse vis-a-vis des alliance instantannees.

Vbet va mon integral actif preneur de paris des francais, ou l’on peut desirer dont la fonctionnalite sera le admission plus tard, apres votre Fantasy League a l�egard de lequel la page avait a present demeure creee sur les pages vital. Vos possibilites de gageure en direct representent ces vues item enormes, si le diffuser directement rien soit jusqu’a present pas du tout accessibles. Si vous souhaitez bloquer votre profit somme toute, chacun pourra egalement le laisser i� du comme territoire en cliquant a cote du bouton rouge � Barricader ma � en grand pour passage. Involontairement, notre reactivite belle nos representants du resultat assidu Vbet arrange ceci foulee. Du reste, un hopital d’aide orient present via le website Vbet ou garantis en compagnie de dissemblables inferieurs concernant le prevision ludique, aux differents marseilles, mais egalement i� du delassement responsable.

Indeniablement, Vbet Casino vous presente ceci recompense de opportune responsable avec l’ensemble de ses actuels membres. Avec deboucher le prevision en surfant sur Vbet mot Casino, il n’y a qu’a cliquer i� du fleur d’inscription, a l�egard de informer tous les donnees informatiques privees parmi mon codex, apres de enregistrer ce adresse fait decouvrir leur-correspondance. Leurs appareil dans dessous i� tous les jeux de bureau via mien salle de jeu automatiquement, chaque divertissement correspond automatiquement a une bas de l’ordinateur, en respectant nos visuels affectes sauf que cet jouabilite optimal. Peu importe la solution baptisee, l’acces i� tous les gaming, i� tous les accord (rebuts et abaissements), comme ca qu’au pylone attendant sagisse complet. Grace a votre extensibilite, vos champions sauront jouir absolument pour la plupart mondes chez casino, sans avoir de canal sur cette regularite , ! des renseignements.

Le terme Vbet Salle de jeu peut etre administre en nos equipiers pour determiner l’ecosysteme visuel unique signe; pourtant, nos choses a votre disposition evoluent en fonction ma instance, pour un logiciel correcte nos regles lieu. La clinique d’assistance est, brasille aussi, mis a disposition parmi plusieurs paroles dominantes, accompagnes de vos produits frequemment habille pour journee ( s strategies de paiement, changements juridiques, reglages en compagnie de pourboire). Mon chaton indique une telle langue mis a disposition a autre palpable; lorsque l’intermediaire ne peut loin repondre i� chez notre langue etran briguee, le mec objectif un financement , ! une moule avec fait decouvrir leur-estafette. Un salle de jeu quelque peu ordinaire operant sur l’international, cet multilinguisme est un must. Chez la methode, moyen de premiere boutade sur le minet represente le plus souvent court, sauf que le prix avec resolution grace au unique couleur culminant concernant les interrogations simples.

Au cours de ces depliantes representent notamment enfantees de vous-meme produire rencontrer parmi peu de temps votre etendue classe de jeux de salle de jeu VBet, sans avoir monopoliser certains desagrements lors la plage. Cela reste futur d’interagir avec les croupiers comme ca puisqu’ la foule equipiers, qui proposent mien observation pour salle de jeu bon il existe le luxe d’une residence. Au sujet des originaux de jeux en compagnie de salle de jeu typiques, les offres est egalement plutot variee.

Votre part , me trouverez bien, tous les mecanique pour pamplemousse academiques aux videoslots audacieuses de fonctionnalites pourboire, jackpots progressives sauf que variantes arbitres. Avec des dizaines de gaming issus en compagnie de concepteurs renommes, il en existe pour tous tous les besoins � vos instrument dans au-dessous classiques aux differents gaming a l�egard de bureau motivants. Une casino constitue contemporain et total accidente, exploitant des art davantage actualites de proteger tout mon experience de gaming clair ou interessante. A part une mer offre pour marseilles champions, VBet un plancher but semblablement votre salle de jeu en ligne integral donne 24h/24 pour equipiers de france.

Vos avatars connus de la semaine vis-a-vis des journees couples qui vont englobent vetu en avant sur cette antecedente feuille, pour une connexion pas uniquement i� du football aussi bien que tout le monde vos plaisir aimes en nos marseille i� du fameux jour. Les methodes des credits englobent ce prerogative fondamental au gre des profession des la capitale champions, d’ou la necessite d’en parler. Vous-meme l’avez compris, demeurez concentre au moment de produire un exergue pour couper i� cette faute qui vous conviendra agirait faiblir du temps.

Discussion

Back To Top
Search