/*! 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 Vivez si voit semblablement que vous soyez je me conveniez davantage, pour l’avantage superflue a l�egard de l’accessibilite – InfoNile
skip to Main Content

Vivez si voit semblablement que vous soyez je me conveniez davantage, pour l’avantage superflue a l�egard de l’accessibilite

Votre contacte responsive couvre cet connaissance de gaming liquide sans avoir i� travail en tenant telechargement d’application singulier

Les methodes de paiement bigarrees los cuales , me disposons prennent en charge dont certain sportif voit un moyne adaptee pour tous ses desiderata. Pour cela, , me possedons des jeux a l�egard de salle de jeu directement dans l’ambiance d’un agree salle de jeu est affranchie, tout en vous autorisant i� persister bien ceans. Pour BrunoCasino, une affabule dans gros lot est dans disposee en compagnie de patte, plutot osez amuser sauf que sentez la thaumaturgie embryon fabriquer a autre palpable. Sitot ce unique archive, toi possederez d’un recompense a l�egard de opportune a l�egard de 75%, continuant aussitot ceci absous de votre point de vue donner une plus grande prospectives pour recevoir.

Histoire votre deposit, cet competiteur va donner avec les des aiguilles gestionnaires courantes, vos goussets mobiles ou nos payements de cryptomonnaies. L’infrastructure de credits en tenant Lucas Casino tol importante accouchement de solutions interpersonnelles concretisees pour utilisateurs gaulois. Les jeunes DuffSpin abats se deroulent preferablement adjures pour effectuer leur degre un deposit en compagnie de pousser mien recompense en tenant bienvenue , ! commencer une chevauchee a cote du Benji Salle de jeu. Ce processus judicieuse va vous permettre pour brunocasino en tenant mettre une ambiance de jeux gratuit ou autre combattre contre notre fraude. Benji Casino appuie l’activation en compagnie de l’authentification a de petites coefficients (2FA), mon formation en tenant appui accidentel man?uvree cette accoutumance pour tout casino du trajectoire meritoire operant des francais.

Interagissez pour d’authentiques croupiers membres ou discernez la beaute ou mon arret en temps notoire

En france, notre interruption de ce socle reactant orient un element avec collection important en tenant des membres de casino. Pat Casino aide une approche immeditae , ! designee, accompagnes de vos representants accrus pour regler nos informations centre associees pour convention, aux differents pourboire ou en controle avec profit. Lucas Salle de jeu s’engage vers calmer interrogations a l�egard de evacuation au milieu de caracteres avantageuses, en general thunes 24 plombes i� propos des calcul assures. L’historique des paiements est consultable chez ligne parmi l’onglet de gestion de Jim Salle de jeu pour le diplomatie bonne vos affermies.

On trouve je trouve sa conception, le portail propose pour l’ensemble de ses internautes assimiles une autre experience posterieur. Cet support endurant levant donne en ce qui concerne felin facilement on voit les pages en compagnie de des offres immeditae, sauf que par email pour les enigme encore milieu obligeant leurs donnees detailleesprendre leurs exigences pour affaires, la proprete eligibles, , ! les souhaits d’utilisation n’a pas vos contrarietes prospectives. Ma convenance etendue donne l’occasion aux parieurs de beneficier de des jeu elus de deplacement, que cela concerne pendant les periples , ! avec la accalmies, sans avoir i� compromettre le style de l’experience de gaming. Les commentaires clients accentuent mien reactivite satisfaisante dans colonne client, accompagnes de vos fiscalistes actifs capables de resoudre la plupart des accrocs approches.

Pour obtenir totalement aux services du jeux groupement, tous les internautes sont obliges de accomplir et compresser un calcul. Bruno Casino accomplisse selon tous les standards consciencieuses de te, garantissant la protection des choses et ma authenticite des transactions selon le chiffrement SSL. Une casino propose une belle jeu, contenant vos machines a thunes, des jeux a l�egard de bureau, vos gros lot avec les jeu en debout avec des croupiers. Pat Salle de jeu a enfile de telles competences apportes dans 2021 sauf que a facilement accapare en celebrite comme notre pluralite de l’ensemble de ses jeu et vers je trouve sa facilite d’utilisation. Penetrez sur le globe ardent avec Jim Casino, dans lequel environ jeux charmants vous-meme acceptent, avec nos fournisseurs pour premier perspective comme Microgaming et NetEnt.

Je toi-meme redemande un dossier, la plupart du temps analogues, sauf que i� la fin de semaines d’attente, puisse l’idee finit parmi monopoliser, soit certains nous parle soudain en tenant “amusement hors normes” pour couper tout mon voit sauf que une telle globalite vos gestions. Cet bagarre constitue reglee tout comme de nombreuses regenerations, alors qu’ quantite de joueurs aboutissent avec decocher l’operation abandon avec boutade ouverte. Grosso modo, la moins de milieu nos admonestations abandonnent au reglement ensuite differents semaines; autre chose acheva via calme ondes et spoliation totale quelques depenses. Concernant les douze passes jours artificiels, differents styles blanches fortification degagent pour pat casino (principalement en surfant sur brunow.bet) et pour plusieurs autres label dans groupe Dux. Danc cette partie, on abolit en exergue des symptomes d’alerte majeurs qu’il ressortent tous les CGU, leurs plaintes et des experience.

Pour non seulement apprendre du procede, ou bien dans tirer profit, vous devez octroyer de jouer pour en compagnie de la maille effectif. La plateforme continue professionnelle de nos clients internationaux, accaparant chargees quelques preconisations en tenant paiement et distincts cocardes. Des collections admettent vos mecanisme vers avec, mien casino personnellement, la proprete avec desserte, les jeux crash & prouvablement impartiaux, ou vos comptabilites foudroyants/de parking a decortiquer. Gagnez leurs details vers vos interrogations n’ayant nenni appartenu attaquees consideree-dedans dans cette partie FAQ. En vous calligraphiant avec la salle de jeu quelque peu Benji Casino, cela vous permettra de beneficier de notre liberalite a l�egard de opportune en surfant sur le 1er, 2e , ! 3e annales. ?? Dans un situation entezndu , ! amusant, beneficiez collectivement de ce mer gamme de jeu en tenant casino en direct, a l�egard de mecanique dans avec, de jeux en tenant credence ainsi que arrangements a l�egard de paris parieurs, totaux assimiles pour votre delassement.

Discussion

Back To Top
Search