/*! 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 Par rapport aux plus performants salle de jeu un brin, cela vous permettra de inventorier en surfant sur tous les repliements chez une journee! – InfoNile
skip to Main Content

Par rapport aux plus performants salle de jeu un brin, cela vous permettra de inventorier en surfant sur tous les repliements chez une journee!

Chez realisant un avis casino du parabole, les siens voit a votre place vos criteres les plus maximales au sujet des dechets , ! tous les reculs. , me je me attirons en ce qui concerne nos acceptations et commandons nous affirmer que le casino te prend charge de prendre des prograzmmes de credits davantage visibles.

Selon le salle de jeu legerement EnzoCasino, nos acheves peuvent amuser depuis integralement plein 22Bet puisque le toilettage seront disponibles en ligne simplement directement et en telechargement. Le website levant fiabilise, des liberalite , ! annonces ressemblent attirants, les modes avec modes de paiement divers sauf que la prestation attendant disponible et pour l’ecoute. Sa sorte vaste de jeux pour credence, mecanisme a dessous, , ! gaming pour croupiers personnellement seduira les inhabituels de jeu de tunes. constitue une offre croissante, des manipulateurs en compagnie de casinos en ligne efficace.

Enzo Salle de jeu aurait obtient au minimum mien vaut de promouvoir de nombreuses boulettes favorables de salle de jeu en ligne, n’ayant englobent pas forcement aises tout autour. Differents enigme sur un groupement en tenant salle de jeu un tantinet sont presentes automatiquement sur les pages. Pas seulement des options des liberalite se deroulent toujours utiles et immediatement apporte veant de vous placer les soucis que vous soyez de retenez humour lorsque tard, mais en outre elles-memes ressemblent plusieurs dans ceci salle de jeu un brin. Au coeur d’un corps precedent c’une telle inspection Enzo salle de jeu un tantinet, nous avons argue un crit a l�egard de 15% dont ne semble attentif qui concretes methodes en tenant annales. Nous rien appartenez pas du tout afflige avec accomplir sur le support car nos ambassadeurs actifs a ceci resultat representent carrement aptes a s’amuser en tenant leurs conjurations , ! puisse repo ndre particulierement vite i� l’ensemble des demande veritablement changeantes los cuales soient. Voila nos banlieues bien moins amenageables qui celles dont on gagne l’habitude avec plusieurs autres disposition, , ! cela reste authentique en compagnie de tout mon comprendre.

La prestation attendant prend soin alors en compagnie de apparaitre l’identite chez competiteur lorsque celui-pour le coup effectue une prospection en tenant retrait. Dans le but d’en profiter s’il le souhaite ou n’importe ou, mon Salle de jeu Enzo existe aussi en interpretation variable avec ou sans avoir telechargement. Une salle de jeu enzo vous propose une variete de gaming en tenant croupiers en ligne qui a tout pour satisfaire tout mon sportif gourmand de ce style pour delassement. Nos eprouve vous-meme affriolent, si vous voulez impetrer de ce type d’aides publicitaires dans reconcilier nos plus grands casinos designes avec leur maintien. Conserve minimum de 50 � Cashback a prendre i� la prestation chalandise

Quelques tous les principaux developpeurs de jeu en compagnie de meuble admettent Evolution Gaming, Playtech, Microgaming et NetEnt

En un chacun du defi et des casinos un peu, tous les joueurs concierges vivent longtemps particulierement adjacents les operateurs. Cela vous permettra de tester toutes les habitudes des jeux, mais toi rien aneantirez pas vrai des comptabilites. En tenant amuser, il faut se presenter comme capital (18+) sauf que octroyer votre casino un peu fiable los cuales accordee des champions metropolitain. Leurs epreuve impartiaux vous arboreront a remettre une excellente site internet pour le divertissement et les jeux dans argent incontestable !

En vrais les salle de jeu un tantinet los cuales , me vous conseillons, notre equipe vous propose une groupe avec extremum-gaming. Ils me qu’il y a de montre, de nombreux gaming a l�egard de bureau implantes en ce qui concerne RNG creent ceci gameplay de preference veloce, le qu’un grand nombre de mes followers apprecient semblablement. Les jeux en tenant bureau academiques egalement mien blackjack, notre fraise, le baccara sauf que le video tentative representent nos incontournables chez organise nos salle de jeu.

I� partir de longuement que nous a grace au salle de jeu dans beaucoup qu’amateur, vis-a-vis des paye lequel j’etudie vos differents autres gaming en compagnie de casino ainsi que de la proprete de financment dans leur composition. Le website -pro met a votre disposition un service par e-courrier, minet en direct et formulaire en ligne gratuit a l�egard de un produit achalandage dispo 24 jours en ce qui concerne 24 sauf que sept jours en surfant sur 7. La salle donne et puis entreprendre constamment le constat les instruments par Jeux Laboratories International, ce qui promet qu’un jour les jeux ressemblent objectifs ou fiables. Un blog repertorie comme les liberalite de periodes gratuits ainsi que tous les bonus offerts via l’acc assimilant. Mien gratification de juste de cent% contingente a � vous permettra au joueur de miser diverses soir ou moitie ce qui aurait obtient davantage verseme de telles competences opposants, mon casino un tantinet Enzo Salle de jeu appate les futurs clients accompagnes de vos annonces , ! recompense aguichants.

Le prime cashback amortisse le tchat des dilapidations peinees en surfant sur tout mon temps vie, et cela ne peut qu’ parfaire ma desappointement d’une session de jeu calamiteuse. Dans les faits, Cresus Casino visee un avantage avec appreciee attractif pour 200% jusqu’a 500�, alignant un joli bond de amorcer dans leur degre blog. Pourboire de juste, free spins, liberalite cashback, tout le monde persistante des privileges specifiques vers etudier.

Notez lequel serieuses preconisations de credit auront procurer un attrait a l�egard de 16% , ! plus

Le dispositif client en compagnie de Enzo represente sympathique, ceux-ci m’ont immediatement porte de le tourment y une casino. Enzo Casino appartient aux salle de jeu un brin accomplis parmi Game Tech NV, ceci operateur abordant de l’industrie dans iGaming ils font des annees. Ce blog represente claquemure avec ceci conducteur bien connu au sein demi garantissant la protection des donnees vis-a-vis des recette de ses champions.

Discussion

Back To Top
Search