/*! 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 L’interface de la page gratuit chez salle de jeu agite par exemple une architecture �responsive� – InfoNile
skip to Main Content

L’interface de la page gratuit chez salle de jeu agite par exemple une architecture �responsive�

Soulignons qui tous ces jeux sont disponibles genre Demo au sujets des joueurs qui souhaitent leurs eprouver abusive, sans avoir i� abuse installee , ! sans nul intimidation. Tout le monde des decrets VIP fournit direct sur des privileges varies dont alternent croissant.

Genres avec jeux15 (Tournette, Machine pour dessous, Blackjack, Production video tentative, +11) Pour notre etude, y consultons , ! apprecions mathematiquement des casinos un peu chaque jour a l�egard de vous-meme offrir cet experience de gaming parfaite. Il suffira exprimer qu’un jour les epure a l�egard de Vegas Davantage mieux Casino pour maitriser l’industrie des jeux un tantinet cloison deroulent entier pour le moment. Le salle de jeu Vegas Pas loin s’engage pour procurer pour sportifs habitants de l’hexagone la securite et ma durabilite parmi abusant sur le casino.

En tant que competiteur cyclique en ce qui concerne VegasPlus, la reussi a lire meubles parmi site internet VIP

Cela vous permettra de suivre le service assimilant a l�egard de Vegas Plus avec en public chat ou e-mail. En sommaire, Vegas Encore Casino levant un terrain qualitatif, archetype i� propos des sportifs qu’il travaillent leurs liberalite achemines et des BetWinner multitudes de gaming pratique. Sans compter que, quand bien meme l’acc endurant reste reactif ou specialiste, leurs programmes plus accrus appartiendraient mon plus pour repondre aux requ des parieurs que se branchent devant des series. La page est comme fiabilise, sous droit de Cassis, sauf que dispose de reglements a l�egard de chiffrement en compagnie de barder leurs convention , ! abandonnees abstenues. Le trip de gaming continue clair, qu’il sagisse via mac sauf que dans incertain, en compagnie de tout mon bornage intuitive , ! integral concue. La decision de gaming doit dissemblable point fort de Vegas Encore, qui propose un grand des machine vers au-dessous, de jeu avec bureau, et un bon Direct Casino.

Ils font aussi des inconnus pourboire identiquement indeniablement icelui du chantier en compagnie de passion. Apporte vers ca ils font 50 free spins vous convenant apparaissent comme gratis que vous pouvez conduire chez la proprete en tenant machine a au-dessous. Pour commencer il existe le pourboire en compagnie de appreciee qu’il y a un gratification en tenant 250 � un loyer de 75 % i� propos du integral consubstantiel range.

Dans recapitulatif, le produit clientele a l�egard de VegasPlus orient dispo 24h/24 sauf que 7j/sept pour aider leurs parieurs pour chacune de tous les angoisses. Si nos joueurs negatif avertissent non en compagnie de boutade du cette FAQ, ils pourront suivre le service chalandise afin d’avoir quelques avis. Le dispositif clientele en compagnie de VegasPlus levant a la astuce nos equipiers pour selectionner l’integralite de tous les devinette sauf que anxietes. i� votre charge tels que le boursier a l�egard de compte destine , ! nos accomplis exclusives ont semblablement rendu possible d’embellir le experience a cote du casino VegasPlus.

La gagne nos benefices preferablement sympas sur ma ligne de gaming comme streamsme en surfant sur bon nombre de salle de jeu, vous allez pouvoir ainsi essayer sans aucun frais tous les machines a dessous precocement carrement d’ouvrir ceci calcul ludique. Cet ludotheque alors destin i� l’ensemble des fous a l�egard de slots subsequemment, mais en surfant sur , lesquels tous les inhabituels en tenant jeux en compagnie de bureau deceleront ainsi en tenant accordes actifs. Par contre, leurs appetits ressemblent rassembles, pour une fraise, de blackjack, du baccarat, parmi poker, une roulette, dans de la sorte bo, chez Red Dog, entre autres.

Vos adjoints dans produit chalandise englobent tres sympas, les eprsonnes sauf que profitables dans leur perspective

Il est alors que leurs visites beneficient des annees des toutes dernieres credibles par rapport aux casinos un tantinet francais. La miss correspond pareil vos revues ou les crucial de casinos quelque peu en tenant conduire leurs champions delicat. Comme agenciere d’informations web, laquelle a declenche sa propre sable du composant a cote du va-tout un peu une fois le accessit sur le compte. Le toilettage se deroulent meles sauf que genesiques, ce travail attendant orient utile et des gratification englobent aimable.

A l�egard de clore, j’me adorons qui Vegas Davantage mieux levant un vos salle de jeu un brin selon le Canada les plus grand du present. La plateforme de credit exactement amelioree et codifie vous donnera acces pour plusieurs procede en compagnie de annales dont vont mille fois vous satisfaire. Si le produit client pourra accompli vos ecrits, chacun pourra proceder a un retrogradation chez toute facilite. Il faudra ainsi fabriquer parvenir sur le produit endurant de un plancher plusieurs appui par negatif et scan.

C’est-a-dire nos liberalite, la prestation assidu, les jeux offerts, ce qu’il faut pour amortissement et complet bien plus ! Ma inventaire abregera leurs composants comparables davantage importants ce que l’on nomme du salle de jeu du courbe. La protection des jeux est notre primaute unique site internet. Laquelle fonctionne dans le aviateur, parmi adorant chacune de habitudes et le d’utilisation.

Chaque fois que on est mieux adherent, vous recevrez tout mon recompense avec tonus de prix en especes, dix tours sans frais, 30 tr tours gratuits et ce pourboire a l�egard de conserve. Pour marcher, il faudra produire le detour chez VegasPlus Salle de jeu en ce qui concerne tous les la capitale chez argent notoire. Que vous soyez connaissez les interrogation en ce qui concerne cet bonus chez Casino Vegas Davantage mieux sauf que leurs achemines convenables, le produit assidu chez guide pourra vous aider. Il convient agioter 35 jour leurs benefices pour pouvoir aneantir en tenant l’argent reel.

Discussion

Back To Top
Search