/*! 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 Customer support team is renowned for its small impulse times and you may comprehensive disease-fixing approach – InfoNile
skip to Main Content

Customer support team is renowned for its small impulse times and you may comprehensive disease-fixing approach

The newest confirmation party process registered data files in this circumstances while in the working days

For the 9 Winnings platform, first-big date gamblers are supplied a welcome plan one includes totally free spins, totally free wagers, and you can fits bonuses (doing ?450). You will find also an excellent token regarding admiration, usually in the form of free spins otherwise 100 % free bets, that is provided to site users whom respond to studies to the online game and you will webpages quality! A different sort of professional is the fact 9 Win is amongst the on the web gambling enterprises subscribed of the Curacao eGaming authority that effortlessly has a global legislation. Nevertheless, Nine Profit has its express away from pros and cons as the one reliable on-line casino really does.

So it mobile optimization means that users can enjoy high-top quality gaming anytime, anywhere, versus reducing for the features. The fresh new homepage is actually structured for easy navigation, exhibiting common video game, the fresh offers, and you will fast access to help you games categories. Accepting the global characteristics out of online gaming, Local casino has the benefit of 24/eight customer service, making certain help is available at all minutes, aside from time area. Nine gains local casino thinking higher-high quality customer care, ensuring that users discovered quick and productive direction just in case expected.

Both networks provide safe, simple set up and you will a smooth program targeted at mobile gamble. Bonus criteria are certainly composed on the discount 1win webpage. Now she centers on added bonus transparency, payment speed, and you will UKGC compliance – and you may she brings no punches whenever a web site will not send. The benefit part was better to your wagering standards – I’d so you can enjoy to find the 30x info.

Lynsey has invested seven many years assessment and you will score online casinos around the the united kingdom field

The newest cellular app has the benefit of the means to access the full list of online casino games, and slots, desk game, live specialist online game, and you will sports betting. With its completely optimized cellular system, participants can enjoy a comparable large-quality playing experience because to your desktop, regardless of where they are. Ninewin Casino suggests evaluating the newest conditions and terms each and every commission approach in advance of proceeding which have purchases. You will need to observe that particular commission methods possess even more costs otherwise charges enforced of the respective providers. The brand new style is actually easy to use, making it possible for people to quickly discover the preferred sporting events and put their wagers effortlessly. Ninewin Local casino exceeds the realm of old-fashioned gambling games of the providing a comprehensive wagering part.

Ninewin’s slot reception is totally manufactured, that have tens and thousands of headings ranging from classic good fresh fruit hosts to help you higher-volatility videos ports and you can modern jackpots. It is extremely far a great �quick, sharp� render � perfect for participants that like to find stuck for the with bigger wagers and centered classes, shorter of use if you want so you’re able to drip-feed smaller wagers more a few weeks. Ninewin Gambling establishment near the top of since good �next-generation� playing center, collection a streamlined, high-technology look that have a highly full slate regarding casino games and you may sports betting.

Nine Victory has a lot out of freebet has the benefit of for different recreations, mostly to the shedding wagers from the list of ?20-?50+ and freebet several months three days. Prefer these options from the cashier whenever topping your membership. Desired bonus to have sports betting seems to be nearly a comparable, however, pay attention to the really small choice � x5 having incentive currency NineWin is actually an internet gambling enterprise circulated within the 2024, working in the united kingdom iGaming place.

I believe it is very important to be aware of the entire picture regarding online casinos. Moreover, 9 Winnings online casino staunchly supports the new Responsible Gambling advocacy. Of a lot professionals, united states provided, take pleasure in the new site’s effort to give quick guidelines, as a consequence of Alive Talk, phone, or elizabeth-send. The fresh fits, competitions, and you may leagues during the virtual football try diverse, which have football occurrences topping record.

The platform is quick, effortless and easy to use, with safer repayments, brief withdrawals and 24/7 help. Small print apply at these types of incentives, making it advisable to see them cautiously prior to saying. So you can start a detachment, go to the cashier section of your bank account, choose your chosen means, and you will identify extent.

The working platform screens house boundary recommendations for each and every game variant, creating transparent betting criteria. Pressing the fresh new confirmation hook up turns on the fresh account and you may features immediate access to the gambling enterprise reception. NineWin on-line casino brings a simple registration process that does take approximately 3-five full minutes doing. Many ports and several table video game include trial modes so that you is also see auto mechanics, volatility and you may extra provides before place genuine-currency wagers.

Recreations bettors manage to get thier own advantages as well, such an effective 100% sporting events acceptance up to �100, totally free wagers to your huge sporting events fits and you may leaderboard events associated with major occurrences. As soon as your log in, the computer personalizes your dash which have tailored games advice, incentive notifications, and simple entry to your purchase history, support factors, and rewards center. Joining on the 9 Win online casino is easy, and it also merely takes a few momemts doing the procedure. A different ripoff from 9 Earn on-line casino we’ve indexed is that the cashier does not techniques distributions instantly. All of our internet casino concentrates on therefore it is very easy to create deposits and distributions. All of our wagering point brings both alive betting and you may pre-games betting, layer all ideal occurrences and you can sports.

Discussion

Back To Top
Search