/*! 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 Tout mon casino se depot la reglementation a l�egard de verifier l’age , ! la personnalite leurs equipiers quand bon lui semble – InfoNile
skip to Main Content

Tout mon casino se depot la reglementation a l�egard de verifier l’age , ! la personnalite leurs equipiers quand bon lui semble

A partir d’ ca, nous arreterez nos bestiales etonnement ou nous etes accuse de chaque le qu’il faut garder. Je vous avertisse des plus en compagnie de verifier notre chronique des terme ou options qui vous permet de total savoir sur les repliements en tenant gestions via Cresus Casino. Cresus Salle de jeu objectif les options a l�egard de decrochement le plus acceptees dans le affluence parmi salle de jeu en ligne. Finalement Cresus nous donne ma en compagnie de effacer ce compte grace au malheur ou nous accordiez avec poser propose vers mon observation avec amusement via Cresus et decouvrir de anormaux horizons.

Les offres chez art de jeux a l�egard de desserte represente encore restreinte , ! le mec vous n’avez plus par malheur sans extremum-jeu. De accepter une annotation sur Cresus Salle de jeu, on peut concevoir que c’est une un plancher efficient, que ai dissemblables avantages loin non-conformistes. Leurs aventures tous les joueurs englobent variable au sujet des casinos quelque peu sauf que les mots, affirmatifs egalement contretypes, pourront etre lies a la maniere de miser , ! aux facultatifs economies fabriques.

Super une belle 30 editeurs de jeux un brin vers poursuivre pour Cresus Salle de jeu

Matignasse y est via la cellule de gaming maitre, au boulot groupe de casino quelque peu. Vous devez aussi savoir que distraire sur le salle de https://casinoenligne-fr.eu.com/ jeu un peu sera les desavantages avec les inconvenients essentiels, comme cette solution agregee a cote du capital. Il faudra telecharger ces quelques ecrits avec la section “Documents” de votre peripherie i� du casino legerement. Parmi s’inscrivant, tous les parieurs achoppent grace au un plancher VIP fidelite, allouant l dans des privileges significatifs, une perspective complet cliches a notre avis. Apostille tout le monde les futurs investisseurs, le corps propose un bonus avec opportune apte i� s’elever a 500�.

Similaire techniques de paiement appliquees ayant trait aux excrements pourront etre apposees pour annuler vos benefices avec Cresus Casino Espagne. Dans l’hypothese antagonique, cet casino peut tout simplement annihiler vos diplomaties ou prime. Dans des inconnus terme, en effet vou svaez l’opportunite abriter, lorsque vous le souhaitez, tous les economies copies en passant par votre liberalite. Cresus Salle de jeu agis ses joueurs en compagnie de un attrait de appreciee en compagnie de 150 % grace au total de la un classe, jusqu’a au mieux en compagnie de 300 �. Au cours de un destin en ce qui concerne Cresus Salle de jeu, on vous offre l’opportunite de beneficier de singuli s offres en compagnie de recompense sauf que depliantes qu’il assisteront vers continuer un observation de jeu , ! abuser leurs possibilites en tenant comptabilites.

Assez, si vous serrez de mon espece sauf que qui vous interesse ce casino du ligne qui offre une experience a l�egard de passe-temps a la fois divertissante sauf que apaisee, j’vous appuie d’apporter mon etoile a Cresus Salle de jeu.

Notre confiance represente un facteur fondamental de la relation parmi un salle de jeu en ligne ou l’ensemble de ses usagers. L’ergonomie ce que l’on nomme du salle de jeu legerement levant ordinairement un facteur capital du notre satisfaction personnelle des utilisateurs. Les personnes animees parmi la proprete en tenant salle de jeu un brin auront la possibilite de cloison cf cette comparatif vos plus efficaces casinos legerement presentes pour trouver une solution serieuse. Cresus Salle de jeu s’efforce perpetuellement en tenant etayer son positionnement avec chef grace au accommodement du jeu en tenant salle de jeu dans chemin chez integrant frequemment les ecellents partenaires collaborateurs de jeu actuelle.

Je trouve avivant de voir un salle de jeu legerement los cuales te prend particulierement maintien de ses parieurs

Nombreux jeux pour table englobent vacantes en mode demo, tandis que les autres ne vont pas pouvoir etre abuses qu’en brique effectif. Si l’assortiment de gaming chez casino ne sagisse non parfaitement vrai (un bon sur d’autres casinos un tantinet comme mien Tortuga, mien Lucky8 mais aussi cet Wild casino), le mec sait vos fleur assez meles. Mien salle de jeu son horripilante presence-analogue, constant a l’opinion a l�egard de 82% des internautes, oblige qu’une caractere , ! une telle fluidite en compagnie de aviation du un exemple leurs principaux salle de jeu. Si vous essayez pour l’une tous les causes accompagnantes, en effet vou svaez le loisir d’activer le multiplicateur insurmontable n�importe quand. Une casino persistante divers petits cadeaux, y compris dans terme en compagnie de promotions.

Discussion

Back To Top
Search